31e2561797
Release Creation / build (release) Successful in 58s
- skill.value = spendable transcendence pool (editable select) - skill.max = max level (locked by default, unlock btn) - computeRollFormula/computeResults/confront use skill.max - clamp transcendence spend to skill.value - resetTranscendence button in Bio&Notes - v14 compat: duplicate→deepClone, mergeObject→spread, socket fixes - Dialog v1 removed, DragDrop dedup, await fixes
38 lines
1.1 KiB
JavaScript
38 lines
1.1 KiB
JavaScript
import { EcrymeUtility } from "../common/ecryme-utility.js";
|
|
|
|
/* -------------------------------------------- */
|
|
export class EcrymeCombat extends Combat {
|
|
|
|
/* -------------------------------------------- */
|
|
async rollInitiative(ids, formula = undefined, messageOptions = {} ) {
|
|
ids = typeof ids === "string" ? [ids] : ids;
|
|
for (let cId = 0; cId < ids.length; cId++) {
|
|
const c = this.combatants.get(ids[cId]);
|
|
let id = c.id;
|
|
let initBonus = c.actor ? c.actor.getInitiativeScore( this.id, id ) : -1;
|
|
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initBonus } ]);
|
|
}
|
|
|
|
return this;
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
/* -------------------------------------------- */
|
|
static async checkTurnPosition() {
|
|
while (game.combat.turn > 0) {
|
|
await game.combat.previousTurn()
|
|
}
|
|
}
|
|
|
|
/* -------------------------------------------- */
|
|
async _onDelete() {
|
|
let combatants = this.combatants.contents
|
|
for (let c of combatants) {
|
|
let actor = game.actors.get(c.actorId)
|
|
await actor.clearInitiative()
|
|
}
|
|
await super._onDelete()
|
|
}
|
|
|
|
}
|