Fix effects in translated compendiums
This commit is contained in:
parent
4822f260f0
commit
09bd399c0e
@ -44,7 +44,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "takeDamage",
|
||||
"script": "if (args.opposeData.hitloc.value == \"body\")\n args.actor.addCondition(\"bleeding\", 2)"
|
||||
"script": "if (args.opposedTest.result.hitloc.value == \"body\")\n args.actor.addCondition(\"bleeding\", 2)"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -240,7 +240,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.opposeData.hitloc.value == \"body\") \n args.actor.addCondition(\"bleeding\", 1)"
|
||||
"script": "if (args.opposedTest.result.hitloc.value == \"body\") \n args.actor.addCondition(\"bleeding\", 1)"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -288,7 +288,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.opposeData.hitloc.value == \"body\") \n args.actor.addCondition(\"bleeding\", 1)"
|
||||
"script": "if (args.opposedTest.result.hitloc.value == \"body\") \n args.actor.addCondition(\"bleeding\", 1)"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -423,7 +423,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.opposeData.hitloc.value == \"body\") \n args.actor.addCondition(\"bleeding\", 2)"
|
||||
"script": "if (args.opposedTest.result.hitloc.value == \"body\") \n args.actor.addCondition(\"bleeding\", 2)"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -508,7 +508,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"script": "if (args.type == \"skill\" && args.item.data.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 10\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 10"
|
||||
"script": "if (args.type == \"skill\" && args.item.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 10\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 10"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -557,7 +557,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.fBcZhOBn8IpoVqQ1\").then(injury => {\n let teeth = new Roll(\"1d10\").roll().total\n ChatMessage.create({content : `<b>${this.actor.data.token.name}</b> a perdu ${teeth} dents`, speaker : {alias: this.effect.label}})\ninjury.data.data.location.value = `${teeth} ${injury.data.data.location.value}`\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury.data)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.fBcZhOBn8IpoVqQ1\").then(injury => {\n let teeth = new Roll(\"1d10\").roll().total\n ChatMessage.create({content : `<b>${this.actor.data.token.name}</b> a perdu ${teeth} dents`, speaker : {alias: this.effect.label}})\ninjury.location.value = `${teeth} ${injury.location.value}`\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury.data)\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -640,7 +640,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (args.actor.owner)\n{\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"difficult\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"stunned\")\n })\n })\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.4lj1ik958mbgAlaF\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\n}"
|
||||
"script": "if (args.actor.isOwner)\n{\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"difficult\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"stunned\")\n })\n })\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.4lj1ik958mbgAlaF\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -760,7 +760,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"script": "if (args.type == \"skill\" && args.item.data.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 10\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 10"
|
||||
"script": "if (args.type == \"skill\" && args.item.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 10\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 10"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -926,7 +926,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "takeDamage",
|
||||
"script": "if(args.opposeData.hitloc.value == \"head\" && (args.opposeData.attackerTestResult.extra.critical || args.actor.data.data.status.wounds.value - args.totalWoundLoss < 0))\n{\n\n if (args.actor.owner) {\n args.actor.setupSkill(\"Résistance\", { absolute: { difficulty: \"average\" } }).then(setupData => {\n args.actor.basicTest(setupData).then(test => {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })\n }\n}"
|
||||
"script": "if(args.opposedTest.result.hitloc.value == \"head\" && (args.opposedTest.attackerTest.result.critical || args.actor.status.wounds.value - args.totalWoundLoss < 0))\n{\n\n if (args.actor.isOwner) {\n args.actor.setupSkill(\"Résistance\", { absolute: { difficulty: \"average\" } }).then(setupData => {\n args.actor.basicTest(setupData).then(test => {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })\n }\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -1074,7 +1074,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"average\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"average\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -1124,7 +1124,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"easy\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"easy\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -1293,7 +1293,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "endCombat",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (this.actor.owner)\n this.actor.setupSkill(\"Résistance\").then(setupData => {\n this.actor.basicTest(setupData).then(test => {\n if (test.result.result == \"failure\") {\n fromUuid(\"Compendium.wfrp4e-core.injuries.ZhMADOqoo0y8Q9bx\").then(injury => {\n this.actor.createEmbeddedEntity(\"OwnedItem\", injury.data)\n this.actor.deleteEmbeddedEntity(\"ActiveEffect\", this.effect._id)\n })\n }\n })\n })"
|
||||
"script": "if (this.actor.isOwner)\n this.actor.setupSkill(\"Résistance\").then(setupData => {\n this.actor.basicTest(setupData).then(test => {\n if (test.result.outcome == \"failure\") {\n fromUuid(\"Compendium.wfrp4e-core.injuries.ZhMADOqoo0y8Q9bx\").then(injury => {\n this.actor.createEmbeddedEntity(\"OwnedItem\", injury.data)\n this.actor.deleteEmbeddedEntity(\"ActiveEffect\", this.effect._id)\n })\n }\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -1433,7 +1433,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.GlShFJF2TpsNh1FX\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\nif (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.GlShFJF2TpsNh1FX\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\nif (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -1481,7 +1481,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "takeDamage",
|
||||
"script": "if (args.opposeData.hitloc.value == \"LEG_LOCATION_HERE\") // rLeg or lLeg\n args.actor.addCondition(\"bleeding\", 1)"
|
||||
"script": "if (args.opposedTest.result.hitloc.value == \"LEG_LOCATION_HERE\") // rLeg or lLeg\n args.actor.addCondition(\"bleeding\", 1)"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -1505,7 +1505,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -1536,7 +1536,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"stunned\", 3)\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"stunned\", 3)\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -1664,7 +1664,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "takeDamage",
|
||||
"script": "if (args.opposeData.hitloc.value == \"ARM_LOCATION_HERE\") // lArm or rArm\n args.actor.addCondition(\"bleeding\", 2)"
|
||||
"script": "if (args.opposedTest.result.hitloc.value == \"ARM_LOCATION_HERE\") // lArm or rArm\n args.actor.addCondition(\"bleeding\", 2)"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -1966,7 +1966,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -1997,7 +1997,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n {\n args.actor.addCondition(\"prone\")\n args.actor.addCondition(\"stunned\")\n }\n \n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n {\n args.actor.addCondition(\"prone\")\n args.actor.addCondition(\"stunned\")\n }\n \n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -2178,7 +2178,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"stunned\")\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"stunned\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -2209,7 +2209,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"script": "if (args.type == \"skill\" && args.item.data.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 20\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 20"
|
||||
"script": "if (args.type == \"skill\" && args.item.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 20\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 20"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -2240,7 +2240,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"script": "if (args.type == \"skill\" && args.item.data.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 20\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 20"
|
||||
"script": "if (args.type == \"skill\" && args.item.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 20\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 20"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -2291,7 +2291,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.QluSTTTq3viHJJUh\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.owner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.QluSTTTq3viHJJUh\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -2410,7 +2410,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.7mCcI3q7hgWcmbBU\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"stunned\")\n })\n })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.7mCcI3q7hgWcmbBU\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"stunned\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -2493,7 +2493,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.hCadFsTRvLN9faaY\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\nif (args.actor.owner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.hCadFsTRvLN9faaY\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\nif (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -2612,7 +2612,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.fBcZhOBn8IpoVqQ1\").then(injury => {\n let teeth = new Roll(\"1d10\").roll().total\n ChatMessage.create({content : `<b>${this.actor.data.token.name}</b> loses ${teeth} teeth`, speaker : {alias: this.effect.label}})\ninjury.data.data.location.value = `${teeth} ${injury.data.data.location.value}`\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury.data)\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.rkJA1DlK51QuRlJy\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.hCadFsTRvLN9faaY\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.owner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.fBcZhOBn8IpoVqQ1\").then(injury => {\n let teeth = new Roll(\"1d10\").roll().total\n ChatMessage.create({content : `<b>${this.actor.data.token.name}</b> loses ${teeth} teeth`, speaker : {alias: this.effect.label}})\ninjury.location.value = `${teeth} ${injury.location.value}`\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury.data)\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.rkJA1DlK51QuRlJy\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.hCadFsTRvLN9faaY\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -2668,7 +2668,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.zyocWSzEZEC826NS\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n { \n args.actor.addCondition(\"prone\")\n args.actor.addCondition(\"stunned\")\n }\n })\n })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.zyocWSzEZEC826NS\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n { \n args.actor.addCondition(\"prone\")\n args.actor.addCondition(\"stunned\")\n }\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -2784,7 +2784,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -2832,7 +2832,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"stunned\")\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"stunned\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -3074,7 +3074,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"script": "if (args.type == \"skill\" && args.item.data.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 10\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 10"
|
||||
"script": "if (args.type == \"skill\" && args.item.characteristic.value == \"ag\")\n args.prefillModifiers.modifier -= 10\n\nif (args.type == \"characteristic\" && args.item == \"ag\")\n args.prefillModifiers.modifier -= 10"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -3105,7 +3105,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\").then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -3154,7 +3154,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if(args.actor.owner) {\n args.actor.setupSkill(\"Résistance\", { absolute: { difficulty: \"average\" } }).then(setupData => {\n args.actor.basicTest(setupData).then(test => {\n if (test.result.result == \"failure\") {\n args.actor.addCondition(\"prone\")\n fromUuid(\"Compendium.wfrp4e-core.injuries.ZhMADOqoo0y8Q9bx\").then(injury => {\n injury.data.data.location.value = `${Math.clamped(Math.abs(test.result.SL) + 1, 1, 5)} ${injury.data.data.location.value}`\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury.data)\n })\n }\n })\n })\n }"
|
||||
"script": "if(args.actor.isOwner) {\n args.actor.setupSkill(\"Résistance\", { absolute: { difficulty: \"average\" } }).then(setupData => {\n args.actor.basicTest(setupData).then(test => {\n if (test.result.outcome == \"failure\") {\n args.actor.addCondition(\"prone\")\n fromUuid(\"Compendium.wfrp4e-core.injuries.ZhMADOqoo0y8Q9bx\").then(injury => {\n injury.location.value = `${Math.clamped(Math.abs(test.result.outcome.SL) + 1, 1, 5)} ${injury.location.value}`\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury.data)\n })\n }\n })\n })\n }"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -3318,7 +3318,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "if (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"average\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
"script": "if (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"average\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"prone\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -3342,7 +3342,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"script": "args.actor.data.data.details.move.value /= 2"
|
||||
"script": "args.actor.details.move.value /= 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -3464,7 +3464,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.3S4OYOZLauXctmev\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.3S4OYOZLauXctmev\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -3554,7 +3554,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.MnMZv7ZXoRqoH9dS\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.owner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.result == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.MnMZv7ZXoRqoH9dS\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\n\nif (args.actor.isOwner)\n args.actor.setupSkill(\"Résistance\", {absolute: {difficulty: \"hard\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\")\n args.actor.addCondition(\"unconscious\")\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
|
@ -28,7 +28,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"script": "if (args.type == \"characteristic\" && args.item == \"fel\")\n args.prefillModifiers.modifier -= 5\n\n else if (args.type == \"skill\") {\n if (args.item.data.characteristic.value == \"fel\")\n args.prefillModifiers.modifier -= 5\n }"
|
||||
"script": "if (args.type == \"characteristic\" && args.item == \"fel\")\n args.prefillModifiers.modifier -= 5\n\n else if (args.type == \"skill\") {\n if (args.item.characteristic.value == \"fel\")\n args.prefillModifiers.modifier -= 5\n }"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/amputatedear.png",
|
||||
@ -137,7 +137,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.value /= 2"
|
||||
"script": "args.actor.details.move.value /= 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/amputatedfoot.png",
|
||||
@ -410,7 +410,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (args.type == \"characteristic\" && args.item == \"fel\")\n args.prefillModifiers.modifier -= 5\n\n else if (args.type == \"skill\") {\n if (args.item.data.characteristic.value == \"fel\")\n args.prefillModifiers.modifier -= 5\n }"
|
||||
"script": "if (args.type == \"characteristic\" && args.item == \"fel\")\n args.prefillModifiers.modifier -= 5\n\n else if (args.type == \"skill\") {\n if (args.item.characteristic.value == \"fel\")\n args.prefillModifiers.modifier -= 5\n }"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/amputatedeye.png",
|
||||
@ -443,7 +443,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.value /= 2"
|
||||
"script": "args.actor.details.move.value /= 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/amputatedleg.png",
|
||||
@ -546,7 +546,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.value /= 2"
|
||||
"script": "args.actor.details.move.value /= 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/broken-leg.png",
|
||||
@ -643,7 +643,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.value /= 2"
|
||||
"script": "args.actor.details.move.value /= 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/broken-body.png",
|
||||
@ -745,7 +745,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.value /= 2"
|
||||
"script": "args.actor.details.move.value /= 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/broken-leg.png",
|
||||
@ -856,7 +856,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.value /= 2"
|
||||
"script": "args.actor.details.move.value /= 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/broken-body.png",
|
||||
@ -953,7 +953,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.value /= 2"
|
||||
"script": "args.actor.details.move.value /= 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -1103,7 +1103,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.value /= 2"
|
||||
"script": "args.actor.details.move.value /= 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
|
@ -443,7 +443,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "let wounds = args.actor.data.data.status.wounds\n\nif (wounds.value < wounds.max)\n args.actor.update({\"data.status.wounds.value\" : wounds.value + 1})"
|
||||
"script": "let wounds = args.actor.status.wounds\n\nif (wounds.value < wounds.max)\n args.actor.update({\"data.status.wounds.value\" : wounds.value + 1})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/blessings.png",
|
||||
@ -753,7 +753,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.psychologies.5hH73j2NgPdsLCZN\").then(item => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", item.data)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.psychologies.5hH73j2NgPdsLCZN\").then(item => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", item)\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.png",
|
||||
@ -802,7 +802,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.talents.J9MK0AIaTbvd5oF6\").then(item => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", item.data)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.talents.J9MK0AIaTbvd5oF6\").then(item => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", item)\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.png",
|
||||
@ -898,7 +898,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.talents.CV9btQn09S9Fn8Jk\").then(item => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", item.data)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.talents.CV9btQn09S9Fn8Jk\").then(item => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", item)\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.png",
|
||||
@ -989,7 +989,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.talents.g4Q6AtzZuo5iIvD4\").then(item => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", item.data)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.talents.g4Q6AtzZuo5iIvD4\").then(item => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", item)\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.png",
|
||||
@ -1105,7 +1105,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "prepareData",
|
||||
"script": "let AP = args.actor.data.AP\n\nAP[\"head\"].value += 1\nAP[\"rArm\"].value += 1\nAP[\"lArm\"].value += 1\nAP[\"body\"].value += 1\nAP[\"lLeg\"].value += 1\nAP[\"rLeg\"].value += 1"
|
||||
"script": "let AP = args.actor.status.armour\n\nAP[\"head\"].value += 1\nAP[\"rArm\"].value += 1\nAP[\"lArm\"].value += 1\nAP[\"body\"].value += 1\nAP[\"lLeg\"].value += 1\nAP[\"rLeg\"].value += 1"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.png",
|
||||
@ -1235,7 +1235,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.traits.pLW9SVX0TVTYPiPv\").then(item => {\n item.data.data.specification.value = 3\n this.actor.createEmbeddedEntity(\"OwnedItem\", item.data)\n})\n\nfromUuid(\"Compendium.wfrp4e-core.traits.AtpAudHA4ybXVlWM\").then(item => {\n item.data.data.specification.value = 4\n this.actor.createEmbeddedEntity(\"OwnedItem\", item.data)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.traits.pLW9SVX0TVTYPiPv\").then(item => {\n item.specification.value = 3\n this.actor.createEmbeddedEntity(\"OwnedItem\", item)\n})\n\nfromUuid(\"Compendium.wfrp4e-core.traits.AtpAudHA4ybXVlWM\").then(item => {\n item.specification.value = 4\n this.actor.createEmbeddedEntity(\"OwnedItem\", item)\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.png",
|
||||
@ -1334,7 +1334,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"script": "if (args.type == \"characteristic\" && args.item == \"int\")\n {\n args.prefillModifiers.modifier += 20\n }\n else if (args.type == \"skill\")\n {\n if (args.item.data.characteristic.value == \"int\")\n args.prefillModifiers.modifier += 20\n }"
|
||||
"script": "if (args.type == \"characteristic\" && args.item == \"int\")\n {\n args.prefillModifiers.modifier += 20\n }\n else if (args.type == \"skill\")\n {\n if (args.item.characteristic.value == \"int\")\n args.prefillModifiers.modifier += 20\n }"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.png",
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -64,7 +64,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "rollChannellingTest",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "// Remove the miscast if doubles rolled and succeeded\nif(args.result.result == \"success\" && args.result.extra.minormis && args.result.roll % 11 == 0)\n{\n delete args.result.extra.minormis\n}\n// Decrement the major miscast to minor miscast\nelse if(args.result.result == \"success\" && args.result.extra.majormis && args.result.roll % 11 == 0)\n{\n delete args.result.extra.majormis\n args.result.extra.minormis = game.i18n.localize(\"ROLL.MinorMis\")\n}"
|
||||
"script": "// Remove the miscast if doubles rolled and succeeded\nif(args.test.result.outcome == \"success\" && args.test.result.minormis && args.test.result.roll % 11 == 0)\n{\n delete args.test.result.minormis\n}\n// Decrement the major miscast to minor miscast\nelse if(args.test.result.outcome == \"success\" && args.test.result.majormis && args.test.result.roll % 11 == 0)\n{\n delete args.test.result.majormis\n args.test.result.minormis = game.i18n.localize(\"ROLL.MinorMis\")\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/aethyric-attunement.png",
|
||||
@ -97,7 +97,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "preRollTest",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "if (args.testData.extra.skill && args.testData.extra.skill.name == \"Discrétion (Urbain)\")\n args.testData.extra.canReverse = true"
|
||||
"script": "if (args.test.item && args.test.item.name == \"Discrétion (Urbain)\")\n args.test.extra.canReverse = true"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/alley-cat.png",
|
||||
@ -176,7 +176,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "preRollTest",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "if (args.testData.extra.skill && args.testData.extra.skill.name == \"Charme\" && (args.testData.roll <= 5 || args.testData.roll <= args.testData.target))\n{\n\nlet SL = Math.floor(args.testData.target / 10) - Math.floor(args.testData.roll / 10)\nlet ones = Number(args.testData.roll.toString().split(\"\").pop())\n\nif (ones > SL)\n args.testData.extra.other.push(`<b>${this.effect.label}</b>: Peut utiliser l'unité comme DR de base (+${args.testData.successBonus + args.testData.slBonus} bonus DR) lors d'un débat.`)\n}"
|
||||
"script": "if (args.test.item && args.test.item.name == \"Charme\" && (args.test.result.roll <= 5 || args.test.result.roll <= args.test.target))\n{\n\nlet SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10)\nlet ones = Number(args.test.result.roll.toString().split(\"\").pop())\n\nif (ones > SL)\n args.test.result.other.push(`<b>${this.effect.label}</b>: Peut utiliser l'unité comme DR de base (+${args.test.successBonus + args.test.slBonus} bonus DR) lors d'un débat.`)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/argumentative.png",
|
||||
@ -216,7 +216,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "preRollTest",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "if (args.testData.extra.skill && args.testData.extra.skill.name == \"Charme\" && (args.testData.roll <= 5 || args.testData.roll <= args.testData.target))\n{\n\nlet SL = Math.floor(args.testData.target / 10) - Math.floor(args.testData.roll / 10)\nlet ones = Number(args.testData.roll.toString().split(\"\").pop())\n\nif (ones > SL)\n args.testData.extra.other.push(`<b>${this.effect.label}</b>: Peut utiliser les unités comme DR de base (+${args.testData.successBonus + args.testData.slBonus} bonus DR) si la cible est attirée par vous.`)\n}"
|
||||
"script": "if (args.test.item && args.test.item.name == \"Charme\" && (args.test.result.roll <= 5 || args.test.result.roll <= args.test.target))\n{\n\nlet SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10)\nlet ones = Number(args.test.result.roll.toString().split(\"\").pop())\n\nif (ones > SL)\n args.test.result.other.push(`<b>${this.effect.label}</b>: Peut utiliser les unités comme DR de base (+${args.test.successBonus + args.test.slBonus} bonus DR) si la cible est attirée par vous.`)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/attractive.png",
|
||||
@ -270,7 +270,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "rollWeaponTest",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (args.result.charging)\n{\n args.result.damage += 1\n args.additionalDamage += 1\n}"
|
||||
"script": "if (args.test.result.charging)\n{\n args.test.result.damage += 1\n args.additionalDamage += 1\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/berserk-charge.png",
|
||||
@ -317,7 +317,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "preRollTest",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "if (args.testData.extra.skill && args.testData.extra.skill.name == \"Recherche\")\n args.testData.extra.canReverse = true"
|
||||
"script": "if (args.test.item && args.test.item.name == \"Recherche\")\n args.test.extra.canReverse = true"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/bookish.png",
|
||||
@ -393,7 +393,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "preRollTest",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (args.testData.extra.skill && args.testData.extra.skill.name == \"Résistance à l'alcool\")\n args.testData.extra.canReverse = true"
|
||||
"script": "if (args.test.item && args.test.item.name == \"Résistance à l'alcool\")\n args.test.extra.canReverse = true"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/carouser.png",
|
||||
@ -746,7 +746,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.value += 1"
|
||||
"script": "args.actor.details.move.value += 1"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/fleet-footed.png",
|
||||
@ -779,7 +779,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareItems",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.characteristics.s.bonus += 1\nargs.actor.data.data.characteristics.s.calculationBonusModifier -= 1"
|
||||
"script": "args.actor.characteristics.s.bonus += 1\nargs.actor.characteristics.s.calculationBonusModifier -= 1"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/frenzy.png",
|
||||
@ -826,7 +826,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "preRollTest",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "if (args.testData.extra.skill && args.testData.extra.skill.name == \"Ragot\")\n args.testData.extra.canReverse = true"
|
||||
"script": "if (args.test.item && args.test.item.name == \"Ragot\")\n args.test.extra.canReverse = true"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/gregarious.png",
|
||||
@ -859,7 +859,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (args.options.reload && args.options.weapon && args.options.weapon.data.weaponGroup.value == \"blackpowder\")\n args.prefillModifiers.slBonus += 1"
|
||||
"script": "if (args.options.reload && args.options.weapon && args.options.weapon.weaponGroup.value == \"blackpowder\")\n args.prefillModifiers.slBonus += 1"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/gunner.png",
|
||||
@ -932,7 +932,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareItem",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (args.item.type == \"prayer\" && (args.item.data.damage.value || args.item.data.damage.dice))\n args.item.data.damage.value += \"+1\""
|
||||
"script": "if (args.item.type == \"prayer\" && (args.item.damage.value || args.item.damage.dice))\n args.item.damage.value += \"+1\""
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/holy-hatred.png",
|
||||
@ -1033,7 +1033,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "rollCastTest",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "// Remove the miscast if doubles rolled and succeeded\nif(args.result.result == \"success\" && args.result.extra.minormis && args.result.roll % 11 == 0)\n{\n delete args.result.extra.minormis\n}\n// Decrement the major miscast to minor miscast\nelse if(args.result.result == \"success\" && args.result.extra.majormis && args.result.roll % 11 == 0)\n{\n delete args.result.extra.majormis\n args.result.extra.minormis = game.i18n.localize(\"ROLL.MinorMis\")\n}"
|
||||
"script": "// Remove the miscast if doubles rolled and succeeded\nif(args.test.result.outcome == \"success\" && args.test.result.minormis && args.test.result.roll % 11 == 0)\n{\n delete args.test.result.minormis\n}\n// Decrement the major miscast to minor miscast\nelse if(args.test.result.outcome == \"success\" && args.test.result.majormis && args.test.result.roll % 11 == 0)\n{\n delete args.test.result.majormis\n args.test.result.minormis = game.i18n.localize(\"ROLL.MinorMis\")\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/instinctive-diction.png",
|
||||
@ -1463,7 +1463,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.status.corruption.max += 1"
|
||||
"script": "args.actor.status.corruption.max += 1"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/pure-soul.png",
|
||||
@ -1557,7 +1557,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "rollWeaponTest",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (args.result.charging)\n{\n args.result.damage += 1\n args.additionalDamage += 1\n}"
|
||||
"script": "if (args.test.result.charging)\n{\n args.test.result.damage += 1\n args.additionalDamage += 1\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/resolute.png",
|
||||
@ -1611,7 +1611,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.totalWoundLoss -= 1\nargs.messageElements.push(\"1 Robuste\")\n\nif (args.totalWoundLoss <= 0)\n{\nlet weapon = args.opposeData.attackerTestResult.weapon\nif \n(weapon && weapon.properties.flaws.includes(game.i18n.localize(\"PROPERTY.Undamaging\")))\n args.totalWoundLoss = 0\nelse\n args.totalWoundLoss = 1\n}"
|
||||
"script": "args.totalWoundLoss -= 1\nargs.messageElements.push(\"1 Robuste\")\n\nif (args.totalWoundLoss <= 0)\n{\nlet weapon = args.opposedTest.attackerTest.item\nif \n(weapon && weapon.properties.flaws.includes(game.i18n.localize(\"PROPERTY.Undamaging\")))\n args.totalWoundLoss = 0\nelse\n args.totalWoundLoss = 1\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/robust.png",
|
||||
@ -1795,7 +1795,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "opposedDefender",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "if (args.opposeResult.winner == \"attacker\") {\n if (args.opposeResult.defenderTestResult.weapon && args.opposeResult.defenderTestResult.weapon.properties.qualities.find(q => q.includes(\"Shield\"))) {\n let shieldsman = this.actor.data.talents.find(t => t.name == this.effect.label)\n ui.notifications.notify(`<b>${this.effect.label}</b>: Gain de ${shieldsman.data.advances.value} avantages`)\n this.actor.modifyAdvantage(shieldsman.data.advances.value)\n }\n}"
|
||||
"script": "if (args.opposedTest.result.winner == \"attacker\") {\n if (args.opposedTest.result.defenderTest.item && args.opposedTest.result.defenderTest.item.properties.qualities.find(q => q.includes(\"Shield\"))) {\n let shieldsman = this.actor.data.talents.find(t => t.name == this.effect.label)\n ui.notifications.notify(`<b>${this.effect.label}</b>: Gain de ${shieldsman.data.advances.value} avantages`)\n this.actor.modifyAdvantage(shieldsman.data.advances.value)\n }\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/shieldsman.png",
|
||||
@ -1835,7 +1835,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "calculateOpposedDamage",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (args.sizeDiff <= -2 && args.opposeData.attackerTestResult.extra.critical)\n args.damageMultiplier = Math.abs(args.sizeDiff)\n\n let sBonusDiff = args.opposeData.defenderTestResult.actor.data.characteristics.t.bonus - args.opposeData.attackerTestResult.actor.data.characteristics.s.bonus\n let weapon = args.opposeData.attackerTestResult.weapon\n if (sBonusDiff > 0 && weapon && weapon.data.damage.value.includes(\"SB\"))\n args.damage += sBonusDiff"
|
||||
"script": "if (args.sizeDiff <= -2 && args.opposedTest.attackerTest.result.critical)\n args.damageMultiplier = Math.abs(args.sizeDiff)\n\n let sBonusDiff = args.opposedTest.defenderTest.result.actor.characteristics.t.bonus - args.opposedTest.attackerTest.result.actor.characteristics.s.bonus\n let weapon = args.opposedTest.attackerTest.item\n if (sBonusDiff > 0 && weapon && weapon.damage.value.includes(\"SB\"))\n args.damage += sBonusDiff"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/slayer.png",
|
||||
@ -1889,7 +1889,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prepareData",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.details.move.run += 2"
|
||||
"script": "args.actor.details.move.run += 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/sprinter.png",
|
||||
@ -1989,7 +1989,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "rollWeaponTest",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if(args.result.extra.critical)\n{\n args.result.damage +=1 \n args.result.additionalDamage += 1\n}"
|
||||
"script": "if(args.test.result.critical)\n{\n args.test.result.damage +=1 \n args.test.result.additionalDamage += 1\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/strike-to-injure.png",
|
||||
@ -2060,7 +2060,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareItems",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.status.encumbrance.max += 1"
|
||||
"script": "args.actor.status.encumbrance.max += 1"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/strong-back.png",
|
||||
@ -2146,7 +2146,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareItems",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.data.status.encumbrance.max += 2"
|
||||
"script": "args.actor.status.encumbrance.max += 2"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/sturdy.png",
|
||||
@ -2223,7 +2223,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "preRollTest",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "if (args.testData.extra.skill && args.testData.extra.skill.data.characteristic.value == \"fel\" && (args.testData.roll <= 5 || args.testData.roll <= args.testData.target))\n{\n\nlet SL = Math.floor(args.testData.target / 10) - Math.floor(args.testData.roll / 10)\nlet ones = Number(args.testData.roll.toString().split(\"\").pop())\n\nif (ones > SL)\n args.testData.extra.other.push(`<b>${this.effect.label}</b>: Peu utiliser l'unité comme DR de base (+${args.testData.successBonus + args.testData.slBonus} bonus DR)lorsque vous influencez des PNJs avec un statut social plus élevé.`)\n}"
|
||||
"script": "if (args.test.item && args.test.item.data.characteristic.value == \"fel\" && (args.test.result.roll <= 5 || args.test.result.roll <= args.test.target))\n{\n\nlet SL = Math.floor(args.test.target / 10) - Math.floor(args.test.result.roll / 10)\nlet ones = Number(args.test.result.roll.toString().split(\"\").pop())\n\nif (ones > SL)\n args.test.result.other.push(`<b>${this.effect.label}</b>: Peu utiliser l'unité comme DR de base (+${args.test.successBonus + args.test.slBonus} bonus DR)lorsque vous influencez des PNJs avec un statut social plus élevé.`)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/supportive.png",
|
||||
|
@ -494,7 +494,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let item = duplicate(this.item)\nitem.data.quantity.value--\nif (item.data.quantity.value < 0)\n return ui.notifications.error(\"Plus de Faxtoryll\")\n\nthis.actor.updateEmbeddedEntity(\"OwnedItem\", item)\n\nlet bleeding = this.actor.hasCondition(\"bleeding\")\nif (bleeding)\n{\n ui.notifications.notify(`Cleared ${bleeding.flags.wfrp4e.value} Bleeding Conditions`)\n this.actor.removeCondition(\"bleeding\", bleeding.flags.wfrp4e.value)\n}"
|
||||
"script": "let item = duplicate(this.item)\nitem.quantity.value--\nif (item.quantity.value < 0)\n return ui.notifications.error(\"Plus de Faxtoryll\")\n\nthis.actor.updateEmbeddedEntity(\"OwnedItem\", item)\n\nlet bleeding = this.actor.hasCondition(\"bleeding\")\nif (bleeding)\n{\n ui.notifications.notify(`Cleared ${bleeding.flags.wfrp4e.value} Bleeding Conditions`)\n this.actor.removeCondition(\"bleeding\", bleeding.flags.wfrp4e.value)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/equipment/herbs_and_draughts/faxtoryll.png",
|
||||
@ -651,7 +651,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let item = duplicate(this.item)\nitem.data.quantity.value--\nif (item.data.quantity.value < 0)\n return ui.notifications.error(\"Plus de potions\")\n\nthis.actor.updateEmbeddedEntity(\"OwnedItem\", item)\n\nlet wounds = this.actor.data.data.status.wounds\nif (wounds.value == 0)\n return ui.notifications.error(\"Aucun effet à 0 points de blessure\")\nwounds.value += this.actor.data.data.characteristics.t.bonus\n\nui.notifications.notify(`Healed ${this.actor.data.data.characteristics.t.bonus} Wounds`)\n\nif (wounds.value > wounds.max)\n wounds.value = wounds.max\n\nthis.actor.update({\"data.status.wounds\" : wounds})"
|
||||
"script": "let item = duplicate(this.item)\nitem.quantity.value--\nif (item.quantity.value < 0)\n return ui.notifications.error(\"Plus de potions\")\n\nthis.actor.updateEmbeddedEntity(\"OwnedItem\", item)\n\nlet wounds = this.actor.status.wounds\nif (wounds.value == 0)\n return ui.notifications.error(\"Aucun effet à 0 points de blessure\")\nwounds.value += this.actor.characteristics.t.bonus\n\nui.notifications.notify(`Healed ${this.actor.characteristics.t.bonus} Wounds`)\n\nif (wounds.value > wounds.max)\n wounds.value = wounds.max\n\nthis.actor.update({\"data.status.wounds\" : wounds})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/equipment/herbs_and_draughts/healing-draught.png",
|
||||
@ -1356,7 +1356,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let item = duplicate(this.item)\nitem.data.quantity.value--\nif (item.data.quantity.value < 0)\n return ui.notifications.error(\"Plus de Soude Commune disponible\")\n\nthis.actor.updateEmbeddedEntity(\"OwnedItem\", item)\n\nlet stunned= this.actor.hasCondition(\"stunned\")\nif (stunned)\n{\n ui.notifications.notify(`Un Etat Assomé a été enlevé`)\n this.actor.removeCondition(\"stunned\", 1)\n}"
|
||||
"script": "let item = duplicate(this.item)\nitem.quantity.value--\nif (item.quantity.value < 0)\n return ui.notifications.error(\"Plus de Soude Commune disponible\")\n\nthis.actor.updateEmbeddedEntity(\"OwnedItem\", item)\n\nlet stunned= this.actor.hasCondition(\"stunned\")\nif (stunned)\n{\n ui.notifications.notify(`Un Etat Assomé a été enlevé`)\n this.actor.removeCondition(\"stunned\", 1)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/equipment/herbs_and_draughts/salwort.png",
|
||||
@ -1592,7 +1592,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let item = duplicate(this.item)\nitem.data.quantity.value--\nif (item.data.quantity.value < 0)\n return ui.notifications.error(\"Plus de potion disponible\")\n\nthis.actor.updateEmbeddedEntity(\"OwnedItem\", item)\n\nlet fatigued = this.actor.hasCondition(\"fatigued\")\nif (fatigued)\n{\n ui.notifications.notify(`${fatigued.flags.wfrp4e.value} Etats Extenué enlevés`)\n this.actor.removeCondition(\"fatigued\", fatigued.flags.wfrp4e.value)\n}"
|
||||
"script": "let item = duplicate(this.item)\nitem.quantity.value--\nif (item.quantity.value < 0)\n return ui.notifications.error(\"Plus de potion disponible\")\n\nthis.actor.updateEmbeddedEntity(\"OwnedItem\", item)\n\nlet fatigued = this.actor.hasCondition(\"fatigued\")\nif (fatigued)\n{\n ui.notifications.notify(`${fatigued.flags.wfrp4e.value} Etats Extenué enlevés`)\n this.actor.removeCondition(\"fatigued\", fatigued.flags.wfrp4e.value)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/equipment/herbs_and_draughts/vitality-draught.png",
|
||||
@ -1648,7 +1648,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "prefillDialog",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if (args.type == \"characteristic\") {\n if (args.item == \"wp\" || args.item == \"t\")\n args.prefillModifiers.modifier += 10\n else if (args.item == \"ag\" || args.item == \"i\" || args.item == \"int\")\n args.prefillModifiers.modifier -= 10\n}\nelse if (args.type == \"skill\") {\n if (args.item.data.characteristic.value == \"wp\" || args.item.data.characteristic.value == \"t\")\n args.prefillModifiers.modifier += 10\n else if (args.item.data.characteristic.value == \"ag\" || args.item.data.characteristic.value == \"i\" || args.item.data.characteristic.value == \"int\")\n args.prefillModifiers.modifier -= 10\n}\nelse if (args.type == \"cast\") {\n args.prefillModifiers.modifier -= 10\n}\nelse if (args.type == \"channelling\") {\n args.prefillModifiers.modifier += 10\n}"
|
||||
"script": "if (args.type == \"characteristic\") {\n if (args.item == \"wp\" || args.item == \"t\")\n args.prefillModifiers.modifier += 10\n else if (args.item == \"ag\" || args.item == \"i\" || args.item == \"int\")\n args.prefillModifiers.modifier -= 10\n}\nelse if (args.type == \"skill\") {\n if (args.item.characteristic.value == \"wp\" || args.item.characteristic.value == \"t\")\n args.prefillModifiers.modifier += 10\n else if (args.item.characteristic.value == \"ag\" || args.item.characteristic.value == \"i\" || args.item.characteristic.value == \"int\")\n args.prefillModifiers.modifier -= 10\n}\nelse if (args.type == \"cast\") {\n args.prefillModifiers.modifier -= 10\n}\nelse if (args.type == \"channelling\") {\n args.prefillModifiers.modifier += 10\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/equipment/drugs_and_poisons/weirdroot.png",
|
||||
|
@ -322,7 +322,7 @@
|
||||
{
|
||||
"id": "Luxury Cabin",
|
||||
"name": "Luxury Cabin",
|
||||
"description": "<p>The Empire’s wealthy like to travel in comfort and the kind of cabin that one finds on a noble’s barge is very different from one on a trading or passenger vessel. For the indicated cost, and taking the space of two normal cabins, a traveller can ply the rivers in comfort and style. At your discretion, any <strong>Fellowship </strong>Tests made by the owner of a luxury cabin gain a +10 bonus, provided they are made within the cabin itself.</p>"
|
||||
"description": "<p>The Empire’s wealthy like to travel in comfort and the kind of cabin that one finds on a noble’s barge is very different from one on a trading or passenger vessel. For the indicated cost, and taking the space of two normal cabins, a traveller can ply the rivers in comfort and style. At your discretion, any <strong>Fellowship </strong>Tests made by the.isOwner of a luxury cabin gain a +10 bonus, provided they are made within the cabin itself.</p>"
|
||||
},
|
||||
{
|
||||
"id": "Mage-Leaf",
|
||||
@ -357,27 +357,27 @@
|
||||
{
|
||||
"id": "Racing Hull",
|
||||
"name": "Racing Hull",
|
||||
"description": "<p>Wealthy nobles are addicted to contests and wagering, as everyone knows. In an effort to outdo their fellows, some wealthy boat owners have sunk immense sums into research and craftsmanship, in search of the perfect hull shape for speed. A racing hull is as smooth as glass and cunningly shaped to reduce drag to a bare minimum, allowing the boat to travel at up to twice its normal Movement rate.</p>\n<p>A boat with a racing hull is tricky to control, though, and requires a <strong>Difficult (−10) Boat Handling</strong> Test every hour. On a Marginal (−1 SL) or Normal Failure, Movement cannot exceed the normal rate; on an Impressive Failure (−4 SL), Movement is half normal; and on an Astounding Failure (−6 SL or less), the hull is damaged and the boat cannot exceed half normal Movement until it is repaired at a cost equal to half the cost of the hull, as above.</p>\n<p>Normal repairs to a racing hull cost twice the @JournalEntry[Repairing Boats]{normal rate given}, and require finer craftsmanship: all relevant Tests are one step more difficult than usual.</p>\n<blockquote>\n<p><strong>Foundry Note: </strong><em>Encumbrance and Price reflects 10 ft. of length. Modify this item according to the ship it's being applied to.</em></p>\n</blockquote>"
|
||||
"description": "<p>Wealthy nobles are addicted to contests and wagering, as everyone knows. In an effort to outdo their fellows, some wealthy boat.isOwners have sunk immense sums into research and craftsmanship, in search of the perfect hull shape for speed. A racing hull is as smooth as glass and cunningly shaped to reduce drag to a bare minimum, allowing the boat to travel at up to twice its normal Movement rate.</p>\n<p>A boat with a racing hull is tricky to control, though, and requires a <strong>Difficult (−10) Boat Handling</strong> Test every hour. On a Marginal (−1 SL) or Normal Failure, Movement cannot exceed the normal rate; on an Impressive Failure (−4 SL), Movement is half normal; and on an Astounding Failure (−6 SL or less), the hull is damaged and the boat cannot exceed half normal Movement until it is repaired at a cost equal to half the cost of the hull, as above.</p>\n<p>Normal repairs to a racing hull cost twice the @JournalEntry[Repairing Boats]{normal rate given}, and require finer craftsmanship: all relevant Tests are one step more difficult than usual.</p>\n<blockquote>\n<p><strong>Foundry Note: </strong><em>Encumbrance and Price reflects 10 ft. of length. Modify this item according to the ship it's being applied to.</em></p>\n</blockquote>"
|
||||
},
|
||||
{
|
||||
"id": "Racing Rig (Fishing Skiff)",
|
||||
"name": "Racing Rig (Fishing Skiff)",
|
||||
"description": "<p>As well as developing racing hulls (see above), the wealthy boat-owners of the Empire — or rather, the talented boat-builders in their employ — have developed a system of sails and rigging designed for speed, at the expense of some sturdiness. A racing rig allows a boat an extra +10% Movement over the amount given in the @Table[wind]{wind table}, but only in a tailwind or a sidewind. In a headwind, the Movement penalty is reduced by -5%</p>\n<p>A racing rig includes a @Item[Flying Jib (Fishing Skiff)]{flying jib}, and the advantages of the two do not stack.</p>\n<p>This speed comes at a cost, though. The complex racing rig requires an expert crew, imposing a penalty of −10 to all <strong>Boat Handling</strong> Tests. In addition, all hits to the rigging cause double normal Damage.</p>"
|
||||
"description": "<p>As well as developing racing hulls (see above), the wealthy boat.isOwners of the Empire — or rather, the talented boat-builders in their employ — have developed a system of sails and rigging designed for speed, at the expense of some sturdiness. A racing rig allows a boat an extra +10% Movement over the amount given in the @Table[wind]{wind table}, but only in a tailwind or a sidewind. In a headwind, the Movement penalty is reduced by -5%</p>\n<p>A racing rig includes a @Item[Flying Jib (Fishing Skiff)]{flying jib}, and the advantages of the two do not stack.</p>\n<p>This speed comes at a cost, though. The complex racing rig requires an expert crew, imposing a penalty of −10 to all <strong>Boat Handling</strong> Tests. In addition, all hits to the rigging cause double normal Damage.</p>"
|
||||
},
|
||||
{
|
||||
"id": "Racing Rig (Large Barge)",
|
||||
"name": "Racing Rig (Large Barge)",
|
||||
"description": "<p>As well as developing racing hulls (see above), the wealthy boat-owners of the Empire — or rather, the talented boat-builders in their employ — have developed a system of sails and rigging designed for speed, at the expense of some sturdiness. A racing rig allows a boat an extra +10% Movement over the amount given in the @Table[wind]{wind table}, but only in a tailwind or a sidewind. In a headwind, the Movement penalty is reduced by -5%</p>\n<p>A racing rig includes a @Item[Flying Jib (Large Barge)]{flying jib}, and the advantages of the two do not stack.</p>\n<p>This speed comes at a cost, though. The complex racing rig requires an expert crew, imposing a penalty of −10 to all <strong>Boat Handling</strong> Tests. In addition, all hits to the rigging cause double normal Damage.</p>"
|
||||
"description": "<p>As well as developing racing hulls (see above), the wealthy boat.isOwners of the Empire — or rather, the talented boat-builders in their employ — have developed a system of sails and rigging designed for speed, at the expense of some sturdiness. A racing rig allows a boat an extra +10% Movement over the amount given in the @Table[wind]{wind table}, but only in a tailwind or a sidewind. In a headwind, the Movement penalty is reduced by -5%</p>\n<p>A racing rig includes a @Item[Flying Jib (Large Barge)]{flying jib}, and the advantages of the two do not stack.</p>\n<p>This speed comes at a cost, though. The complex racing rig requires an expert crew, imposing a penalty of −10 to all <strong>Boat Handling</strong> Tests. In addition, all hits to the rigging cause double normal Damage.</p>"
|
||||
},
|
||||
{
|
||||
"id": "Racing Rig (Row Boat)",
|
||||
"name": "Racing Rig (Row Boat)",
|
||||
"description": "<p>As well as developing racing hulls (see above), the wealthy boat-owners of the Empire — or rather, the talented boat-builders in their employ — have developed a system of sails and rigging designed for speed, at the expense of some sturdiness. A racing rig allows a boat an extra +10% Movement over the amount given in the @Table[wind]{wind table}, but only in a tailwind or a sidewind. In a headwind, the Movement penalty is reduced by -5%</p>\n<p>A racing rig includes a @Item[Flying Jib (Row Boat)]{flying jib}, and the advantages of the two do not stack.</p>\n<p>This speed comes at a cost, though. The complex racing rig requires an expert crew, imposing a penalty of −10 to all <strong>Boat Handling</strong> Tests. In addition, all hits to the rigging cause double normal Damage.</p>"
|
||||
"description": "<p>As well as developing racing hulls (see above), the wealthy boat.isOwners of the Empire — or rather, the talented boat-builders in their employ — have developed a system of sails and rigging designed for speed, at the expense of some sturdiness. A racing rig allows a boat an extra +10% Movement over the amount given in the @Table[wind]{wind table}, but only in a tailwind or a sidewind. In a headwind, the Movement penalty is reduced by -5%</p>\n<p>A racing rig includes a @Item[Flying Jib (Row Boat)]{flying jib}, and the advantages of the two do not stack.</p>\n<p>This speed comes at a cost, though. The complex racing rig requires an expert crew, imposing a penalty of −10 to all <strong>Boat Handling</strong> Tests. In addition, all hits to the rigging cause double normal Damage.</p>"
|
||||
},
|
||||
{
|
||||
"id": "Racing Rig (Typical Barge or Patrol Boat)",
|
||||
"name": "Racing Rig (Typical Barge or Patrol Boat)",
|
||||
"description": "<p>As well as developing racing hulls (see above), the wealthy boat-owners of the Empire — or rather, the talented boat-builders in their employ — have developed a system of sails and rigging designed for speed, at the expense of some sturdiness. A racing rig allows a boat an extra +10% Movement over the amount given in the @Table[wind]{wind table}, but only in a tailwind or a sidewind. In a headwind, the Movement penalty is reduced by -5%</p>\n<p>A racing rig includes a @Item[Flying Jib (Typical Barge or Patrol Boat)]{flying jib}, and the advantages of the two do not stack.</p>\n<p>This speed comes at a cost, though. The complex racing rig requires an expert crew, imposing a penalty of −10 to all <strong>Boat Handling</strong> Tests. In addition, all hits to the rigging cause double normal Damage.</p>"
|
||||
"description": "<p>As well as developing racing hulls (see above), the wealthy boat.isOwners of the Empire — or rather, the talented boat-builders in their employ — have developed a system of sails and rigging designed for speed, at the expense of some sturdiness. A racing rig allows a boat an extra +10% Movement over the amount given in the @Table[wind]{wind table}, but only in a tailwind or a sidewind. In a headwind, the Movement penalty is reduced by -5%</p>\n<p>A racing rig includes a @Item[Flying Jib (Typical Barge or Patrol Boat)]{flying jib}, and the advantages of the two do not stack.</p>\n<p>This speed comes at a cost, though. The complex racing rig requires an expert crew, imposing a penalty of −10 to all <strong>Boat Handling</strong> Tests. In addition, all hits to the rigging cause double normal Damage.</p>"
|
||||
},
|
||||
{
|
||||
"id": "Raised Gunwales (Fishing Skiff)",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "WH4-fr-translation",
|
||||
"title": "WFRP4e - Core Module en français.",
|
||||
"description": "Traduction Française pour Warhammer v4.",
|
||||
"version": "4.0.2",
|
||||
"version": "4.0.3",
|
||||
"minimumCoreVersion" : "0.8.0",
|
||||
"compatibleCoreVersion": "0.8.8",
|
||||
"author": "LeRatierBretonnien",
|
||||
|
@ -395,12 +395,12 @@ export class WH4FRPatchConfig {
|
||||
else
|
||||
difficulty = "veasy"
|
||||
|
||||
if (args.actor.owner)
|
||||
if (args.actor.isOwner)
|
||||
{
|
||||
args.actor.setupSkill("Résistance", {absolute: {difficulty}}).then(setupData => {
|
||||
args.actor.basicTest(setupData).then(test =>
|
||||
{
|
||||
if (test.result.result == "failure")
|
||||
if (test.result.outcome == "failure")
|
||||
args.actor.addCondition("dead")
|
||||
})
|
||||
})
|
||||
@ -428,7 +428,7 @@ export class WH4FRPatchConfig {
|
||||
}
|
||||
else if (args.type == "skill")
|
||||
{
|
||||
if (applicableCharacteristics.includes(args.item.data.characteristic.value))
|
||||
if (applicableCharacteristics.includes(args.item.characteristic.value))
|
||||
args.prefillModifiers.modifier -= 10
|
||||
}
|
||||
`}
|
||||
@ -460,7 +460,7 @@ export class WH4FRPatchConfig {
|
||||
}
|
||||
else if (args.type == "skill")
|
||||
{
|
||||
if (applicableCharacteristics.includes(args.item.data.characteristic.value))
|
||||
if (applicableCharacteristics.includes(args.item.characteristic.value))
|
||||
args.prefillModifiers.modifier += modifier
|
||||
}
|
||||
}`
|
||||
@ -489,7 +489,7 @@ export class WH4FRPatchConfig {
|
||||
}
|
||||
else if (args.type == "skill")
|
||||
{
|
||||
if (applicableCharacteristics.includes(args.item.data.characteristic.value))
|
||||
if (applicableCharacteristics.includes(args.item.characteristic.value))
|
||||
args.prefillModifiers.modifier -= 10
|
||||
}`,
|
||||
"otherEffects" : ["blight", "wounded"]
|
||||
@ -543,7 +543,7 @@ export class WH4FRPatchConfig {
|
||||
}
|
||||
else if (args.type == "skill")
|
||||
{
|
||||
if (args.item.data.characteristic.value == "fel")
|
||||
if (args.item.characteristic.value == "fel")
|
||||
args.prefillModifiers.modifier -= 10
|
||||
}
|
||||
}`
|
||||
@ -583,14 +583,14 @@ export class WH4FRPatchConfig {
|
||||
"effectTrigger": "rollTest",
|
||||
"symptom" : true,
|
||||
"script": `
|
||||
if (this.actor.owner && args.result.result == "failure")
|
||||
if (this.actor.isOwner && args.test.result.outcome == "failure")
|
||||
{
|
||||
let applicableCharacteristics = ["ws", "bs", "s", "fel", "ag", "t", "dex"]
|
||||
if (applicableCharacteristics.includes(args.result.characteristic))
|
||||
if (applicableCharacteristics.includes(args.test.result.characteristic))
|
||||
this.actor.addCondition("stunned")
|
||||
else if (args.result.skill && applicableCharacteristics.includes(args.result.skill.data.characteristic.value))
|
||||
else if (args.test.result.skill && applicableCharacteristics.includes(args.test.result.skill.data.characteristic.value))
|
||||
this.actor.addCondition("stunned")
|
||||
else if (args.result.weapon)
|
||||
else if (args.test.result.weapon)
|
||||
this.actor.addCondition("stunned")
|
||||
|
||||
}
|
||||
@ -613,7 +613,7 @@ export class WH4FRPatchConfig {
|
||||
args.prefillModifiers.modifier -= 10
|
||||
else if (args.type == "skill")
|
||||
{
|
||||
if (args.item.data.characteristic.value == "fel")
|
||||
if (args.item.characteristic.value == "fel")
|
||||
args.prefillModifiers.modifier -= 10
|
||||
}
|
||||
}`
|
||||
@ -630,12 +630,12 @@ export class WH4FRPatchConfig {
|
||||
"effectTrigger": "invoke",
|
||||
"symptom" : true,
|
||||
"script": `
|
||||
if (args.actor.owner)
|
||||
if (args.actor.isOwner)
|
||||
{
|
||||
args.actor.setupSkill("Résistance", {absolute: {difficulty : "average"}}).then(setupData => {
|
||||
args.actor.basicTest(setupData).then(test =>
|
||||
{
|
||||
if (test.result.result == "failure")
|
||||
if (test.result.outcome == "failure")
|
||||
fromUuid("Compendium.wfrp4e-core.diseases.kKccDTGzWzSXCBOb").then(disease => {
|
||||
args.actor.createEmbeddedEntity("OwnedItem", disease.data)
|
||||
})
|
||||
@ -781,7 +781,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
actor : l'acteur qui encaisse les dégâts
|
||||
attacker : l'acteur qui porte l'attaque
|
||||
opposeData : l'objet qui détaille le Test Opposé
|
||||
opposedTest : l'objet qui détaille le Test Opposé
|
||||
damageType : le type de dégâts sélectionné (ignorer le Bonus d'Endurance, les PA, etc...)
|
||||
`,
|
||||
"applyDamage" :
|
||||
@ -791,7 +791,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
actor : l'acteur qui encaisse les dégâts
|
||||
attacker : l'acteur qui porte l'attaque
|
||||
opposeData : l'objet qui détaille le Test Opposé
|
||||
opposedTest : l'objet qui détaille le Test Opposé
|
||||
damageType : le type de dégâts sélectionné (ignorer le Bonus d'Endurance, les PA, etc...)
|
||||
totalWoundLoss : les Blessures perdues après calculs
|
||||
AP : les données concernant les PA utilisés
|
||||
@ -806,7 +806,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
actor : l'acteur qui encaisse les dégâts
|
||||
attacker : l'acteur qui porte l'attaque
|
||||
opposeData : l'objet qui détaille le Test Opposé
|
||||
opposedTest : l'objet qui détaille le Test Opposé
|
||||
damageType : le type de dégâts sélectionné (ignorer le Bonus d'Endurance, les PA, etc...)
|
||||
`,
|
||||
|
||||
@ -817,7 +817,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
actor : l'acteur qui encaisse les dégâts
|
||||
attacker : l'acteur qui porte l'attaque
|
||||
opposeData : l'objet qui détaille le Test Opposé
|
||||
opposedTest : l'objet qui détaille le Test Opposé
|
||||
damageType : le type de dégâts sélectionné (ignorer le Bonus d'Endurance, les PA, etc...)
|
||||
totalWoundLoss : les Blessures perdues après calculs
|
||||
AP : les données concernant les PA utilisés
|
||||
@ -867,7 +867,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
"preRollWeaponTest" :
|
||||
@ -875,7 +875,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -884,7 +884,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -893,7 +893,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -902,7 +902,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -911,7 +911,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -920,7 +920,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
"rollIncomeTest" :
|
||||
@ -928,7 +928,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -937,7 +937,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -946,7 +946,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -955,7 +955,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -964,7 +964,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -973,7 +973,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
args:
|
||||
|
||||
testData: Toutes les donnnées pour évaluer le résultat du test
|
||||
test: Toutes les donnnées pour évaluer le résultat du test
|
||||
cardOptions: Les données pour l'affichage dans le Tchat (titre, template, etc)
|
||||
`,
|
||||
|
||||
@ -984,7 +984,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
attackerTest: le résultat du test de l'attaquant
|
||||
defenderTest: le résultat du test du défenseur
|
||||
opposeResult: l'objet opposeResult, avant calcul
|
||||
opposedTest.result: l'objet opposedTest.result, avant calcul
|
||||
`,
|
||||
"preOpposedDefender" :
|
||||
`Cet effet s'applique avant le calcul du résultat d'un Test Opposé, en tant que défenseur.
|
||||
@ -993,7 +993,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
attackerTest: le résultat du test de l'attaquant
|
||||
defenderTest: le résultat du test du défenseur
|
||||
opposeResult: l'objet opposeResult, avant calcul
|
||||
opposedTest.result: l'objet opposedTest.result, avant calcul
|
||||
`,
|
||||
|
||||
"opposedAttacker" :
|
||||
@ -1003,7 +1003,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
attackerTest: le résultat du test de l'attaquant
|
||||
defenderTest: le résultat du test du défenseur
|
||||
opposeResult: l'objet opposeResult, avant calcul
|
||||
opposedTest.result: l'objet opposedTest.result, avant calcul
|
||||
`,
|
||||
|
||||
"opposedDefender" :
|
||||
@ -1013,7 +1013,7 @@ export class WH4FRPatchConfig {
|
||||
|
||||
attackerTest: le résultat du test de l'attaquant
|
||||
defenderTest: le résultat du test du défenseur
|
||||
opposeResult: l'objet opposeResult, avant calcul
|
||||
opposedTest.result: l'objet opposedTest.result, avant calcul
|
||||
`,
|
||||
|
||||
"calculateOpposedDamage" :
|
||||
@ -1024,7 +1024,7 @@ export class WH4FRPatchConfig {
|
||||
damage : calcul initial des dégâts avant multiplications
|
||||
damageMultiplier : facteur mutiplicateur basé sur la différence de taille
|
||||
sizeDiff : la différence numérique en taille, sera utilisé pour ajouter les dégâts/impact
|
||||
opposeResult: détail à propos du Test Opposé
|
||||
opposedTest.result: détail à propos du Test Opposé
|
||||
`,
|
||||
|
||||
"getInitiativeFormula" :
|
||||
|
87
tools/convert_compendium_for_v4.lua
Normal file
87
tools/convert_compendium_for_v4.lua
Normal file
@ -0,0 +1,87 @@
|
||||
package.path = package.path .. ";luajson/?.lua"
|
||||
local JSON = require"json"
|
||||
local lfs = require"lfs"
|
||||
|
||||
local mypath = '../compendium/'
|
||||
|
||||
local function convert( jsondb)
|
||||
|
||||
jsondb = jsondb:gsub("test.result", "test.result.outcome")
|
||||
jsondb = jsondb:gsub("result.result", "result.outcome")
|
||||
jsondb = jsondb:gsub("result.extra", "result")
|
||||
jsondb = jsondb:gsub("actor.data.AP", "actor.status.armour")
|
||||
jsondb = jsondb:gsub("item.data.APdamage", "item.getFlag('wfrp4e', 'APdamage')")
|
||||
jsondb = jsondb:gsub("data.data.", "")
|
||||
jsondb = jsondb:gsub("item.data", "item")
|
||||
jsondb = jsondb:gsub("weapon.data", "weapon")
|
||||
jsondb = jsondb:gsub("spell.data", "spell")
|
||||
jsondb = jsondb:gsub("prayer.data", "prayer")
|
||||
jsondb = jsondb:gsub("trait.data", "trait")
|
||||
jsondb = jsondb:gsub("testData.extra.characteristic", "testData.item")
|
||||
jsondb = jsondb:gsub("testData.extra.skill", "testData.item")
|
||||
jsondb = jsondb:gsub("testData.extra.weapon", "testData.item")
|
||||
jsondb = jsondb:gsub("testData.extra.spell", "testData.item")
|
||||
jsondb = jsondb:gsub("testData.extra.prayer", "testData.item")
|
||||
jsondb = jsondb:gsub("testData.extra.trait", "testData.item")
|
||||
jsondb = jsondb:gsub("testData.roll", "test.result.roll")
|
||||
jsondb = jsondb:gsub("testData", "test")
|
||||
jsondb = jsondb:gsub("item._id", "item.id")
|
||||
jsondb = jsondb:gsub("result.ammo", "test.ammo")
|
||||
jsondb = jsondb:gsub("args.result", "args.test.result")
|
||||
jsondb = jsondb:gsub(".owner", ".isOwner")
|
||||
jsondb = jsondb:gsub("spell.overcasts", "result.overcast")
|
||||
jsondb = jsondb:gsub("opposeResult", "opposedTest.result")
|
||||
jsondb = jsondb:gsub("opposeData.hitloc", "opposeData.result.hitloc")
|
||||
jsondb = jsondb:gsub("opposeData", "opposedTest")
|
||||
jsondb = jsondb:gsub("extra.critical", "critical")
|
||||
jsondb = jsondb:gsub("attackerTestResult.weapon", "attackerTest.item")
|
||||
jsondb = jsondb:gsub("defenderTestResult.weapon", "defenderTest.item")
|
||||
jsondb = jsondb:gsub("attackerTestResult.trait", "attackerTest.item")
|
||||
jsondb = jsondb:gsub("defenderTestResult.trait", "defenderTest.item")
|
||||
jsondb = jsondb:gsub("attackerTestResult.spell", "attackerTest.item")
|
||||
jsondb = jsondb:gsub("defenderTestResult.spell", "defenderTest.item")
|
||||
jsondb = jsondb:gsub("attackerTestResult.prayer", "attackerTest.item")
|
||||
jsondb = jsondb:gsub("defenderTestResult.prayer", "defenderTest.item")
|
||||
jsondb = jsondb:gsub("attackerTestResult.skill", "attackerTest.item")
|
||||
jsondb = jsondb:gsub("defenderTestResult.skill", "defenderTest.item")
|
||||
jsondb = jsondb:gsub("attackerTestResult", "attackerTest.result")
|
||||
jsondb = jsondb:gsub("defenderTestResult", "defenderTest.result")
|
||||
jsondb = jsondb:gsub("actor.data.characteristics", "actor.characteristics")
|
||||
jsondb = jsondb:gsub("test.result.outcome.result", "test.result.outcome")
|
||||
jsondb = jsondb:gsub("test.item.characteristic.value", "test.item.characteristic.key")
|
||||
jsondb = jsondb:gsub("test.extra.other", "test.result.other")
|
||||
|
||||
return jsondb
|
||||
end
|
||||
|
||||
local function parse_folder( mypath )
|
||||
--print("*** ENTERING", mypath)
|
||||
for file in lfs.dir(mypath) do
|
||||
--print(file)
|
||||
if file == '.' or file == '..' then
|
||||
|
||||
else
|
||||
local fp = io.open(mypath .."/".. file, "r+")
|
||||
local jsondb = fp:read("*a")
|
||||
fp:close()
|
||||
|
||||
jsondb = convert( jsondb)
|
||||
|
||||
fp = io.open(mypath .."/".. file, "w+")
|
||||
fp:write(jsondb)
|
||||
fp:close()
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
--parse_folder( mypath )
|
||||
local fp = io.open("../modules/config-patch.js", "r+")
|
||||
local jsondb = fp:read("*a")
|
||||
fp:close()
|
||||
|
||||
jsondb = convert(jsondb)
|
||||
|
||||
fp = io.open("../modules/config-patch.js", "w+")
|
||||
fp:write(jsondb)
|
||||
fp:close()
|
Loading…
Reference in New Issue
Block a user