From ace607d05c0917b1d3852806d702f77d864c7b63 Mon Sep 17 00:00:00 2001 From: LeRatierBretonnien Date: Mon, 27 Oct 2025 20:06:24 +0000 Subject: [PATCH] Add optionnal modifier --- lang/en.json | 1 + module/config/system.mjs | 15 +++++++++++++++ module/documents/roll.mjs | 13 ++++++++++++- .../ftl-nomad-items/{000101.log => 000105.log} | 0 packs/ftl-nomad-items/CURRENT | 2 +- packs/ftl-nomad-items/LOG | 14 +++++++------- packs/ftl-nomad-items/LOG.old | 14 +++++++------- .../{MANIFEST-000099 => MANIFEST-000103} | Bin 173 -> 173 bytes .../{000079.log => 000083.log} | 0 packs/ftl-nomad-vehicles/CURRENT | 2 +- packs/ftl-nomad-vehicles/LOG | 14 +++++++------- packs/ftl-nomad-vehicles/LOG.old | 14 +++++++------- .../{MANIFEST-000077 => MANIFEST-000081} | Bin 174 -> 174 bytes templates/roll-dialog.hbs | 4 ++++ 14 files changed, 62 insertions(+), 31 deletions(-) rename packs/ftl-nomad-items/{000101.log => 000105.log} (100%) rename packs/ftl-nomad-items/{MANIFEST-000099 => MANIFEST-000103} (73%) rename packs/ftl-nomad-vehicles/{000079.log => 000083.log} (100%) rename packs/ftl-nomad-vehicles/{MANIFEST-000077 => MANIFEST-000081} (73%) diff --git a/lang/en.json b/lang/en.json index d83acbc..4af3c41 100644 --- a/lang/en.json +++ b/lang/en.json @@ -495,6 +495,7 @@ "max": "Max", "maximum": "Maximum", "modifier": "Modifier", + "numericModifier": "Additionnal Modifier", "multiplier": "Multiplier", "newArmor": "New Armor", "newWeapon": "New Weapon", diff --git a/module/config/system.mjs b/module/config/system.mjs index e6b49be..006fd7b 100644 --- a/module/config/system.mjs +++ b/module/config/system.mjs @@ -144,6 +144,20 @@ export const MODIFIER_CHOICES = { "impossible6": { id: "impossible6", label: "FTLNOMAD.Label.Impossible6", value: "-6" } } +export const NUMERIC_MODIFIER_CHOICES = { + "-5": { label: "-5", value: -5 }, + "-4": { label: "-4", value: -4 }, + "-3": { label: "-3", value: -3 }, + "-2": { label: "-2", value: -2 }, + "-1": { label: "-1", value: -1 }, + "0": { label: "0", value: 0 }, + "+1": { label: "+1", value: 1 }, + "+2": { label: "+2", value: 2 }, + "+3": { label: "+3", value: 3 }, + "+4": { label: "+4", value: 4 }, + "+5": { label: "+5", value: 5 } +} + export const STARSHIP_HULL = { "pod": { id: "pod", label: "FTLNOMAD.Starship.Hull.Pod" }, "micro": { id: "micro", label: "FTLNOMAD.Starship.Hull.Micro" }, @@ -163,6 +177,7 @@ export const STARSHIP_HULL = { export const SYSTEM = { id: SYSTEM_ID, MODIFIER_CHOICES, + NUMERIC_MODIFIER_CHOICES, ATTACK_MODIFIERS, TECH_AGES, WEAPON_TYPES, diff --git a/module/documents/roll.mjs b/module/documents/roll.mjs index f93feb3..f9f8f4d 100644 --- a/module/documents/roll.mjs +++ b/module/documents/roll.mjs @@ -66,7 +66,7 @@ export default class FTLNomadRoll extends Roll { fullFormula = `${options.formula} + ${options.damageModifier}D6 ` } else { let mod = options.rollItem?.value || 0 - fullFormula = `${options.formula} + ${options.skillModifier}D + ${mod} + ${options.rangeModifier}D + ${options.numericModifier}D` + fullFormula = `${options.formula} + ${options.skillModifier}D + ${mod} + ${options.rangeModifier}D + ${options.numericModifier}D + ${options.numericModifierSelect}` } // Replace all the "+ -" with "-" fullFormula = fullFormula.replace(/\+\s*\-/g, "- ") @@ -116,6 +116,7 @@ export default class FTLNomadRoll extends Roll { }) const choiceModifier = SYSTEM.MODIFIER_CHOICES + const choiceNumericModifier = SYSTEM.NUMERIC_MODIFIER_CHOICES let choiceRangeModifier = {} let rangeModifier = 0 if (options.weapon) { @@ -129,8 +130,10 @@ export default class FTLNomadRoll extends Roll { let damageModifier = "0" let modifier = "0" + let numericModifierSelect = 0 options.skillModifier = 0 options.numericModifier = 0 + options.numericModifierSelect = 0 options.rangeModifier = rangeModifier options.damageModifier = damageModifier let fullFormula = `${formula} + ${options.rollItem.value}` @@ -152,6 +155,7 @@ export default class FTLNomadRoll extends Roll { rollModes, fieldRollMode, choiceModifier, + choiceNumericModifier, choiceRangeModifier, choiceDamageModifier, rangeModifier, @@ -159,6 +163,7 @@ export default class FTLNomadRoll extends Roll { formula, hasTarget: options.hasTarget, modifier, + numericModifierSelect, } const content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-ftl-nomad/templates/roll-dialog.hbs", dialogContext) @@ -189,6 +194,10 @@ export default class FTLNomadRoll extends Roll { options.skillModifier = Number(event.target.value) FTLNomadRoll.updateFullFormula(options) }) + $(".roll-numeric-modifier").change(event => { + options.numericModifierSelect = Number(event.target.value) + FTLNomadRoll.updateFullFormula(options) + }) $(".roll-damage-modifier").change(event => { options.damageModifier = Number(event.target.value) FTLNomadRoll.updateFullFormula(options) @@ -223,8 +232,10 @@ export default class FTLNomadRoll extends Roll { options.numericModifier = Number(rollData.numericModifier) || 0 options.skillModifier = Number(rollData.skillModifier) || 0 options.rangeModifier = Number(rollData.rangeModifier) || 0 + options.numericModifierSelect = Number(rollData.numericModifierSelect) || 0 options.finalModifier = options.numericModifier + options.skillModifier + options.rangeModifier let mod = options.rollItem?.value || 0 + mod += options.numericModifierSelect // Build the dice formula let diceFormula = "2d6" diff --git a/packs/ftl-nomad-items/000101.log b/packs/ftl-nomad-items/000105.log similarity index 100% rename from packs/ftl-nomad-items/000101.log rename to packs/ftl-nomad-items/000105.log diff --git a/packs/ftl-nomad-items/CURRENT b/packs/ftl-nomad-items/CURRENT index b86155c..1fb45e8 100644 --- a/packs/ftl-nomad-items/CURRENT +++ b/packs/ftl-nomad-items/CURRENT @@ -1 +1 @@ -MANIFEST-000099 +MANIFEST-000103 diff --git a/packs/ftl-nomad-items/LOG b/packs/ftl-nomad-items/LOG index 9bd4cd1..50bdba9 100644 --- a/packs/ftl-nomad-items/LOG +++ b/packs/ftl-nomad-items/LOG @@ -1,7 +1,7 @@ -2025/10/18-17:56:08.077097 7f7b75bfa6c0 Recovering log #97 -2025/10/18-17:56:08.086491 7f7b75bfa6c0 Delete type=3 #95 -2025/10/18-17:56:08.086541 7f7b75bfa6c0 Delete type=0 #97 -2025/10/18-18:03:15.510704 7f7b6f3ff6c0 Level-0 table #102: started -2025/10/18-18:03:15.510749 7f7b6f3ff6c0 Level-0 table #102: 0 bytes OK -2025/10/18-18:03:15.548325 7f7b6f3ff6c0 Delete type=0 #100 -2025/10/18-18:03:15.624002 7f7b6f3ff6c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end) +2025/10/27-20:03:18.716726 7f2a22ffd6c0 Recovering log #101 +2025/10/27-20:03:18.728612 7f2a22ffd6c0 Delete type=3 #99 +2025/10/27-20:03:18.728755 7f2a22ffd6c0 Delete type=0 #101 +2025/10/27-20:06:09.635606 7f2a213ff6c0 Level-0 table #106: started +2025/10/27-20:06:09.635675 7f2a213ff6c0 Level-0 table #106: 0 bytes OK +2025/10/27-20:06:09.644064 7f2a213ff6c0 Delete type=0 #104 +2025/10/27-20:06:09.658912 7f2a213ff6c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end) diff --git a/packs/ftl-nomad-items/LOG.old b/packs/ftl-nomad-items/LOG.old index 051d7e5..9bd4cd1 100644 --- a/packs/ftl-nomad-items/LOG.old +++ b/packs/ftl-nomad-items/LOG.old @@ -1,7 +1,7 @@ -2025/10/16-19:48:48.571698 7f18a4ffa6c0 Recovering log #93 -2025/10/16-19:48:48.582163 7f18a4ffa6c0 Delete type=3 #91 -2025/10/16-19:48:48.582233 7f18a4ffa6c0 Delete type=0 #93 -2025/10/16-19:50:49.674486 7f189e7fc6c0 Level-0 table #98: started -2025/10/16-19:50:49.674520 7f189e7fc6c0 Level-0 table #98: 0 bytes OK -2025/10/16-19:50:49.681475 7f189e7fc6c0 Delete type=0 #96 -2025/10/16-19:50:49.691929 7f189e7fc6c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end) +2025/10/18-17:56:08.077097 7f7b75bfa6c0 Recovering log #97 +2025/10/18-17:56:08.086491 7f7b75bfa6c0 Delete type=3 #95 +2025/10/18-17:56:08.086541 7f7b75bfa6c0 Delete type=0 #97 +2025/10/18-18:03:15.510704 7f7b6f3ff6c0 Level-0 table #102: started +2025/10/18-18:03:15.510749 7f7b6f3ff6c0 Level-0 table #102: 0 bytes OK +2025/10/18-18:03:15.548325 7f7b6f3ff6c0 Delete type=0 #100 +2025/10/18-18:03:15.624002 7f7b6f3ff6c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end) diff --git a/packs/ftl-nomad-items/MANIFEST-000099 b/packs/ftl-nomad-items/MANIFEST-000103 similarity index 73% rename from packs/ftl-nomad-items/MANIFEST-000099 rename to packs/ftl-nomad-items/MANIFEST-000103 index 480a32e7642b4fbbbdf53d088b8cf3c5096b22cf..f66363ce8dccdf9b3d085948011195ff044d6c78 100644 GIT binary patch delta 39 qcmZ3>xR!B3ufoRta~n7r7@0CS8JII!9xR!B3uY$qnhmxEOj7%w<49ux44_S|$pPB>WrvmxuKt2HQlnUkm diff --git a/packs/ftl-nomad-vehicles/000079.log b/packs/ftl-nomad-vehicles/000083.log similarity index 100% rename from packs/ftl-nomad-vehicles/000079.log rename to packs/ftl-nomad-vehicles/000083.log diff --git a/packs/ftl-nomad-vehicles/CURRENT b/packs/ftl-nomad-vehicles/CURRENT index c7a124b..635f1ad 100644 --- a/packs/ftl-nomad-vehicles/CURRENT +++ b/packs/ftl-nomad-vehicles/CURRENT @@ -1 +1 @@ -MANIFEST-000077 +MANIFEST-000081 diff --git a/packs/ftl-nomad-vehicles/LOG b/packs/ftl-nomad-vehicles/LOG index e83f697..532373e 100644 --- a/packs/ftl-nomad-vehicles/LOG +++ b/packs/ftl-nomad-vehicles/LOG @@ -1,7 +1,7 @@ -2025/10/18-17:56:08.089616 7f7b6ffff6c0 Recovering log #75 -2025/10/18-17:56:08.099835 7f7b6ffff6c0 Delete type=3 #73 -2025/10/18-17:56:08.099933 7f7b6ffff6c0 Delete type=0 #75 -2025/10/18-18:03:15.586602 7f7b6f3ff6c0 Level-0 table #80: started -2025/10/18-18:03:15.586654 7f7b6f3ff6c0 Level-0 table #80: 0 bytes OK -2025/10/18-18:03:15.623769 7f7b6f3ff6c0 Delete type=0 #78 -2025/10/18-18:03:15.624032 7f7b6f3ff6c0 Manual compaction at level-0 from '!actors!0FQ6XaRi24OorI21' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end) +2025/10/27-20:03:18.738218 7f2a23fff6c0 Recovering log #79 +2025/10/27-20:03:18.749460 7f2a23fff6c0 Delete type=3 #77 +2025/10/27-20:03:18.749597 7f2a23fff6c0 Delete type=0 #79 +2025/10/27-20:06:09.651196 7f2a213ff6c0 Level-0 table #84: started +2025/10/27-20:06:09.651261 7f2a213ff6c0 Level-0 table #84: 0 bytes OK +2025/10/27-20:06:09.658656 7f2a213ff6c0 Delete type=0 #82 +2025/10/27-20:06:09.658955 7f2a213ff6c0 Manual compaction at level-0 from '!actors!0FQ6XaRi24OorI21' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end) diff --git a/packs/ftl-nomad-vehicles/LOG.old b/packs/ftl-nomad-vehicles/LOG.old index a3d5acd..e83f697 100644 --- a/packs/ftl-nomad-vehicles/LOG.old +++ b/packs/ftl-nomad-vehicles/LOG.old @@ -1,7 +1,7 @@ -2025/10/16-19:48:48.588685 7f189f7fe6c0 Recovering log #71 -2025/10/16-19:48:48.599841 7f189f7fe6c0 Delete type=3 #69 -2025/10/16-19:48:48.599924 7f189f7fe6c0 Delete type=0 #71 -2025/10/16-19:50:49.586198 7f189e7fc6c0 Level-0 table #76: started -2025/10/16-19:50:49.586239 7f189e7fc6c0 Level-0 table #76: 0 bytes OK -2025/10/16-19:50:49.598518 7f189e7fc6c0 Delete type=0 #74 -2025/10/16-19:50:49.610365 7f189e7fc6c0 Manual compaction at level-0 from '!actors!0FQ6XaRi24OorI21' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end) +2025/10/18-17:56:08.089616 7f7b6ffff6c0 Recovering log #75 +2025/10/18-17:56:08.099835 7f7b6ffff6c0 Delete type=3 #73 +2025/10/18-17:56:08.099933 7f7b6ffff6c0 Delete type=0 #75 +2025/10/18-18:03:15.586602 7f7b6f3ff6c0 Level-0 table #80: started +2025/10/18-18:03:15.586654 7f7b6f3ff6c0 Level-0 table #80: 0 bytes OK +2025/10/18-18:03:15.623769 7f7b6f3ff6c0 Delete type=0 #78 +2025/10/18-18:03:15.624032 7f7b6f3ff6c0 Manual compaction at level-0 from '!actors!0FQ6XaRi24OorI21' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end) diff --git a/packs/ftl-nomad-vehicles/MANIFEST-000077 b/packs/ftl-nomad-vehicles/MANIFEST-000081 similarity index 73% rename from packs/ftl-nomad-vehicles/MANIFEST-000077 rename to packs/ftl-nomad-vehicles/MANIFEST-000081 index 49b627e553e0fcba606bdbf0b71295fb25335b8a..599219a4016b9832933ccec410f32f5c31a4b5ce 100644 GIT binary patch delta 37 pcmZ3-xQ=nc1i5R+Lo7HL7@2}N8JL4vDvD=)JOttf1G%9r6#&=k3Hbm3 delta 37 pcmZ3-xQ=nc1i6H+t&JQEj7)x<49xy46_3-W^?|tlKyDyQ1pv`(361~& diff --git a/templates/roll-dialog.hbs b/templates/roll-dialog.hbs index 9f97b7d..1a5d960 100644 --- a/templates/roll-dialog.hbs +++ b/templates/roll-dialog.hbs @@ -40,6 +40,10 @@ + + {{/if}} {{#if (eq rollType "weapon")}}