Xp not in curriculum are now rounded up (down before)
No more automation in stats for Npc (these cheaters !) 20Q Pushed the step3 item's limit to 20 (10 previous) Gm Tool no longer stuck the escape key process
This commit is contained in:
@@ -16,6 +16,8 @@
|
||||
- Added a visual indicator for equipped / readied
|
||||
- Now only equipped armor / weapon will show in conflict tab, and all armors/weapons now show in inventory tab
|
||||
- Xp not in curriculum are now rounded up (down before)
|
||||
- No more automation in stats for Npc (these cheaters !)
|
||||
- 20Q Pushed the step3 item's limit to 20 (10 previous)
|
||||
|
||||
## 1.0.0 - First public release
|
||||
- Removed the 0ds if no skill point
|
||||
|
||||
@@ -76,22 +76,22 @@ export class ActorL5r5e extends Actor {
|
||||
if (["character", "npc"].includes(this.data.type)) {
|
||||
const data = this.data.data;
|
||||
|
||||
// No automation for npc as they cheat in stats
|
||||
if (this.data.type === "character") {
|
||||
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);
|
||||
|
||||
// Attributes bars
|
||||
data.void_points.max = data.rings.void;
|
||||
data.fatigue.max = data.endurance;
|
||||
data.strife.max = data.composure;
|
||||
|
||||
// if compromise, vigilance = 1
|
||||
if (data.strife.value > data.strife.max) {
|
||||
data.vigilance = 1;
|
||||
} else {
|
||||
data.vigilance = Math.ceil((Number(data.rings.air) + Number(data.rings.water)) / 2);
|
||||
}
|
||||
|
||||
// Attributes bars
|
||||
data.fatigue.max = data.endurance;
|
||||
data.strife.max = data.composure;
|
||||
data.void_points.max = data.rings.void;
|
||||
|
||||
// if compromise, vigilance = 1
|
||||
data.is_compromised = data.strife.value > data.strife.max;
|
||||
|
||||
// Make sure void points are never greater than max
|
||||
if (data.void_points.value > data.void_points.max) {
|
||||
data.void_points.value = data.void_points.max;
|
||||
|
||||
@@ -59,7 +59,7 @@ export class CombatL5r5e extends Combat {
|
||||
|
||||
if (combatant.actor.data.type === "npc" && combatant.actor.data.data.type === "minion") {
|
||||
// Minion NPCs can generate initiative value without a check, using their focus or vigilance attribute
|
||||
initiative = cfg.prepared.minion ? data.focus : data.vigilance;
|
||||
initiative = cfg.prepared.minion ? data.focus : data.is_compromised ? 1 : data.vigilance;
|
||||
} else {
|
||||
// PC and Adversary
|
||||
const isPc = combatant.actor.data.type === "character";
|
||||
@@ -69,7 +69,7 @@ export class CombatL5r5e extends Combat {
|
||||
if (isPrepared === "null") {
|
||||
isPrepared = data.prepared;
|
||||
}
|
||||
initiative = isPrepared ? data.focus : data.vigilance;
|
||||
initiative = isPrepared ? data.focus : data.is_compromised ? 1 : data.vigilance;
|
||||
|
||||
// Roll formula
|
||||
if (!formula) {
|
||||
|
||||
@@ -48,7 +48,15 @@ export class GmToolsDialog extends FormApplication {
|
||||
* @override
|
||||
*/
|
||||
close() {
|
||||
// nothing !
|
||||
// TODO better implementation needed : see KeyboardManager._onEscape(event, up, modifiers)
|
||||
// This windows is always open, so esc key si stuck at step 2 : Object.keys(ui.windows).length > 0
|
||||
// Case 3 (GM) - release controlled objects
|
||||
if (canvas?.ready && game.user.isGM && Object.keys(canvas.activeLayer._controlled).length) {
|
||||
canvas.activeLayer.releaseAll();
|
||||
} else {
|
||||
// Case 4 - toggle the main menu
|
||||
ui.menu.toggle();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<li class="endurance-content">
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.endurance' }}</strong>
|
||||
<input class="centered-input" type="text" name="data.endurance" value="{{data.endurance}}" data-dtype="Number" disabled/>
|
||||
<input class="centered-input" type="number" name="data.endurance" value="{{data.endurance}}" data-dtype="Number" disabled/>
|
||||
</label>
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.fatigue' }}</strong>
|
||||
@@ -13,7 +13,7 @@
|
||||
<li class="composure-content">
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.composure' }}</strong>
|
||||
<input class="centered-input" type="text" name="data.composure" value="{{data.composure}}" data-dtype="Number" disabled/>
|
||||
<input class="centered-input" type="number" name="data.composure" value="{{data.composure}}" data-dtype="Number" disabled/>
|
||||
</label>
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.strife' }}</strong>
|
||||
@@ -24,14 +24,18 @@
|
||||
<li class="focus-content">
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.focus' }}</strong>
|
||||
<input class="centered-input" type="text" name="data.focus" value="{{data.focus}}" data-dtype="Number" disabled/>
|
||||
<input class="centered-input" type="number" name="data.focus" value="{{data.focus}}" data-dtype="Number" disabled/>
|
||||
</label>
|
||||
<p class="item-description"> {{ localize 'l5r5e.attributes.focustip' }}</p>
|
||||
</li>
|
||||
<li class="vigilance-content {{#ifCond data.strife.value '>' data.strife.max}}compromised{{/ifCond}}">
|
||||
<li class="vigilance-content {{#if data.is_compromised}}compromised{{/if}}">
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.vigilance' }}</strong>
|
||||
<input class="centered-input" type="text" name="data.vigilance" value="{{data.vigilance}}" data-dtype="Number" disabled/>
|
||||
{{#if data.is_compromised}}
|
||||
<input class="centered-input" type="number" value="1" disabled/>
|
||||
{{else}}
|
||||
<input class="centered-input" type="number" name="data.vigilance" value="{{data.vigilance}}" data-dtype="Number" disabled/>
|
||||
{{/if}}
|
||||
</label>
|
||||
<p class="item-description"> {{ localize 'l5r5e.attributes.vigilancetip' }}</p>
|
||||
</li>
|
||||
@@ -39,7 +43,7 @@
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.voidpoints' }}</strong>
|
||||
<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="number" name="data.void_points.max" value="{{data.void_points.max}}" data-dtype="Number" disabled/>
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -2,7 +2,7 @@
|
||||
<li class="endurance-content">
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.endurance' }}</strong>
|
||||
<input class="centered-input" type="text" name="data.endurance" value="{{data.endurance}}" data-dtype="Number" disabled/>
|
||||
<input class="centered-input" type="number" name="data.endurance" value="{{data.endurance}}" data-dtype="Number" min="0" placeholder="0"/>
|
||||
</label>
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.fatigue' }}</strong>
|
||||
@@ -13,7 +13,7 @@
|
||||
<li class="composure-content">
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.composure' }}</strong>
|
||||
<input class="centered-input" type="text" name="data.composure" value="{{data.composure}}" data-dtype="Number" disabled/>
|
||||
<input class="centered-input" type="number" name="data.composure" value="{{data.composure}}" data-dtype="Number" min="0" placeholder="0"/>
|
||||
</label>
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.strife' }}</strong>
|
||||
@@ -24,14 +24,18 @@
|
||||
<li class="focus-content">
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.focus' }}</strong>
|
||||
<input class="centered-input" type="text" name="data.focus" value="{{data.focus}}" data-dtype="Number" disabled/>
|
||||
<input class="centered-input" type="number" name="data.focus" value="{{data.focus}}" data-dtype="Number" min="0" placeholder="0"/>
|
||||
</label>
|
||||
<p class="item-description"> {{ localize 'l5r5e.attributes.focustip' }}</p>
|
||||
</li>
|
||||
<li class="vigilance-content {{#ifCond data.strife.value '>' data.strife.max}}compromised{{/ifCond}}">
|
||||
<li class="vigilance-content {{#if data.is_compromised}}compromised{{/if}}">
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.vigilance' }}</strong>
|
||||
<input class="centered-input" type="text" name="data.vigilance" value="{{data.vigilance}}" data-dtype="Number" disabled/>
|
||||
{{#if data.is_compromised}}
|
||||
<input class="centered-input" type="number" value="1" disabled/>
|
||||
{{else}}
|
||||
<input class="centered-input" type="number" name="data.vigilance" value="{{data.vigilance}}" data-dtype="Number" min="0" placeholder="0"/>
|
||||
{{/if}}
|
||||
</label>
|
||||
<p class="item-description"> {{ localize 'l5r5e.attributes.vigilancetip' }}</p>
|
||||
</li>
|
||||
@@ -39,7 +43,7 @@
|
||||
<label class="attribute-label">
|
||||
<strong>{{ localize 'l5r5e.attributes.voidpoints' }}</strong>
|
||||
<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="number" name="data.void_points.max" value="{{data.void_points.max}}" data-dtype="Number" disabled/>
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -236,7 +236,7 @@
|
||||
</td>
|
||||
<td class="fifty">
|
||||
{{localize 'l5r5e.twenty_questions.part2.outfit'}}
|
||||
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step3.equipment stepName='step3.equipment' itemType='items' hideDndAt=10 }}
|
||||
{{> 'systems/l5r5e/templates/actors/character/twenty-questions-item.html' itemsList=cache.step3.equipment stepName='step3.equipment' itemType='items' hideDndAt=20 }}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user