Skip to content

Commit 7c6e8c5

Browse files
committed
ADD - develop mode condition for chat combat buttons
1 parent 24e1797 commit 7c6e8c5

7 files changed

Lines changed: 47 additions & 20 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"private": true,
33
"name": "anima-beyond-foundry",
4-
"version": "2.0.1",
4+
"version": "2.0.2",
55
"description": "Unofficial Anima Beyond Fantasy system for Foundry VTT",
66
"type": "module",
77
"scripts": {

src/module/combat/autoDefense.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ export async function autoRollDefenseAgainstAttack({
4040

4141
const die =
4242
naturalBase >= 200
43-
? actor.system?.general?.diceSettings?.abilityMasteryDie?.value ?? '1d100'
44-
: actor.system?.general?.diceSettings?.abilityDie?.value ?? '1d100';
43+
? actor.system?.general?.diceSettings?.abilityMasteryDie?.value ?? '1d100xa'
44+
: actor.system?.general?.diceSettings?.abilityDie?.value ?? '1d100xa';
4545

4646
const staticBonus = finalBase; // no extra modifiers in auto mode
4747
const formula = `${die} + ${staticBonus}`;

src/system.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
"id": "animabf",
33
"title": "Anima Beyond Fantasy",
44
"description": "Unofficial Anima Beyond Fantasy system for Foundry VTT",
5-
"version": "2.0.1",
5+
"version": "2.0.2",
66
"compatibility": { "minimum": "13", "verified": "13.348" },
77
"url": "https://github.com/AnimaBeyondDevelop/AnimaBeyondFoundry",
88
"manifest": "https://raw.githubusercontent.com/AnimaBeyondDevelop/AnimaBeyondFoundry/main/src/system.json",
9-
"changelog": "https://github.com/AnimaBeyondDevelop/AnimaBeyondFoundry/releases/tag/v2.0.1",
10-
"download": "https://github.com/AnimaBeyondDevelop/AnimaBeyondFoundry/releases/download/v2.0.1/animabf.zip",
9+
"changelog": "https://github.com/AnimaBeyondDevelop/AnimaBeyondFoundry/releases/tag/v2.0.2",
10+
"download": "https://github.com/AnimaBeyondDevelop/AnimaBeyondFoundry/releases/download/v2.0.2/animabf.zip",
1111
"bugs": "https://github.com/AnimaBeyondDevelop/AnimaBeyondFoundry/issues",
1212
"authors": [
1313
{ "name": "Linkaynn", "url": "https://www.jeseromero.com" },

src/templates/actor/parts/combat/parts/weapons.hbs

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -209,12 +209,15 @@
209209

210210
{{{injectFromHook "animabf.actor.combat.weapon.footer" weapon._id}}}
211211

212-
{{!-- <button class='attack-button' data-on-click="createDefaultWeaponAttack" data-weapon-id="{{weapon._id}}">
213-
{{localize "anima.ui.combat.weapons.defaultAttackButton.title"}}
214-
</button> --}}
215-
{{!-- <button class='attack-button' data-on-click="createWeaponAttack" data-weapon-id="{{weapon._id}}">
216-
{{localize "anima.ui.combat.weapons.attackButton.title"}}
217-
</button> --}}
212+
{{#if (settingBool "DEVELOP_MODE")}}
213+
{{!-- <button class='attack-button' data-on-click="createDefaultWeaponAttack" data-weapon-id="{{weapon._id}}">
214+
{{localize "anima.ui.combat.weapons.defaultAttackButton.title"}}
215+
</button> --}}
216+
<button class='attack-button' data-on-click="createWeaponAttack" data-weapon-id="{{weapon._id}}">
217+
{{localize "anima.ui.combat.weapons.attackButton.title"}}
218+
</button>
219+
{{/if}}
220+
218221
</div>
219222
{{/"systems/animabf/templates/common/ui/group-footer.hbs"}}
220223
{{/"systems/animabf/templates/common/ui/group.hbs"}}

src/utils/chatActionHandlers/autoDefendActionHandler.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export default async function autoDefendActionHandler(message, _html, ds) {
3535
updatedAt: Date.now()
3636
});
3737
}
38-
entries.push(entryFromAuto(r));
38+
entries.push(entryFromAuto(r, tok));
3939
}
4040

4141
// Render consolidated message
@@ -94,11 +94,12 @@ function safeParseJSON(s) {
9494
}
9595
}
9696

97-
function entryFromAuto(r) {
97+
function entryFromAuto(r, tok) {
9898
return {
9999
actorId: r.actor.id,
100-
tokenId: r.token?.id ?? '',
101-
label: r.actor.name,
100+
// Prefer token instance over actor
101+
tokenId: r.token?.id ?? tok?.id ?? '',
102+
label: r.token?.name ?? tok?.name ?? r.actor.name,
102103
defenseTotal: Number(r.defenseTotal ?? 0),
103104
damageFinal: Number(
104105
r.combatResult?.damageFinal ??

src/utils/chatActionHandlers/autoDefendPendingActionHandler.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export default async function autoDefendPendingActionHandler(message, _html, ds)
5454
updatedAt: Date.now()
5555
});
5656

57-
entries.push(entryFromAuto(r));
57+
entries.push(entryFromAuto(r, tok));
5858
}
5959

6060
if (!entries.length)
@@ -103,11 +103,12 @@ function safeParseJSON(s) {
103103
return null;
104104
}
105105
}
106-
function entryFromAuto(r) {
106+
function entryFromAuto(r, tok) {
107107
return {
108108
actorId: r.actor.id,
109-
tokenId: r.token?.id ?? '',
110-
label: r.actor.name,
109+
// Prefer token instance name over actor name (v13-safe)
110+
tokenId: r.token?.id ?? tok?.id ?? '',
111+
label: r.token?.name ?? tok?.name ?? r.actor.name,
111112
defenseTotal: Number(r.defenseTotal ?? 0),
112113
damageFinal: Number(
113114
r.combatResult?.damageFinal ??
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// utils/handlebars-helpers/helpers/settingBool.js
2+
// Returns a world boolean setting by id. Works in #if directly.
3+
// Usage:
4+
// {{#if (settingBool "DEVELOP_MODE")}} ... {{/if}}
5+
// {{#if (settingBool "yourSystemId.DEVELOP_MODE")}} ... {{/if}}
6+
// {{#if (settingBool "DEVELOP_MODE" "yourSystemId")}} ... {{/if}}
7+
export const settingBool = {
8+
name: 'settingBool',
9+
fn: (id, ns) => {
10+
try {
11+
if (!id) return false;
12+
13+
let key = String(id);
14+
15+
const val = game.settings.get(game.animabf.id, key);
16+
return !!val; // Coerce to boolean for safe use in {{#if}}
17+
} catch (err) {
18+
console.warn(`[ABF] settingBool helper error:`, err);
19+
return false;
20+
}
21+
}
22+
};

0 commit comments

Comments
 (0)