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() {
|
prepareData() {
|
||||||
super.prepareData();
|
super.prepareData();
|
||||||
|
|
||||||
const actorData = this.data;
|
if (["character", "npc"].includes(this.data.type)) {
|
||||||
const data = actorData.data;
|
const data = this.data.data;
|
||||||
const isCharacter = ["character", "npc"].includes(actorData.type);
|
|
||||||
|
|
||||||
if (isCharacter) {
|
|
||||||
data.endurance = (Number(data.rings.earth) + Number(data.rings.fire)) * 2;
|
data.endurance = (Number(data.rings.earth) + Number(data.rings.fire)) * 2;
|
||||||
data.composure = (Number(data.rings.earth) + Number(data.rings.water)) * 2;
|
data.composure = (Number(data.rings.earth) + Number(data.rings.water)) * 2;
|
||||||
data.focus = Number(data.rings.air) + Number(data.rings.fire);
|
data.focus = Number(data.rings.air) + Number(data.rings.fire);
|
||||||
data.vigilante = Math.floor((Number(data.rings.air) + Number(data.rings.water)) / 2);
|
data.vigilante = Math.floor((Number(data.rings.air) + Number(data.rings.water)) / 2);
|
||||||
|
|
||||||
|
// Attributes bars
|
||||||
data.void_points.max = data.rings.void;
|
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
|
// Make sure void points are never greater than max
|
||||||
if (data.void_points.current > data.void_points.max) {
|
if (data.void_points.value > data.void_points.max) {
|
||||||
data.void_points.current = data.void_points.max;
|
data.void_points.value = data.void_points.max;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -218,7 +218,7 @@ export class DicePickerDialog extends FormApplication {
|
|||||||
actor: this._actor,
|
actor: this._actor,
|
||||||
actorIsPc: !this._actor || this._actor.data?.type === "character",
|
actorIsPc: !this._actor || this._actor.data?.type === "character",
|
||||||
difficulty: this._difficulty,
|
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 Void point is used, minus the actor
|
||||||
if (formData.use_void_point) {
|
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
|
// If hidden add void 1pt
|
||||||
// this._difficulty.isHidden = !!formData.diff_hidden;
|
// this._difficulty.isHidden = !!formData.diff_hidden;
|
||||||
// this._difficulty.difficulty = formData.diff;
|
// this._difficulty.difficulty = formData.diff;
|
||||||
if (this._difficulty.isHidden) {
|
if (this._difficulty.isHidden) {
|
||||||
this._actor.data.data.void_points.current = Math.min(
|
this._actor.data.data.void_points.value = Math.min(
|
||||||
this._actor.data.data.void_points.current + 1,
|
this._actor.data.data.void_points.value + 1,
|
||||||
this._actor.data.data.void_points.max
|
this._actor.data.data.void_points.max
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -74,11 +74,17 @@
|
|||||||
"focus": 0,
|
"focus": 0,
|
||||||
"vigilante": 0,
|
"vigilante": 0,
|
||||||
"void_points": {
|
"void_points": {
|
||||||
"max": 0,
|
"max": 1,
|
||||||
"current": 0
|
"value": 0
|
||||||
|
},
|
||||||
|
"fatigue": {
|
||||||
|
"max": 1,
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"strife": {
|
||||||
|
"max": 1,
|
||||||
|
"value": 0
|
||||||
},
|
},
|
||||||
"fatigue": 0,
|
|
||||||
"strife": 0,
|
|
||||||
"stance": "void"
|
"stance": "void"
|
||||||
},
|
},
|
||||||
"advancement": {
|
"advancement": {
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label class="attribute-label">
|
<label class="attribute-label">
|
||||||
<strong>{{ localize 'l5r5e.attributes.fatigue' }}</strong>
|
<strong>{{ localize 'l5r5e.attributes.fatigue' }}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="data.fatigue" value="{{data.fatigue}}" data-dtype="Number" min="0" placeholder="0"/>
|
<input class="centered-input select-on-focus" type="number" name="data.fatigue.value" value="{{data.fatigue.value}}" data-dtype="Number" min="0" placeholder="0"/>
|
||||||
</label>
|
</label>
|
||||||
<p class="quick-rules"> {{ localize 'l5r5e.attributes.endurancetip' }}</p>
|
<p class="quick-rules"> {{ localize 'l5r5e.attributes.endurancetip' }}</p>
|
||||||
</li>
|
</li>
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label class="attribute-label">
|
<label class="attribute-label">
|
||||||
<strong>{{ localize 'l5r5e.attributes.strife' }}</strong>
|
<strong>{{ localize 'l5r5e.attributes.strife' }}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="data.strife" value="{{data.strife}}" data-dtype="Number" min="0" placeholder="0"/>
|
<input class="centered-input select-on-focus" type="number" name="data.strife.value" value="{{data.strife.value}}" data-dtype="Number" min="0" placeholder="0"/>
|
||||||
</label>
|
</label>
|
||||||
<p class="quick-rules"> {{ localize 'l5r5e.attributes.composuretip' }}</p>
|
<p class="quick-rules"> {{ localize 'l5r5e.attributes.composuretip' }}</p>
|
||||||
</li>
|
</li>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<li class="void-content">
|
<li class="void-content">
|
||||||
<label class="attribute-label">
|
<label class="attribute-label">
|
||||||
<strong>{{ localize 'l5r5e.attributes.voidpoints' }}</strong>
|
<strong>{{ localize 'l5r5e.attributes.voidpoints' }}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="data.void_points.current" value="{{data.void_points.current}}" data-dtype="Number" placeholder="0" min="0" max="{{data.void_points.max}}"/>
|
<input class="centered-input select-on-focus" type="number" name="data.void_points.value" value="{{data.void_points.value}}" data-dtype="Number" placeholder="0" min="0" max="{{data.void_points.max}}"/>
|
||||||
<input class="centered-input" type="text" name="data.void_points.max" value="{{data.void_points.max}}" data-dtype="Number" disabled/>
|
<input class="centered-input" type="text" name="data.void_points.max" value="{{data.void_points.max}}" data-dtype="Number" disabled/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label class="attribute-label">
|
<label class="attribute-label">
|
||||||
<strong>{{ localize 'l5r5e.attributes.fatigue' }}</strong>
|
<strong>{{ localize 'l5r5e.attributes.fatigue' }}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="data.fatigue" value="{{data.fatigue}}" data-dtype="Number" min="0" placeholder="0"/>
|
<input class="centered-input select-on-focus" type="number" name="data.fatigue.value" value="{{data.fatigue.value}}" data-dtype="Number" min="0" placeholder="0"/>
|
||||||
</label>
|
</label>
|
||||||
<p class="quick-rules"> {{ localize 'l5r5e.attributes.endurancetip' }}</p>
|
<p class="quick-rules"> {{ localize 'l5r5e.attributes.endurancetip' }}</p>
|
||||||
</li>
|
</li>
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
</label>
|
</label>
|
||||||
<label class="attribute-label">
|
<label class="attribute-label">
|
||||||
<strong>{{ localize 'l5r5e.attributes.strife' }}</strong>
|
<strong>{{ localize 'l5r5e.attributes.strife' }}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="data.strife" value="{{data.strife}}" data-dtype="Number" min="0" placeholder="0"/>
|
<input class="centered-input select-on-focus" type="number" name="data.strife.value" value="{{data.strife.value}}" data-dtype="Number" min="0" placeholder="0"/>
|
||||||
</label>
|
</label>
|
||||||
<p class="quick-rules"> {{ localize 'l5r5e.attributes.composuretip' }}</p>
|
<p class="quick-rules"> {{ localize 'l5r5e.attributes.composuretip' }}</p>
|
||||||
</li>
|
</li>
|
||||||
@@ -38,7 +38,7 @@
|
|||||||
<li class="void-content">
|
<li class="void-content">
|
||||||
<label class="attribute-label">
|
<label class="attribute-label">
|
||||||
<strong>{{ localize 'l5r5e.attributes.voidpoints' }}</strong>
|
<strong>{{ localize 'l5r5e.attributes.voidpoints' }}</strong>
|
||||||
<input class="centered-input select-on-focus" type="number" name="data.void_points.current" value="{{data.void_points.current}}" data-dtype="Number" placeholder="0" min="0" max="{{data.void_points.max}}"/>
|
<input class="centered-input select-on-focus" type="number" name="data.void_points.value" value="{{data.void_points.value}}" data-dtype="Number" placeholder="0" min="0" max="{{data.void_points.max}}"/>
|
||||||
<input class="centered-input" type="text" name="data.void_points.max" value="{{data.void_points.max}}" data-dtype="Number" disabled/>
|
<input class="centered-input" type="text" name="data.void_points.max" value="{{data.void_points.max}}" data-dtype="Number" disabled/>
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
Reference in New Issue
Block a user