diff --git a/.gitea/workflows/release.yaml b/.gitea/workflows/release.yaml index 358801a..611bcba 100644 --- a/.gitea/workflows/release.yaml +++ b/.gitea/workflows/release.yaml @@ -60,4 +60,4 @@ jobs: manifest: 'https://www.uberwald.me/gitea/public/fvtt-cthulhu-eternal/releases/download/latest/system.json' notes: 'https://www.uberwald.me/gitea/${{gitea.repository}}/releases/download/${{github.event.release.tag_name}}/fvtt-cthulhu-eternal.zip' compatibility-minimum: '13' - compatibility-verified: '13' \ No newline at end of file + compatibility-verified: '14' \ No newline at end of file diff --git a/cthulhu-eternal.mjs b/cthulhu-eternal.mjs index 948d53d..e89c61b 100644 --- a/cthulhu-eternal.mjs +++ b/cthulhu-eternal.mjs @@ -170,6 +170,9 @@ Hooks.on("renderChatMessageHTML", (message, html, data) => { $(html).find(".healing-roll").each((i, btn) => { btn.style.display = "inline" }) + $(html).find(".worn-weapon-check").each((i, btn) => { + btn.style.display = "inline" + }) if (game.user.isGM) { $(html).find(".opposed-roll").each((i, btn) => { btn.style.display = "inline" @@ -185,6 +188,9 @@ Hooks.on("renderChatMessageHTML", (message, html, data) => { $(html).find(".healing-roll").click((event) => { CthulhuEternalUtils.healingRoll(message) }) + $(html).find(".worn-weapon-check").click((event) => { + CthulhuEternalUtils.wornWeaponCheck(message) + }) $(html).find(".san-loose").click((event) => { CthulhuEternalUtils.applySANLoss(message, event) }) diff --git a/lang/en.json b/lang/en.json index 15d66b0..5c6dcd0 100644 --- a/lang/en.json +++ b/lang/en.json @@ -571,6 +571,8 @@ } }, "Label": { + "JunkWeapon": "This weapon is in 'Junk' state, -20% applied. Critical failure on a roll of 96-100", + "WornWeapon": "This weapon is 'Worn', a Luck roll will be performed.", "noTarget": "No target selected", "noDefenseRoll": "No defense roll available", "opposedRoll": "Opposed Roll", @@ -606,6 +608,10 @@ "rollNudge": "Roll Nudge", "rollDamage": "Roll Damage", "rollHealing": "Roll Healing", + "wornWeaponCheck": "Check Weapon Condition", + "wornWeaponCheckTitle": "Worn Weapon Condition Check", + "wornWeaponCheckSuccess": "{weapon}: Luck roll succeeded ({roll}/50) - Weapon remains worn.", + "wornWeaponCheckFailure": "{weapon}: Luck roll failed ({roll}/50) - Weapon became junk!", "result": "Result", "damageMessage": "Damage to apply", "lethalityRoll": "Lethality Roll", @@ -617,6 +623,7 @@ "ZeroWP": "Zero WP : Automatic failure (ie 0%)", "LowWP": "Low WP", "Exhausted": "Exhausted", + "wornWeaponWarning": "Worn weapon: Don't forget to make the luck roll after the attack!", "creature": "Creature", "Rituals": "Rituals", "Tomes": "Tomes", @@ -814,6 +821,8 @@ "WrongEra": "The era of the item does not match the ear of the system", "NoSelectiveFireChoices": "Not enough ammo fo Selective Fire choices for this weapon.", "NoAmmo": "No more ammo for this weapon. ", + "WeaponBecameJunk": "Weapon {weapon} became junk!", + "noWeaponFound": "No weapon found.", "noRollDataFound": "No roll data found", "noActorFound": "No actor found for this item.", "noSanLossFound": "No SAN loss value found.", diff --git a/lang/fr.json b/lang/fr.json index d44eec5..b3e3f6e 100644 --- a/lang/fr.json +++ b/lang/fr.json @@ -565,6 +565,8 @@ } }, "Label": { + "JunkWeapon": "Cette arme est 'Défectueuse'', -20% appliqué. Échec critique sur un jet de 96-100", + "WornWeapon": "Cette arme est 'Usée', un jet de Chance sera effectué.", "noTarget": "Aucune cible sélectionnée", "noDefenseRoll": "Aucun jet de défense existant", "opposedRoll": "Jet opposé", @@ -600,6 +602,10 @@ "rollNudge": "Modifier le jet", "rollDamage": "Jet de dégâts", "rollHealing": "Jet de soin", + "wornWeaponCheck": "Vérifier l'état de l'arme", + "wornWeaponCheckTitle": "Vérification d'état d'arme usée", + "wornWeaponCheckSuccess": "{weapon} : Jet de chance réussi ({roll}/50) - L'arme reste usée.", + "wornWeaponCheckFailure": "{weapon} : Jet de chance échoué ({roll}/50) - L'arme devient défectueuse !", "result": "Resultat", "damageMessage": "Dégâts à appliquer", "lethalityRoll": "Jet de Létalité", @@ -610,8 +616,7 @@ "Weapon": "Arme", "ZeroWP": "PVO à 0 : Echec automatique (ie 0%)", "LowWP": "PVO faibles", - "Exhausted": "Epuisé", - "creature": "Créature", + "Exhausted": "Epuisé", "wornWeaponWarning": "Arme usée : N'oubliez pas de faire le jet de chance après l'attaque !", "creature": "Créature", "Rituals": "Rituels", "Tomes": "Ouvrages", "otherBenefits": "Autres avantages", @@ -810,6 +815,8 @@ "WrongEra": "L'époque de l'item ne correspond pas à celle du jeu en cours.", "NoSelectiveFireChoices": "Aucune option de tir sélectif n'est disponible pour cette arme : pas assez de munitions.", "NoAmmo": "Aucune munition disponible pour cette arme.", + "WeaponBecameJunk": "L'arme {weapon} est devenue défectueuse !", + "noWeaponFound": "Aucune arme trouvée.", "noRollDataFound": "Aucune donnée de jet trouvée.", "noActorFound": "Aucun protagoniste trouvé.", "noSanLossFound": "Aucune valeur de perte de SAN trouvée.", diff --git a/module/applications/hud/action-handler.js b/module/applications/hud/action-handler.js index ffdb544..1a21be3 100644 --- a/module/applications/hud/action-handler.js +++ b/module/applications/hud/action-handler.js @@ -203,7 +203,7 @@ Hooks.once('tokenActionHudCoreApiReady', async (coreModule) => { skills = skills.sort((a, b) => a.name.localeCompare(b.name)) console.log('Building skills actions for skills:', skills) for (const skill of skills) { - console.log('Processing skill item:', skill) + //console.log('Processing skill item:', skill) if (skill.system.skillTotal > 0) { const tooltip = { content: String(skill.system.skillTotal), diff --git a/module/documents/roll.mjs b/module/documents/roll.mjs index 8fa9112..e4fce04 100644 --- a/module/documents/roll.mjs +++ b/module/documents/roll.mjs @@ -310,7 +310,13 @@ export default class CthulhuEternalRoll extends Roll { options.rollItem = CthulhuEternalUtils.getWeaponSkill(actor, options.rollItem, era) options.initialScore = options.rollItem.system.skillTotal - console.log("WEAPON", era, options.rollItem) + if (options.weapon.system.state === "junk") { + options.isJunk = true + options.initialScore = Math.max(0, options.initialScore - 20) // -20% for junk weapons + } + if (options.weapon.system.state === "worn") { + options.isWorn = true + } } break default: @@ -341,6 +347,8 @@ export default class CthulhuEternalRoll extends Roll { targetScore: options.initialScore, isLowWP: options.isLowWP, isZeroWP: options.isZeroWP, + isJunk: options.isJunk, + isWorn: options.isWorn, isExhausted: options.isExhausted, enableHand: options.rollItem.enableHand, enableStowed: options.rollItem.enableStowed, @@ -464,14 +472,15 @@ export default class CthulhuEternalRoll extends Roll { const roll = new this(formula, options.data, rollData) await roll.evaluate() - roll.displayRollResult(roll, options, rollData) + await roll.displayRollResult(roll, options, rollData) if (Hooks.call("fvtt-cthulhu-eternal.Roll", options, rollData, roll) === false) return + return roll } - displayRollResult(formula, options, rollData) { + async displayRollResult(formula, options, rollData) { // Compute the result quality let resultType = "failure" @@ -489,6 +498,11 @@ export default class CthulhuEternalRoll extends Roll { resultType = "failureCritical" } } + if (rollData.weapon?.system?.state === "junk" && this.total > 95) { + this.options.isDestroyed = true + rollData.isDestroyed = true + resultType = "failureCritical" + } // As per the rules, a roll of 100 is always a failure, even if the target is above 100 if (this.total === 100) { resultType = "failureCritical" diff --git a/module/utils.mjs b/module/utils.mjs index 3d0dcd9..ece313f 100644 --- a/module/utils.mjs +++ b/module/utils.mjs @@ -483,6 +483,66 @@ export default class CthulhuEternalUtils { actor.system.roll("damage", rollData.weapon) } + static async wornWeaponCheck(rollMessage) { + let rollData = rollMessage.rolls[0]?.options?.rollData + if (!rollData) { + rollData = rollMessage.getFlag("fvtt-cthulhu-eternal", "rollData") + } + if (!rollData) { + ui.notifications.error(game.i18n.localize("CTHULHUETERNAL.Label.noRollDataFound")) + return + } + let actor = game.actors.get(rollData.actorId) + if (!actor) { + ui.notifications.error(game.i18n.localize("CTHULHUETERNAL.Label.noActorFound")) + return + } + let weapon = rollData.weapon + if (!weapon) { + ui.notifications.error(game.i18n.localize("CTHULHUETERNAL.Label.noWeaponFound")) + return + } + + // Lance un jet de chance (50%) + let luckRoll = new Roll("1d100") + await luckRoll.evaluate() + + let isSuccess = luckRoll.total <= 50 + let resultMsg = "" + + if (isSuccess) { + // Succès - l'arme reste worn + resultMsg = game.i18n.format("CTHULHUETERNAL.Label.wornWeaponCheckSuccess", { + weapon: weapon.name, + roll: luckRoll.total + }) + } else { + // Échec - l'arme devient junk + resultMsg = game.i18n.format("CTHULHUETERNAL.Label.wornWeaponCheckFailure", { + weapon: weapon.name, + roll: luckRoll.total + }) + + // Mettre à jour l'état de l'arme + await actor.updateEmbeddedDocuments("Item", [{ + _id: weapon._id, + "system.state": "junk" + }]) + + ui.notifications.warn(game.i18n.format("CTHULHUETERNAL.Notifications.WeaponBecameJunk", { weapon: weapon.name })) + } + + // Créer un message de chat avec le résultat + await ChatMessage.create({ + user: game.user.id, + content: `
+

${game.i18n.localize("CTHULHUETERNAL.Label.wornWeaponCheckTitle")}

+

${resultMsg}

+
`, + speaker: ChatMessage.getSpeaker({ actor: actor }), + }) + } + static async nudgeRoll(rollMessage) { let dialogContext = rollMessage.rolls[0]?.options diff --git a/packs-system/rituals/000275.log b/packs-system/rituals/000283.log similarity index 100% rename from packs-system/rituals/000275.log rename to packs-system/rituals/000283.log diff --git a/packs-system/rituals/CURRENT b/packs-system/rituals/CURRENT index aa8e945..852186d 100644 --- a/packs-system/rituals/CURRENT +++ b/packs-system/rituals/CURRENT @@ -1 +1 @@ -MANIFEST-000273 +MANIFEST-000281 diff --git a/packs-system/rituals/LOG b/packs-system/rituals/LOG index d99b9f7..0cfd861 100644 --- a/packs-system/rituals/LOG +++ b/packs-system/rituals/LOG @@ -1,7 +1,7 @@ -2025/11/21-23:23:35.521610 7f21eeffd6c0 Recovering log #271 -2025/11/21-23:23:35.612353 7f21eeffd6c0 Delete type=3 #269 -2025/11/21-23:23:35.612430 7f21eeffd6c0 Delete type=0 #271 -2025/11/21-23:35:34.796894 7f21ed7fa6c0 Level-0 table #276: started -2025/11/21-23:35:34.796917 7f21ed7fa6c0 Level-0 table #276: 0 bytes OK -2025/11/21-23:35:34.806397 7f21ed7fa6c0 Delete type=0 #274 -2025/11/21-23:35:34.806600 7f21ed7fa6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) +2026/04/01-22:53:01.206674 7fcc60fed6c0 Recovering log #279 +2026/04/01-22:53:01.217456 7fcc60fed6c0 Delete type=3 #277 +2026/04/01-22:53:01.217537 7fcc60fed6c0 Delete type=0 #279 +2026/04/01-22:56:08.533863 7fcc4affd6c0 Level-0 table #284: started +2026/04/01-22:56:08.533906 7fcc4affd6c0 Level-0 table #284: 0 bytes OK +2026/04/01-22:56:08.586584 7fcc4affd6c0 Delete type=0 #282 +2026/04/01-22:56:08.586750 7fcc4affd6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) diff --git a/packs-system/rituals/LOG.old b/packs-system/rituals/LOG.old index 270cf2a..4cc33d9 100644 --- a/packs-system/rituals/LOG.old +++ b/packs-system/rituals/LOG.old @@ -1,7 +1,7 @@ -2025/11/12-23:48:30.686758 7f4781ffb6c0 Recovering log #267 -2025/11/12-23:48:30.697449 7f4781ffb6c0 Delete type=3 #265 -2025/11/12-23:48:30.697507 7f4781ffb6c0 Delete type=0 #267 -2025/11/13-13:58:42.410831 7f4780bff6c0 Level-0 table #272: started -2025/11/13-13:58:42.410865 7f4780bff6c0 Level-0 table #272: 0 bytes OK -2025/11/13-13:58:42.417362 7f4780bff6c0 Delete type=0 #270 -2025/11/13-13:58:42.434870 7f4780bff6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) +2025/12/23-21:58:00.777018 7f1118ff96c0 Recovering log #275 +2025/12/23-21:58:00.909461 7f1118ff96c0 Delete type=3 #273 +2025/12/23-21:58:00.909547 7f1118ff96c0 Delete type=0 #275 +2025/12/23-22:36:20.406495 7f0e7bfff6c0 Level-0 table #280: started +2025/12/23-22:36:20.406537 7f0e7bfff6c0 Level-0 table #280: 0 bytes OK +2025/12/23-22:36:20.412428 7f0e7bfff6c0 Delete type=0 #278 +2025/12/23-22:36:20.419890 7f0e7bfff6c0 Manual compaction at level-0 from '!items!4oyPRBWPBWAChrJP' @ 72057594037927935 : 1 .. '!items!zVFfp3o0G0Zg3Ia4' @ 0 : 0; will stop at (end) diff --git a/packs-system/rituals/MANIFEST-000273 b/packs-system/rituals/MANIFEST-000281 similarity index 73% rename from packs-system/rituals/MANIFEST-000273 rename to packs-system/rituals/MANIFEST-000281 index d327a0b..67085a5 100644 Binary files a/packs-system/rituals/MANIFEST-000273 and b/packs-system/rituals/MANIFEST-000281 differ diff --git a/packs-system/skills/000444.log b/packs-system/skills/000452.log similarity index 100% rename from packs-system/skills/000444.log rename to packs-system/skills/000452.log diff --git a/packs-system/skills/CURRENT b/packs-system/skills/CURRENT index 808eb86..cf972fb 100644 --- a/packs-system/skills/CURRENT +++ b/packs-system/skills/CURRENT @@ -1 +1 @@ -MANIFEST-000442 +MANIFEST-000450 diff --git a/packs-system/skills/LOG b/packs-system/skills/LOG index 04e7900..ca82534 100644 --- a/packs-system/skills/LOG +++ b/packs-system/skills/LOG @@ -1,7 +1,7 @@ -2025/11/21-23:23:35.280848 7f21edffb6c0 Recovering log #440 -2025/11/21-23:23:35.368467 7f21edffb6c0 Delete type=3 #438 -2025/11/21-23:23:35.368552 7f21edffb6c0 Delete type=0 #440 -2025/11/21-23:35:34.777225 7f21ed7fa6c0 Level-0 table #445: started -2025/11/21-23:35:34.777275 7f21ed7fa6c0 Level-0 table #445: 0 bytes OK -2025/11/21-23:35:34.786357 7f21ed7fa6c0 Delete type=0 #443 -2025/11/21-23:35:34.806576 7f21ed7fa6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) +2026/04/01-22:53:01.173017 7fcc60fed6c0 Recovering log #448 +2026/04/01-22:53:01.184049 7fcc60fed6c0 Delete type=3 #446 +2026/04/01-22:53:01.184114 7fcc60fed6c0 Delete type=0 #448 +2026/04/01-22:56:08.365689 7fcc4affd6c0 Level-0 table #453: started +2026/04/01-22:56:08.365761 7fcc4affd6c0 Level-0 table #453: 0 bytes OK +2026/04/01-22:56:08.421424 7fcc4affd6c0 Delete type=0 #451 +2026/04/01-22:56:08.586720 7fcc4affd6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) diff --git a/packs-system/skills/LOG.old b/packs-system/skills/LOG.old index da9cd42..8ec90fd 100644 --- a/packs-system/skills/LOG.old +++ b/packs-system/skills/LOG.old @@ -1,7 +1,7 @@ -2025/11/12-23:48:30.659183 7f47817fa6c0 Recovering log #436 -2025/11/12-23:48:30.670042 7f47817fa6c0 Delete type=3 #434 -2025/11/12-23:48:30.670124 7f47817fa6c0 Delete type=0 #436 -2025/11/13-13:58:42.417482 7f4780bff6c0 Level-0 table #441: started -2025/11/13-13:58:42.417509 7f4780bff6c0 Level-0 table #441: 0 bytes OK -2025/11/13-13:58:42.423396 7f4780bff6c0 Delete type=0 #439 -2025/11/13-13:58:42.434882 7f4780bff6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) +2025/12/23-21:58:00.532068 7f1119ffb6c0 Recovering log #444 +2025/12/23-21:58:00.647819 7f1119ffb6c0 Delete type=3 #442 +2025/12/23-21:58:00.647954 7f1119ffb6c0 Delete type=0 #444 +2025/12/23-22:36:20.355345 7f0e7bfff6c0 Level-0 table #449: started +2025/12/23-22:36:20.355397 7f0e7bfff6c0 Level-0 table #449: 0 bytes OK +2025/12/23-22:36:20.362045 7f0e7bfff6c0 Delete type=0 #447 +2025/12/23-22:36:20.385891 7f0e7bfff6c0 Manual compaction at level-0 from '!folders!5PrT9QmN1cFPzDFP' @ 72057594037927935 : 1 .. '!items!zvoUByzWSWZ87fxA' @ 0 : 0; will stop at (end) diff --git a/packs-system/skills/MANIFEST-000442 b/packs-system/skills/MANIFEST-000450 similarity index 71% rename from packs-system/skills/MANIFEST-000442 rename to packs-system/skills/MANIFEST-000450 index 30737d2..24dfdfd 100644 Binary files a/packs-system/skills/MANIFEST-000442 and b/packs-system/skills/MANIFEST-000450 differ diff --git a/packs-system/weapons/000090.log b/packs-system/weapons/000098.log similarity index 100% rename from packs-system/weapons/000090.log rename to packs-system/weapons/000098.log diff --git a/packs-system/weapons/CURRENT b/packs-system/weapons/CURRENT index 948a0b6..6274e55 100644 --- a/packs-system/weapons/CURRENT +++ b/packs-system/weapons/CURRENT @@ -1 +1 @@ -MANIFEST-000088 +MANIFEST-000096 diff --git a/packs-system/weapons/LOG b/packs-system/weapons/LOG index 9963912..69c9c76 100644 --- a/packs-system/weapons/LOG +++ b/packs-system/weapons/LOG @@ -1,7 +1,7 @@ -2025/11/21-23:23:35.396467 7f21ef7fe6c0 Recovering log #86 -2025/11/21-23:23:35.502570 7f21ef7fe6c0 Delete type=3 #84 -2025/11/21-23:23:35.502631 7f21ef7fe6c0 Delete type=0 #86 -2025/11/21-23:35:34.786516 7f21ed7fa6c0 Level-0 table #91: started -2025/11/21-23:35:34.786543 7f21ed7fa6c0 Level-0 table #91: 0 bytes OK -2025/11/21-23:35:34.796797 7f21ed7fa6c0 Delete type=0 #89 -2025/11/21-23:35:34.806589 7f21ed7fa6c0 Manual compaction at level-0 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) +2026/04/01-22:53:01.192292 7fcc4b7fe6c0 Recovering log #94 +2026/04/01-22:53:01.202349 7fcc4b7fe6c0 Delete type=3 #92 +2026/04/01-22:53:01.202397 7fcc4b7fe6c0 Delete type=0 #94 +2026/04/01-22:56:08.421577 7fcc4affd6c0 Level-0 table #99: started +2026/04/01-22:56:08.421606 7fcc4affd6c0 Level-0 table #99: 0 bytes OK +2026/04/01-22:56:08.475595 7fcc4affd6c0 Delete type=0 #97 +2026/04/01-22:56:08.586731 7fcc4affd6c0 Manual compaction at level-0 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) diff --git a/packs-system/weapons/LOG.old b/packs-system/weapons/LOG.old index ef33517..62c24cf 100644 --- a/packs-system/weapons/LOG.old +++ b/packs-system/weapons/LOG.old @@ -1,7 +1,7 @@ -2025/11/12-23:48:30.674156 7f4781ffb6c0 Recovering log #82 -2025/11/12-23:48:30.683495 7f4781ffb6c0 Delete type=3 #80 -2025/11/12-23:48:30.683546 7f4781ffb6c0 Delete type=0 #82 -2025/11/13-13:58:42.404378 7f4780bff6c0 Level-0 table #87: started -2025/11/13-13:58:42.404437 7f4780bff6c0 Level-0 table #87: 0 bytes OK -2025/11/13-13:58:42.410719 7f4780bff6c0 Delete type=0 #85 -2025/11/13-13:58:42.434856 7f4780bff6c0 Manual compaction at level-0 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) +2025/12/23-21:58:00.654695 7f1119ffb6c0 Recovering log #90 +2025/12/23-21:58:00.773269 7f1119ffb6c0 Delete type=3 #88 +2025/12/23-21:58:00.773360 7f1119ffb6c0 Delete type=0 #90 +2025/12/23-22:36:20.362172 7f0e7bfff6c0 Level-0 table #95: started +2025/12/23-22:36:20.362202 7f0e7bfff6c0 Level-0 table #95: 0 bytes OK +2025/12/23-22:36:20.368698 7f0e7bfff6c0 Delete type=0 #93 +2025/12/23-22:36:20.385910 7f0e7bfff6c0 Manual compaction at level-0 from '!folders!0DI3T2jve3nsmsfZ' @ 72057594037927935 : 1 .. '!items!zyxA9DhO36t5OBDv' @ 0 : 0; will stop at (end) diff --git a/packs-system/weapons/MANIFEST-000088 b/packs-system/weapons/MANIFEST-000096 similarity index 73% rename from packs-system/weapons/MANIFEST-000088 rename to packs-system/weapons/MANIFEST-000096 index 09e9896..87bf891 100644 Binary files a/packs-system/weapons/MANIFEST-000088 and b/packs-system/weapons/MANIFEST-000096 differ diff --git a/system.json b/system.json index 0bf1a92..dd05ee7 100644 --- a/system.json +++ b/system.json @@ -33,7 +33,7 @@ }, "compatibility": { "minimum": "13", - "verified": "13" + "verified": "14" }, "esmodules": [ "cthulhu-eternal.mjs" diff --git a/templates/chat-message.hbs b/templates/chat-message.hbs index 255f8f5..8e89c8d 100644 --- a/templates/chat-message.hbs +++ b/templates/chat-message.hbs @@ -54,6 +54,13 @@ : -20% {{/if}} + {{#if isWorn}} +
  • + {{localize "CTHULHUETERNAL.Label.wornWeaponWarning"}}
  • + {{/if}} + {{#if (eq rollType "resource")}}
  • {{localize "CTHULHUETERNAL.Label.multiplier"}} : @@ -206,6 +213,18 @@ {{/if}} {{/if}} + {{#if (eq rollType "weapon")}} + {{#if isWorn}} + + + + {{/if}} + {{/if}} + {{#if isFailure}} {{#if isNudge}} {{localize + "CTHULHUETERNAL.Label.JunkWeapon" + }} + {{/if}} + {{#if isWorn}} +
    {{localize + "CTHULHUETERNAL.Label.WornWeapon" + }}
    + {{/if}}
    {{localize "CTHULHUETERNAL.Label.Weapon"}} : {{weapon.name}}