diff --git a/system/scripts/actor.js b/system/scripts/actor.js index c86b6a3..08c8b5a 100644 --- a/system/scripts/actor.js +++ b/system/scripts/actor.js @@ -61,20 +61,22 @@ export class ActorL5r5e extends Actor { prepareData() { super.prepareData(); - const actorData = this.data; - const data = actorData.data; - const isCharacter = ["character", "npc"].includes(actorData.type); + if (["character", "npc"].includes(this.data.type)) { + const data = this.data.data; - if (isCharacter) { data.endurance = (Number(data.rings.earth) + Number(data.rings.fire)) * 2; data.composure = (Number(data.rings.earth) + Number(data.rings.water)) * 2; data.focus = Number(data.rings.air) + Number(data.rings.fire); data.vigilante = Math.floor((Number(data.rings.air) + Number(data.rings.water)) / 2); + + // Attributes bars data.void_points.max = data.rings.void; + data.fatigue.max = data.endurance; + data.strife.max = data.composure; // Make sure void points are never greater than max - if (data.void_points.current > data.void_points.max) { - data.void_points.current = data.void_points.max; + if (data.void_points.value > data.void_points.max) { + data.void_points.value = data.void_points.max; } } } diff --git a/system/scripts/dice/dice-picker-dialog.js b/system/scripts/dice/dice-picker-dialog.js index f381596..e588916 100644 --- a/system/scripts/dice/dice-picker-dialog.js +++ b/system/scripts/dice/dice-picker-dialog.js @@ -218,7 +218,7 @@ export class DicePickerDialog extends FormApplication { actor: this._actor, actorIsPc: !this._actor || this._actor.data?.type === "character", difficulty: this._difficulty, - canUseVoidPoint: !this._actor || this._actor.data.data.void_points.current > 0, + canUseVoidPoint: !this._actor || this._actor.data.data.void_points.value > 0, }; } @@ -362,15 +362,15 @@ export class DicePickerDialog extends FormApplication { // If Void point is used, minus the actor if (formData.use_void_point) { - this._actor.data.data.void_points.current = Math.max(this._actor.data.data.void_points.current - 1, 0); + this._actor.data.data.void_points.value = Math.max(this._actor.data.data.void_points.value - 1, 0); } // If hidden add void 1pt // this._difficulty.isHidden = !!formData.diff_hidden; // this._difficulty.difficulty = formData.diff; if (this._difficulty.isHidden) { - this._actor.data.data.void_points.current = Math.min( - this._actor.data.data.void_points.current + 1, + this._actor.data.data.void_points.value = Math.min( + this._actor.data.data.void_points.value + 1, this._actor.data.data.void_points.max ); } diff --git a/system/template.json b/system/template.json index 1e9c3c5..dbe7514 100644 --- a/system/template.json +++ b/system/template.json @@ -74,11 +74,17 @@ "focus": 0, "vigilante": 0, "void_points": { - "max": 0, - "current": 0 + "max": 1, + "value": 0 + }, + "fatigue": { + "max": 1, + "value": 0 + }, + "strife": { + "max": 1, + "value": 0 }, - "fatigue": 0, - "strife": 0, "stance": "void" }, "advancement": { diff --git a/system/templates/actors/character/attributes.html b/system/templates/actors/character/attributes.html index d8eda8b..7d7dcc0 100644 --- a/system/templates/actors/character/attributes.html +++ b/system/templates/actors/character/attributes.html @@ -6,7 +6,7 @@
{{ localize 'l5r5e.attributes.endurancetip' }}
@@ -17,7 +17,7 @@{{ localize 'l5r5e.attributes.composuretip' }}
@@ -38,7 +38,7 @@{{ localize 'l5r5e.attributes.endurancetip' }}
@@ -17,7 +17,7 @@{{ localize 'l5r5e.attributes.composuretip' }}
@@ -38,7 +38,7 @@