use of min/max for fatigue/strife/void point for use on token bars
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user