Combat tracker fixes

This commit is contained in:
2023-07-06 13:10:41 +02:00
parent 8f10b9825e
commit 1e74d6f306
5 changed files with 87 additions and 39 deletions

View File

@@ -4,7 +4,7 @@ import { Hero6RollDialog } from "./hero6-roll-dialog.js";
import { Hero6LiftDice } from "./hero6-lift-dice.js";
/* -------------------------------------------- */
const __speed2Segments = [[0], [7], [6, 12], [4, 8, 12], [3, 6, 9, 12], [3, 5, 8, 10, 12], [2, 4, 6, 8, 10, 12]
const __speed2Segments = [ [0], [7], [6, 12], [4, 8, 12], [3, 6, 9, 12], [3, 5, 8, 10, 12], [2, 4, 6, 8, 10, 12],
[2, 4, 6, 7, 9, 11, 12], [2, 3, 5, 6, 8, 9, 11, 12], [2, 3, 4, 6, 7, 8, 10, 11, 12], [2, 3, 4, 5, 6, 8, 9, 10, 11, 12],
[2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]]
@@ -398,12 +398,15 @@ export class Hero6Actor extends Actor {
}
game.combat.rebuildInitiative()
}
async disableHoldAction() {
await this.setFlag("world", "hold-action", false)
}
async disableAbortAction() {
await this.setFlag("world", "abort-action", { state: false, count: 0 })
}
async abortAction() {
let abort = this.getFlag("world", "abort-action")
if ( abort.state) {
if (abort.state) {
await this.setFlag("world", "abort-action", { state: false, count: 0 })
} else {
await this.setFlag("world", "abort-action", { state: true, count: 0 })
@@ -422,14 +425,19 @@ export class Hero6Actor extends Actor {
hasPhase(segmentNumber) {
let index = Math.min(Math.max(this.system.characteristics.spd.value, 1), 12) // Security bounds
let phases = __speed2Segments[index]
console.log("index", segmentNumber, index, phases, phases.includes(segmentNumber))
console.log("index", segmentNumber, index, phases, phases.includes(segmentNumber), __speed2Segments)
return phases.includes(segmentNumber)
}
/* -------------------------------------------- */
getSegments() {
let index = [Math.min(Math.max(this.system.characteristics.spd.value, 1), 12)] // Security bounds
let index = Math.min(Math.max(this.system.characteristics.spd.value, 1), 12) // Security bounds
console.log("INDEX", index, __speed2Segments[index])
return __speed2Segments[index]
}
getPhasesString() {
let index = Math.min(Math.max(this.system.characteristics.spd.value, 1), 12) // Security bounds
return __speed2Segments[index].toString()
}
/* -------------------------------------------- */
getBaseInit() {
let r = new Roll("1d6").roll({ async: false })
@@ -476,6 +484,12 @@ export class Hero6Actor extends Actor {
ch.lift = Hero6LiftDice.getLift(ch.value)
ch.liftDice = Hero6LiftDice.getLiftDice(ch.value)
}
if (key == "spd") {
ch.phasesString = this.getPhasesString()
}
if (key =="pre") {
ch.presenceattack = duplicate(this.system.biodata.presenceattack)
}
}
return characs
}