Compare commits
11 Commits
foundryvtt
...
foundryvtt
Author | SHA1 | Date | |
---|---|---|---|
a679da4674 | |||
a64ff7dd55 | |||
f916c14848 | |||
be09aec8cd | |||
1662ea9804 | |||
d725b84011 | |||
bd74d179f0 | |||
f175bd9f78 | |||
96b49682c9 | |||
a5b784ac03 | |||
864701da4b |
@ -29,13 +29,13 @@ const _patch_eis = () => {
|
||||
args.actor.setupSkill("Résistance", {context : {failure: "1 Point de Corruption reçu", success : "1 Point de Chance gagné"}}).then(setupData => {
|
||||
args.actor.basicTest(setupData).then(test =>
|
||||
{
|
||||
if (test.result.result == "success" && args.actor.data.type == "character")
|
||||
if (test.result.result == "success" && args.actor.type == "character")
|
||||
{
|
||||
args.actor.update({"data.status.fortune.value" : args.actor.data.data.status.fortune.value + 1})
|
||||
args.actor.update({"system.status.fortune.value" : args.actor.system.status.fortune.value + 1})
|
||||
}
|
||||
else if (test.result.result == "failure" && args.actor.data.type == "character")
|
||||
else if (test.result.result == "failure" && args.actor.type == "character")
|
||||
{
|
||||
args.actor.update({"data.status.corruption.value" : args.actor.data.data.status.corruption.value + 1})
|
||||
args.actor.update({"system.status.corruption.value" : args.actor.system.status.corruption.value + 1})
|
||||
}
|
||||
})
|
||||
})`
|
||||
@ -272,24 +272,24 @@ const __add_actors_translation = () => {
|
||||
const lang = game.settings.get('core', 'language');
|
||||
if (lang == "fr") {
|
||||
let pack_array = [];
|
||||
for (let metadata of game.data.packs) {
|
||||
for (let metadata of game.packs) {
|
||||
if (!game.babele.isTranslated(metadata) && metadata.documentName === 'Actor') {
|
||||
//console.log("PACK : ", metadata);
|
||||
let translations = {
|
||||
"label": metadata.name,
|
||||
"mapping": {
|
||||
"name": "name",
|
||||
"description": "details.biography.value",
|
||||
"description": "system.biography.value",
|
||||
"items": {
|
||||
"path": "items",
|
||||
"converter": "bestiary_traits"
|
||||
},
|
||||
"characteristics": {
|
||||
"path": "data.characteristics",
|
||||
"path": "system.characteristics",
|
||||
"converter": "npc_characteristics"
|
||||
},
|
||||
"details": {
|
||||
"path": "data.details",
|
||||
"path": "system.details",
|
||||
"converter": "npc_details"
|
||||
}
|
||||
},
|
||||
|
@ -2,7 +2,7 @@
|
||||
import statParserFR from "./modules/import-stat-2.js";
|
||||
|
||||
/************************************************************************************/
|
||||
var compmod = "wfrp4e";
|
||||
var compmod = "wfrp4e-core";
|
||||
const vo_conditions = {
|
||||
"ablaze": "Ablaze",
|
||||
"bleeding": "Bleeding",
|
||||
@ -25,8 +25,8 @@ const vo_conditions = {
|
||||
Hooks.once('init', () => {
|
||||
|
||||
// Check various settings in the installation
|
||||
game.modules.forEach((module, name) => {
|
||||
if ( name == "wfrp4e-core" && module.active) {
|
||||
game.modules.forEach((module, id) => {
|
||||
if ( id == "wfrp4e-core" && module.active) {
|
||||
compmod = "wfrp4e-core";
|
||||
}
|
||||
} );
|
||||
@ -145,7 +145,7 @@ Hooks.once('init', () => {
|
||||
if(typeof Babele !== 'undefined') {
|
||||
|
||||
Babele.get().register({
|
||||
module: 'WH4-fr-translation',
|
||||
module: 'wh4-fr-translation',
|
||||
lang: 'fr',
|
||||
dir: 'compendium'
|
||||
});
|
||||
@ -250,6 +250,7 @@ Hooks.once('init', () => {
|
||||
var name_en = trait_en.name.trim(); // strip \r in some traits name
|
||||
|
||||
if ( trait_en.type == "trait") {
|
||||
console.log("Trait translation", compmod, trait_en)
|
||||
if ( name_en.includes("Tentacles") ) { // Process specific Tentacles case
|
||||
var re = /(.d*)x Tentacles/i;
|
||||
var res = re.exec( name_en );
|
||||
@ -263,19 +264,19 @@ Hooks.once('init', () => {
|
||||
special = " (" + game.i18n.localize( res[2].trim() ) + ")"; // And the special keyword
|
||||
}
|
||||
var trait_fr = game.babele.translate( compmod+'.traits', { name: name_en }, true );
|
||||
//console.log(">>>>> Trait ?", name_en, nbt, trait_fr, trait_fr.name, special);
|
||||
console.log(">>>>> Trait ?", name_en, nbt, trait_fr, trait_fr.name, special);
|
||||
trait_en.name = nbt + trait_fr.name + special;
|
||||
if ( trait_fr.data && trait_fr.data.description && trait_fr.data.description.value ) {
|
||||
trait_en.data.description.value = trait_fr.data.description.value;
|
||||
if ( trait_fr.system && trait_fr.system.description && trait_fr.system.description.value ) {
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
} else if ( game.modules.get( 'wfrp4e-eis') ) { // No description in the FR compendium -> test other compendium if presenr
|
||||
trait_fr = game.babele.translate( 'wfrp4e-eis.eisitems', { name: name_en }, true);
|
||||
trait_en.name = nbt + trait_fr.name + special;
|
||||
if ( trait_fr.data && trait_fr.data.description && trait_fr.data.description.value )
|
||||
trait_en.data.description.value = trait_fr.data.description.value;
|
||||
if ( trait_fr.system && trait_fr.system.description && trait_fr.system.description.value )
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
}
|
||||
if ( trait_en.data && trait_en.data.specification && isNaN(trait_en.data.specification.value) ) { // This is a string, so translate it
|
||||
//console.log("Translating : ", trait_en.data.specification.value);
|
||||
trait_en.data.specification.value = game.i18n.localize( trait_en.data.specification.value.trim() );
|
||||
if ( trait_en.system && trait_en.system.specification && isNaN(trait_en.system.specification.value) ) { // This is a string, so translate it
|
||||
//console.log("Translating : ", trait_en.system.specification.value);
|
||||
trait_en.system.specification.value = game.i18n.localize( trait_en.system.specification.value.trim() );
|
||||
}
|
||||
} else if ( trait_en.type == "skill") {
|
||||
if ( name_en.includes("(") && name_en.includes(")") ) { // Then process specific skills name with (xxxx) inside
|
||||
@ -288,8 +289,8 @@ Hooks.once('init', () => {
|
||||
//console.log(">>>>> Skill ?", name_en, special, trait_fr.name, trait_fr);
|
||||
if (trait_fr.name != name_en) { // Translation OK
|
||||
trait_en.name = trait_fr.name + special;
|
||||
if ( trait_fr.data ) {
|
||||
trait_en.data.description.value = trait_fr.data.description.value;
|
||||
if ( trait_fr.system ) {
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
}
|
||||
}
|
||||
|
||||
@ -297,8 +298,8 @@ Hooks.once('init', () => {
|
||||
var trait_fr = game.babele.translate( compmod+'.prayers', { name: name_en }, true);
|
||||
//console.log(">>>>> Prayer ?", name_en, special, trait_fr.name );
|
||||
trait_en.name = trait_fr.name + special;
|
||||
if ( trait_fr.data && trait_fr.data.description && trait_fr.data.description.value )
|
||||
trait_en.data.description.value = trait_fr.data.description.value;
|
||||
if ( trait_fr.system && trait_fr.system.description && trait_fr.system.description.value )
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
|
||||
} else if ( trait_en.type == "spell") {
|
||||
var trait_fr = game.babele.translate( compmod+'.spells', { name: name_en }, true);
|
||||
@ -310,8 +311,8 @@ Hooks.once('init', () => {
|
||||
}
|
||||
//console.log(">>>>> Spell ?", name_en, special, trait_fr.name );
|
||||
trait_en.name = trait_fr.name + special;
|
||||
if ( trait_fr.data && trait_fr.data.description && trait_fr.data.description.value )
|
||||
trait_en.data.description.value = trait_fr.data.description.value;
|
||||
if ( trait_fr.system && trait_fr.system.description && trait_fr.system.description.value )
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
} else if ( trait_en.type == "talent") {
|
||||
if ( name_en.includes("(") && name_en.includes(")") ) { // Then process specific skills name with (xxxx) inside
|
||||
var re = /(.*) +\((.*)\)/i;
|
||||
@ -326,21 +327,21 @@ Hooks.once('init', () => {
|
||||
}
|
||||
if ( trait_fr.name == "Sprinter" || trait_fr.name != name_en) { // Talent translated!
|
||||
trait_en.name = trait_fr.name.trim() + special;
|
||||
if ( trait_fr.data ) { // Why ???
|
||||
trait_en.data.description.value = trait_fr.data.description.value;
|
||||
if ( trait_fr.system ) { // Why ???
|
||||
trait_en.system.description.value = trait_fr.system.description.value;
|
||||
}
|
||||
}
|
||||
} else if ( trait_en.type == "career") {
|
||||
var career_fr = game.babele.translate( compmod+'.careers', trait_en, true );
|
||||
console.log(">>>>> Career ?", name_en, career_fr.name );
|
||||
trait_en.name = career_fr.name;
|
||||
trait_en.data = duplicate(career_fr.data);
|
||||
trait_en.system = duplicate(career_fr.system);
|
||||
} else if ( trait_en.type == "trapping" || trait_en.type == "weapon" || trait_en.type == "armour" || trait_en.type == "container" || trait_en.type == "money") {
|
||||
var trapping_fr = game.babele.translate( compmod+'.trappings', trait_en, true );
|
||||
//console.log(">>>>> Trapping ?", name_en, trapping_fr.name);
|
||||
trait_en.name = trapping_fr.name;
|
||||
if ( trapping_fr.data) {
|
||||
trait_en.data.description = trapping_fr.data.description;
|
||||
if ( trapping_fr.system) {
|
||||
trait_en.system.description = trapping_fr.system.description;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -354,11 +355,17 @@ Hooks.once('init', () => {
|
||||
"trapping_qualities_flaws": (value) => {
|
||||
if ( value ) {
|
||||
let newQF = [];
|
||||
//console.log("ATOUTS", value);
|
||||
var i=0;
|
||||
//var re = /(.*) (\d+)/i;
|
||||
for (i=0; i<value.length; i++) {
|
||||
newQF[i] = duplicate(value[i]);
|
||||
//console.log("ATOUTS", value, typeof(value));
|
||||
let list = value
|
||||
if (typeof(value) == "string") {
|
||||
let myList = value.split(",")
|
||||
list = []
|
||||
for (let l of myList) {
|
||||
list.push( { name: l.trim() } )
|
||||
}
|
||||
}
|
||||
for (let i=0; i<list.length; i++) {
|
||||
newQF[i] = duplicate(list[i] )
|
||||
if ( newQF[i].name == "Trap Blade") {
|
||||
newQF[i].name = "TrapBlade"; // Auto-patch, without space!
|
||||
//console.log("PATCHED", trim);
|
||||
|
File diff suppressed because one or more lines are too long
@ -2,22 +2,22 @@
|
||||
"label": "Carrières Religieuses",
|
||||
"mapping": {
|
||||
"skills": {
|
||||
"path": "data.skills",
|
||||
"path": "system.skills",
|
||||
"converter": "career_skills"
|
||||
},
|
||||
"talents": {
|
||||
"path": "data.talents",
|
||||
"path": "system.talents",
|
||||
"converter": "career_talents"
|
||||
},
|
||||
"class": {
|
||||
"path": "data.class.value",
|
||||
"path": "dasystemta.class.value",
|
||||
"converter": "generic_localization"
|
||||
},
|
||||
"careergroup": {
|
||||
"path": "data.careergroup.value",
|
||||
"path": "system.careergroup.value",
|
||||
"converter": "career_careergroup"
|
||||
},
|
||||
"trappings": "data.trappings"
|
||||
"trappings": "system.trappings"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
|
@ -1,13 +1,13 @@
|
||||
{
|
||||
"label": "Objets Religieux",
|
||||
"mapping": {
|
||||
"special": "data.special.value",
|
||||
"special": "system.special.value",
|
||||
"qualities": {
|
||||
"path": "data.qualities.value",
|
||||
"path": "system.qualities.value",
|
||||
"converter": "trapping_qualities_flaws"
|
||||
},
|
||||
"flaws": {
|
||||
"path": "data.flaws.value",
|
||||
"path": "system.flaws.value",
|
||||
"converter": "trapping_qualities_flaws"
|
||||
}
|
||||
},
|
||||
|
@ -6,7 +6,7 @@
|
||||
"converter": "bestiary_traits"
|
||||
},
|
||||
"characteristics": {
|
||||
"path": "data.characteristics",
|
||||
"path": "system.characteristics",
|
||||
"converter": "npc_characteristics"
|
||||
}
|
||||
},
|
||||
|
@ -2,22 +2,22 @@
|
||||
"label": "Carrières",
|
||||
"mapping": {
|
||||
"skills": {
|
||||
"path": "data.skills",
|
||||
"path": "system.skills",
|
||||
"converter": "career_skills"
|
||||
},
|
||||
"talents": {
|
||||
"path": "data.talents",
|
||||
"path": "system.talents",
|
||||
"converter": "career_talents"
|
||||
},
|
||||
"class": {
|
||||
"path": "data.class.value",
|
||||
"path": "system.class.value",
|
||||
"converter": "generic_localization"
|
||||
},
|
||||
"careergroup": {
|
||||
"path": "data.careergroup.value",
|
||||
"path": "system.careergroup.value",
|
||||
"converter": "career_careergroup"
|
||||
},
|
||||
"trappings": "data.trappings"
|
||||
"trappings": "system.trappings"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
|
@ -3,7 +3,7 @@
|
||||
"mapping": {
|
||||
"location": {
|
||||
"converter": "generic_localization",
|
||||
"path": "data.location.value"
|
||||
"path": "system.location.value"
|
||||
},
|
||||
"effects": "effects"
|
||||
},
|
||||
@ -143,7 +143,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.qn4ZpvTQIX4rcJDl\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.qn4ZpvTQIX4rcJDl\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -175,7 +175,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.diseases.kKccDTGzWzSXCBOb\").then(disease=> {\n args.actor.createEmbeddedEntity(\"OwnedItem\", disease.data)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.diseases.kKccDTGzWzSXCBOb\").then(disease=> {\n args.actor.createEmbeddedDocuments(\"Item\", disease.toObject())\n})"
|
||||
}
|
||||
},
|
||||
"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({async: false}).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})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.fBcZhOBn8IpoVqQ1\").then(injury => {\n let teeth = new Roll(\"1d10\").roll({async: false}).total\n ChatMessage.create({content : `<b>${this.actor.prototypeToken.name}</b> a perdu ${teeth} dents`, speaker : {alias: this.effect.label}})\ninjury.location.value = `${teeth} ${injury.location.value}`\n args.actor.createEmbeddedDocuments(\"Item\", injury.toObject())\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -608,7 +608,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.EaqlLRQigwnsEAXX\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.EaqlLRQigwnsEAXX\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()] )\n} )"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -640,7 +640,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"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}"
|
||||
"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.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})\n\n\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -729,7 +729,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.nF5z1OEhpi4t6a6S\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.nF5z1OEhpi4t6a6S\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject() ] )\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -848,7 +848,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid('Compendium.wfrp4e-core.injuries.EaqlLRQigwnsEAXX').then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid('Compendium.wfrp4e-core.injuries.EaqlLRQigwnsEAXX').then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()] )\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -1004,7 +1004,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.QluSTTTq3viHJJUh\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.QluSTTTq3viHJJUh\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -1054,7 +1054,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.2A7SW9eXsm7MvLsk\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.2A7SW9eXsm7MvLsk\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -1246,7 +1246,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.weczkAMPlTjX7lqU\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.SpPRZZRHxly7uo2G\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.weczkAMPlTjX7lqU\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.roObject()])\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.SpPRZZRHxly7uo2G\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -1321,7 +1321,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "endCombat",
|
||||
"preventDuplicateEffects": false,
|
||||
"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 })"
|
||||
"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.createEmbeddedDocuments(\"Item\", [injury..toObject()])\n this.actor.deleteEmbeddedDocuments(\"ActiveEffect\", this.effect._id)\n })\n }\n })\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -1461,7 +1461,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.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 })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.GlShFJF2TpsNh1FX\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\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",
|
||||
@ -1644,7 +1644,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.GlShFJF2TpsNh1FX\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.GlShFJF2TpsNh1FX\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -1772,7 +1772,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.SYjWiKDzMS6CtROJ\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.SYjWiKDzMS6CtROJ\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()] )\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -1804,7 +1804,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.eWPN3CV2Eddwz8aM\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.eWPN3CV2Eddwz8aM\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -1927,7 +1927,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.3S4OYOZLauXctmev\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.7mCcI3q7hgWcmbBU\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.3S4OYOZLauXctmev\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.7mCcI3q7hgWcmbBU\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -2158,7 +2158,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.2iult41Jehz0F1O8\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.2iult41Jehz0F1O8\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -2319,7 +2319,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.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 })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.QluSTTTq3viHJJUh\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\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",
|
||||
@ -2367,7 +2367,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.diseases.M8XyRs9DN12XsFTQ\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.diseases.M8XyRs9DN12XsFTQ\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
@ -2438,7 +2438,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.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 })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.7mCcI3q7hgWcmbBU\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\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",
|
||||
@ -2470,7 +2470,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.qn4ZpvTQIX4rcJDl\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.qn4ZpvTQIX4rcJDl\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -2521,7 +2521,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.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 })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.hCadFsTRvLN9faaY\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\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",
|
||||
@ -2572,7 +2572,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.nbhn2wX35b7Jrcbg\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.nbhn2wX35b7Jrcbg\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -2640,7 +2640,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.fBcZhOBn8IpoVqQ1\").then(injury => {\n let teeth = new Roll(\"1d10\").roll({async: false}).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 })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.fBcZhOBn8IpoVqQ1\").then(injury => {\n let teeth = new Roll(\"1d10\").roll({async: false}).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.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.rkJA1DlK51QuRlJy\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})\n\nfromUuid(\"Compendium.wfrp4e-core.injuries.hCadFsTRvLN9faaY\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\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",
|
||||
@ -2696,7 +2696,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.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 })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.zyocWSzEZEC826NS\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\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",
|
||||
@ -2764,7 +2764,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.SYjWiKDzMS6CtROJ\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.SYjWiKDzMS6CtROJ\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()] )\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -2954,7 +2954,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.weczkAMPlTjX7lqU\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.weczkAMPlTjX7lqU\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -3025,7 +3025,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.8piWcBKFlQ2J1E3A\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.8piWcBKFlQ2J1E3A\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/head.png",
|
||||
@ -3182,7 +3182,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"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 }"
|
||||
"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.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n })\n }\n })\n })\n }"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -3272,7 +3272,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.gz2xy41OSVZ8YBgI\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.gz2xy41OSVZ8YBgI\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -3460,7 +3460,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.k00PimCWkff11IA0\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.k00PimCWkff11IA0\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornleg.png",
|
||||
@ -3492,7 +3492,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.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 })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.3S4OYOZLauXctmev\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\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",
|
||||
@ -3582,7 +3582,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.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 })"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.MnMZv7ZXoRqoH9dS\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\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",
|
||||
@ -3614,7 +3614,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.GlShFJF2TpsNh1FX\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.GlShFJF2TpsNh1FX\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornarm.png",
|
||||
@ -3646,7 +3646,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.7rBhIRo96Mydo0Cv\").then(injury => {\n args.actor.createEmbeddedEntity(\"OwnedItem\", injury)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.injuries.7rBhIRo96Mydo0Cv\").then(injury => {\n args.actor.createEmbeddedDocuments(\"Item\", [injury.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/injuries/tornbody.png",
|
||||
|
@ -1,12 +1,12 @@
|
||||
{
|
||||
"mapping": {
|
||||
"durationValue": "data.duration.value",
|
||||
"durationUnit": "data.duration.unit",
|
||||
"contraction": "data.contraction.value",
|
||||
"incubationValue": "data.incubation.value",
|
||||
"incubationUnit": "data.incubation.unit",
|
||||
"symptoms": "data.symptoms.value",
|
||||
"permanent": "data.permanent.value",
|
||||
"durationValue": "system.duration.value",
|
||||
"durationUnit": "system.duration.unit",
|
||||
"contraction": "system.contraction.value",
|
||||
"incubationValue": "system.incubation.value",
|
||||
"incubationUnit": "system.incubation.unit",
|
||||
"symptoms": "system.symptoms.value",
|
||||
"permanent": "system.permanent.value",
|
||||
"effects": "effects"
|
||||
},
|
||||
"label": "Maladies",
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"label": "Blessures",
|
||||
"mapping": {
|
||||
"penalty": "data.penalty.value",
|
||||
"penalty": "system.penalty.value",
|
||||
"location": {
|
||||
"path": "data.location.value",
|
||||
"path": "system.location.value",
|
||||
"converter": "generic_localization"
|
||||
},
|
||||
"effects": "effects"
|
||||
|
File diff suppressed because one or more lines are too long
@ -2,11 +2,11 @@
|
||||
"label": "Mutations",
|
||||
"mapping": {
|
||||
"modifier": {
|
||||
"path": "data.modifier.value",
|
||||
"path": "system.modifier.value",
|
||||
"converter": "mutations_modifier"
|
||||
},
|
||||
"mutationType": {
|
||||
"path": "data.mutationType.value",
|
||||
"path": "system.mutationType.value",
|
||||
"converter": "generic_localization"
|
||||
},
|
||||
"effects": {
|
||||
|
@ -2,19 +2,19 @@
|
||||
"label": "Prières",
|
||||
"mapping": {
|
||||
"pduration": {
|
||||
"path": "data.duration.value",
|
||||
"path": "system.duration.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"prange": {
|
||||
"path": "data.range.value",
|
||||
"path": "system.range.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"ptarget": {
|
||||
"path": "data.target.value",
|
||||
"path": "system.target.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"pdamage": {
|
||||
"path": "data.damage.value",
|
||||
"path": "system.damage.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"effects": "effects"
|
||||
@ -88,7 +88,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "prePrepareData",
|
||||
"script": "args.actor.data.items = args.actor.data.items.filter(i => i.type != \"psychology\")"
|
||||
"script": "args.actor.items = args.actor.items.filter(i => i.type != \"psychology\")"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.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)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.psychologies.5hH73j2NgPdsLCZN\").then(item => {\n args.actor.createEmbeddedDocuments(\"Item\", [item.toObject()])\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)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.talents.J9MK0AIaTbvd5oF6\").then(item => {\n args.actor.createEmbeddedDocuments(\"Item\", [item.toObject()])\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)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.talents.CV9btQn09S9Fn8Jk\").then(item => {\n args.actor.createEmbeddedDocuments(\"Item\", [item.toObject()])\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)\n})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.talents.g4Q6AtzZuo5iIvD4\").then(item => {\n args.actor.createEmbeddedDocuments(\"Item\", [item.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.png",
|
||||
@ -1142,7 +1142,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"script": "let damage = (await new Roll(\"1d10\")).roll({async: false}).total\n args.actor.applyBasicDamage(damage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL})\n\nif (args.actor.has(\"Mort-vivant\") || args.actor.data.has(\"Démoniaque\"))\n{\n args.actor.addCondition(\"ablaze\")\n}"
|
||||
"script": "let damage = (await new Roll(\"1d10\")).roll({async: false}).total\n args.actor.applyBasicDamage(damage, {damageType : game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL})\n\nif (args.actor.has(\"Mort-vivant\") || args.actor.has(\"Démoniaque\"))\n{\n args.actor.addCondition(\"ablaze\")\n}"
|
||||
}
|
||||
},
|
||||
"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.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})"
|
||||
"script": "fromUuid(\"Compendium.wfrp4e-core.traits.pLW9SVX0TVTYPiPv\").then(item => {\n item.system.specification.value = 3\n this.actor.createEmbeddedDocuments(\"Item\", [item.toObject()])\n})\n\nfromUuid(\"Compendium.wfrp4e-core.traits.AtpAudHA4ybXVlWM\").then(item => {\n item.system.specification.value = 4\n this.actor.createEmbeddedDocuments(\"Item\", [item.toObject()])\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/prayers/miracles.png",
|
||||
|
@ -2,19 +2,19 @@
|
||||
"label": "Sorts",
|
||||
"mapping": {
|
||||
"sduration": {
|
||||
"path": "data.duration.value",
|
||||
"path": "system.duration.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"srange": {
|
||||
"path": "data.range.value",
|
||||
"path": "system.range.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"starget": {
|
||||
"path": "data.target.value",
|
||||
"path": "system.target.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"sdamage": {
|
||||
"path": "data.damage.value",
|
||||
"path": "system.damage.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"effects": "effects"
|
||||
@ -121,7 +121,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -550,7 +550,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -746,7 +746,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -804,7 +804,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -1008,7 +1008,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(this.effect.origin).then(caster=> {\n if (caster&& (args.actor.has(game.i18n.localize(\"NAME.Undead\")) || args.actor.has(game.i18n.localize(\"NAME.Daemonic\"))))\n {\n let wp = caster.characteristics.wp.value\n if (wp > args.actor.characteristics.t.value)\n {\n if (args.actor.has(game.i18n.localize(\"NAME.Unstable\")))\n {\n args.actor.update({\"data.status.wounds.value\" : 0})\n args.actor.addCondition(\"dead\")\n }\n else\n {\n fromUuid(\"Compendium.wfrp4e-core.traits.D0ImWEIMSDgElsnl\").then(item => {\n args.actor.createEmbeddedDocuments(\"Item\", [item])\n ChatMessage.create({content : `Ajout d'Instable à ${args.actor.data.token.name}`, speaker : {alias: caster.name}})\n })\n }\n }\n }\n })"
|
||||
"script": "fromUuid(this.effect.origin).then(caster=> {\n if (caster&& (args.actor.has(game.i18n.localize(\"NAME.Undead\")) || args.actor.has(game.i18n.localize(\"NAME.Daemonic\"))))\n {\n let wp = caster.characteristics.wp.value\n if (wp > args.actor.characteristics.t.value)\n {\n if (args.actor.has(game.i18n.localize(\"NAME.Unstable\")))\n {\n args.actor.update({\"data.status.wounds.value\" : 0})\n args.actor.addCondition(\"dead\")\n }\n else\n {\n fromUuid(\"Compendium.wfrp4e-core.traits.D0ImWEIMSDgElsnl\").then(item => {\n args.actor.createEmbeddedDocuments(\"Item\", [item])\n ChatMessage.create({content : `Ajout d'Instable à ${args.actor.prototypeToken.name}`, speaker : {alias: caster.name}})\n })\n }\n }\n }\n })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/banishment.png",
|
||||
@ -1113,7 +1113,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -1136,7 +1136,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -1184,7 +1184,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -1213,7 +1213,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -1486,7 +1486,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -1688,7 +1688,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -1890,7 +1890,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -2100,7 +2100,7 @@
|
||||
"effectApplication": "damage",
|
||||
"effectTrigger": "applyDamage",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let applyAP = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_TB || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\nlet applyTB = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\n\n\nif (applyAP) \n{\n let AP = args.AP\n\n args.totalWoundLoss += AP.used\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"AP\")))\n args.messageElements[apIndex] = \"0/\" + AP.value + \" \" + game.i18n.localize(\"AP\")\n}\n\nif (applyTB)\n{\n let TB = args.actor.characteristics.t.bonus\n args.totalWoundLoss += TB\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"TB\")))\n args.messageElements[apIndex] = \"0/\" + TB + \" \" + game.i18n.localize(\"TB\")\n}\n\nlet woundsGained = Math.min(args.totalWoundLoss, args.actor.status.wounds.value)\n\nwoundsGained = Math.floor(woundsGained / 2)\n\nlet attackerWounds = duplicate(args.attacker.status.wounds)\n\nattackerWounds.value += woundsGained\n\nif (attackerWounds.value >= attackerWounds.max)\n attackerWounds.value = attackerWounds.max\n\nargs.attacker.update({ \"data.status.wounds\": attackerWounds })\n\nChatMessage.create({ content: `<b>${args.attacker.data.token.name}</b> subit ${woundsGained} Points de Blessures` })"
|
||||
"script": "let applyAP = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_TB || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\nlet applyTB = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_AP || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\n\n\nif (applyAP) \n{\n let AP = args.AP\n\n args.totalWoundLoss += AP.used\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"AP\")))\n args.messageElements[apIndex] = \"0/\" + AP.value + \" \" + game.i18n.localize(\"AP\")\n}\n\nif (applyTB)\n{\n let TB = args.actor.characteristics.t.bonus\n args.totalWoundLoss += TB\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"TB\")))\n args.messageElements[apIndex] = \"0/\" + TB + \" \" + game.i18n.localize(\"TB\")\n}\n\nlet woundsGained = Math.min(args.totalWoundLoss, args.actor.status.wounds.value)\n\nwoundsGained = Math.floor(woundsGained / 2)\n\nlet attackerWounds = duplicate(args.attacker.status.wounds)\n\nattackerWounds.value += woundsGained\n\nif (attackerWounds.value >= attackerWounds.max)\n attackerWounds.value = attackerWounds.max\n\nargs.attacker.update({ \"data.status.wounds\": attackerWounds })\n\nChatMessage.create({ content: `<b>${args.attacker.prototypeToken.name}</b> subit ${woundsGained} Points de Blessures` })"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/caress-of-laniph.png",
|
||||
@ -2221,7 +2221,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "preOpposedDefender",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "if ((args.attackerTest.weapon && args.attackerTest.weapon.attackType == \"melee\") || (args.attackerTest.trait && !args.attackerTest.trait.name.includes(\"Ranged\")))\n{\n let content = `<b>${args.attackerTest.actor.data.token.name}</b> reçoit ${this.actor.characteristics.wp.bonus} Dégats du Bouclier Céruléen si il utilise une arme en métal.`\n args.opposedTest.result.other.push(content);\n}"
|
||||
"script": "if ((args.attackerTest.weapon && args.attackerTest.weapon.attackType == \"melee\") || (args.attackerTest.trait && !args.attackerTest.trait.name.includes(\"Ranged\")))\n{\n let content = `<b>${args.attackerTest.actor.prototypeToken.name}</b> reçoit ${this.actor.characteristics.wp.bonus} Dégats du Bouclier Céruléen si il utilise une arme en métal.`\n args.opposedTest.result.other.push(content);\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/cerulean-shield.png",
|
||||
@ -2267,7 +2267,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -2596,7 +2596,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/blank.png",
|
||||
@ -2628,7 +2628,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actorprototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -2645,7 +2645,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -2676,7 +2676,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/daemonology.png",
|
||||
@ -2708,7 +2708,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/death.png",
|
||||
@ -2756,7 +2756,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/fire.png",
|
||||
@ -2804,7 +2804,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/heavens.png",
|
||||
@ -2852,7 +2852,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/life.png",
|
||||
@ -2900,7 +2900,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/light.png",
|
||||
@ -2948,7 +2948,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/metal.png",
|
||||
@ -2996,7 +2996,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/necromancy.png",
|
||||
@ -3028,7 +3028,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.data.token.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}</b>: Toutes les cibles au contact avec <b>${this.actor.prototypeToken.name}</b> encaissent [[/r 1d10]] Dégâts, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/shadow.png",
|
||||
@ -3287,7 +3287,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -3672,7 +3672,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -4101,7 +4101,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -4328,7 +4328,7 @@
|
||||
"effectApplication": "damage",
|
||||
"effectTrigger": "applyDamage",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let wounds = duplicate(args.attacker.status.wounds)\nwounds.value+=1\n\nif (wounds.value > wounds.max)\n wounds.value = wounds.max\n\nargs.attacker.update({\"data.status.wounds\" : wounds})\n\nChatMessage.create({content: `${args.attacker.data.token.name} récupère 1 blessure.`})"
|
||||
"script": "let wounds = duplicate(args.attacker.status.wounds)\nwounds.value+=1\n\nif (wounds.value > wounds.max)\n wounds.value = wounds.max\n\nargs.attacker.update({\"data.status.wounds\" : wounds})\n\nChatMessage.create({content: `${args.attacker.prototypeToken.name} récupère 1 blessure.`})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/petty.png",
|
||||
@ -4358,7 +4358,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -4585,7 +4585,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "endRound",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let bonus = caster.characteristics.wp.bonus\n this.actor.modifyWounds(bonus)\n\n ChatMessage.create({content: `${this.actor.data.token.name} regagne ${bonus} Points de Blessures (si en contact direct avec la Terre)`, speaker : {alias : this.effect.label}})\n }\n})"
|
||||
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let bonus = caster.characteristics.wp.bonus\n this.actor.modifyWounds(bonus)\n\n ChatMessage.create({content: `${this.actor.prototypeToken.name} regagne ${bonus} Points de Blessures (si en contact direct avec la Terre)`, speaker : {alias : this.effect.label}})\n }\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/earthblood.png",
|
||||
@ -4734,7 +4734,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -5211,7 +5211,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Select a target to apply the effect.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Select a target to apply the effect.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/blank.png",
|
||||
@ -5236,7 +5236,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/blank.png",
|
||||
@ -5268,7 +5268,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -5285,7 +5285,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -5316,7 +5316,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/daemonology.png",
|
||||
@ -5348,7 +5348,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/death.png",
|
||||
@ -5396,7 +5396,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/fire.png",
|
||||
@ -5444,7 +5444,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/heavens.png",
|
||||
@ -5492,7 +5492,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/life.png",
|
||||
@ -5540,7 +5540,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/light.png",
|
||||
@ -5588,7 +5588,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/metal.png",
|
||||
@ -5636,7 +5636,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/necromancy.png",
|
||||
@ -5668,7 +5668,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Sélectionnez une cible pour appliquer l'effet.\")\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/shadow.png",
|
||||
@ -5932,7 +5932,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -6355,7 +6355,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -6603,7 +6603,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let healed= caster.characteristics.wp.bonus + caster.characteristics.int.bonus\n let wounds = duplicate(args.actor.status.wounds)\n wounds.value+=healed\n \n if (wounds.value > wounds.max)\n wounds.value = wounds.max\n \n args.actor.update({\"data.status.wounds\" : wounds})\n ChatMessage.create({content: `${this.actor.data.token.name} regains ${healed} Wounds`, speaker : {alias : this.effect.label}})\n }\n})\n\nthis.actor.setupSkill(\"Résistance\", {absolute : {difficulty : \"vhard\"}, context : {success : \"1 Corruption point that was gained within the last hour is removed.\", failure: \"Nothing happens\"}}).then(setupData => {\n this.actor.basicTest(setupData)\n})"
|
||||
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let healed= caster.characteristics.wp.bonus + caster.characteristics.int.bonus\n let wounds = duplicate(args.actor.status.wounds)\n wounds.value+=healed\n \n if (wounds.value > wounds.max)\n wounds.value = wounds.max\n \n args.actor.update({\"data.status.wounds\" : wounds})\n ChatMessage.create({content: `${this.actor.prototypeToken.name} regains ${healed} Wounds`, speaker : {alias : this.effect.label}})\n }\n})\n\nthis.actor.setupSkill(\"Résistance\", {absolute : {difficulty : \"vhard\"}, context : {success : \"1 Corruption point that was gained within the last hour is removed.\", failure: \"Nothing happens\"}}).then(setupData => {\n this.actor.basicTest(setupData)\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/healing-light.png",
|
||||
@ -6677,7 +6677,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -6787,7 +6787,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -7047,7 +7047,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -7249,7 +7249,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -7576,7 +7576,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let healed= caster.characteristics.wp.bonus\n let wounds = duplicate(args.actor.status.wounds)\n wounds.value+=healed\n \n if (wounds.value > wounds.max)\n wounds.value = wounds.max\n \n args.actor.update({\"data.status.wounds\" : wounds})\n ChatMessage.create({content: `${this.actor.data.token.name} regains ${healed} Wounds`, speaker : {alias : this.effect.label}})\n }\n})"
|
||||
"script": "fromUuid(this.effect.origin).then(caster => {\n if (caster)\n {\n let healed= caster.characteristics.wp.bonus\n let wounds = duplicate(args.actor.status.wounds)\n wounds.value+=healed\n \n if (wounds.value > wounds.max)\n wounds.value = wounds.max\n \n args.actor.update({\"data.status.wounds\" : wounds})\n ChatMessage.create({content: `${this.actor.prototypeToken.name} regains ${healed} Wounds`, speaker : {alias : this.effect.label}})\n }\n})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/nostrum.png",
|
||||
@ -7842,7 +7842,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -8443,7 +8443,7 @@
|
||||
"effectApplication": "damage",
|
||||
"effectTrigger": "applyDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"script": "let applyAP = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_TB || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\n\nif (applyAP) \n{\n let AP = args.AP\n\n args.totalWoundLoss += AP.used\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"AP\")))\n args.messageElements[apIndex] = \"0/\" + AP.value + \" \" + game.i18n.localize(\"AP\")\n}\n\nlet woundsGained = Math.min(args.actor.status.wounds.value, args.totalWoundLoss)\nwoundsGained = Math.ceil(woundsGained / 2)\n\nlet attackerWounds = duplicate(args.attacker.status.wounds)\n\nattackerWounds.value += woundsGained\n\nif (attackerWounds.value >= attackerWounds.max)\n attackerWounds.value = attackerWounds.max\n\nargs.attacker.update({\"data.status.wounds\" : attackerWounds})\n\nargs.actor.addCondition(\"fatigued\")\n\nChatMessage.create({content: `<b>${args.attacker.data.token.name}</b> récupère ${woundsGained} Points de Blessures`, alias : {speaker : this.effect.label}})"
|
||||
"script": "let applyAP = (args.damageType == game.wfrp4e.config.DAMAGE_TYPE.IGNORE_TB || args.damageType == game.wfrp4e.config.DAMAGE_TYPE.NORMAL)\n\nif (applyAP) \n{\n let AP = args.AP\n\n args.totalWoundLoss += AP.used\n let apIndex = args.messageElements.findIndex(i => i.includes(game.i18n.localize(\"AP\")))\n args.messageElements[apIndex] = \"0/\" + AP.value + \" \" + game.i18n.localize(\"AP\")\n}\n\nlet woundsGained = Math.min(args.actor.status.wounds.value, args.totalWoundLoss)\nwoundsGained = Math.ceil(woundsGained / 2)\n\nlet attackerWounds = duplicate(args.attacker.status.wounds)\n\nattackerWounds.value += woundsGained\n\nif (attackerWounds.value >= attackerWounds.max)\n attackerWounds.value = attackerWounds.max\n\nargs.attacker.update({\"data.status.wounds\" : attackerWounds})\n\nargs.actor.addCondition(\"fatigued\")\n\nChatMessage.create({content: `<b>${args.attacker.prototypeToken.name}</b> récupère ${woundsGained} Points de Blessures`, alias : {speaker : this.effect.label}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/steal-life.png",
|
||||
@ -8566,7 +8566,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -8770,7 +8770,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let value = 1\nlet name = this.actor.data.token.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Select a target to apply the effect.\")\n game.user.targets.forEach(t => {\n t.actor.applyTerror(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postTerror(value, name)\n}"
|
||||
"script": "let value = 1\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM)\n{\nif (!game.user.targets.size)\n return ui.notifications.warn(\"Select a target to apply the effect.\")\n game.user.targets.forEach(t => {\n t.actor.applyTerror(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postTerror(value, name)\n}"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/blank.png",
|
||||
@ -8794,7 +8794,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -9015,7 +9015,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -9069,7 +9069,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let fortunePoints = {{result.overcast.other.current}}\nlet current = this.actor.status.fortune.value\n\nthis.actor.update({\"data.status.fortune.value\" : fortunePoints + current})\n\nChatMessage.create({content : `<b>${this.actor.data.token.name}</b> a désormais ${fortunePoints + current} Points de Chance`, speaker : {alias : this.effect.label}})"
|
||||
"script": "let fortunePoints = {{result.overcast.other.current}}\nlet current = this.actor.status.fortune.value\n\nthis.actor.update({\"data.status.fortune.value\" : fortunePoints + current})\n\nChatMessage.create({content : `<b>${this.actor.prototypeToken.name}</b> a désormais ${fortunePoints + current} Points de Chance`, speaker : {alias : this.effect.label}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/the-first-portent-of-amul.png",
|
||||
@ -9117,7 +9117,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let fortunePoints = {{result.overcast.other.current}}\nlet current = this.actor.status.fortune.value\n\nthis.actor.update({\"data.status.fortune.value\" : fortunePoints + current})\n\nChatMessage.create({content : `<b>${this.actor.data.token.name}</b> a désormais ${fortunePoints + current} Points de Chance`, speaker : {alias : this.effect.label}})"
|
||||
"script": "let fortunePoints = {{result.overcast.other.current}}\nlet current = this.actor.status.fortune.value\n\nthis.actor.update({\"data.status.fortune.value\" : fortunePoints + current})\n\nChatMessage.create({content : `<b>${this.actor.prototypeToken.name}</b> a désormais ${fortunePoints + current} Points de Chance`, speaker : {alias : this.effect.label}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/the-second-portent-of-amul.png",
|
||||
@ -9165,7 +9165,7 @@
|
||||
"effectApplication": "apply",
|
||||
"effectTrigger": "oneTime",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "let current = this.actor.status.fate.value\n\nthis.actor.update({\"data.status.fate.value\" : current + 1})\n\nChatMessage.create({content : `<b>${this.actor.data.token.name}</b> a désormais ${current + 1} Points de Destin!`, speaker : {alias : this.effect.label}})"
|
||||
"script": "let current = this.actor.status.fate.value\n\nthis.actor.update({\"data.status.fate.value\" : current + 1})\n\nChatMessage.create({content : `<b>${this.actor.prototypeToken.name}</b> a désormais ${current + 1} Points de Destin!`, speaker : {alias : this.effect.label}})"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/the-third-portent-of-amul.png",
|
||||
@ -9344,7 +9344,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
@ -9546,7 +9546,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"lore": true,
|
||||
"script": "\n let value = 1\n let name = this.actor.data.token.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
"script": "\n let value = 1\n let name = this.actor.prototypeToken.name\n \n if (game.user.isGM) {\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n }\n else {\n game.wfrp4e.utility.postFear(value, name)\n }\n "
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/spells/beasts.png",
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"label": "Talents",
|
||||
"mapping": {
|
||||
"tests": "data.tests.value",
|
||||
"tests": "system.tests.value",
|
||||
"effects": "effects"
|
||||
},
|
||||
"entries": [
|
||||
@ -24,7 +24,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareItems",
|
||||
"script": "args.actor.data.flags.rangedDamageIncrease += 1"
|
||||
"script": "args.actor.flags.rangedDamageIncrease += 1"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/accurate-shot.png",
|
||||
@ -129,7 +129,7 @@
|
||||
"wfrp4e": {
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prepareData",
|
||||
"script": "args.actor.data.flags.ambi+= 1"
|
||||
"script": "args.actor.flags.ambi+= 1"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/ambidextrous.png",
|
||||
@ -2000,7 +2000,7 @@
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "prePrepareItems",
|
||||
"preventDuplicateEffects": false,
|
||||
"script": "args.actor.data.flags.meleeDamageIncrease += 1"
|
||||
"script": "args.actor.flags.meleeDamageIncrease += 1"
|
||||
}
|
||||
},
|
||||
"icon": "modules/wfrp4e-core/icons/talents/strike-mighty-blow.png",
|
||||
|
@ -256,7 +256,7 @@
|
||||
"effectTrigger": "takeDamage",
|
||||
"preventDuplicateEffects": true,
|
||||
"effectApplication": "actor",
|
||||
"script": "let content = `<b>${this.effect.label}<\/b>: Toutes les cibles engagées avec <b>${this.actor.data.token.name}<\/b> subissent [[\/r 1d10]] dégats, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.data.token.name}})"
|
||||
"script": "let content = `<b>${this.effect.label}<\/b>: Toutes les cibles engagées avec <b>${this.actor.prototypeToken.name}<\/b> subissent [[\/r 1d10]] dégats, modifiés par le BE et les PA.`\n\nChatMessage.create({content, speaker : {alias : this.actor.prototypeToken.name}})"
|
||||
}
|
||||
},
|
||||
"_id": "mzNcVAruDOTiCGhS",
|
||||
@ -353,7 +353,7 @@
|
||||
"transfer": true,
|
||||
"flags": {
|
||||
"wfrp4e": {
|
||||
"script": "let value = parseInt(this.item.specification.value)\nlet name = this.actor.data.token.name\n\nif (game.user.isGM && game.user.targets.size)\n{\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}",
|
||||
"script": "let value = parseInt(this.item.specification.value)\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM && game.user.targets.size)\n{\n game.user.targets.forEach(t => {\n t.actor.applyFear(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postFear(value, name)\n}",
|
||||
"preventDuplicateEffects": false,
|
||||
"effectTrigger": "invoke",
|
||||
"effectApplication": "actor"
|
||||
@ -798,7 +798,7 @@
|
||||
"label": "Attaque caudale",
|
||||
"flags": {
|
||||
"wfrp4e": {
|
||||
"script": "let actorSize = game.wfrp4e.config.actorSizeNums[args.actor.details.size.value]\nlet attackerSize = game.wfrp4e.config.actorSizeNums[args.attacker.details.size.value]\n\nif (attackerSize > actorSize)\n{\n args.actor.addCondition(\"prone\")\n ChatMessage.create({content: `<b>Attaque caudale<\/b>: ${args.actor.data.token.name} est maintenant @Condition[Prone](A Terre)`, speaker : {alias: args.attacker.data.token.name}})\n}",
|
||||
"script": "let actorSize = game.wfrp4e.config.actorSizeNums[args.actor.details.size.value]\nlet attackerSize = game.wfrp4e.config.actorSizeNums[args.attacker.details.size.value]\n\nif (attackerSize > actorSize)\n{\n args.actor.addCondition(\"prone\")\n ChatMessage.create({content: `<b>Attaque caudale<\/b>: ${this.actor.prototypeToken.name} est maintenant @Condition[Prone](A Terre)`, speaker : {alias: args.actor.prototypeToken.name}})\n}",
|
||||
"effectApplication": "damage",
|
||||
"effectTrigger": "applyDamage",
|
||||
"preventDuplicateEffects": true
|
||||
@ -830,7 +830,7 @@
|
||||
"label": "Terreur",
|
||||
"flags": {
|
||||
"wfrp4e": {
|
||||
"script": "let value = parseInt(this.item.specification.value)\nlet name = this.actor.data.token.name\n\nif (game.user.isGM && game.user.targets.size)\n{\n game.user.targets.forEach(t => {\n t.actor.applyTerror(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postTerror(value, name)\n}",
|
||||
"script": "let value = parseInt(this.item.specification.value)\nlet name = this.actor.prototypeToken.name\n\nif (game.user.isGM && game.user.targets.size)\n{\n game.user.targets.forEach(t => {\n t.actor.applyTerror(value, name)\n })\n game.user.updateTokenTargets([]);\n}\nelse \n{\n game.wfrp4e.utility.postTerror(value, name)\n}",
|
||||
"effectApplication": "actor",
|
||||
"effectTrigger": "invoke",
|
||||
"preventDuplicateEffects": false
|
||||
@ -864,7 +864,7 @@
|
||||
"effectTrigger": "applyDamage",
|
||||
"preventDuplicateEffects": false,
|
||||
"effectApplication": "damage",
|
||||
"script": "let actorSize = game.wfrp4e.config.actorSizeNums[args.actor.details.size.value]\nlet attackerSize = game.wfrp4e.config.actorSizeNums[args.attacker.details.size.value]\n\nif (attackerSize > actorSize)\n{\n args.actor.addCondition(\"entangled\")\n ChatMessage.create({content: `<b>Langue préhensible<\/b>: ${args.actor.data.token.name} is now @Condition[Entangled]`, speaker : {alias: args.attacker.data.token.name}})\n}"
|
||||
"script": "let actorSize = game.wfrp4e.config.actorSizeNums[args.actor.details.size.value]\nlet attackerSize = game.wfrp4e.config.actorSizeNums[args.attacker.details.size.value]\n\nif (attackerSize > actorSize)\n{\n args.actor.addCondition(\"entangled\")\n ChatMessage.create({content: `<b>Langue préhensible<\/b>: ${args.actor.prototypeToken.name} is now @Condition[Entangled]`, speaker : {alias: args.actor.prototypeToken.name}})\n}"
|
||||
}
|
||||
},
|
||||
"transfer": true,
|
||||
|
@ -1,13 +1,13 @@
|
||||
{
|
||||
"label": "Equipement",
|
||||
"mapping": {
|
||||
"special": "data.special.value",
|
||||
"special": "system.special.value",
|
||||
"qualities": {
|
||||
"path": "data.qualities.value",
|
||||
"path": "system.qualities.value",
|
||||
"converter": "trapping_qualities_flaws"
|
||||
},
|
||||
"flaws": {
|
||||
"path": "data.flaws.value",
|
||||
"path": "system.flaws.value",
|
||||
"converter": "trapping_qualities_flaws"
|
||||
},
|
||||
"effects": "effects"
|
||||
|
@ -2,19 +2,19 @@
|
||||
"label": "Items (Death on the Reik)",
|
||||
"mapping": {
|
||||
"sduration": {
|
||||
"path": "data.duration.value",
|
||||
"path": "system.duration.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"srange": {
|
||||
"path": "data.range.value",
|
||||
"path": "system.range.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"starget": {
|
||||
"path": "data.target.value",
|
||||
"path": "system.target.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"sdamage": {
|
||||
"path": "data.damage.value",
|
||||
"path": "system.damage.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
}
|
||||
},
|
||||
|
@ -2,22 +2,22 @@
|
||||
"label": "Items Ennemis Intérieur",
|
||||
"mapping": {
|
||||
"skills": {
|
||||
"path": "data.skills",
|
||||
"path": "system.skills",
|
||||
"converter": "career_skills"
|
||||
},
|
||||
"talents": {
|
||||
"path": "data.talents",
|
||||
"path": "system.talents",
|
||||
"converter": "career_talents"
|
||||
},
|
||||
"class": {
|
||||
"path": "data.class.value",
|
||||
"path": "system.class.value",
|
||||
"converter": "generic_localization"
|
||||
},
|
||||
"careergroup": {
|
||||
"path": "data.careergroup.value",
|
||||
"path": "system.careergroup.value",
|
||||
"converter": "career_careergroup"
|
||||
},
|
||||
"trappings": "data.trappings"
|
||||
"trappings": "system.trappings"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
|
@ -2,19 +2,19 @@
|
||||
"label": "Sorts Ennemi Intérieur",
|
||||
"mapping": {
|
||||
"sduration": {
|
||||
"path": "data.duration.value",
|
||||
"path": "system.duration.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"srange": {
|
||||
"path": "data.range.value",
|
||||
"path": "system.range.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"starget": {
|
||||
"path": "data.target.value",
|
||||
"path": "system.target.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"sdamage": {
|
||||
"path": "data.damage.value",
|
||||
"path": "system.damage.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"effets": "effects"
|
||||
@ -76,7 +76,7 @@
|
||||
"wfrp4e": {
|
||||
"effectTrigger": "oneTime",
|
||||
"effectApplication": "apply",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 Point de Corruption acquis\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\" && args.actor.data.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : parseInt(args.actor.status.corruption.value) + 1})\n args.actor.checkCorruption()\n }\n })\n })",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 Point de Corruption acquis\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\" && args.actor.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : parseInt(args.actor.status.corruption.value) + 1})\n args.actor.checkCorruption()\n }\n })\n })",
|
||||
"preventDuplicateEffects": false
|
||||
}
|
||||
}
|
||||
@ -103,7 +103,7 @@
|
||||
"wfrp4e": {
|
||||
"effectTrigger": "oneTime",
|
||||
"effectApplication": "apply",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 Point de Corruption acquis\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\" && args.actor.data.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : parseInt(args.actor.status.corruption.value) + 1})\n args.actor.checkCorruption()\n }\n })\n })",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 Point de Corruption acquis\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\" && args.actor.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : parseInt(args.actor.status.corruption.value) + 1})\n args.actor.checkCorruption()\n }\n })\n })",
|
||||
"preventDuplicateEffects": false
|
||||
}
|
||||
}
|
||||
@ -142,7 +142,7 @@
|
||||
"wfrp4e": {
|
||||
"effectTrigger": "oneTime",
|
||||
"effectApplication": "apply",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", { context: { failure: \"1 Point de Corruption acquis\" } }).then(setupData => {\n args.actor.basicTest(setupData).then(test => {\n if (test.result.outcome == \"failure\" && args.actor.data.type == \"character\") {\n let msg = \"\"\n args.actor.update({ \"data.status.corruption.value\": parseInt(args.actor.status.corruption.value) + 1 })\n msg += `<b>${args.actor.data.token.name}</b> gains a Corruption point<br>`\n if ((test.result.outcome.roll % 11 == 0) || test.result.outcome.roll == 100 || test.result.outcome.roll == 99)\n msg += `<b>${args.actor.data.token.name}</b> reçoit une mutation (@Table[expandedmutatephys]{Physique} ou @Table[expandedmutatemental]{Mentale}) et reçoit @Compendium[wfrp4e-core.talents.hiU7vhBOVpVI8c7C]{Chaos Magic (Tzeentch)}`\n ChatMessage.create({content : msg, speaker : {alias : this.effect.label}})\n args.actor.checkCorruption()\n }\n })\n})",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", { context: { failure: \"1 Point de Corruption acquis\" } }).then(setupData => {\n args.actor.basicTest(setupData).then(test => {\n if (test.result.outcome == \"failure\" && args.actor.type == \"character\") {\n let msg = \"\"\n args.actor.update({ \"data.status.corruption.value\": parseInt(args.actor.status.corruption.value) + 1 })\n msg += `<b>${args.actor.prototypeToken.name}</b> gains a Corruption point<br>`\n if ((test.result.outcome.roll % 11 == 0) || test.result.outcome.roll == 100 || test.result.outcome.roll == 99)\n msg += `<b>${args.actor.prototypeToken.name}</b> reçoit une mutation (@Table[expandedmutatephys]{Physique} ou @Table[expandedmutatemental]{Mentale}) et reçoit @Compendium[wfrp4e-core.talents.hiU7vhBOVpVI8c7C]{Chaos Magic (Tzeentch)}`\n ChatMessage.create({content : msg, speaker : {alias : this.effect.label}})\n args.actor.checkCorruption()\n }\n })\n})",
|
||||
"preventDuplicateEffects": false
|
||||
}
|
||||
}
|
||||
@ -181,7 +181,7 @@
|
||||
"wfrp4e": {
|
||||
"effectTrigger": "oneTime",
|
||||
"effectApplication": "apply",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 Point de Corruption acquis\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\" && args.actor.data.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : parseInt(args.actor.status.corruption.value) + 1})\n args.actor.checkCorruption()\n }\n })\n })",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 Point de Corruption acquis\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\" && args.actor.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : parseInt(args.actor.status.corruption.value) + 1})\n args.actor.checkCorruption()\n }\n })\n })",
|
||||
"preventDuplicateEffects": false
|
||||
}
|
||||
}
|
||||
@ -208,7 +208,7 @@
|
||||
"wfrp4e": {
|
||||
"effectTrigger": "oneTime",
|
||||
"effectApplication": "apply",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 Point de Corruption acquis\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\" && args.actor.data.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : parseInt(args.actor.status.corruption.value) + 1})\n args.actor.checkCorruption()\n }\n })\n })",
|
||||
"script": "args.actor.setupSkill(\"Résistance\", {context : {failure: \"1 Point de Corruption acquis\"}}).then(setupData => {\n args.actor.basicTest(setupData).then(test => \n {\n if (test.result.outcome == \"failure\" && args.actor.type == \"character\")\n {\n args.actor.update({\"data.status.corruption.value\" : parseInt(args.actor.status.corruption.value) + 1})\n args.actor.checkCorruption()\n }\n })\n })",
|
||||
"preventDuplicateEffects": false
|
||||
}
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
"label": "Mutations Supplémentaires",
|
||||
"mappings": {
|
||||
"modifier": {
|
||||
"path": "data.modifier.value",
|
||||
"path": "system.modifier.value",
|
||||
"converter": "mutations_modifier"
|
||||
},
|
||||
"mutationType": {
|
||||
"path": "data.mutationType.value",
|
||||
"path": "system.mutationType.value",
|
||||
"converter": "generic_localization"
|
||||
}
|
||||
},
|
||||
|
@ -2,22 +2,22 @@
|
||||
"label": "Items Rough Nights & Hard Days",
|
||||
"mapping": {
|
||||
"sduration": {
|
||||
"path": "data.duration.value",
|
||||
"path": "system.duration.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"srange": {
|
||||
"path": "data.range.value",
|
||||
"path": "system.range.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"starget": {
|
||||
"path": "data.target.value",
|
||||
"path": "system.target.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"sdamage": {
|
||||
"path": "data.damage.value",
|
||||
"path": "system.damage.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"tests": "data.tests.value"
|
||||
"tests": "system.tests.value"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
|
@ -1,35 +1,35 @@
|
||||
{
|
||||
"label": "Items Starter Set",
|
||||
"mapping": {
|
||||
"gmdescription": "data.gmdescription.value",
|
||||
"duration": "data.duration.value",
|
||||
"contraction": "data.contraction.value",
|
||||
"incubation": "data.incubation.value",
|
||||
"symptoms": "data.symptoms.value",
|
||||
"permanent": "data.permanent.value",
|
||||
"special": "data.special.value",
|
||||
"gmdescription": "system.gmdescription.value",
|
||||
"duration": "system.duration.value",
|
||||
"contraction": "system.contraction.value",
|
||||
"incubation": "system.incubation.value",
|
||||
"symptoms": "system.symptoms.value",
|
||||
"permanent": "system.permanent.value",
|
||||
"special": "system.special.value",
|
||||
"qualities": {
|
||||
"path": "data.qualities.value",
|
||||
"path": "system.qualities.value",
|
||||
"converter": "trapping_qualities_flaws"
|
||||
},
|
||||
"flaws": {
|
||||
"path": "data.flaws.value",
|
||||
"path": "system.flaws.value",
|
||||
"converter": "trapping_qualities_flaws"
|
||||
},
|
||||
"sduration": {
|
||||
"path": "data.duration.value",
|
||||
"path": "system.duration.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"srange": {
|
||||
"path": "data.range.value",
|
||||
"path": "system.range.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"starget": {
|
||||
"path": "data.target.value",
|
||||
"path": "system.target.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"sdamage": {
|
||||
"path": "data.damage.value",
|
||||
"path": "system.damage.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
}
|
||||
},
|
||||
|
@ -2,19 +2,19 @@
|
||||
"label": "UG - Carrières",
|
||||
"mapping": {
|
||||
"skills": {
|
||||
"path": "data.skills",
|
||||
"path": "system.skills",
|
||||
"converter": "career_skills"
|
||||
},
|
||||
"talents": {
|
||||
"path": "data.talents",
|
||||
"path": "system.talents",
|
||||
"converter": "career_talents"
|
||||
},
|
||||
"class": {
|
||||
"path": "data.class.value",
|
||||
"path": "system.class.value",
|
||||
"converter": "generic_localization"
|
||||
},
|
||||
"careergroup": "data.careergroup.value",
|
||||
"trappings": "data.trappings"
|
||||
"careergroup": "system.careergroup.value",
|
||||
"trappings": "system.trappings"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
|
@ -6,7 +6,7 @@
|
||||
"converter": "bestiary_traits"
|
||||
},
|
||||
"characteristics": {
|
||||
"path": "data.characteristics",
|
||||
"path": "system.characteristics",
|
||||
"converter": "npc_characteristics"
|
||||
}
|
||||
},
|
||||
|
@ -2,19 +2,19 @@
|
||||
"label": "UG - Sorts",
|
||||
"mapping": {
|
||||
"sduration": {
|
||||
"path": "data.duration.value",
|
||||
"path": "system.duration.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"srange": {
|
||||
"path": "data.range.value",
|
||||
"path": "system.range.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"starget": {
|
||||
"path": "data.target.value",
|
||||
"path": "system.target.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
},
|
||||
"sdamage": {
|
||||
"path": "data.damage.value",
|
||||
"path": "system.damage.value",
|
||||
"converter": "spells_duration_range_target_damage"
|
||||
}
|
||||
},
|
||||
|
8
fr.json
8
fr.json
@ -665,6 +665,7 @@
|
||||
"Actor Settings":"Paramètres d'Acteur",
|
||||
"Add Encumbrance for Actors":"Ajouter l'encombrement pour les Acteurs",
|
||||
"BROWSER.Button":"Navigateur",
|
||||
"BROWSER.LoadingBrowser":"Chargement du navigateur...",
|
||||
"MOO.Bleeding":"Vous saignez gravement. Perdez 1 Blessure à la fin de chaque round, en ignorant tout autre modificateur. De plus, subissez une pénalité de -10 à tout vos Tests pour résister à une Blessure Purulente, un Infection Mineure ou une Infection du Sang. Si vous atteignez 0 Blessures, faites immédiatement un Test d'Endurance pour rester debout (avec une pénalite de -10 pour chaque étatHémorragique), sinon vous tombez @Condition[Unconscious], et vous devez refaire ce test chaque fois que vous prenez des dommages dus à l'Hémorragie. Si vous êtes à 0 Blessures, que vous soyez Inconscient ou pas, vous avez 10% de mourrir à la fin du Round pour chaque état Hémorragique. Donc, si vous avez 3 états Hémorragiques, vous mourrez sur un jet de 01-30. Si un double est obtenu, votre blessure coagule un peu : retirez 1 état Hémorragique. Vous ne pouvez redevenir conscient que si tout les états Hémorragiques sont soignées (voir Blessures)<br><br>Un état Hémorragique peut être retiré avec : un test réussi de Guérison (chaque DR enlève 1 état Hémorragique); ou avec un sort ou une prière (avec un état enlevé par Point de Blessure gueri).<br><br>Lorsque tout les états Hémorragiques ont été soignés, recevez un état @Condition[Fatigued].",
|
||||
"MOO.Broken":"Vous êtes terrifié, défait en état de panique ou convaincu que vous allez mourrir. A votre tour, votre Action et votre Mouvement doivent être utilisés pour fuir aussi loin que possible jusqu'à ce que vous trouviez un endroit pour vous cacher; vous pourrez alors utiliser votre Action avec une Compétence vous permettant de vous cacher effectivement. Vous recevez également une pénalité de -10 pour tout les Tests n'impliquant pas la course ou la dissimulation.<br><br>Vous ne pouvez faire de test pour récupérer de votre état Brisé si vous êtes au contact d'un ennemi. Si vous êtes désengagé, à la fin de chaque round, vous pouvez tenter un Test de Calme pour enlever un état Brisé par DR. La difficulté est déterminée par les circonstances: il est plus facile de se remettre en état caché à l'abri que d'être à 3 pas d'un démon souhaitant vous démembrer.<br><br>Si vous passez un Round complet à vous cacher hors de la ligne de vue de tout ennemi, vous enlevez 1 état Brisé.<br><br><strike>Lorsque tout les états Brisé sont enlevés, vous recevez 1 Etat Fatigué.</strike>.",
|
||||
"MOO.Items":"Le règles maison des ites ont été appliqués sur les compendiums. Voir la console (F12) pour détail.",
|
||||
@ -1907,7 +1908,12 @@
|
||||
"BUGREPORT.Contact":"Informations de contact",
|
||||
"BUGREPORT.ContactPlaceholder":"Tag Discord ou Email.",
|
||||
"BUGREPORT.DescriptionPlaceholder":"Ce qu'il s'est passsé, comment le reproduire, etc.",
|
||||
|
||||
"BUGREPORT.ManyModules":"Vous avez des modules non-WFRP4e activés, peut-être que l'un d'entre eux interfère ?",
|
||||
"BUGREPORT.MatchingGrudges":"Est-ce que votre grief n'a pas déja été enregistré ?",
|
||||
"BUGREPORT.Warning":"<b>Attention</b>: Cette information est postée dans les tickets de GitHub, qui sont publics. Les Tags Discords sont donc à préférer. Sinon, contactez moi directement en Anglais à (<a href='mailto:russellt@cubicle7games.com'>Moo Man</a>).",
|
||||
"GrudgeError":"Les Longues Barbes gromellent et refusent votre soumission. Vérifier la console (F12) pour de plus amples détails.",
|
||||
"GrudgePost":"Les Longues Barbes ont reçu votre grief ! Consultez la console (F12) pour le lien.",
|
||||
|
||||
"EFFECT.TabWFRP" : "WFRP",
|
||||
"EFFECT.EffectType" : "Type d'Effet",
|
||||
"EFFECT.EffectApplication" : "Application de l'Effect",
|
||||
|
122
module.json
122
module.json
@ -1,31 +1,28 @@
|
||||
{
|
||||
"id": "wh4-fr-translation",
|
||||
"name": "wh4-fr-translation",
|
||||
"title": "WFRP4e - Core Module en français.",
|
||||
"description": "Traduction Française pour Warhammer v4.",
|
||||
"authors": [ {"name":"LeRatierBretonnien" }],
|
||||
"authors": [
|
||||
{
|
||||
"name": "LeRatierBretonnien",
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
|
||||
"flags": {},
|
||||
"version": "6.1.6",
|
||||
"compatibility": {
|
||||
"minimum": "9.280",
|
||||
"verified": "10.284",
|
||||
"maximum": "10"
|
||||
},
|
||||
"minimumCoreVersion": "9",
|
||||
"compatibleCoreVersion": "9",
|
||||
"scripts": [],
|
||||
"version": "6.2.6",
|
||||
"esmodules": [
|
||||
"babele-register.js",
|
||||
"addon-register.js",
|
||||
"modules/import-stat-2.js"
|
||||
],
|
||||
"styles": ["patch-styles.css"],
|
||||
"styles": [
|
||||
"patch-styles.css"
|
||||
],
|
||||
"languages": [
|
||||
{
|
||||
"lang": "fr",
|
||||
"name": "Français",
|
||||
"path": "fr.json"
|
||||
"path": "fr.json",
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"packs": [
|
||||
@ -35,8 +32,8 @@
|
||||
"name": "plats-dauberges",
|
||||
"path": "packs/plats-dauberges.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Dons de Rhya",
|
||||
@ -44,8 +41,8 @@
|
||||
"name": "dons-de-rhya",
|
||||
"path": "packs/dons-de-rhya.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Carrières FR",
|
||||
@ -53,8 +50,17 @@
|
||||
"name": "carriere-fr",
|
||||
"path": "packs/carriere-fr.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Sorts FR",
|
||||
"type": "Item",
|
||||
"name": "sort-fr",
|
||||
"path": "packs/sort-fr.db",
|
||||
"system": "wfrp4e",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Aides de Jeu FR",
|
||||
@ -62,8 +68,8 @@
|
||||
"name": "aides-de-jeu-fr",
|
||||
"path": "packs/aides-de-jeu-fr.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Potions : Drogues et Sédatifs",
|
||||
@ -71,8 +77,8 @@
|
||||
"name": "drogues-and-sedatifs",
|
||||
"path": "packs/drogues-and-sedatifs.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Potions : Pansements et Cataplasmes",
|
||||
@ -80,8 +86,8 @@
|
||||
"name": "pansements-and-cataplasmes",
|
||||
"path": "packs/pansements-and-cataplasmes.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Potions : Poisons et Toxiques",
|
||||
@ -89,8 +95,8 @@
|
||||
"name": "poisons-and-toxiques",
|
||||
"path": "packs/poisons-and-toxiques.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Potions : Potions et Décoctions",
|
||||
@ -98,8 +104,8 @@
|
||||
"name": "potions-and-decoctions",
|
||||
"path": "packs/potions-and-decoctions.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Potions : Antidotes et Remèdes",
|
||||
@ -107,8 +113,8 @@
|
||||
"name": "antidotes-and-remedes",
|
||||
"path": "packs/antidotes-and-remedes.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Tables des Traductions",
|
||||
@ -116,8 +122,8 @@
|
||||
"name": "tables-des-traductions",
|
||||
"path": "packs/tables-des-traductions.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"label": "Apothicarium",
|
||||
@ -125,27 +131,31 @@
|
||||
"name": "apothicarium",
|
||||
"path": "packs/apothicarium.db",
|
||||
"system": "wfrp4e",
|
||||
"module": "WH4-fr-translation",
|
||||
"private": false
|
||||
"private": false,
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"relationships": {
|
||||
"systems": [{
|
||||
"id": "wfrp4e",
|
||||
"type": "system",
|
||||
"compatibility": {
|
||||
"verified": "6.1.1"
|
||||
}
|
||||
}],
|
||||
"requires": [{
|
||||
"id": "babele",
|
||||
"type": "module"
|
||||
}]
|
||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/raw/v10/module.json",
|
||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-6.2.6.zip",
|
||||
"id": "wh4-fr-translation",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "10.286"
|
||||
},
|
||||
"socket": false,
|
||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/raw/v4/module.json",
|
||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-6.1.6.zip",
|
||||
"protected": false,
|
||||
"coreTranslation": false,
|
||||
"library": false
|
||||
}
|
||||
"relationships": {
|
||||
"systems": [
|
||||
{
|
||||
"id": "wfrp4e",
|
||||
"type": "system",
|
||||
"compatibility": {}
|
||||
}
|
||||
],
|
||||
"requires": [
|
||||
{
|
||||
"id": "babele",
|
||||
"type": "module",
|
||||
"compatibility": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
@ -726,9 +726,9 @@ export class WH4FRPatchConfig {
|
||||
if (weaponLength > 3)
|
||||
{
|
||||
let improv = duplicate(game.wfrp4e.config.systemItems.improv)
|
||||
improv.data.twohanded.value = args.item.twohanded.value
|
||||
improv.data.offhand.value = args.item.offhand.value
|
||||
args.item.data.update({"data" : improv.data, name : args.item.name + " (Combat au Contact")})
|
||||
improv.system.twohanded.value = args.item.twohanded.value
|
||||
improv.system.offhand.value = args.item.offhand.value
|
||||
args.item.update({"system" : improv.system, name : args.item.name + " (Combat au Contact")})
|
||||
}
|
||||
}
|
||||
`
|
||||
@ -1161,7 +1161,7 @@ export class WH4FRPatchConfig {
|
||||
let applicableCharacteristics = ["ws", "bs", "s", "fel", "ag", "t", "dex"]
|
||||
if (applicableCharacteristics.includes(args.test.result.characteristic))
|
||||
this.actor.addCondition("stunned")
|
||||
else if (args.test.result.skill && applicableCharacteristics.includes(args.test.result.skill.data.characteristic.value))
|
||||
else if (args.test.result.skill && applicableCharacteristics.includes(args.test.result.skill.system.characteristic.value))
|
||||
this.actor.addCondition("stunned")
|
||||
else if (args.test.result.weapon)
|
||||
this.actor.addCondition("stunned")
|
||||
@ -1210,7 +1210,7 @@ export class WH4FRPatchConfig {
|
||||
{
|
||||
if (test.result.outcome == "failure")
|
||||
fromUuid("Compendium.wfrp4e-core.diseases.kKccDTGzWzSXCBOb").then(disease => {
|
||||
args.actor.createEmbeddedEntity("OwnedItem", disease.data)
|
||||
args.actor.createEmbeddedDocuments("Item", [disease.toObject()])
|
||||
})
|
||||
})
|
||||
})
|
||||
|
@ -134,7 +134,7 @@ async function __findSkill(skillName, value = undefined) {
|
||||
let spec = XRegExp.replace(skillSplit.specialized, "(", "");
|
||||
spec = XRegExp.replace(spec, ")", "");
|
||||
let skillSplit2 = XRegExp.exec(dbSkill.name, XRegExp(parseStr, 'gi'));
|
||||
dbSkill.data.update( { name: skillSplit2.name + '(' + game.i18n.localize( spec.trim() ) + ')' } );
|
||||
dbSkill.update( { name: skillSplit2.name + '(' + game.i18n.localize( spec.trim() ) + ')' } );
|
||||
}
|
||||
//game.babele.translate('wfrp4e-core.skills', dbSkill);
|
||||
return dbSkill;
|
||||
@ -169,7 +169,7 @@ async function __findTalent(talentName) {
|
||||
if ( talentSplit.specialized ) {
|
||||
let spec = XRegExp.replace(talentSplit.specialized, "(", "");
|
||||
spec = XRegExp.replace(spec, ")", "");
|
||||
dbTalent.data.update( { name: talentSplit.name + '(' + game.i18n.localize( spec.trim() ) + ')' } );
|
||||
dbTalent.update( { name: talentSplit.name + '(' + game.i18n.localize( spec.trim() ) + ')' } );
|
||||
}
|
||||
return dbTalent;
|
||||
}
|
||||
@ -285,9 +285,9 @@ export default async function statParserFR(statString, type = "npc") {
|
||||
if (itemFound && value && value.length > 0) {
|
||||
if (name.toLowerCase() == 'weapon' || name.toLowerCase() == "bite" || name.toLowerCase() == "tail" ||
|
||||
name.toLowerCase() == 'arme' || name.toLowerCase() == "morsure" || name.toLowerCase() == "queue") {
|
||||
itemFound.data.specification.value = Number(value) - Math.floor( Number(model.characteristics.s.initial) / 10)
|
||||
itemFound.system.specification.value = Number(value) - Math.floor( Number(model.characteristics.s.initial) / 10)
|
||||
} else {
|
||||
itemFound.data.specification.value = game.i18n.localize(value)
|
||||
itemFound.system.specification.value = game.i18n.localize(value)
|
||||
}
|
||||
}
|
||||
if (!itemFound)
|
||||
@ -301,7 +301,7 @@ export default async function statParserFR(statString, type = "npc") {
|
||||
if (itemFound)
|
||||
itemFound = itemFound.toObject();
|
||||
if (itemFound && subres && value) {
|
||||
itemFound.data.advances.value = Number(value) - Number(model.characteristics[itemFound.data.characteristic.value].initial);
|
||||
itemFound.system.advances.value = Number(value) - Number(model.characteristics[itemFound.system.characteristic.value].initial);
|
||||
}
|
||||
if (!itemFound)
|
||||
ui.notifications.error("Compétence non trouvée, à ajouter manuellement : " + name, { permanent: true })
|
||||
@ -313,7 +313,7 @@ export default async function statParserFR(statString, type = "npc") {
|
||||
if (itemFound)
|
||||
itemFound = itemFound.toObject();
|
||||
if (itemFound && subres && value)
|
||||
itemFound.data.advances.value = Number(value);
|
||||
itemFound.system.advances.value = Number(value);
|
||||
if (!itemFound)
|
||||
ui.notifications.error("Talent non trouvé, à ajouter manuellement : " + name, { permanent: true })
|
||||
} else if (def.name == 'trapping') {
|
||||
@ -323,7 +323,7 @@ export default async function statParserFR(statString, type = "npc") {
|
||||
catch { }
|
||||
if (!itemFound && name) {
|
||||
itemFound = new game.entities.ItemWfrp4e({ img: "systems/wfrp4e/icons/blank.png", name: name, type: "trapping", data: game.system.model.Item.trapping })
|
||||
itemFound.data.data.trappingType.value = "misc"
|
||||
itemFound.system.trappingType.value = "misc"
|
||||
}
|
||||
if (itemFound)
|
||||
itemFound = itemFound.toObject();
|
||||
@ -342,13 +342,13 @@ export default async function statParserFR(statString, type = "npc") {
|
||||
}
|
||||
}
|
||||
let moneyItems = await game.wfrp4e.utility.allMoneyItems() || [];
|
||||
moneyItems = moneyItems.sort((a, b) => (a.data.coinValue.value > b.data.coinValue.value) ? -1 : 1);
|
||||
moneyItems.forEach(m => m.data.quantity.value = 0)
|
||||
moneyItems = moneyItems.sort((a, b) => (a.system.coinValue.value > b.system.coinValue.value) ? -1 : 1);
|
||||
moneyItems.forEach(m => m.system.quantity.value = 0)
|
||||
globalItemList = globalItemList.concat(moneyItems);
|
||||
//console.log("My liste :", globalItemList);
|
||||
let name = pnjName;
|
||||
|
||||
let effects = globalItemList.reduce((total, globItem) => total.concat(globItem.data.effects), [])
|
||||
let effects = globalItemList.reduce((total, globItem) => total.concat(globItem.effects), [])
|
||||
effects = effects.filter(e => !!e)
|
||||
effects = effects.filter(e => e.transfer)
|
||||
|
||||
|
@ -1,32 +1,40 @@
|
||||
{"_id":"0SKGm6PXnncNEvpw","name":"Ecuyer","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":1},"status":{"tier":"s","standing":3},"characteristics":["s","i","ag"],"skills":["Athlétisme","Soin aux animaux","Emprise sur les animaux","Guérison","Savoir (Héraldique)","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)"],"talents":["Savoir-vivre (Au choix)","Cavalier émérite","Costaud","Guerrier né"],"trappings":["Veste de cuir","Chemise de mailles","Cheval de selle avec fontes et selle","Bouclier","Outils (Maréchal Ferrand)"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Squire"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.FrPCbQ7fq1Fchthn"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"0oRwp1jGMyIA1AOw","name":"Capitaine Fusilier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-04.png","data":{"description":{"type":"String","label":"Description","value":"<p>Pistoletier ou Pistolier: soldat armé de un ou deux pistolets. Dans le monde de Warhammer, le terme de Pistolier désigne déjà une cavalerie légère munie d'armes à feu, le plus souvent composée de cadet noble.Raison pour laquelle le terme de pistoletier sera choisi pour cette carrière.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Fusilier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":1},"characteristics":["bs","ag","dex","i","int","wp"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Perception","Musicien (Flute)","Projectiles (Poudre noire)","Escalade","Pari","Ragot","Intuition","Survie en extérieur","Métier (Armurier)","Commandement","Orientation","Projectiles (Ingénierie)","Chevaucher (Cheval)","Charme","Savoir (Stratégie militaire)"],"talents":["Exaltant","Voyageur aguerri","Coeur vaillant","Seigneur de guerre"],"trappings":["Lettre de mission","Cheval de guerre léger avec fontes et selle","Symbole de rang"],"incomeSkill":[9]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.MqNsy1JwN4dInYbs"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"1NIBpG9o9vv0DO6N","name":"Sergent Pistoletier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>Pistoletier ou Pistolier: soldat armé de un ou deux pistolets. Dans le monde de Warhammer, le terme de Pistolier désigne déjà une cavalerie légère munie d'armes à feu, le plus souvent composée de cadet noble.Raison pour laquelle le terme de pistoletier sera choisi pour cette carrière.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Pistoletier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"s","standing":5},"characteristics":["bs","ag","dex","i","int"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Perception","Musicien (Flute)","Projectiles (Poudre noire)","Escalade","Pari","Ragot","Intuition","Survie en extérieur","Métier (Armurier)","Commandement","Orientation","Projectiles (Ingénierie)","Chevaucher (Cheval)"],"talents":["Vigilance","Tireur d'élite","Tir sûr","Inébranlable"],"trappings":["Symbole de rang","Uniforme de qualité"],"incomeSkill":[9]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"1SQ9LkMa0jzoGUZI","name":"Prêtre Sergent de Myrmidia","type":"career","img":"modules/wfrp4e-core/icons/careers/priest-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.GNwQFkVKUs0JM6U5]{Priest}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Prêtre"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"s","standing":4},"characteristics":["ws","int","fel","i","ag"],"skills":["Calme","Esquive","Langue (Bataille)","Commandement","Savoir (Stratégie militaire)","Savoir (Théologie)","Perception","Prière","Corps à corps (Base)","Corps à corps (Armes d'hast)","Charme","Divertissement (Discours)","Guérison","Intuition","Corps à corps (Au choix)","Projectiles (Au choix)","Savoir (Au choix)","Corps à corps (Au choix)","Recherche","Métier (Armurier) ou Métier (Forgeron)"],"talents":["Studieux","Visions Sacrées","Ame pure","Coeur vaillant"],"trappings":["Armure de plate complète"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Initiate"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.u2DMz1B0DyUHBi6Z"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"1pDjLFBFmX9IEeBP","name":"Chevalier du Loup Blanc","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier du Loup Blanc"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":5},"characteristics":["s","i","ws","ag"],"skills":["Athlétisme","Soin aux animaux","Charme","Emprise sur les animaux","Guérison","Savoir (Héraldique)","Corps à corps (Base)","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)","Calme","Esquive","Résistance","Intimidation","Langue (Bataille)","Corps à corps ()","Survie en extérieur"],"talents":["Menaçant","Voyageur aguerri","Coup puissant","Frappe blessante"],"trappings":["Cape en peau de loup","Destrier avec selle et fontes","Armure de plate"],"incomeSkill":[8],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Squire"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.FrPCbQ7fq1Fchthn"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
{"_id":"2ZnMwejzMeeYUpTj","name":"Apprenti Druide","type":"career","img":"modules/wfrp4e-core/icons/careers/wizard-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.m6WuSnrrW7QllX63]{Wizard}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Sorcier"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"b","standing":3},"characteristics":["wp","int","ag"],"skills":["Focalisation (Ghyran)","Emprise sur les animaux","Esquive","Intuition","Langue (Magick)","Savoir (Magick)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Perception","Survie en extérieur",""],"talents":["Magie mineure","Harmonisation Aethyrique","Lire/Ecrire","Seconde Vue"],"trappings":["Grimoire","Bâton","Faucille en cuivre"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Master Wizard"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.1DIMUn1Cj5rohWJV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
{"_id":"2rb2fXvttt06T5TZ","name":"Chevalier Panthère","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier Panthère"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":5},"characteristics":["s","i","ws","ag"],"skills":["Athlétisme","Soin aux animaux","Charme","Emprise sur les animaux","Guérison","Savoir (Empire)","Savoir (Héraldique)","Corps à corps (Base)","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)","Calme","Esquive","Résistance","Intimidation","Langue (Bataille)","Corps à corps ()"],"talents":["Menaçant","Porte-bouclier","Coup puissant","Imperturbable"],"trappings":["Peau de grand chat","Destrier avec selle et fontes","Arme de mêlée","Lance","Armure de plate et Grand heaume à crète de bête","Anneau ou Médaillon de Chevalier panthère."],"incomeSkill":[8],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Squire"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.FrPCbQ7fq1Fchthn"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"4Gk9QPx0Vjk2iXJG","name":"Capitaine Fusilier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-04.png","data":{"description":{"type":"String","label":"Description","value":"<p>Pistoletier ou Pistolier: soldat armé de un ou deux pistolets. Dans le monde de Warhammer, le terme de Pistolier désigne déjà une cavalerie légère munie d'armes à feu, le plus souvent composée de cadet noble.Raison pour laquelle le terme de pistoletier sera choisi pour cette carrière.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Fusilier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":1},"characteristics":["bs","ag","dex","i","int","wp"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Perception","Musicien (Flute)","Projectiles (Poudre noire)","Escalade","Pari","Ragot","Intuition","Survie en extérieur","Métier (Armurier)","Commandement","Orientation","Projectiles (Ingénierie)","Chevaucher (Cheval)","Charme","Savoir (Stratégie militaire)"],"talents":["Exaltant","Voyageur aguerri","Coeur vaillant","Seigneur de guerre"],"trappings":["Lettre de mission","Cheval de guerre léger avec fontes et selle","Symbole de rang"],"incomeSkill":[9]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.MqNsy1JwN4dInYbs"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"56w0D22CLv0zYg62","name":"Recrue Pistoletier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>Pistoletier ou Pistolier: soldat armé de un ou deux pistolets. Dans le monde de Warhammer, le terme de Pistolier désigne déjà une cavalerie légère munie d'armes à feu, le plus souvent composée de cadet noble.Raison pour laquelle le terme de pistoletier sera choisi pour cette carrière.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Pistoletier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"s","standing":1},"characteristics":["bs","ag","dex"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Perception","Musicien (Flute)","Projectiles (Poudre noire)"],"talents":["Tir précis","Artilleur","Tireur de précision","Tireur embusqué"],"trappings":["Dague","Uniforme","Pistolet"],"incomeSkill":[9]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"5G4ZEfeV78nDls06","name":"Prêtre Sergent de Myrmidia","type":"career","img":"modules/wfrp4e-core/icons/careers/priest-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.GNwQFkVKUs0JM6U5]{Priest}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Prêtre"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"s","standing":4},"characteristics":["ws","int","fel","i","ag"],"skills":["Calme","Esquive","Langue (Bataille)","Commandement","Savoir (Stratégie militaire)","Savoir (Théologie)","Perception","Prière","Corps à corps (Base)","Corps à corps (Armes d'hast)","Charme","Divertissement (Discours)","Guérison","Intuition","Corps à corps (Au choix)","Projectiles (Au choix)","Savoir (Au choix)","Corps à corps (Au choix)","Recherche","Métier (Armurier) ou Métier (Forgeron)"],"talents":["Studieux","Visions Sacrées","Ame pure","Coeur vaillant"],"trappings":["Armure de plate complète"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Initiate"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.u2DMz1B0DyUHBi6Z"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"7p9Gv8mAzBn50giw","name":"Grande épée","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-02.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Grande épée"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["ws","s","wp","i"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Ragot","Langue (Bataille)","Corps à corps (Base)","Corps à corps (A deux mains)","Musicien (Tambour)","Pari","Intimidation","Savoir (Héraldique)","Corps à corps (Au choix)","Survie en extérieur","Perception",""],"talents":["Combat Instinctif","Savoir-vivre (Soldats)","Sans peur (Au choix)","Coup puissant"],"trappings":["Armure de plate complète","Grand chapeau à plume"],"incomeSkill":[8]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.Q4f9Ho3AKkCywgo8"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"9ZexsRULPWCzv9vO","name":"Combattant des tunnels","type":"career","img":"modules/wfrp4e-core/icons/careers/guard-01.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Brise fer"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"b","standing":4},"characteristics":["ws","t","wp"],"skills":["Athlétisme","Escalade","Calme","Esquive","Résistance","Corps à corps (Base)","Intimidation","Discrétion (Au choix) Langue(Bataille)","Divertissement (Chant)",""],"talents":["Coude-à-coude","Combattant en espace clos","Guerrier né","Coup puissant"],"trappings":["Plastron d'acier","Heaume ouvert","Jambières et brassards d'acier","Bouclier (grand)","Hache"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Dragon Slayer"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.nWFtlLdrGOhIJsMd"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"BV1D9dwn1sv1wBTm","name":"Capitaine Archer","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-04.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Archer"},"class":{"type":"String","label":"Class","value":"Guerrier"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":1},"characteristics":["s","bs","i","ag","t","int"],"skills":["Pari","Ragot","Corps à corps (Base)","Survie en extérieur","Pistage","Métier (Fabricant de flèches)","Athlétisme","Escalade","Résistance à l'alcool","Esquive","Langue(Bataille)","Perception","Musicien(Corne)","Projectile(Arc)","Discrétion(Rurale)","Calme","Commandement","Orientation","Chevaucher (Cheval)","Savoir (Guerre)","Signes secrets (Eclaireur)",""],"talents":["Exaltant","Voyageur aguerri","Seigneur de guerre","Coeur vaillant"],"trappings":["Lettre de mission","Cheval de guerre léger avec selle et fontes","Symbole de rang"],"incomeSkill":[13]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.M7Jxj2dPKQFicA8b"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"BY6cI09btqQbPwUw","name":"Apprenti Pyromancier","type":"career","img":"modules/wfrp4e-core/icons/careers/wizard-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.m6WuSnrrW7QllX63]{Wizard}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Sorcier"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"b","standing":3},"characteristics":["wp","int","ws"],"skills":["Focalisation (Aqshy)","Esquive","Intuition","Langue (Magick)","Savoir (Magie)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Perception","Intimidation","Langue (Bataille)",""],"talents":["Magie Mineure","Lire/Ecrire","Seconde Vue","Harmonisation Aethyrique"],"trappings":["Première clé des secrets","Grimoire","bâton"],"incomeSkill":[3],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Master Wizard"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.1DIMUn1Cj5rohWJV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
{"_id":"BZGs6SccquCNG2xM","name":"Cavalerie légère","type":"career","img":"modules/wfrp4e-core/icons/careers/cavalryman-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.h9LHCAdlP4o55QvD]{Cavalryman}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Cavalier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":2},"characteristics":["ws","t","ag","bs"],"skills":["Soin aux animaux","Résistance","Langue (Bataille)","Corps à corps (Base)","Survie en extérieur","Chevaucher (Cheval)","Esquive","Marchandage","Guérison","Projectiles (Lancer)","Charme","Résistance à l'alcool","Pari","Ragot","Corps à corps (Cavalerie)","Projectiles (Arc)"],"talents":["Sens de l'orientation","Vigilance","Nomade","Cavalier émérite"],"trappings":["Cotte de maille","Cheval de guerre léger avec selle et fontes","Heaume ouvert"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Horseman"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.XuIDL2gpiFMleuVV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"BhJDHIfaDPgRHjao","name":"Prêtre guerrier de Myrmidia","type":"career","img":"modules/wfrp4e-core/icons/careers/priest-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.GNwQFkVKUs0JM6U5]{Priest}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Prêtre"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["ws","int","fel","i"],"skills":["Calme","Esquive","Langue (Bataille)","Commandement","Savoir (Stratégie militaire)","Savoir (Théologie)","Perception","Prière","Corps à corps (Base)","Corps à corps (Armes d'hast)","Charme","Divertissement (Discours)","Guérison","Intuition","Corps à corps (Au choix)","Projectiles (Au choix)"],"talents":["Coude-à-coude","Exaltant","Invocation (Myrmidia)","Porte-bouclier"],"trappings":["Plastron d'acier","Heaume et bouclier"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Initiate"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.u2DMz1B0DyUHBi6Z"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"DxfhLpcpsEXsq6jY","name":"Recrue Fusilier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>Pistoletier ou Pistolier: soldat armé de un ou deux pistolets. Dans le monde de Warhammer, le terme de Pistolier désigne déjà une cavalerie légère munie d'armes à feu, le plus souvent composée de cadet noble.Raison pour laquelle le terme de pistoletier sera choisi pour cette carrière.</p>\n<p>Considérant qu'il est irréaliste d'entretenir des régiments équipés de pistolet (Handgun), je me suis permis de modifier quelque peu la carrière en transformant handgun (pistolet) en gun (arme à feu, pistolet, fusil).</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Fusilier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"s","standing":1},"characteristics":["bs","ag","dex"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Perception","Musicien (Flute)","Projectiles (Poudre noire)"],"talents":["Tir précis","Artilleur","Tireur de précision","Tireur embusqué"],"trappings":["Dague","Uniforme","Arme à feu"],"incomeSkill":[9]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.F3bm5YfWtrLMt8R0"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"EJiNrJHYbHErhCMN","name":"Chevalier commandeur","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"g","standing":2},"characteristics":["ws","s","i","ag","wp"],"skills":["Athlétisme","Soin aux animaux","Emprise sur les animaux","Guérison","Savoir (Héraldique)","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)","Calme","Esquive","Résistance","Intimidation","Langue (Bataille)","Corps à corps (Au choix)","Charme","Résistance à l'alcool","Commandement","Savoir (Guerre)"],"talents":["Sans peur (Au choix)","Coeur vaillant","Inébranlable","Seigneur de guerre"],"trappings":["Carapaçon","Petite unité de chevaliers"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"First Knight"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.GPhqluMBhCeTnyNJ"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"Eo798NESMVD2QwV7","name":"Pistoletier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>Pistoletier ou Pistolier: soldat armé de un ou deux pistolets. Dans le monde de Warhammer, le terme de Pistolier désigne déjà une cavalerie légère munie d'armes à feu, le plus souvent composée de cadet noble.Raison pour laquelle le terme de pistoletier sera choisi pour cette carrière.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Pistoletier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["bs","ag","dex","i"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Perception","Musicien (Flute)","Projectiles (Poudre noire)","Escalade","Pari","Ragot","Intuition","Survie en extérieur","Métier (Armurier)"],"talents":["Coude-à-coude","Savoir-vivre (Soldats)","Tir rapide","Rechargement rapide"],"trappings":["Grand chapeau avec plume","Pistolet de qualité"],"incomeSkill":[9]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"EzDvoZB4Owzyuy2c","name":"Capitaine Grande épée","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-04.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Soldat"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":1},"characteristics":["ws","s","wp","i","t","int"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Ragot","Langue (Bataille)","Corps à corps (Base)","Corps à corps (A deux mains)","Musicien (Tambour)","Pari","Intimidation","Savoir (Héraldique)","Corps à corps (Au choix)","Survie en extérieur","Perception","Intuition","Commandement","Orientation","Chevaucher (Cheval)","Charme","Savoir (Stratégie militaire)"],"talents":["Présence imposante","Exaltant","Orateur","Coeur vaillant"],"trappings":["Lettre de mission","Cheval léger avec selle et harnais","Uniforme de qualité","Symbole de rang"],"incomeSkill":[8]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.e53TUabOHxkZHAqi"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"F7Vefdjmb6UShVpg","name":"Seigneur Druide","type":"career","img":"modules/wfrp4e-core/icons/careers/wizard-04.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.m6WuSnrrW7QllX63]{Wizard}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Sorcier"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":2},"characteristics":["wp","int","ag","i","fel","ws"],"skills":["Focalisation (Ghyran)","Emprise sur les animaux","Esquive","Intuition","Langue (Magick)","Savoir (Magick)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Perception","Charme","Ragot","Intimidation","Langue (Bataille)","Langue (Au choix)","Soin aux animaux","Chevaucher (Cheval)","Survie en extérieur","Orientation","Evaluation","Savoir(Plante)","Savoir (Au choix)"],"talents":["Vigilance","Effrayant","Volonté de fer","Mage de guerre"],"trappings":["Librairie (Magique)","Robes élaborées","Retraite de jardin"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Master Wizard"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.1DIMUn1Cj5rohWJV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
{"_id":"HScIzEodc6pycRYc","name":"Vieille garde","type":"career","img":"modules/wfrp4e-core/icons/careers/guard-04.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Garde"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":3},"characteristics":["ws","t","wp","s","i","fel"],"skills":["Athlétisme","Escalade","Calme","Esquive","Résistance","Corps à corps (Base)","Intimidation","Discrétion (Au choix) Langue(Bataille)","Divertissement (Chant)","Résistance à l'alcool","Ragot","Commandement","Savoir (Géologie)","Corps à corps (Parade)","Projectiles (Explosifs)","Intuition","Perception","Corps à corps (A deux mains)","Savoir (Guerre)","Orientation",""],"talents":["Présence imposante","Endurci","Exaltant","Coeur vaillant"],"trappings":["Unité de brise fer","arme portant une rune maître"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Dragon Slayer"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.nWFtlLdrGOhIJsMd"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"name":"Capitaine de Cavalerie Légère","type":"career","img":"modules/wfrp4e-core/icons/careers/cavalryman-04.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.h9LHCAdlP4o55QvD]{Cavalryman}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Cavalier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":1},"characteristics":["ws","t","ag","bs","fel"],"skills":["Soin aux animaux","Résistance","Langue (Bataille)","Corps à corps (Base)","Survie en extérieur","Chevaucher (Cheval)","Esquive","Marchandage","Guérison","Projectiles (Lancer)","Charme","Résistance à l'alcool","Pari","Ragot","Corps à corps (Cavalerie)","Projectiles (Arc)","Conduite d'attelage","Intuition","Commandement","Savoir (Stratégie militaire)","Savoir (Loi) ou Savoir (Héraldique)","Projectiles (Poudre noire)",""],"talents":["Présence imposante","Négociateur","Exaltant","Seigneur de guerre"],"trappings":["Cheval de guerre","Habits flamboyants","Plastron d'acier","Bretelle de pistolets avec poudre et munitions"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Horseman"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.XuIDL2gpiFMleuVV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}},"_id":"F7tTiZL04wSLWcf6"}
|
||||
{"_id":"HScIzEodc6pycRYc","name":"Vieille garde","type":"career","img":"modules/wfrp4e-core/icons/careers/guard-04.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Garde"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":3},"characteristics":["ws","t","wp","s","i","fel"],"skills":["Athlétisme","Escalade","Calme","Esquive","Résistance","Corps à corps (Base)","Intimidation","Discrétion (Au choix)","Langue(Bataille)","Divertissement (Chant)","Résistance à l'alcool","Ragot","Commandement","Savoir (Géologie)","Corps à corps (Parade)","Projectiles (Explosifs)","Intuition","Perception","Corps à corps (A deux mains)","Savoir (Guerre)","Orientation",""],"talents":["Présence imposante","Endurci","Exaltant","Coeur vaillant"],"trappings":["Unité de brise fer","arme portant une rune maître"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Dragon Slayer"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.nWFtlLdrGOhIJsMd"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"name":"Lancier","type":"career","img":"modules/wfrp4e-core/icons/careers/cavalryman-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.h9LHCAdlP4o55QvD]{Cavalryman}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Cavalier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"s","standing":5},"characteristics":["ws","t","ag","bs","fel"],"skills":["Soin aux animaux","Résistance","Langue (Bataille)","Corps à corps (Base)","Survie en extérieur","Chevaucher (Cheval)","Esquive","Marchandage","Guérison","Projectiles (Lancer)","Charme","Résistance à l'alcool","Pari","Ragot","Corps à corps (Cavalerie)","Projectiles (Arc)","Conduite d'attelage","Intuition","Commandement","Savoir (Stratégie militaire)"],"talents":["Combat Instinctif","Rechargement rapide","Voyageur aguerri","Acrobaties équestres"],"trappings":["Chausses de maille","Lance","Page","Ecuyer"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Horseman"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.XuIDL2gpiFMleuVV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}},"_id":"JkVSCCwz4Ph2IWdr"}
|
||||
{"_id":"LdXbjO1QMoofePkS","name":"Sergent Fusilier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>Pistoletier ou Pistolier: soldat armé de un ou deux pistolets. Dans le monde de Warhammer, le terme de Pistolier désigne déjà une cavalerie légère munie d'armes à feu, le plus souvent composée de cadet noble.Raison pour laquelle le terme de pistoletier sera choisi pour cette carrière.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Fusilier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"s","standing":5},"characteristics":["bs","ag","dex","i","int"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Perception","Musicien (Flute)","Projectiles (Poudre noire)","Escalade","Pari","Ragot","Intuition","Survie en extérieur","Métier (Armurier)","Commandement","Orientation","Projectiles (Ingénierie)","Chevaucher (Cheval)"],"talents":["Vigilance","Tireur d'élite","Tir sûr","Inébranlable"],"trappings":["Symbole de rang","Uniforme de qualité"],"incomeSkill":[9]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.N25MgAS8SL71Tvvz"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"Lna9fnbv1ZpjZlbP","name":"Archer","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-02.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Archer"},"class":{"type":"String","label":"Class","value":"Guerrier"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["s","bs","i","ag"],"skills":["Pari","Ragot","Corps à corps (Base)","Survie en extérieur","Pistage","Métier (Fabricant de flèches)","Athlétisme","Escalade","Résistance à l'alcool","Esquive","Langue(Bataille)","Perception","Musicien(Corne)","Projectile(Arc)","Discrétion(Rurale)"],"talents":["Savoir-vivre (Soldats)","Tireur de précision","Tir sûr","Coude-à-coude"],"trappings":["Epée","Arc de qualité","couvre-chef"],"incomeSkill":[13]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.M7Jxj2dPKQFicA8b"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"M6szd5LqHjrigadd","name":"Capitaine Chevalier errant","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier errant"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"g","standing":1},"characteristics":["ws","s","i","ag","wp"],"skills":["Athlétisme","Soin aux animaux","Emprise sur les animaux","Guérison","Ragot","Survie en extérieur","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)","Calme","Esquive","Résistance","Intimidation","Intuition","Corps à corps (Au choix)","Charme","Résistance à l'alcool","Commandement","Savoir (Guerre)","Pari","Marchandage"],"talents":["Maîtrise du combat","Coeur vaillant","Inébranlable","Seigneur de guerre"],"trappings":["Carapaçon","Petite suite de suivants"],"incomeSkill":[6],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"First Knight"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.GPhqluMBhCeTnyNJ"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"NqwVT6diup3KAaz9","name":"Pyromancier","type":"career","img":"modules/wfrp4e-core/icons/careers/wizard-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.m6WuSnrrW7QllX63]{Wizard}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Sorcier"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["wp","int","ag","ws"],"skills":["Focalisation (Aqshy)","Esquive","Intuition","Langue (Magick)","Savoir (Magie)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Perception","Charme","Calme","Ragot","Intimidation","Langue (Bataille)","Langue (Au choix)","Savoir(Stratégie militaire)","Commandement",""],"talents":["Magie des Arcanes (Feu)","Détection d'artefact","Mains agiles","Sixième Sens"],"trappings":["License de magie","Robes pratiques","Seconde et troisième clés des secrets","Epée"],"incomeSkill":[3],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Master Wizard"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.1DIMUn1Cj5rohWJV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
{"_id":"OorZm6R5oGvRG3Zs","name":"Cadet Grande épée","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-01.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Soldat"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"s","standing":1},"characteristics":["ws","s","wp"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Ragot","Langue (Bataille)","Corps à corps (Base)","Corps à corps (A deux mains)","Musicien (Tambour)"],"talents":["Imperturbable","Coude-à-coude","Infatigable","Guerrier né"],"trappings":["Dague","plastron d'acier","uniforme","Epée à deux mains"],"incomeSkill":[8]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.QrbKnqJ0oXXSEwyM"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"name":"Pillard","type":"career","img":"modules/wfrp4e-core/icons/careers/cavalryman-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.h9LHCAdlP4o55QvD]{Cavalryman}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Cavalier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"b","standing":3},"characteristics":["ws","t","ag"],"skills":["Soin aux animaux","Résistance","Langue (Bataille)","Corps à corps (Base)","Survie en extérieur","Chevaucher (Cheval)","Esquive","Marchandage","Guérison","Projectiles (Lancer)"],"talents":["Savoir-vivre (Mercenaires)","Pansement de fortune","Fuite !","Infatigable"],"trappings":["Veste de cuir","Cheval de selle avec fontes et selle","Bouclier","Javelot"],"incomeSkill":[7],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Horseman"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.XuIDL2gpiFMleuVV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}},"_id":"QwiArcPoZ6ATHl7j"}
|
||||
{"_id":"RNifoRSLD2sGpMzH","name":"Capitaine Pistoletier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-04.png","data":{"description":{"type":"String","label":"Description","value":"<p>Pistoletier ou Pistolier: soldat armé de un ou deux pistolets. Dans le monde de Warhammer, le terme de Pistolier désigne déjà une cavalerie légère munie d'armes à feu, le plus souvent composée de cadet noble.Raison pour laquelle le terme de pistoletier sera choisi pour cette carrière.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Pistoletier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":1},"characteristics":["bs","ag","dex","i","int","wp"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Perception","Musicien (Flute)","Projectiles (Poudre noire)","Escalade","Pari","Ragot","Intuition","Survie en extérieur","Métier (Armurier)","Commandement","Orientation","Projectiles (Ingénierie)","Chevaucher (Cheval)","Charme","Savoir (Stratégie militaire)"],"talents":["Exaltant","Voyageur aguerri","Coeur vaillant","Seigneur de guerre"],"trappings":["Lettre de mission","Cheval de guerre léger avec fontes et selle","Symbole de rang"],"incomeSkill":[9]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"Rg9d1oGIBePS8LtA","name":"Sergent Grande épée","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-03.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Soldat"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"s","standing":5},"characteristics":["ws","s","wp","i","t"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Ragot","Langue (Bataille)","Corps à corps (Base)","Corps à corps (A deux mains)","Musicien (Tambour)","Pari","Intimidation","Savoir (Héraldique)","Corps à corps (Au choix)","Survie en extérieur","Perception","Intuition","Commandement","Orientation","Chevaucher (Cheval)",""],"talents":["Vigilance","Combattant en espace clos","Inébranlable","Seigneur de guerre"],"trappings":["Manuel sur l'art de combattre avec une épée à deux mains","Epée à deux mains de qualité","Symbole de rang"],"incomeSkill":[8]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.aEDq4xrMlCivhIgI"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"TdnL6veNdLxGt4ti","name":"Premier Chevalier Panthère","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier Panthère"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"g","standing":2},"characteristics":["s","i","ws","ag","wp"],"skills":["Athlétisme","Soin aux animaux","Charme","Emprise sur les animaux","Guérison","Savoir (Empire)","Savoir (Héraldique)","Corps à corps (Base)","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)","Calme","Esquive","Résistance","Intimidation","Langue (Bataille)","Corps à corps ()","Charme","Langue ()","Commandement","Savoir (Stratégie militaire)"],"talents":["Sans peur (Chaos)","Coeur vaillant","Inébranlable","Seigneur de guerre"],"trappings":["Caparaçon","Petite unité de Chevalier Panthère"],"incomeSkill":[8],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Squire"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.FrPCbQ7fq1Fchthn"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"Tt8e49EaGzcde6lv","name":"Ecuyer Chevalier Panthère","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier Panthère"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"s","standing":3},"characteristics":["s","i","ws"],"skills":["Athlétisme","Soin aux animaux","Charme","Emprise sur les animaux","Guérison","Savoir (Empire)","Savoir (Héraldique)","Corps à corps (Base)","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)"],"talents":["Savoir-vivre","Cavalier émérite","Costaud","Guerrier né"],"trappings":["Veste de cuir","Chemise de mailles","Cheval de selle avec fontes et selle","Bouclier","Outils (Maréchal Ferrand)"],"incomeSkill":[8],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Squire"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.FrPCbQ7fq1Fchthn"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"TzHA4hYvllpATCNR","name":"Brise Fer","type":"career","img":"modules/wfrp4e-core/icons/careers/guard-02.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Garde"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["ws","t","wp","s"],"skills":["Athlétisme","Escalade","Calme","Esquive","Résistance","Corps à corps (Base)","Intimidation","Discrétion (Au choix) Langue(Bataille)","Divertissement (Chant)","Résistance à l'alcool","Ragot","Commandement","Savoir (Géologie)","Corps à corps (Parade)","Projectiles (Explosifs)"],"talents":["Battement","Vigilance","Porte-bouclier","Inébranlable"],"trappings":["3 bombes","une arme ou une pièce d'armure en Gromril"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Dragon Slayer"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.nWFtlLdrGOhIJsMd"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"Uk8GjboFpky5s1rb","name":"Sergent Hallebardier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-03.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Hallebardier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"s","standing":5},"characteristics":["ws","t","ag","s","i"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Représentation (Parade)","Musicien (Tambour)","Escalade","Pari","Intimidation","Survie en extérieur","Perception","Intuition","Commandement","Orientation","Chevaucher (Cheval)"],"talents":["Vigilance","Inébranlable","Coeur vaillant","Seigneur de guerre"],"trappings":["Uniforme de qualité","Symbole de rang"],"incomeSkill":[7]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.AvS1DCWQ3uYuA1d2"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"VejcUZNHfMvDYH6b","name":"Premier Aigle (Initié de Myrmidia)","type":"career","img":"modules/wfrp4e-core/icons/careers/priest-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.GNwQFkVKUs0JM6U5]{Priest}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Prêtre"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"s","standing":2},"characteristics":["ws","int","fel"],"skills":["Calme","Esquive","Langue (Bataille)","Commandement","Savoir (Stratégie militaire)","Savoir (Théologie)","Perception","Prière","Corps à corps (Base)","Corps à corps (Armes d'hast)"],"talents":["Béni (Myrmidia)","Vigilance","Lire/Ecrire","Savoir-vivre (Cultistes)"],"trappings":["Livre sacré de Myrmidia","Icone de Myrmidia","Robes blanches","épieu","Justaucorps de cuir"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Initiate"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.u2DMz1B0DyUHBi6Z"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"Wg3atohL0uISyrvx","name":"Hallebardier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-02.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Hallebardier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["ws","t","ag","s"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Représentation (Parade)","Musicien (Tambour)","Escalade","Pari","Ragot","Intimidation","Survie en extérieur","Perception"],"talents":["Combattant en espace clos","Savoir-vivre (Soldats)","Sans peur (Au choix)","Coup puissant"],"trappings":["Plastron d'acier","Hallebarde de qualité","Heaume ouvert"],"incomeSkill":[7]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.1GlINqj6gVsnLtmF"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"aqFlKIE9TVnuphma","name":"Capitaine Hallebardier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-04.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Hallebardier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":1},"characteristics":["ws","t","ag","s","i","dex"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Représentation (Parade)","Musicien (Tambour)","Escalade","Pari","Intimidation","Survie en extérieur","Perception","Intuition","Commandement","Orientation","Chevaucher (Cheval)","Charme","Savoir (Stratégie militaire)"],"talents":["Exaltant","Orateur","Voyageur aguerri","Présence imposante"],"trappings":["Lettre de mission","Léger cheval de guerre avec fontes et selle","Epée de qualité","Symbole de rang"],"incomeSkill":[7]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.AvS1DCWQ3uYuA1d2"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"cTK9YmeYcqyvKAC3","name":"Barbe de fer","type":"career","img":"modules/wfrp4e-core/icons/careers/guard-03.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Brise fer"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"g","standing":1},"characteristics":["ws","t","wp","s","i"],"skills":["Athlétisme","Escalade","Calme","Esquive","Résistance","Corps à corps (Base)","Intimidation","Discrétion (Au choix) Langue(Bataille)","Divertissement (Chant)","Résistance à l'alcool","Ragot","Commandement","Savoir (Géologie)","Corps à corps (Parade)","Projectiles (Explosifs)","Intuition","Perception","Corps à corps (A deux mains)"],"talents":["Frappe précise","Maîtrise du combat","Frappe réactive","Seigneur de guerre"],"trappings":["Hache à deux mains","armure complète en gromril."],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Dragon Slayer"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.nWFtlLdrGOhIJsMd"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
@ -35,6 +43,7 @@
|
||||
{"_id":"eyoKOHqKDJWrEiNm","name":"Chevalier","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":5},"characteristics":["ws","s","i","ag"],"skills":["Athlétisme","Soin aux animaux","Emprise sur les animaux","Guérison","Savoir (Héraldique)","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)","Calme","Esquive","Résistance","Intimidation","Langue (Bataille)","Corps à corps (Au choix)"],"talents":["Menaçant","Voyageur aguerri","Porte-bouclier","Coup puissant"],"trappings":["Destrier avec fontes et selle","Arme à 1 main (Au choix)","Lance","Armure de plates et Heaume"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Knight"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.FhK6JOd3LSTlHwoa"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"f5aesgb3NB90LTni","name":"Maître Druide","type":"career","img":"modules/wfrp4e-core/icons/careers/wizard-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.m6WuSnrrW7QllX63]{Wizard}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Sorcier"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"g","standing":1},"characteristics":["wp","int","ag","i","fel"],"skills":["Focalisation (Ghyran)","Emprise sur les animaux","Esquive","Intuition","Langue (Magick)","Savoir (Magick)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Perception","Charme","Ragot","Intimidation","Langue (Bataille)","Langue (Au choix)","Soin aux animaux","Evaluation","Savoir (Magick)","Chevaucher (Cheval)","Survie en extérieur","Orientation","Evaluation","Savoir(Plante)"],"talents":["Nomade","Diction Instinctive","Perception de la magie","Menaçant"],"trappings":["Apprenti","Faucille en or","Objet Magique","Robes standards"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Master Wizard"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.1DIMUn1Cj5rohWJV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
{"_id":"gmWLGaKQwXKdTLBM","name":"Druide","type":"career","img":"modules/wfrp4e-core/icons/careers/wizard-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.m6WuSnrrW7QllX63]{Wizard}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Sorcier"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["wp","int","ag","i"],"skills":["Focalisation (Ghyran)","Emprise sur les animaux","Esquive","Intuition","Langue (Magick)","Savoir (Magick)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Perception","Charme","Ragot","Intimidation","Langue (Bataille)","Langue (Au choix)","Survie en extérieur","Orientation"],"talents":["Magie des Arcanes (Vie)","Détection d'artefact","Sixième sens","Mains agiles"],"trappings":["License de magie","Robes pratiques","Faucille en argent"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Master Wizard"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.1DIMUn1Cj5rohWJV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
{"_id":"hz1sQZQPiYcBhS98","name":"Prêtre Capitaine de Myrmidia","type":"career","img":"modules/wfrp4e-core/icons/careers/priest-04.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.GNwQFkVKUs0JM6U5]{Priest}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Prêtre"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"s","standing":5},"characteristics":["ws","int","fel","i","ag","s"],"skills":["Calme","Esquive","Langue (Bataille)","Commandement","Savoir (Stratégie militaire)","Savoir (Théologie)","Perception","Prière","Corps à corps (Base)","Corps à corps (Armes d'hast)","Charme","Divertissement (Discours)","Guérison","Intuition","Corps à corps (Au choix)","Projectiles (Au choix)","Savoir (Au choix)","Corps à corps (Au choix)","Recherche","Métier (Armurier) ou Métier (Forgeron)","Chevaucher (Cheval)","Soin aux animaux"],"talents":["Maîtrise du combat","Combat Instinctif","Sans peur (Au choix)","Seigneur de guerre"],"trappings":["Relique religieuse de Myrmidia"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Initiate"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.u2DMz1B0DyUHBi6Z"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"kXm8TVGDTDmUhRau","name":"Chevalier du cercle intérieur","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-04.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":4},"characteristics":["ws","s","i","ag","wp","fel"],"skills":["Athlétisme","Soin aux animaux","Emprise sur les animaux","Guérison","Savoir (Héraldique)","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)","Calme","Esquive","Résistance","Intimidation","Langue (Bataille)","Corps à corps (Au choix)","Charme","Résistance à l'alcool","Commandement","Savoir (Guerre)","Savoir (Au choix)","Signes secrets (Ordre chevaleresque)"],"talents":["Désarmer","Exaltant","Volonté de fer","Frappe blessante"],"trappings":["Grand Heaume avec Plumes","Ecuyer","Grande unité de Chevaliers ou plusieurs petites unités de Chevaliers"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Knight of the Inner Circle"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.Esy17RVOZQw2gShT"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"ke2oDDtn4tqXsT2x","name":"Sergent Templier","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier du Loup Blanc"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"g","standing":2},"characteristics":["s","i","ws","ag","wp"],"skills":["Athlétisme","Soin aux animaux","Charme","Emprise sur les animaux","Guérison","Survie en extérieur","Savoir (Héraldique)","Corps à corps (Base)","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)","Calme","Esquive","Résistance","Intimidation","Langue (Bataille)","Corps à corps ()","Résistance à l'alcool","Commandement","Savoir (Stratégie militaire)","Perception"],"talents":["Sans peur (Au choix)","Assaut féroce","Inébranlable","Seigneur de guerre"],"trappings":["Caparaçon","Petite unité de Chevalier du Loup Blanc"],"incomeSkill":[8],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Squire"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.FrPCbQ7fq1Fchthn"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
{"_id":"lYqf7uK7eZjO7Ceb","name":"Maître Pyromancier","type":"career","img":"modules/wfrp4e-core/icons/careers/wizard-03.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.m6WuSnrrW7QllX63]{Wizard}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Sorcier"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"3"},"status":{"tier":"g","standing":1},"characteristics":["wp","int","ag","i","ws"],"skills":["Focalisation (Aqshy)","Emprise sur les animaux","Esquive","Intuition","Langue (Magick)","Savoir (Magie)","Corps à corps (Base)","Corps à corps (Armes d'hast)","Perception","Charme","Calme","Ragot","Intimidation","Langue (Bataille)","Langue (Au choix)","Chevaucher (Cheval)","Evaluation","Savoir(Stratégie militaire)","Commandement","Recherche",""],"talents":["Maniement de deux armes","Diction instinctive","Perception de la magie","Menaçant"],"trappings":["Objet magique","Robes standards","Apprenti","Quatrième et cinquième clés des secrets","Cheval de guerre léger"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Master Wizard"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.1DIMUn1Cj5rohWJV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
@ -42,4 +51,8 @@
|
||||
{"_id":"lu761rq8xijg1Gb6","name":"Fusilier","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>Pistoletier ou Pistolier: soldat armé de un ou deux pistolets. Dans le monde de Warhammer, le terme de Pistolier désigne déjà une cavalerie légère munie d'armes à feu, le plus souvent composée de cadet noble.Raison pour laquelle le terme de pistoletier sera choisi pour cette carrière.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Fusilier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["bs","ag","dex","i"],"skills":["Athlétisme","Résistance à l'alcool","Calme","Esquive","Résistance","Langue (Bataille)","Corps à corps (Base)","Perception","Musicien (Flute)","Projectiles (Poudre noire)","Escalade","Pari","Ragot","Intuition","Survie en extérieur","Métier (Armurier)"],"talents":["Coude-à-coude","Savoir-vivre (Soldats)","Tir rapide","Rechargement rapide"],"trappings":["Grand chapeau avec plume","Arme à feu de qualité"],"incomeSkill":[9]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.ueWFtOkyyElDKDuH"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"mM23mWHtznFgOvHk","name":"Ecuyer Chevalier du Loup Blanc","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier du Loup Blanc"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"s","standing":3},"characteristics":["s","i","ws"],"skills":["Athlétisme","Soin aux animaux","Emprise sur les animaux","Guérison","Savoir (Héraldique)","Corps à corps(Base)","Corps à corps(Cavalerie)","Chevaucher(Cheval)","Métier(Maréchal-ferrant)","Survie en extérieur"],"talents":["Dur à cuire","Cavalier émérite","Costaud","Guerrier né"],"trappings":["Veste de cuir","Chemise de mailles","Cheval de selle avec fontes et selle","Marteau de cavalerie","Outils (Maréchal Ferrand)","Symbole Religieux d'Ulric"],"incomeSkill":[6],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Squire"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.FrPCbQ7fq1Fchthn"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.4.0"}}}
|
||||
{"_id":"s6vmduwjYqoF34mY","name":"Recrue Archer","type":"career","img":"modules/wfrp4e-core/icons/careers/soldier-01.png","data":{"description":{"type":"String","label":"Description","value":""},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Archer"},"class":{"type":"String","label":"Class","value":"Guerrier"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"s","standing":1},"characteristics":["bs","i","ag"],"skills":["Athlétisme","Escalade","Résistance à l'alcool","Esquive","Langue(Bataille)","Perception","Musicien(Corne)","Projectile(Arc)","Discrétion(Rurale)"],"talents":["Tir Rapide","Guerrier né","Infatigable","Tir précis"],"trappings":["Dague","Uniforme","Arc","carquois de 10 flèches"],"incomeSkill":[7]},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"core":{"sourceId":"Item.W0I3duzzEHtIvzSj"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"sd3bDw77XiBKQypC","name":"Prêtre Capitaine de Myrmidia","type":"career","img":"modules/wfrp4e-core/icons/careers/priest-04.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.GNwQFkVKUs0JM6U5]{Priest}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Prêtre"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"s","standing":5},"characteristics":["ws","int","fel","i","ag","s"],"skills":["Calme","Esquive","Langue (Bataille)","Commandement","Savoir (Stratégie militaire)","Savoir (Théologie)","Perception","Prière","Corps à corps (Base)","Corps à corps (Armes d'hast)","Charme","Divertissement (Discours)","Guérison","Intuition","Corps à corps (Au choix)","Projectiles (Au choix)","Savoir (Au choix)","Corps à corps (Au choix)","Recherche","Métier (Armurier) ou Métier (Forgeron)","Chevaucher (Cheval)","Soin aux animaux"],"talents":["Maîtrise du combat","Combat Instinctif","Sans peur (Au choix)","Seigneur de guerre"],"trappings":["Relique religieuse de Myrmidia"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Initiate"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.u2DMz1B0DyUHBi6Z"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"uPebNEz85HC7bcSB","name":"Commandant Chevalier errant","type":"career","img":"modules/wfrp4e-core/icons/careers/knight-04.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.n2VdkCPNNxdupjeQ]{Knight}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Chevalier errant"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"4"},"status":{"tier":"g","standing":3},"characteristics":["ws","s","i","ag","wp","fel"],"skills":["Athlétisme","Soin aux animaux","Emprise sur les animaux","Guérison","Ragot","Survie en extérieur","Corps à corps (Cavalerie)","Chevaucher (Cheval)","Métier (Maréchal-ferrant)","Calme","Esquive","Résistance","Intimidation","Intuition","Langue (Bataille)","Corps à corps (Au choix)","Charme","Résistance à l'alcool","Commandement","Savoir (Guerre)","Savoir (Au choix)","Pari","Marchandage"],"talents":["Désarmer","Exaltant","Volonté de fer","Chanceux"],"trappings":["Ecuyer","Compagnie de Chevaliers"],"incomeSkill":[6],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Knight of the Inner Circle"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.Esy17RVOZQw2gShT"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"xiZJdE5F8QU2uysh","name":"Prêtre guerrier de Myrmidia","type":"career","img":"modules/wfrp4e-core/icons/careers/priest-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.GNwQFkVKUs0JM6U5]{Priest}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Prêtre"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":3},"characteristics":["ws","int","fel","i"],"skills":["Calme","Esquive","Langue (Bataille)","Commandement","Savoir (Stratégie militaire)","Savoir (Théologie)","Perception","Prière","Corps à corps (Base)","Corps à corps (Armes d'hast)","Charme","Divertissement (Discours)","Guérison","Intuition","Corps à corps (Au choix)","Projectiles (Au choix)"],"talents":["Coude-à-coude","Exaltant","Invocation (Myrmidia)","Porte-bouclier"],"trappings":["Plastron d'acier","Heaume et bouclier"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Initiate"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.u2DMz1B0DyUHBi6Z"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"ywOCVUyCJfREo52j","name":"Premier Aigle (Initié de Myrmidia)","type":"career","img":"modules/wfrp4e-core/icons/careers/priest-01.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.GNwQFkVKUs0JM6U5]{Priest}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Prêtre"},"class":{"type":"String","label":"Class","value":"Lettrés"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"1"},"status":{"tier":"s","standing":2},"characteristics":["ws","int","fel"],"skills":["Calme","Esquive","Langue (Bataille)","Commandement","Savoir (Stratégie militaire)","Savoir (Théologie)","Perception","Prière","Corps à corps (Base)","Corps à corps (Armes d'hast)"],"talents":["Béni (Myrmidia)","Vigilance","Lire/Ecrire","Savoir-vivre (Cultistes)"],"trappings":["Livre sacré de Myrmidia","Icone de Myrmidia","Robes blanches","épieu","Justaucorps de cuir"],"incomeSkill":[4],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"details","babele":{"translated":true,"hasTranslation":true,"originalName":"Initiate"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.u2DMz1B0DyUHBi6Z"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"zIm3Ukdv6m6B1TWa","name":"Cavalerie légère","type":"career","img":"modules/wfrp4e-core/icons/careers/cavalryman-02.png","data":{"description":{"type":"String","label":"Description","value":"<p>@Compendium[wfrp4e-core.career-descriptions.h9LHCAdlP4o55QvD]{Cavalryman}</p>"},"gmdescription":{"type":"String","label":"Description","value":""},"careergroup":{"type":"String","label":"Career Group","value":"Cavalier"},"class":{"type":"String","label":"Class","value":"Guerriers"},"current":{"type":"Boolean","value":false},"complete":{"type":"Boolean","value":false},"level":{"type":"String","label":"Career Level","value":"2"},"status":{"tier":"s","standing":2},"characteristics":["ws","t","ag","bs"],"skills":["Soin aux animaux","Résistance","Langue (Bataille)","Corps à corps (Base)","Survie en extérieur","Chevaucher (Cheval)","Esquive","Marchandage","Guérison","Projectiles (Lancer)","Charme","Résistance à l'alcool","Pari","Ragot","Corps à corps (Cavalerie)","Projectiles (Arc)"],"talents":["Sens de l'orientation","Vigilance","Nomade","Cavalier émérite"],"trappings":["Cotte de maille","Cheval de guerre léger avec selle et fontes","Heaume ouvert"],"incomeSkill":[5],"source":{"type":"String","label":"Source"}},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"babele":{"translated":true,"hasTranslation":true,"originalName":"Horseman"},"core":{"sourceId":"Compendium.wfrp4e-core.careers.XuIDL2gpiFMleuVV"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
|
2
packs/sort-fr.db
Normal file
2
packs/sort-fr.db
Normal file
@ -0,0 +1,2 @@
|
||||
{"_id":"2NuLGbLlyHPck2Je","name":"Confort","type":"spell","img":"modules/wfrp4e-core/icons/spells/fire.png","data":{"description":{"type":"String","label":"Description","value":"<p>Vous étendez les vents d'Aqshy selon une délicate toile, qui réchauffe subtilement l'aire d'effet.Ce sort crée une zone de chaleur confortable qui par ailleurs évite même dans les environnements les plus glaciaux, les effets de l'exposition au froid. L'air chaud produit des tourbillons autour de la zone d'effet, détournant les fortes rafales de vent et les intempéries les plus rigoureuses. Avec ce sort, la difficulté de monter un camp ne peut exiger un jet de Survie en extérieur plus difficile que Accessible (+20).</p>\n<p><strong>Domaine:</strong> Vous pouvez infliger +1 Etat Enflammé à quiconque est ciblé par les Sorts du Domaine du Feu, à moins qu'ils ne possèdent également le Talent Magie des Arcanes (Feu). Chaque Etat Enflammé situé à une distance en mètres égale à votre Bonus de Force Mentale ajoute +10 aux tentatives de Focalisation ou d'Incantation avec <em>Aqshy</em>.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"lore":{"type":"String","label":"Lore","value":"fire","effect":""},"range":{"type":"String","label":"Range","value":"Force Mentale mètres."},"target":{"type":"String","label":"Target","value":"Bonus de Force Mentale mètre","aoe":true},"duration":{"type":"String","label":"Duration","value":"Bonus de Force Mentale heures","extendable":false},"damage":{"type":"String","label":"Damage","dice":"","value":""},"cn":{"type":"Number","label":"Casting Number","value":3,"SL":0},"magicMissile":{"type":"Boolean","label":"Magic Missile","value":false},"memorized":{"type":"Boolean","label":"Memorized","value":false},"skill":{"value":""},"ingredients":[],"currentIng":{"type":"Number","label":"Ingredient","value":0},"wind":{"value":""},"overcast":{"enabled":false,"label":"","valuePerOvercast":{"type":"","value":1,"SL":false,"characteristic":"","bonus":false},"initial":{"type":"","value":1,"SL":false,"characteristic":"","bonus":false}},"source":{"type":"String","label":"Source"}},"effects":[{"_id":"kNTwaivtonPJpdY6","changes":[],"duration":{"startTime":null},"flags":{"wfrp4e":{"effectApplication":"apply","effectTrigger":"oneTime","lore":true,"script":"\n if (args.actor.isOwner)\n {\n args.actor.addCondition(\"ablaze\")\n }"}},"icon":"modules/wfrp4e-core/icons/spells/fire.png","label":"Domaine du Feu","transfer":true,"disabled":false}],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"description","babele":{"translated":true,"hasTranslation":true,"originalName":"Mundane Aura (Fire)"},"core":{"sourceId":"Compendium.wfrp4e-core.spells.7pHcU30nMhgd0V5N"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
||||
{"_id":"VexogjUDXdGAHWmN","name":"Cuisine rapide","type":"spell","img":"modules/wfrp4e-core/icons/spells/fire.png","data":{"description":{"type":"String","label":"Description","value":"<p>Vous faites trés rapidement chauffer un morceau de viande, une marmitte de ragoût, ou tout autre plat de nourriture similaire.C'est instantannément cuit à la perfection, selon vos goûts. Notons que cela n'apporte aucun ingrédient culinaire supplémentaire, et qu'un test de Métier (Cuisine) est nécessaire pour réaliser un plat vraiment succulent.</p>\n<p><strong>Domaine:</strong> Vous pouvez infliger +1 Etat Enflammé à quiconque est ciblé par les Sorts du Domaine du Feu, à moins qu'ils ne possèdent également le Talent Magie des Arcanes (Feu). Chaque Etat Enflammé situé à une distance en mètres égale à votre Bonus de Force Mentale ajoute +10 aux tentatives de Focalisation ou d'Incantation avec <em>Aqshy</em>.</p>\n<p> </p>"},"gmdescription":{"type":"String","label":"Description","value":""},"lore":{"type":"String","label":"Lore","value":"fire","effect":""},"range":{"type":"String","label":"Range","value":"Contact"},"target":{"type":"String","label":"Target","value":"Spécial","aoe":false},"duration":{"type":"String","label":"Duration","value":"Instantannée","extendable":false},"damage":{"type":"String","label":"Damage","dice":"","value":""},"cn":{"type":"Number","label":"Casting Number","value":2,"SL":0},"magicMissile":{"type":"Boolean","label":"Magic Missile","value":false},"memorized":{"type":"Boolean","label":"Memorized","value":false},"skill":{"value":""},"ingredients":[],"currentIng":{"type":"Number","label":"Ingredient","value":0},"wind":{"value":""},"overcast":{"enabled":false,"label":"","valuePerOvercast":{"type":"","value":1,"SL":false,"characteristic":"","bonus":false},"initial":{"type":"","value":1,"SL":false,"characteristic":"","bonus":false}},"source":{"type":"String","label":"Source"}},"effects":[{"_id":"kNTwaivtonPJpdY6","changes":[],"duration":{"startTime":null},"flags":{"wfrp4e":{"effectApplication":"apply","effectTrigger":"oneTime","lore":true,"script":"\n if (args.actor.isOwner)\n {\n args.actor.addCondition(\"ablaze\")\n }"}},"icon":"modules/wfrp4e-core/icons/spells/fire.png","label":"Domaine du Feu","transfer":true,"disabled":false}],"folder":null,"sort":0,"permission":{"default":0,"KlpQY85kaIy1CjL6":3},"flags":{"_sheetTab":"description","babele":{"translated":true,"hasTranslation":true,"originalName":"Mundane Aura (Fire)"},"core":{"sourceId":"Compendium.wfrp4e-core.spells.7pHcU30nMhgd0V5N"},"exportSource":{"world":"warhammer-9","system":"wfrp4e","coreVersion":"9.269","systemVersion":"5.3.0"}}}
|
@ -2,7 +2,7 @@ package.path = package.path .. ";luajson/?.lua"
|
||||
local JSON = require"json"
|
||||
|
||||
--local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-dotr/lang/en.json"
|
||||
--local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-core/lang/en.json"
|
||||
local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-core/lang/en.json"
|
||||
local enjsonf = "../../WFRP4e-FoundryVTT/static/lang/en.json"
|
||||
local frjsonf = "../fr.json"
|
||||
|
||||
|
Reference in New Issue
Block a user