diff --git a/docs/pages/effects/effect-refactor.md b/docs/pages/effects/effect-refactor.md index 4107b838f..3dbab5a90 100644 --- a/docs/pages/effects/effect-refactor.md +++ b/docs/pages/effects/effect-refactor.md @@ -156,6 +156,7 @@ function keepData(oldItem, newItem) let keep = { _id : oldItem._id, name : oldItem.name, + img: oldItem.img, "system.description.value" : oldItem.system.description.value, "system.gmdescription.value" : oldItem.system.gmdescription.value } @@ -175,6 +176,10 @@ function keepData(oldItem, newItem) { keep["system.worn"] = oldItem.system.worn } + if (oldItem.system.equipped) + { + keep["system.equipped"] = oldItem.system.equipped + } if (oldItem.system.advances) { keep["system.advances"] = oldItem.system.advances diff --git a/scripts/0FNOq4J1AdPd2A0q.js b/scripts/0FNOq4J1AdPd2A0q.js index f3430a8a2..ed69d87cf 100644 --- a/scripts/0FNOq4J1AdPd2A0q.js +++ b/scripts/0FNOq4J1AdPd2A0q.js @@ -1 +1 @@ -return !args.skill.name.includes(game.i18n.localize("NAME.Row")) && !args.skill?.name.includes(game.i18n.localize("NAME.Sail")); \ No newline at end of file +return !args.skill?.name.includes(game.i18n.localize("NAME.Row")) && !args.skill?.name.includes(game.i18n.localize("NAME.Sail")); \ No newline at end of file diff --git a/scripts/2hzDv8ROulOe1elK.js b/scripts/2hzDv8ROulOe1elK.js index 229b8d3b0..1a9e5bdd4 100644 --- a/scripts/2hzDv8ROulOe1elK.js +++ b/scripts/2hzDv8ROulOe1elK.js @@ -1 +1 @@ -return args.skill.name.includes(game.i18n.localize("NAME.Lore")); \ No newline at end of file +return args.skill?.name.includes(game.i18n.localize("NAME.Lore")); \ No newline at end of file diff --git a/scripts/3LLiSgj6KGtgqcmo.js b/scripts/3LLiSgj6KGtgqcmo.js index 42525189b..8a4090caa 100644 --- a/scripts/3LLiSgj6KGtgqcmo.js +++ b/scripts/3LLiSgj6KGtgqcmo.js @@ -1 +1 @@ -return !args.skill.name.includes(game.i18n.localize("NAME.Language")); \ No newline at end of file +return !args.skill?.name.includes(game.i18n.localize("NAME.Language")); \ No newline at end of file diff --git a/scripts/5lc1eHIYQNpSRWip.js b/scripts/5lc1eHIYQNpSRWip.js new file mode 100644 index 000000000..39f6f8b7a --- /dev/null +++ b/scripts/5lc1eHIYQNpSRWip.js @@ -0,0 +1,8 @@ +if (["death", "necromancy"].includes(args.spell?.system.lore.value)) +{ + args.fields.successBonus += 1 +} +else if(["life", "light", "heavens"].includes(args.spell?.system.lore.value)) +{ + args.fields.modifier -= 10; +} \ No newline at end of file diff --git a/scripts/8tyMXDfHR8AJBdDu.js b/scripts/8tyMXDfHR8AJBdDu.js new file mode 100644 index 000000000..9e0a47334 --- /dev/null +++ b/scripts/8tyMXDfHR8AJBdDu.js @@ -0,0 +1,7 @@ +let weakpointsAP = args.AP.layers.filter(i => !i.ignored && i.weakpoints).reduce((ap, layer) => ap + layer.value, 0); + +if (weakpointsAP > 0) +{ + args.modifiers.ap.ignored += weakpointsAP; + args.modifiers.ap.details.push(`${this.effect.name} - Ignore Weakpoints (${weakpointsAP})`); +} \ No newline at end of file diff --git a/scripts/AGD7zCyV4zruvnWu.js b/scripts/AGD7zCyV4zruvnWu.js new file mode 100644 index 000000000..f7eb0f9ef --- /dev/null +++ b/scripts/AGD7zCyV4zruvnWu.js @@ -0,0 +1 @@ +return args.type != "cast" || !["death", "necromancy", "life", "light", "heavens"].includes(args.spell?.system.lore.value) \ No newline at end of file diff --git a/scripts/AV2Kj6jgmIc45zKi.js b/scripts/AV2Kj6jgmIc45zKi.js index f8d974d78..77024fcfa 100644 --- a/scripts/AV2Kj6jgmIc45zKi.js +++ b/scripts/AV2Kj6jgmIc45zKi.js @@ -1 +1 @@ -return args.skill.name.includes(game.i18n.localize("NAME.Stealth")); \ No newline at end of file +return args.skill?.name.includes(game.i18n.localize("NAME.Stealth")); \ No newline at end of file diff --git a/scripts/DxQnamsb2AuW0p2e.js b/scripts/DxQnamsb2AuW0p2e.js index 4dee1d1d2..fbdcd2fa7 100644 --- a/scripts/DxQnamsb2AuW0p2e.js +++ b/scripts/DxQnamsb2AuW0p2e.js @@ -1 +1 @@ -return !args.skill.name.includes(game.i18n.localize("NAME.Lore")); \ No newline at end of file +return !args.skill?.name.includes(game.i18n.localize("NAME.Lore")); \ No newline at end of file diff --git a/scripts/EGWF3LHav3e2zFL4.js b/scripts/EGWF3LHav3e2zFL4.js index e9d0fec50..cb217a72f 100644 --- a/scripts/EGWF3LHav3e2zFL4.js +++ b/scripts/EGWF3LHav3e2zFL4.js @@ -1 +1 @@ -return args.skill.name.includes(game.i18n.localize("NAME.Ranged")) || args.item?.isRanged || args.item?.name == game.i18n.localize("NAME.Charm"); \ No newline at end of file +return args.skill?.name.includes(game.i18n.localize("NAME.Ranged")) || args.item?.isRanged || args.item?.name == game.i18n.localize("NAME.Charm"); \ No newline at end of file diff --git a/scripts/J0IWUhxada2ONowP.js b/scripts/J0IWUhxada2ONowP.js index 980da7876..aec5a9dc9 100644 --- a/scripts/J0IWUhxada2ONowP.js +++ b/scripts/J0IWUhxada2ONowP.js @@ -1 +1 @@ - return args.skill?.name == "Entertain (Sing)" || args.skill?.name == "Entertain (Singing)" || (args.skill?.name.includes("Language") && (args.skill.name.includes("Magick") || args.skill.name.includes("Elthárin") || args.skill.name.includes("Cathayan"))) \ No newline at end of file + return args.skill?.name == "Entertain (Sing)" || args.skill?.name == "Entertain (Singing)" || (args.skill?.name.includes("Language") && (args.skill?.name.includes("Magick") || args.skill?.name.includes("Elthárin") || args.skill?.name.includes("Cathayan"))) \ No newline at end of file diff --git a/scripts/KUx0deSF3xNzMucL.js b/scripts/KUx0deSF3xNzMucL.js index 576ca261f..208679d3e 100644 --- a/scripts/KUx0deSF3xNzMucL.js +++ b/scripts/KUx0deSF3xNzMucL.js @@ -1 +1 @@ -return args.skill.name.includes(game.i18n.localize("NAME.Art")); \ No newline at end of file +return args.skill?.name.includes(game.i18n.localize("NAME.Art")); \ No newline at end of file diff --git a/scripts/MDLttXplnNthncGr.js b/scripts/MDLttXplnNthncGr.js new file mode 100644 index 000000000..b7a08eed0 --- /dev/null +++ b/scripts/MDLttXplnNthncGr.js @@ -0,0 +1 @@ +return args.type == "cast" && ["death", "necromancy", "life", "light", "heavens"].includes(args.spell?.system.lore.value) \ No newline at end of file diff --git a/scripts/RNr9CwyvLhlnwD2h.js b/scripts/RNr9CwyvLhlnwD2h.js index d41882a46..2dbcde4da 100644 --- a/scripts/RNr9CwyvLhlnwD2h.js +++ b/scripts/RNr9CwyvLhlnwD2h.js @@ -1 +1 @@ -return !args.skill.name.includes(game.i18n.localize("NAME.Sail")); \ No newline at end of file +return !args.skill?.name.includes(game.i18n.localize("NAME.Sail")); \ No newline at end of file diff --git a/scripts/VAs1nXvicdQK18Do.js b/scripts/VAs1nXvicdQK18Do.js index cc7e6887b..88f8ad948 100644 --- a/scripts/VAs1nXvicdQK18Do.js +++ b/scripts/VAs1nXvicdQK18Do.js @@ -1 +1 @@ -return args.skill.name.includes(game.i18n.localize("NAME.Language")); \ No newline at end of file +return args.skill?.name.includes(game.i18n.localize("NAME.Language")); \ No newline at end of file diff --git a/scripts/l8qFKSnMpy4P7XQR.js b/scripts/l8qFKSnMpy4P7XQR.js index 66748e678..523491cff 100644 --- a/scripts/l8qFKSnMpy4P7XQR.js +++ b/scripts/l8qFKSnMpy4P7XQR.js @@ -1 +1 @@ -return !args.skill.name.includes(game.i18n.localize("NAME.Stealth")); \ No newline at end of file +return !args.skill?.name.includes(game.i18n.localize("NAME.Stealth")); \ No newline at end of file diff --git a/scripts/pHyXdPnWwoFrUA5n.js b/scripts/pHyXdPnWwoFrUA5n.js index 009be1ee2..954e03edf 100644 --- a/scripts/pHyXdPnWwoFrUA5n.js +++ b/scripts/pHyXdPnWwoFrUA5n.js @@ -1 +1 @@ -return !args.skill.name.includes(game.i18n.localize("NAME.Entertain")); \ No newline at end of file +return !args.skill?.name.includes(game.i18n.localize("NAME.Entertain")); \ No newline at end of file diff --git a/scripts/t56mnblo1kv3gM1M.js b/scripts/t56mnblo1kv3gM1M.js index b311ceda4..ce5fba90b 100644 --- a/scripts/t56mnblo1kv3gM1M.js +++ b/scripts/t56mnblo1kv3gM1M.js @@ -1 +1 @@ -return args.skill.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"); \ No newline at end of file +return args.skill?.name.includes("Melee (Basic)") || (args.type == "weapon" && args.item?.system.weaponGroup.value == "basic"); \ No newline at end of file diff --git a/scripts/yRRzSKlcN3L7rEEe.js b/scripts/yRRzSKlcN3L7rEEe.js index b25066ce3..d94075f7e 100644 --- a/scripts/yRRzSKlcN3L7rEEe.js +++ b/scripts/yRRzSKlcN3L7rEEe.js @@ -1 +1 @@ -return args.skill.name.includes(game.i18n.localize("NAME.Entertain")) || args.skill?.name.includes(game.i18n.localize("NAME.Perform")) || args.skill?.name.includes(game.i18n.localize("NAME.Play")); \ No newline at end of file +return args.skill?.name.includes(game.i18n.localize("NAME.Entertain")) || args.skill?.name.includes(game.i18n.localize("NAME.Perform")) || args.skill?.name.includes(game.i18n.localize("NAME.Play")); \ No newline at end of file diff --git a/scripts/ziG9H5Kdb7xC3dFE.js b/scripts/ziG9H5Kdb7xC3dFE.js index 34ddd7ba1..3d360af89 100644 --- a/scripts/ziG9H5Kdb7xC3dFE.js +++ b/scripts/ziG9H5Kdb7xC3dFE.js @@ -1 +1 @@ -return !args.skill.name.includes(game.i18n.localize("NAME.Art")); \ No newline at end of file +return !args.skill?.name.includes(game.i18n.localize("NAME.Art")); \ No newline at end of file diff --git a/system.json b/system.json index baa64eefc..15646f0dd 100644 --- a/system.json +++ b/system.json @@ -3,7 +3,7 @@ "name": "wfrp4e", "title": "Warhammer Fantasy Roleplay 4th Edition", "description": "A comprehensive system for running grim and perilous games of Warhammer Fantasy Roleplay in the Foundry VTT environment.", - "version": "7.1.0", + "version": "7.1.1", "author": "Moo Man, CatoThe1stElder", "authors" : [ { @@ -62,6 +62,6 @@ "templateVersion":3, "socket": true, "manifest" : "https://github.com/moo-man/WFRP4e-FoundryVTT/releases/latest/download/system.json", - "download" : "https://github.com/moo-man/WFRP4e-FoundryVTT/releases/download/7.1.0/wfrp4e.zip", + "download" : "https://github.com/moo-man/WFRP4e-FoundryVTT/releases/download/7.1.1/wfrp4e.zip", "url" : "https://github.com/moo-man/WFRP4e-FoundryVTT" }