forked from public/foundryvtt-wh4-lang-fr-fr
Fix EiS spells + core spells + Tzeentch domain
This commit is contained in:
@ -21,7 +21,7 @@
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
"description": "<p>Votre magie s'insinue au plus profond de votre cible, lui faisant prendre conscience de tous ses rêves brisés. La Caractéristique d'Initiative de la cible passe à 10, si elle n'était déjà pas inférieure, alors que son esprit se renferme. Pendant le Tour de la cible, ses déplacements sont faits au hasard et déterminés par le MJ, pendant que le personange se lamente sur ce qu'est devenue sa vie, racontant de façon obscène, en agitant les mains en l'air, la façon dont les choses auraient dû se passer. De plus, la cible ne peut effectuer une action que si elle réussit un Test d'<strong>Endurance Intermédiaire (+0)</strong> ; sur un échec, la cible est trop occupée à ressasser tout ce qui s'est passé pour entreprendre quoi que ce soit d'autre.</p>",
|
||||
"description": "<p>Votre magie s'insinue au plus profond de votre cible, lui faisant prendre conscience de tous ses rêves brisés. La Caractéristique d'Initiative de la cible passe à 10, si elle n'était déjà pas inférieure, alors que son esprit se renferme. Pendant le Tour de la cible, ses déplacements sont faits au hasard et déterminés par le MJ, pendant que le personange se lamente sur ce qu'est devenue sa vie, racontant de façon obscène, en agitant les mains en l'air, la façon dont les choses auraient dû se passer. De plus, la cible ne peut effectuer une action que si elle réussit un Test d'<strong>Résistance Intermédiaire (+0)</strong> ; sur un échec, la cible est trop occupée à ressasser tout ce qui s'est passé pour entreprendre quoi que ce soit d'autre.</p>",
|
||||
"effects": [
|
||||
{
|
||||
"_id": "WnphDGxgJbUeOzXg",
|
||||
@ -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 : `Added Unstable to ${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.data.token.name}`, speaker : {alias: caster.name}})\n })\n }\n }\n }\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/banishment.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> gains ${woundsGained} Wounds` })"
|
||||
"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` })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/caress-of-laniph.png",
|
||||
@ -8058,7 +8058,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "endRound",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let chatData = {content: \"\", whisper: ChatMessage.getWhisperRecipients(\"GM\")}\n\nlet wounds = this.actor.status.wounds\nlet regen = new Roll(\"1d10\").roll({async: false}).total\n\nif (wounds.value >= wounds.max)\n return\n\nif (wounds.value > 0)\n{\n wounds.value += regen\n if (wounds.value > wounds.max) \n wounds.value = wounds.max\n chatData.content += `<b>${this.actor.name}</b> regains ${regen} Wounds.`\n \n if (regen == 10)\n chatData.content += `<br>Additionally, they regenerate a Critical Wound.`\n}\nelse if (regen >= 8)\n{\n chatData.content += `<b>${this.actor.name}</b> rolled a ${regen} and regains 1 Wound.`\n wounds.value += 1\n if (regen == 10)\n chatData.content += `<br>Additionally, they regenerate a Critical Wound.`\n}\nelse\n{\n chatData.content += `<b>${this.actor.name}</b> Regenerate roll of ${regen} - No effect.`\n}\n\nthis.actor.update({\"data.status.wounds\" : wounds})\nChatMessage.create(chatData)"
|
||||
"script": "let chatData = {content: \"\", whisper: ChatMessage.getWhisperRecipients(\"GM\")}\n\nlet wounds = this.actor.status.wounds\nlet regen = new Roll(\"1d10\").roll({async: false}).total\n\nif (wounds.value >= wounds.max)\n return\n\nif (wounds.value > 0)\n{\n wounds.value += regen\n if (wounds.value > wounds.max) \n wounds.value = wounds.max\n chatData.content += `<b>${this.actor.name}</b> regagne ${regen} Points de Blessures.`\n \n if (regen == 10)\n chatData.content += `<br>Depus, une blessure Critique est complètement guérie.`\n}\nelse if (regen >= 8)\n{\n chatData.content += `<b>${this.actor.name}</b> a obtenu un ${regen} et regagne 1 Point de Blessure.`\n wounds.value += 1\n if (regen == 10)\n chatData.content += `<br>Deplus, une Blessure Crtique est complètement guérie.`\n}\nelse\n{\n chatData.content += `<b>${this.actor.name}</b> Jet de Régénréation de ${regen} - Aucun effet.`\n}\n\nthis.actor.update({\"data.status.wounds\" : wounds})\nChatMessage.create(chatData)"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/regenerate.png",
|
||||
@ -8075,7 +8075,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"lore": true,
|
||||
"script": "\n fromUuid(this.effect.origin).then(caster => {\n if (this.actor.isOwner)\n {\n if (!this.actor.has(game.i18n.localize(\"NAME.Daemonic\")) && !this.actor.has(game.i18n.localize(\"NAME.Undead\")))\n {\n let bleeding = this.actor.hasCondition(\"bleeding\")\n let fatigued = this.actor.hasCondition(\"fatigued\")\n if (bleeding) this.actor.removeCondition(\"bleeding\", bleeding.flags.wfrp4e.value)\n if (fatigued) this.actor.removeCondition(\"fatigued\", fatigued.flags.wfrp4e.value)\n }\n else if (this.actor.has(game.i18n.localize(\"NAME.Undead\")))\n this.actor.applyBasicDamage(caster.characteristics.wp.bonus, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL});\n }\n })"
|
||||
"script": "\n fromUuid(this.effect.origin).then(caster => {\n if (this.actor.isOwner)\n {\n if (!this.actor.has(game.i18n.localize(\"NAME.Daemonic\")) && !this.actor.has(game.i18n.localize(\"NAME.Undead\")))\n {\n let bleeding = this.actor.hasCondition(\"bleeding\")\n let fatigued = this.actor.hasCondition(\"fatigued\")\n if (bleeding) this.actor.removeCondition(\"bleeding\", bleeding.flags.wfrp4e.value)\n if (fatigued) this.actor.removeCondition(\"fatigued\", fatigued.flags.wfrp4e.value)\n }\n else if (this.actor.has(game.i18n.localize(\"NAME.Undead\")))\n this.actor.applyBasicDamage(caster.characteristics.wp.bonus, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL});\n }\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/life.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> gains ${woundsGained} Wounds`, 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.data.token.name}</b> récupère ${woundsGained} Points de Blessures`, alias : {speaker : this.effect.label}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/steal-life.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> fortune points increased from ${current} to ${fortunePoints + current}`, 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.data.token.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> fortune points increased from ${current} to ${fortunePoints + current}`, 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.data.token.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> fate points increased from ${current} to ${current + 1}`, 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.data.token.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",
|
||||
@ -9303,11 +9303,11 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"lore": true,
|
||||
"script": "\n if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 Corruption Point Gained\", success : \"1 Fortune Point Gained\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"success\" && args.actor.data.type == \"character\")\n {\n args.actor.update({\"data.status.fortune.value\" : args.actor.status.fortune.value + 1})\n }\n else if (test.result.outcome == \"failure\" && args.actor.data.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : args.actor.status.corruption.value + 1})\n }\n })\n })"
|
||||
"script": "\n if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 point de Corruption\", success : \"1 Point de Chance gagné\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"success\" && args.actor.data.type == \"character\")\n {\n args.actor.update({\"data.status.fortune.value\" : args.actor.status.fortune.value + 1})\n }\n else if (test.result.outcome == \"failure\" && args.actor.data.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : args.actor.status.corruption.value + 1})\n }\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/tzeentch.png",
|
||||
"label": "Lore of Tzeentch",
|
||||
"label": "Domaine de Tzeentch",
|
||||
"transfer": true
|
||||
}
|
||||
],
|
||||
|
Reference in New Issue
Block a user