Fix v10 datapath and functions

This commit is contained in:
2022-10-02 09:44:39 +02:00
parent a64ff7dd55
commit a679da4674
8 changed files with 128 additions and 128 deletions

View File

@@ -121,7 +121,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -550,7 +550,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -746,7 +746,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -804,7 +804,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -1008,7 +1008,7 @@
"effectApplication": "apply",
"effectTrigger": "oneTime",
"preventDuplicateEffects": false,
"script": "fromUuid(this.effect.origin).then(caster=> {\n if (caster&& (args.actor.has(game.i18n.localize(\"NAME.Undead\")) || args.actor.has(game.i18n.localize(\"NAME.Daemonic\"))))\n {\n let wp = caster.characteristics.wp.value\n if (wp > args.actor.characteristics.t.value)\n {\n if (args.actor.has(game.i18n.localize(\"NAME.Unstable\")))\n {\n args.actor.update({\"data.status.wounds.value\" : 0})\n args.actor.addCondition(\"dead\")\n }\n else\n {\n fromUuid(\"Compendium.wfrp4e-core.traits.D0ImWEIMSDgElsnl\").then(item => {\n args.actor.createEmbeddedDocuments(\"Item\", [item])\n ChatMessage.create({content : `Ajout d'Instable à ${args.actor.data.token.name}`, speaker : {alias: caster.name}})\n })\n }\n }\n }\n })"
"script": "fromUuid(this.effect.origin).then(caster=> {\n if (caster&& (args.actor.has(game.i18n.localize(\"NAME.Undead\")) || args.actor.has(game.i18n.localize(\"NAME.Daemonic\"))))\n {\n let wp = caster.characteristics.wp.value\n if (wp > args.actor.characteristics.t.value)\n {\n if (args.actor.has(game.i18n.localize(\"NAME.Unstable\")))\n {\n args.actor.update({\"data.status.wounds.value\" : 0})\n args.actor.addCondition(\"dead\")\n }\n else\n {\n fromUuid(\"Compendium.wfrp4e-core.traits.D0ImWEIMSDgElsnl\").then(item => {\n args.actor.createEmbeddedDocuments(\"Item\", [item])\n ChatMessage.create({content : `Ajout d'Instable à ${args.actor.prototypeToken.name}`, speaker : {alias: caster.name}})\n })\n }\n }\n }\n })"
}
},
"icon": "modules/wfrp4e-core/icons/spells/banishment.png",
@@ -1113,7 +1113,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -1136,7 +1136,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -1184,7 +1184,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -1213,7 +1213,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -1486,7 +1486,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -1688,7 +1688,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -1890,7 +1890,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -2100,7 +2100,7 @@
"effectApplication": "damage",
"effectTrigger": "applyDamage",
"preventDuplicateEffects": false,
"script": "let applyAP = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_TB || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\nlet applyTB = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\n\n\nif (applyAP) \n{\n let AP = args.AP\n\n args.totalWoundLoss += AP.used\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"AP\")))\n args.messageElements[apIndex] = \"0/\" + AP.value + \" \" + game.i18n.localize(\"AP\")\n}\n\nif (applyTB)\n{\n let TB = args.actor.characteristics.t.bonus\n args.totalWoundLoss += TB\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"TB\")))\n args.messageElements[apIndex] = \"0/\" + TB + \" \" + game.i18n.localize(\"TB\")\n}\n\nlet woundsGained = Math.min(args.totalWoundLoss, args.actor.status.wounds.value)\n\nwoundsGained = Math.floor(woundsGained / 2)\n\nlet attackerWounds = duplicate(args.attacker.status.wounds)\n\nattackerWounds.value += woundsGained\n\nif (attackerWounds.value >= attackerWounds.max)\n attackerWounds.value = attackerWounds.max\n\nargs.attacker.update({ \"data.status.wounds\": attackerWounds })\n\nChatMessage.create({ content: `<b>${args.attacker.data.token.name}</b> subit ${woundsGained} Points de Blessures` })"
"script": "let applyAP = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_TB || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\nlet applyTB = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\n\n\nif (applyAP) \n{\n let AP = args.AP\n\n args.totalWoundLoss += AP.used\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"AP\")))\n args.messageElements[apIndex] = \"0/\" + AP.value + \" \" + game.i18n.localize(\"AP\")\n}\n\nif (applyTB)\n{\n let TB = args.actor.characteristics.t.bonus\n args.totalWoundLoss += TB\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"TB\")))\n args.messageElements[apIndex] = \"0/\" + TB + \" \" + game.i18n.localize(\"TB\")\n}\n\nlet woundsGained = Math.min(args.totalWoundLoss, args.actor.status.wounds.value)\n\nwoundsGained = Math.floor(woundsGained / 2)\n\nlet attackerWounds = duplicate(args.attacker.status.wounds)\n\nattackerWounds.value += woundsGained\n\nif (attackerWounds.value >= attackerWounds.max)\n attackerWounds.value = attackerWounds.max\n\nargs.attacker.update({ \"data.status.wounds\": attackerWounds })\n\nChatMessage.create({ content: `<b>${args.attacker.prototypeToken.name}</b> subit ${woundsGained} Points de Blessures` })"
}
},
"icon": "modules/wfrp4e-core/icons/spells/caress-of-laniph.png",
@@ -2221,7 +2221,7 @@
"effectApplication": "apply",
"effectTrigger": "preOpposedDefender",
"preventDuplicateEffects": false,
"script": "if ((args.attackerTest.weapon && args.attackerTest.weapon.attackType == \"melee\") || (args.attackerTest.trait && !args.attackerTest.trait.name.includes(\"Ranged\")))\n{\n let content = `<b>${args.attackerTest.actor.data.token.name}</b> reçoit ${this.actor.characteristics.wp.bonus} Dégats du Bouclier Céruléen si il utilise une arme en métal.`\n args.opposedTest.result.other.push(content);\n}"
"script": "if ((args.attackerTest.weapon && args.attackerTest.weapon.attackType == \"melee\") || (args.attackerTest.trait && !args.attackerTest.trait.name.includes(\"Ranged\")))\n{\n let content = `<b>${args.attackerTest.actor.prototypeToken.name}</b> reçoit ${this.actor.characteristics.wp.bonus} Dégats du Bouclier Céruléen si il utilise une arme en métal.`\n args.opposedTest.result.other.push(content);\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/cerulean-shield.png",
@@ -2267,7 +2267,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -2596,7 +2596,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/blank.png",
@@ -2628,7 +2628,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actorprototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -2645,7 +2645,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -2676,7 +2676,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/daemonology.png",
@@ -2708,7 +2708,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/death.png",
@@ -2756,7 +2756,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/fire.png",
@@ -2804,7 +2804,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/heavens.png",
@@ -2852,7 +2852,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/life.png",
@@ -2900,7 +2900,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/light.png",
@@ -2948,7 +2948,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/metal.png",
@@ -2996,7 +2996,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/necromancy.png",
@@ -3028,7 +3028,7 @@
"effectApplication": "apply",
"effectTrigger": "takeDamage",
"preventDuplicateEffects": true,
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/shadow.png",
@@ -3287,7 +3287,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -3672,7 +3672,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -4101,7 +4101,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -4328,7 +4328,7 @@
"effectApplication": "damage",
"effectTrigger": "applyDamage",
"preventDuplicateEffects": false,
"script": "let wounds = duplicate(args.attacker.status.wounds)\nwounds.value+=1\n\nif (wounds.value > wounds.max)\n wounds.value = wounds.max\n\nargs.attacker.update({\"data.status.wounds\" : wounds})\n\nChatMessage.create({content: `${args.attacker.data.token.name} récupère 1 blessure.`})"
"script": "let wounds = duplicate(args.attacker.status.wounds)\nwounds.value+=1\n\nif (wounds.value > wounds.max)\n wounds.value = wounds.max\n\nargs.attacker.update({\"data.status.wounds\" : wounds})\n\nChatMessage.create({content: `${args.attacker.prototypeToken.name} récupère 1 blessure.`})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/petty.png",
@@ -4358,7 +4358,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -4585,7 +4585,7 @@
"effectApplication": "apply",
"effectTrigger": "endRound",
"preventDuplicateEffects": false,
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let bonus = caster.characteristics.wp.bonus\n this.actor.modifyWounds(bonus)\n\n ChatMessage.create({content: `${this.actor.data.token.name} regagne ${bonus} Points de Blessures (si en contact direct avec la Terre)`, speaker : {alias : this.effect.label}})\n }\n})"
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let bonus = caster.characteristics.wp.bonus\n this.actor.modifyWounds(bonus)\n\n ChatMessage.create({content: `${this.actor.prototypeToken.name} regagne ${bonus} Points de Blessures (si en contact direct avec la Terre)`, speaker : {alias : this.effect.label}})\n }\n})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/earthblood.png",
@@ -4734,7 +4734,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -5211,7 +5211,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Select a target to apply the effect.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Select a target to apply the effect.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/blank.png",
@@ -5236,7 +5236,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/blank.png",
@@ -5268,7 +5268,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -5285,7 +5285,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -5316,7 +5316,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/daemonology.png",
@@ -5348,7 +5348,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/death.png",
@@ -5396,7 +5396,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/fire.png",
@@ -5444,7 +5444,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/heavens.png",
@@ -5492,7 +5492,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/life.png",
@@ -5540,7 +5540,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/light.png",
@@ -5588,7 +5588,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/metal.png",
@@ -5636,7 +5636,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/necromancy.png",
@@ -5668,7 +5668,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/spells/shadow.png",
@@ -5932,7 +5932,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -6355,7 +6355,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -6603,7 +6603,7 @@
"effectApplication": "apply",
"effectTrigger": "oneTime",
"preventDuplicateEffects": false,
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let healed= caster.characteristics.wp.bonus + caster.characteristics.int.bonus\n let wounds = duplicate(args.actor.status.wounds)\n wounds.value+=healed\n \n if (wounds.value > wounds.max)\n wounds.value = wounds.max\n \n args.actor.update({\"data.status.wounds\" : wounds})\n ChatMessage.create({content: `${this.actor.data.token.name} regains ${healed} Wounds`, speaker : {alias : this.effect.label}})\n }\n})\n\nthis.actor.setupSkill(\"Résistance\", {absolute : {difficulty : \"vhard\"}, context : {success : \"1 Corruption point that was gained within the last hour is removed.\", failure: \"Nothing happens\"}}).then(setupData => {\n this.actor.basicTest(setupData)\n})"
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let healed= caster.characteristics.wp.bonus + caster.characteristics.int.bonus\n let wounds = duplicate(args.actor.status.wounds)\n wounds.value+=healed\n \n if (wounds.value > wounds.max)\n wounds.value = wounds.max\n \n args.actor.update({\"data.status.wounds\" : wounds})\n ChatMessage.create({content: `${this.actor.prototypeToken.name} regains ${healed} Wounds`, speaker : {alias : this.effect.label}})\n }\n})\n\nthis.actor.setupSkill(\"Résistance\", {absolute : {difficulty : \"vhard\"}, context : {success : \"1 Corruption point that was gained within the last hour is removed.\", failure: \"Nothing happens\"}}).then(setupData => {\n this.actor.basicTest(setupData)\n})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/healing-light.png",
@@ -6677,7 +6677,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -6787,7 +6787,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -7047,7 +7047,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -7249,7 +7249,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -7576,7 +7576,7 @@
"effectApplication": "apply",
"effectTrigger": "oneTime",
"preventDuplicateEffects": false,
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let healed= caster.characteristics.wp.bonus\n let wounds = duplicate(args.actor.status.wounds)\n wounds.value+=healed\n \n if (wounds.value > wounds.max)\n wounds.value = wounds.max\n \n args.actor.update({\"data.status.wounds\" : wounds})\n ChatMessage.create({content: `${this.actor.data.token.name} regains ${healed} Wounds`, speaker : {alias : this.effect.label}})\n }\n})"
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let healed= caster.characteristics.wp.bonus\n let wounds = duplicate(args.actor.status.wounds)\n wounds.value+=healed\n \n if (wounds.value > wounds.max)\n wounds.value = wounds.max\n \n args.actor.update({\"data.status.wounds\" : wounds})\n ChatMessage.create({content: `${this.actor.prototypeToken.name} regains ${healed} Wounds`, speaker : {alias : this.effect.label}})\n }\n})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/nostrum.png",
@@ -7842,7 +7842,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -8443,7 +8443,7 @@
"effectApplication": "damage",
"effectTrigger": "applyDamage",
"preventDuplicateEffects": true,
"script": "let applyAP = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_TB || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\n\nif (applyAP) \n{\n let AP = args.AP\n\n args.totalWoundLoss += AP.used\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"AP\")))\n args.messageElements[apIndex] = \"0/\" + AP.value + \" \" + game.i18n.localize(\"AP\")\n}\n\nlet woundsGained = Math.min(args.actor.status.wounds.value, args.totalWoundLoss)\nwoundsGained = Math.ceil(woundsGained / 2)\n\nlet attackerWounds = duplicate(args.attacker.status.wounds)\n\nattackerWounds.value += woundsGained\n\nif (attackerWounds.value >= attackerWounds.max)\n attackerWounds.value = attackerWounds.max\n\nargs.attacker.update({\"data.status.wounds\" : attackerWounds})\n\nargs.actor.addCondition(\"fatigued\")\n\nChatMessage.create({content: `<b>${args.attacker.data.token.name}</b> récupère ${woundsGained} Points de Blessures`, alias : {speaker : this.effect.label}})"
"script": "let applyAP = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_TB || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\n\nif (applyAP) \n{\n let AP = args.AP\n\n args.totalWoundLoss += AP.used\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"AP\")))\n args.messageElements[apIndex] = \"0/\" + AP.value + \" \" + game.i18n.localize(\"AP\")\n}\n\nlet woundsGained = Math.min(args.actor.status.wounds.value, args.totalWoundLoss)\nwoundsGained = Math.ceil(woundsGained / 2)\n\nlet attackerWounds = duplicate(args.attacker.status.wounds)\n\nattackerWounds.value += woundsGained\n\nif (attackerWounds.value >= attackerWounds.max)\n attackerWounds.value = attackerWounds.max\n\nargs.attacker.update({\"data.status.wounds\" : attackerWounds})\n\nargs.actor.addCondition(\"fatigued\")\n\nChatMessage.create({content: `<b>${args.attacker.prototypeToken.name}</b> récupère ${woundsGained} Points de Blessures`, alias : {speaker : this.effect.label}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/steal-life.png",
@@ -8566,7 +8566,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -8770,7 +8770,7 @@
"effectApplication": "apply",
"effectTrigger": "invoke",
"preventDuplicateEffects": false,
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Select a target to apply the effect.\")\n game.user.targets.forEach(t => {\n t.actor.applyTerror(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postTerror(value, name)\n}"
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Select a target to apply the effect.\")\n game.user.targets.forEach(t => {\n t.actor.applyTerror(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postTerror(value, name)\n}"
}
},
"icon": "modules/wfrp4e-core/icons/blank.png",
@@ -8794,7 +8794,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -9015,7 +9015,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -9069,7 +9069,7 @@
"effectApplication": "apply",
"effectTrigger": "oneTime",
"preventDuplicateEffects": false,
"script": "let fortunePoints = {{result.overcast.other.current}}\nlet current = this.actor.status.fortune.value\n\nthis.actor.update({\"data.status.fortune.value\" : fortunePoints + current})\n\nChatMessage.create({content : `<b>${this.actor.data.token.name}</b> a désormais ${fortunePoints + current} Points de Chance`, speaker : {alias : this.effect.label}})"
"script": "let fortunePoints = {{result.overcast.other.current}}\nlet current = this.actor.status.fortune.value\n\nthis.actor.update({\"data.status.fortune.value\" : fortunePoints + current})\n\nChatMessage.create({content : `<b>${this.actor.prototypeToken.name}</b> a désormais ${fortunePoints + current} Points de Chance`, speaker : {alias : this.effect.label}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/the-first-portent-of-amul.png",
@@ -9117,7 +9117,7 @@
"effectApplication": "apply",
"effectTrigger": "oneTime",
"preventDuplicateEffects": false,
"script": "let fortunePoints = {{result.overcast.other.current}}\nlet current = this.actor.status.fortune.value\n\nthis.actor.update({\"data.status.fortune.value\" : fortunePoints + current})\n\nChatMessage.create({content : `<b>${this.actor.data.token.name}</b> a désormais ${fortunePoints + current} Points de Chance`, speaker : {alias : this.effect.label}})"
"script": "let fortunePoints = {{result.overcast.other.current}}\nlet current = this.actor.status.fortune.value\n\nthis.actor.update({\"data.status.fortune.value\" : fortunePoints + current})\n\nChatMessage.create({content : `<b>${this.actor.prototypeToken.name}</b> a désormais ${fortunePoints + current} Points de Chance`, speaker : {alias : this.effect.label}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/the-second-portent-of-amul.png",
@@ -9165,7 +9165,7 @@
"effectApplication": "apply",
"effectTrigger": "oneTime",
"preventDuplicateEffects": false,
"script": "let current = this.actor.status.fate.value\n\nthis.actor.update({\"data.status.fate.value\" : current + 1})\n\nChatMessage.create({content : `<b>${this.actor.data.token.name}</b> a désormais ${current + 1} Points de Destin!`, speaker : {alias : this.effect.label}})"
"script": "let current = this.actor.status.fate.value\n\nthis.actor.update({\"data.status.fate.value\" : current + 1})\n\nChatMessage.create({content : `<b>${this.actor.prototypeToken.name}</b> a désormais ${current + 1} Points de Destin!`, speaker : {alias : this.effect.label}})"
}
},
"icon": "modules/wfrp4e-core/icons/spells/the-third-portent-of-amul.png",
@@ -9344,7 +9344,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
@@ -9546,7 +9546,7 @@
"effectApplication": "actor",
"effectTrigger": "invoke",
"lore": true,
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
}
},
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",