Compare commits

...

10 Commits

Author SHA1 Message Date
025df829b3 Fix sorts 2023-01-30 20:17:16 +01:00
9dd7f9bcb1 EIS working again 2023-01-30 11:12:08 +01:00
61b25a818e Update traductions 2023-01-29 15:30:11 +01:00
942ac53191 Ajout up-in-arms 2023-01-20 10:05:36 +01:00
4e2c4441aa Nouvelles traductions 2023-01-19 18:04:54 +01:00
fc7f9dfceb Sync to latest 6.3.0 2023-01-18 18:55:37 +01:00
ecbb3dcdf4 Nouvelles traductions 2023-01-15 10:10:26 +01:00
2d6091d477 Various fixes around commands and rolltables 2022-11-19 21:42:22 +01:00
a16a83457e Add help messages 2022-11-16 21:14:26 +01:00
5a32d50677 Sync with system 6.2.0 2022-11-16 20:57:41 +01:00
21 changed files with 11400 additions and 10203 deletions

View File

@ -45,6 +45,42 @@ const _patch_eis = () => {
}
}
/************************************************************************************/
const _patch_up_in_arms = () => {
game.wfrp4e.config.hitLocationTables["quadruped"] = "Quadrupède";
let batter = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Batter")
if (batter) {
batter.name = "Battre"
batter.description = "En face d'un adversaire plus expérimenté, quelque fois la force brute peut réussir là où d'autres approches échouent.",
batter.effect = "<strong>Action Spéciale</strong>: Pour Battre votre adversaire, vous devez réussir un Test Opposé de Force contre votre adversaire. Celui qui obtient le DR le plus élevé gagne. Si vous gagnez ce Test, votre adversaire reçoit l'état @Condition[A Terre] et vous recevez +1 Avantage. Si vous perdez le Test Opposé, votre opposant gagne +1 Avantage and votre action est terminée. Vous ne gagnez pas d'Avantage due à la victoire d'un test Opposé lorsque vous gagnez ce test (ie 1 seul avantage octroyé au total si le Test Opposé de Force est remporté)."
}
let trick = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Trick")
if (trick) {
trick.name = "Duper"
trick.description = "Vous prenez un instant pour lancer de la poussière dans les yeux de votre adversaire ou bien lui lancer de l'huile enflammée. Cette manoeuvre est risquée, et peu d'ennemis se font avoir deux fois de la même manière",
trick.effect = "<strong>Action Spéciale</strong>: Pour Duper votre adversaire, vous devez réussir un Test Opposé d'Agilité contre lui. Celui qui obtient le plus haut DR gagne le Test. Si vous gagnez le Test, vous recevez +1 Avantage. En fonction des circonstances, le MJ peut vous autoriser à attribuer à votre adversaire l'un des états suivants : @Condition[En Flammes], @Condition[Aveuglé], or @Condition[Empêtré]. Si vous perdez le Test Opposé, votre adversaire gagne +1 Avantage et votre action est terminée. Le MJ peut interdire certains de ces états si vous n'avez d'objet applicables dans votre main, ou bien si vous avez déja infligé un état identique precedemment à cet adversaire. Vous ne gagnez pas d'Avantages due à la victoire d'un test Opposé lorsque vous gagnez ce test (ie 1 seul avantage octroyé au total si le Test Opposé de Force est remporté)."
}
let addeffort = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Additional Effort")
if (addeffort) {
addeffort.name = "Effort Supplémentaire"
addeffort.description = "Dans des circonstances désespérées, vous pouvez utiliser l'élan que vous avez acquis pour augmenter vos chances de succès.",
addeffort.effect = "<strong>Action Gratuite</strong>: Vous gagnez un bonus de +10% pour n'importe quel test. Vous pouvez dépenser des avantages supplémentaires pour ajouter +10% par Avantage dépensé en plus. Par exemple, vous pouvez dépenser 3 Avantages pour un bonus de +10%, 4 avantages pour un +30%, etc. Le Test qui en découle ne procure jamais d'Avantages pour le personnage qui le réalise."
}
let flee = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Flee from Harm")
if (flee) {
flee.name = "Fuir le Mal"
flee.description = "Vous profitez d'un moment de distraction de votre adversaire pour fuir le combat.",
flee.effect = "<strong>Mouvement</strong>: Vous pouvez vous éloignez de votre adversaire sans aucune pénalité. Cela remplace la règle de @UUID[Compendium.wfrp4e-core.journal-entries.NS3YGlJQxwTggjRX.JournalEntryPage.bdfiyhEYtKs7irqc#disengaging]{Désengagement}."
}
let addaction = game.wfrp4e.config.groupAdvantageActions.find(ga => ga.name == "Additional Action")
if (addaction) {
addaction.name = "Action Supplémentaire"
addaction.description = "Vous profitez d'une opportunité pour accomplir une action remarquable.",
addaction.effect = "<strong>Action Gratuite</strong>: Vous réalisez une action supplémentaire. Cette action ne génère jamais d'Avantage pour vous. Vous pouvez réaliser cette dépense d'Avantages seulement une seule fois par Tour."
}
}
/************************************************************************************/
/* Manages /auberge command */
const _manage_inn_roll = async (content, msg) => {
@ -57,10 +93,10 @@ const _manage_inn_roll = async (content, msg) => {
if (command[0] == "/auberge" && command[1]) {
msg["type"] = 0;
msg["rollMode"] = "gmroll";
var compendium = game.packs.get('WH4-fr-translation.plats-dauberges');
let rollList = [];
await compendium.getIndex().then(index => rollList = index);
rollList = rollList.contents;
var compendium = game.packs.get('wh4-fr-translation.plats-dauberges')
const pack = game.packs.get(compendium);
let rollList = await compendium.getDocuments()
//console.log("AUBERGE", rollList)
for (var i = 0; i < rollList.length; i++) {
var rollTab = rollList[i];
console.log("Got compendium...", rollList, rollTab.name);
@ -174,7 +210,7 @@ const patch_core_tables = (tableList) => {
/************************************************************************************/
const patch_trade_gazeteer = () => {
if (game.wfrp4e.config.trade?.gazetteer) {
fetch("modules/WH4-fr-translation/tables/gazetteer.json").then(r => r.json()).then(records => {
fetch("modules/wh4-fr-translation/trade/gazetteer_dotr.json").then(r => r.json()).then(records => {
game.wfrp4e.config.trade.gazetteer = records;
});
}
@ -187,25 +223,30 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => {
game.modules.forEach((module, name) => {
if (name == "wfrp4e-core" && module.active) {
//console.log("TESTING MODULE", module)
if (module.id == "wfrp4e-core" && module.active) {
patch_core_tables(__wfrp4e_tables);
}
if (name == "wfrp4e-eis" && module.active) {
if (module.id == "wfrp4e-eis" && module.active) {
patch_core_tables(__eis_tables);
_patch_eis();
}
if (name == "wfrp4e-dotr" && module.active) {
if (module.id == "wfrp4e-dotr" && module.active) {
patch_core_tables(__dotr_tables);
patch_trade_gazeteer()
}
if (name == 'ogre-kingdom-wfrp4e' && module.active) {
if (module.id == "wfrp4e-up-in-arms" && module.active) {
_patch_up_in_arms();
}
if (module.id == 'ogre-kingdom-wfrp4e' && module.active) {
WH4FRPatchConfig.perform_ogrekingdom_patch();
if (game.user.isGM && chatFlag)
ChatMessage.create({ content: "<div><strong>Le module Ogre-Kingdom a été detecté et automatiquement patché.</strong></div>", whisper: ChatMessage.getWhisperRecipients("GM") });
}
if (name == "wfrp4e-ew" && module.active && game.user.isGM && chatFlag) {
if (module.id == "wfrp4e-ew" && module.active && game.user.isGM && chatFlag) {
ChatMessage.create({
content: "<div><strong>Vous avez le module EW (wfrp4e-ew ?) installé. Malheureusement, ce module n'est pas compatible avec" +
" les traductions et vient casser le fonctionnement de la traduction. Veuillez recopier les compendiums dans votre monde, désactiver le module et re-démarrer le monde</strong></div>",
@ -215,13 +256,17 @@ const __check_fix_wrong_modules = (chatFlag, patchFinished) => {
});
if (game.user.isGM && patchFinished) {
ChatMessage.create({
content: "<div>Les modules WFRP4E ont été <strong>patchés avec succés</strong>. Vous pouvez y aller et que <strong>Shallya vous garde !</strong></div>",
content: "<div>Les modules WFRP4E ont été <strong>patchés avec succés</strong>. Vous pouvez y aller et que <strong>Shallya vous garde !</strong></div>Nouveautés 6.3.X: <ul><li>Ajout des clés pour le système 6.3</li><li>Traduction de Détection d'artefact, Au dela de la norme sociale et Psychologirs (Ashbury77)</li><li>Traduction des items de Middenheim (Bimkiz)</li><li>Traduction des éléments pour les avantages de groupe (Up In Arms)</li></ul>",
user: game.user.id,
whisper: ChatMessage.getWhisperRecipients("GM")
});
}
}
const __history = [
"Nouveautés 6.2.23: <ul><li>Traduction des items du Starter Set (Ashbury77)</li><li>Traduction des items du d'Archives of the Empire (Bimkiz)</li></ul>"
]
/************************************************************************************/
const convertColumnToMulti = (table) => {
let columns = table.columns;

View File

@ -3,42 +3,45 @@ import statParserFR from "./modules/import-stat-2.js";
/************************************************************************************/
var compmod = "wfrp4e-core";
const vo_conditions = {
"ablaze": "Ablaze",
"bleeding": "Bleeding",
"blinded": "Blinded",
"broken": "Broken",
"deafened": "Deafened",
"entangled": "Entangled",
"fatigued": "Fatigued",
"poisoned": "Poisoned",
"prone": "Prone",
"stunned": "Stunned",
"surprised": "Surprised",
"unconscious": "Unconscious",
"grappling": "Grappling",
"fear": "Fear",
"defeated": "Defeated"
const vo_conditions = {
"ablaze": "Ablaze",
"bleeding": "Bleeding",
"blinded": "Blinded",
"broken": "Broken",
"deafened": "Deafened",
"entangled": "Entangled",
"fatigued": "Fatigued",
"poisoned": "Poisoned",
"prone": "Prone",
"stunned": "Stunned",
"surprised": "Surprised",
"unconscious": "Unconscious",
"grappling": "Grappling",
"fear": "Fear",
"defeated": "Defeated"
}
/************************************************************************************/
Hooks.once('init', () => {
// Check various settings in the installation
game.modules.forEach((module, id) => {
if ( id == "wfrp4e-core" && module.active) {
if (id == "wfrp4e-core" && module.active) {
compmod = "wfrp4e-core";
}
} );
game.wfrp4efr = { compmod: compmod,
vo_conditions: vo_conditions }
game.wfrp4e.apps.StatBlockParser.parseStatBlock = async function( statString, type = "npc") {
return statParserFR( statString, type);
}
});
game.wfrp4efr = {
compmod: compmod,
vo_conditions: vo_conditions
}
game.wfrp4e.apps.StatBlockParser.parseStatBlock = async function (statString, type = "npc") {
return statParserFR(statString, type);
}
/*---------------------------------------------------------------------*/
game.wfrp4e.entities.ItemWfrp4e.prototype.computeSpellDamage = function(formula, isMagicMissile) {
game.wfrp4e.entities.ItemWfrp4e.prototype.computeSpellDamage = function (formula, isMagicMissile) {
try {
formula = formula.toLowerCase();
@ -49,34 +52,31 @@ Hooks.once('init', () => {
}
// Specific case, to avoid wrong matching with "Force"
if (formula.includes("toughness bonus")) {
formula = formula.replace( "toughness bonus", this.actor.characteristics["t"].bonus);
if (formula.includes("toughness bonus")) {
formula = formula.replace("toughness bonus", this.actor.characteristics["t"].bonus);
}
// Specific case, to avoid wrong matching with "Force"
if (formula.includes("force mentale"))
{
if (formula.includes("force mentale")) {
// Determine if it's looking for the bonus or the value
if (formula.includes('bonus')) {
formula = formula.replace( "bonus de force mentale", this.actor.characteristics["wp"].bonus);
formula = formula.replace( "force mentale bonus", this.actor.characteristics["wp"].bonus);
formula = formula.replace("bonus de force mentale", this.actor.characteristics["wp"].bonus);
formula = formula.replace("force mentale bonus", this.actor.characteristics["wp"].bonus);
} else
formula = formula.replace("force mentale", this.actor.characteristics["wp"].value);
formula = formula.replace("force mentale", this.actor.characteristics["wp"].value);
}
// Iterate through characteristics
for(let ch in this.actor.characteristics)
{
for (let ch in this.actor.characteristics) {
// If formula includes characteristic name
while (formula.includes(this.actor.characteristics[ch].label.toLowerCase()))
{
while (formula.includes(this.actor.characteristics[ch].label.toLowerCase())) {
// Determine if it's looking for the bonus or the value
if (formula.includes('bonus')) {
formula = formula.replace("bonus de " + game.wfrp4e.config.characteristics[ch].toLowerCase(), this.actor.characteristics[ch].bonus);
formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase() + " bonus", this.actor.characteristics[ch].bonus);
formula = formula.replace("bonus de " + game.wfrp4e.config.characteristics[ch].toLowerCase(), this.actor.characteristics[ch].bonus);
formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase() + " bonus", this.actor.characteristics[ch].bonus);
}
else
formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase(), this.actor.characteristics[ch].value);
formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase(), this.actor.characteristics[ch].value);
}
}
@ -88,7 +88,7 @@ Hooks.once('init', () => {
}
/*---------------------------------------------------------------------*/
game.wfrp4e.entities.ItemWfrp4e.prototype.computeSpellPrayerFormula = function(type, aoe=false, formulaOverride) {
game.wfrp4e.entities.ItemWfrp4e.prototype.computeSpellPrayerFormula = function (type, aoe = false, formulaOverride) {
let formula = formulaOverride || this[type]?.value
if (Number.isNumeric(formula))
return formula
@ -97,37 +97,33 @@ Hooks.once('init', () => {
formula = formula.toLowerCase();
// Do not process these special values
if (formula != game.i18n.localize("You").toLowerCase() && formula != game.i18n.localize("Special").toLowerCase() && formula != game.i18n.localize("Instant").toLowerCase())
{
if (formula != game.i18n.localize("You").toLowerCase() && formula != game.i18n.localize("Special").toLowerCase() && formula != game.i18n.localize("Instant").toLowerCase()) {
// Specific case, to avoid wrong matching with "Force"
if (formula.includes("force mentale"))
{
if (formula.includes("force mentale")) {
// Determine if it's looking for the bonus or the value
if (formula.includes('bonus')) {
formula = formula.replace( "bonus de force mentale", this.actor.characteristics["wp"].bonus);
formula = formula.replace( "force mentale bonus", this.actor.characteristics["wp"].bonus);
formula = formula.replace("bonus de force mentale", this.actor.characteristics["wp"].bonus);
formula = formula.replace("force mentale bonus", this.actor.characteristics["wp"].bonus);
}
else
formula = formula.replace("force mentale", this.actor.characteristics["wp"].value);
formula = formula.replace("force mentale", this.actor.characteristics["wp"].value);
}
if (formula.includes("yard") )
formula = formula.replace('yard', "mètre" );
if (formula.includes("yds") )
formula = formula.replace('yds', "m." );
if (formula.includes("yard"))
formula = formula.replace('yard', "mètre");
if (formula.includes("yds"))
formula = formula.replace('yds', "m.");
// Iterate through remaining characteristics
for(let ch in this.actor.characteristics)
{
for (let ch in this.actor.characteristics) {
// If formula includes characteristic name
//console.log("Testing :", ch, WFRP4E.characteristics[ch].toLowerCase());
if (formula.includes(game.wfrp4e.config.characteristics[ch].toLowerCase()))
{
if (formula.includes(game.wfrp4e.config.characteristics[ch].toLowerCase())) {
// Determine if it's looking for the bonus or the value
if (formula.includes('bonus')) {
formula = formula.replace("bonus de " + game.wfrp4e.config.characteristics[ch].toLowerCase(), this.actor.characteristics[ch].bonus);
formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase() + " bonus", this.actor.characteristics[ch].bonus);
formula = formula.replace("bonus de " + game.wfrp4e.config.characteristics[ch].toLowerCase(), this.actor.characteristics[ch].bonus);
formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase() + " bonus", this.actor.characteristics[ch].bonus);
}
else
formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase(), this.actor.characteristics[ch].value);
formula = formula.replace(game.wfrp4e.config.characteristics[ch].toLowerCase(), this.actor.characteristics[ch].value);
}
}
}
@ -135,78 +131,79 @@ Hooks.once('init', () => {
// If AoE - wrap with AoE ( )
if (aoe)
formula = "AoE (" + formula.capitalize() + ")";
//console.log("calculateSpellAttributes -> " + formula );
return formula.capitalize();
}
/*---------------------------------------------------------------------*/
// Converters area
if(typeof Babele !== 'undefined') {
Babele.get().register({
module: 'wh4-fr-translation',
lang: 'fr',
dir: 'compendium'
})
if (typeof Babele !== 'undefined') {
Babele.get().register({
module: 'wh4-fr-translation',
lang: 'fr',
dir: 'compendium'
})
Babele.get().registerConverters({
"career_skills": (skills_list) => {
//console.log( "Thru here ...", compendium, skills_list);
if ( skills_list ) {
if (skills_list) {
var i;
var len = skills_list.length;
var re = /(.*)\((.*)\)/i;
var re = /(.*)\((.*)\)/i;
for (i = 0; i < len; i++) {
skills_list[i] = skills_list[i].trim();
var transl = game.babele.translate(compmod+'.skills', { name: skills_list[i] }, true ).name;
var transl = game.babele.translate('wfrp4e-core.skills', { name: skills_list[i] }, true).name;
if (!transl) transl = skills_list[i]
//console.log("List ...", skills_list[i]);
if ( transl == skills_list[i] ) {
var res = re.exec( skills_list[i] );
if (res) {
if (transl == skills_list[i]) {
var res = re.exec(skills_list[i]);
if (res) {
//console.log("Matched/split:", res[1], res[2]);
var subword = game.i18n.localize(res[2].trim() );
var subword = game.i18n.localize(res[2].trim());
var s1 = res[1].trim() + " ()";
var translw = game.babele.translate(compmod+'.skills', { name: s1}, true ).name;
var translw = game.babele.translate('wfrp4e-core.skills', { name: s1 }, true).name;
if (translw != s1) {
var res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
transl = res2[1] + "(" + subword + ")";
} else {
s1 = res[1].trim() + " ( )";
translw = game.babele.translate(compmod+'.skills', { name: s1}, true ).name;
translw = game.babele.translate('wfrp4e-core.skills', { name: s1 }, true).name;
var res2 = re.exec(translw);
transl = res2[1] + "(" + subword + ")";
}
transl = res2[1] + "(" + subword + ")";
}
}
}
skills_list[i] = transl;
}
}
return skills_list;
return skills_list;
},
"resultConverter": (results, translated) => {
//console.log("rolltable data", results, translated)
//console.log("STUF PARSING", results, translated)
if (translated) {
for (let data of results) {
if ( translated[`${data.range[0]}-${data.range[1]}`] ) {
if (translated[`${data.range[0]}-${data.range[1]}`]) {
data.text = translated[`${data.range[0]}-${data.range[1]}`]
}
}
return results
}
if ( results[0].documentCollection && results[0].documentCollection == "wfrp4e-core.career-descriptions" ) {
if (results[0].text.includes("wfrp4e-core.journal-entries")) {
for (let data of results) {
let career = data.text.match(/{(.*)}/)
//console.log(">>>>>", career)
if (career && career[1]) {
let careerFR = Babele.instance.converters.career_careergroup(career[1])
data.text = data.text.replace(career[1], careerFR)
}
}
}
if ( results[0].documentCollection ) {
if (results[0].documentCollection) {
return Babele.instance.converters.tableResults(results)
}
return results
@ -215,174 +212,173 @@ Hooks.once('init', () => {
"npc_details": (details) => {
//console.log("DETAILS: ", details);
let newDetails = duplicate(details);
if (details.species && details.species.value )
if (details.species && details.species.value)
newDetails.species.value = game.i18n.localize(details.species.value);
if (details.gender && details.gender.value )
newDetails.gender.value = game.i18n.localize(details.gender.value);
if (details.class && details.class.value )
newDetails.class.value = game.i18n.localize(details.class.value);
if (details.gender && details.gender.value)
newDetails.gender.value = game.i18n.localize(details.gender.value);
if (details.class && details.class.value)
newDetails.class.value = game.i18n.localize(details.class.value);
return newDetails;
},
"career_talents": (talents_list) => {
var compendium = game.packs.find(p => p.collection === compmod+'.talents');
"career_talents": (talents_list) => {
var compendium = game.packs.find(p => p.collection === 'wfrp4e-core.talents');
var i;
if ( talents_list ) {
if (talents_list) {
var len = talents_list.length;
var re = /(.*)\((.*)\)/i;
var re = /(.*)\((.*)\)/i;
for (i = 0; i < len; i++) {
var transl = game.babele.translate(compmod+'.talents', { name: talents_list[i]}, true ).name;
var transl = game.babele.translate('wfrp4e-core.talents', { name: talents_list[i] }, true).name;
if (!transl) transl = talents_list[i]
if ( transl == talents_list[i] ) {
var res = re.exec( talents_list[i]);
if (res) {
if (transl == talents_list[i]) {
var res = re.exec(talents_list[i]);
if (res) {
//console.log("Matched/split:", res[1], res[2]);
var subword = game.i18n.localize(res[2].trim() );
var subword = game.i18n.localize(res[2].trim());
var s1 = res[1].trim(); // No () in talents table
var translw = game.babele.translate(compmod+'.talents', { name: s1 }, true ).name;
var translw = game.babele.translate('wfrp4e-core.talents', { name: s1 }, true).name;
if (translw != s1) {
transl = translw + " (" + subword + ")";
transl = translw + " (" + subword + ")";
} else {
s1 = res[1].trim() + " ( )";
translw = game.babele.translate(compmod+'.talents', { name: s1 }, true ).name;
translw = game.babele.translate('wfrp4e-core.talents', { name: s1 }, true).name;
var res2 = re.exec(translw);
transl = res2[1] + " (" + subword + ")";
}
transl = res2[1] + " (" + subword + ")";
}
}
}
talents_list[i] = transl;
}
}
return talents_list;
return talents_list;
},
"npc_characteristics": (chars) => { // Auto-convert char names in the sheet
for (var key in chars) {
var char = chars[key];
var char = chars[key];
//console.log("Was here !", key, char );
var abrev = char["abrev"];
let toTransl = "CHAR." + abrev;
if ( game.i18n.localize( toTransl ) != toTransl) { // Manages unknown language
char["label"] = game.i18n.localize( "CHAR." + abrev );
char["abrev"] = game.i18n.localize( "CHARAbbrev." + abrev );
if (game.i18n.localize(toTransl) != toTransl) { // Manages unknown language
char["label"] = game.i18n.localize("CHAR." + abrev);
char["abrev"] = game.i18n.localize("CHARAbbrev." + abrev);
}
}
return chars;
},
"bestiary_traits": (beast_traits, translations) => {
if ( !beast_traits) {
"bestiary_traits": (beast_traits, translations) => {
if (!beast_traits) {
console.log("No beast traits found here ...")
return beast_traits
}
for (let trait_en of beast_traits)
{
for (let trait_en of beast_traits) {
var special = "";
var nbt = "";
var name_en = trait_en.name.trim(); // strip \r in some traits name
if (!trait_en.name || trait_en.name.length == 0) {
console.log("Wrong item name found!!!!")
continue
}
}
//console.log(">>>>>>>> Parsing", trait_en.name)
if ( trait_en.type == "trait") {
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 );
if ( res && res[1] )
if (name_en.includes("Tentacles")) { // Process specific Tentacles case
var re = /(.d*)x Tentacles/i;
var res = re.exec(name_en);
if (res && res[1])
nbt = res[1] + "x ";
name_en = "Tentacles";
} else if ( name_en.includes("(") && name_en.includes(")") ) { // Then process specific traits name with (xxxx) inside
var re = /(.*) \((.*)\)/i;
var res = re.exec( name_en );
} else if (name_en.includes("(") && name_en.includes(")")) { // Then process specific traits name with (xxxx) inside
var re = /(.*) \((.*)\)/i;
var res = re.exec(name_en);
name_en = res[1]; // Get the root traits name
special = " (" + game.i18n.localize( res[2].trim() ) + ")"; // And the special keyword
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
}
var trait_fr = game.babele.translate( compmod+'.traits', { name: name_en }, true );
var trait_fr = game.babele.translate('wfrp4e-core.traits', { name: name_en }, true);
//console.log(">>>>> Trait ?", name_en, nbt, trait_fr, trait_fr.name, special);
trait_fr.name = trait_fr.name || trait_en.name
trait_en.name = nbt + trait_fr.name + special;
if ( trait_fr.system && trait_fr.system.description && trait_fr.system.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.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.system && trait_fr.system.description && trait_fr.system.description.value )
trait_en.system.description.value = trait_fr.system.description.value;
}
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
var re = /(.*) +\((.*)\)/i;
var res = re.exec( name_en );
name_en = res[1].trim(); // Get the root skill name
special = " (" + game.i18n.localize( res[2].trim() ) + ")"; // And the special keyword
}
var trait_fr = game.babele.translate( compmod+'.skills', { name: name_en }, true );
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
var re = /(.*) +\((.*)\)/i;
var res = re.exec(name_en);
name_en = res[1].trim(); // Get the root skill name
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
}
var trait_fr = game.babele.translate('wfrp4e-core.skills', { name: name_en }, true);
//console.log(">>>>> Skill ?", name_en, special, trait_fr.name, trait_fr);
trait_fr.name = trait_fr.name || name_en
if (trait_fr.name != name_en) { // Translation OK
trait_en.name = trait_fr.name + special;
if ( trait_fr.system ) {
if (trait_fr.system) {
trait_en.system.description.value = trait_fr.system.description.value;
}
}
} else if ( trait_en.type == "prayer") {
var trait_fr = game.babele.translate( compmod+'.prayers', { name: name_en }, true);
} else if (trait_en.type == "prayer") {
var trait_fr = game.babele.translate('wfrp4e-core.prayers', { name: name_en }, true);
//console.log(">>>>> Prayer ?", name_en, special, trait_fr.name );
trait_fr.name = trait_fr.name || name_en
trait_en.name = trait_fr.name + special;
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)
if ( trait_fr.name == name_en ) { // If no translation, test eisspells
trait_fr = game.babele.translate( 'wfrp4e-eis.eisspells', { name: name_en }, true);
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('wfrp4e-core.spells', { name: name_en }, true)
if (trait_fr.name == name_en) { // If no translation, test eisspells
trait_fr = game.babele.translate('wfrp4e-eis.eisspells', { name: name_en }, true);
}
if ( trait_fr.name == name_en ) { // If no translation, test unofficial grimoire
trait_fr = game.babele.translate( 'wfrp4e-unofficial-grimoire.ug-spells', { name: name_en }, true);
if (trait_fr.name == name_en) { // If no translation, test unofficial grimoire
trait_fr = game.babele.translate('wfrp4e-unofficial-grimoire.ug-spells', { name: name_en }, true);
}
trait_fr.name = trait_fr.name || name_en
//console.log(">>>>> Spell ?", name_en, special, trait_fr.name );
trait_en.name = trait_fr.name + special;
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;
var res = re.exec( name_en );
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;
var res = re.exec(name_en);
name_en = res[1].trim(); // Get the root talent name, no parenthesis this time...
special = " (" + game.i18n.localize( res[2].trim() ) + ")"; // And the special keyword
special = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
}
var trait_fr = game.babele.translate( compmod+'.talents', { name: name_en }, true )
var trait_fr = game.babele.translate('wfrp4e-core.talents', { name: name_en }, true)
trait_fr.name = trait_fr.name || name_en // Security since babele v10
//console.log(">>>>> Talent ?", trait_fr, name_en, special, trait_fr.name);
if ( trait_fr.name != "Sprinter" && trait_fr.name == name_en) { // If no translation, test ugtalents
trait_fr = game.babele.translate( 'wfrp4e-unofficial-grimoire.ug-careerstalentstraits', { name: name_en }, true );
if (trait_fr.name != "Sprinter" && trait_fr.name == name_en) { // If no translation, test ugtalents
trait_fr = game.babele.translate('wfrp4e-unofficial-grimoire.ug-careerstalentstraits', { name: name_en }, true);
trait_fr.name = trait_fr.name || name_en // Security since babele v10
}
if ( trait_fr.name && (trait_fr.name == "Sprinter" || trait_fr.name != name_en)) { // Talent translated!
if (trait_fr.name && (trait_fr.name == "Sprinter" || trait_fr.name != name_en)) { // Talent translated!
trait_en.name = trait_fr.name.trim() + special
if ( trait_fr.system ) { // Why ???
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 );
} else if (trait_en.type == "career") {
var career_fr = game.babele.translate('wfrp4e-core.careers', trait_en, true);
career_fr.name = career_fr.name || trait_en.name
//console.log(">>>>> Career ?", career_fr.name );
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 );
} 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('wfrp4e-core.trappings', trait_en, true);
//console.log(">>>>> Trapping ?", name_en, trapping_fr.name);
trapping_fr.name = trapping_fr.name || trait_en.name
if ( trapping_fr.system) {
trait_en.system.description = trapping_fr.system.description;
if (trapping_fr.system) {
trait_en.system.description = trapping_fr.system.description;
}
}
}
@ -390,65 +386,66 @@ Hooks.once('init', () => {
return beast_traits
},
// To avoid duplicateing class for all careers
"generic_localization": (value) => {
"generic_localization": (value) => {
let ret = value
if ( value ) {
ret = game.i18n.localize( value.trim() );
if (value) {
ret = game.i18n.localize(value.trim());
if (!ret) ret = value
}
return ret
},
},
"trapping_qualities_flaws": (value) => {
if ( value ) {
if (value) {
let newQF = [];
//console.log("ATOUTS", value, typeof(value));
let list = value
if (typeof(value) == "string") {
if (typeof (value) == "string") {
let myList = value.split(",")
list = []
for (let l of myList) {
list.push( { name: l.trim() } )
list.push({ name: l.trim() })
}
}
for (let i=0; i<list.length; i++) {
newQF[i] = duplicate(list[i] )
if ( newQF[i].name == "Trap Blade") {
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);
}
let oldName = newQF[i].name
newQF[i].name = game.i18n.localize( oldName )
newQF[i].name = game.i18n.localize(oldName)
if (!newQF[i].name) newQF[i].name = oldName
}
return newQF;
}
},
// Search back in careers the translated name of the groupe (as it is the name of the level career itself)
"career_careergroup": (value) => {
"career_careergroup": (value) => {
// Manage exception - Dirty hack
if ( value == 'Slayer' ) {
if (value == 'Slayer') {
return "Tueur";
}
if ( value == 'Druidic Priest' ) {
if (value == 'Druidic Priest') {
return "Druide";
}
//console.log("Carre groupe : ", value )
// Per default
var compendium = game.packs.find(p => p.collection === compmod+'.careers');
if ( compendium ) {
let newName = game.babele.translate(compmod+'.careers', { name: value } ).name
var compendium = game.packs.find(p => p.collection === 'wfrp4e-core.careers');
if (compendium) {
let newName = game.babele.translate('wfrp4e-core.careers', { name: value }).name
if (!newName) newName = value
return newName
} else {
ui.notifications.error("Impossible de trouver la carrière " + value + ". Elle n'est probablement pas traduite.", { permanent: true })
} else {
ui.notifications.error("Impossible de trouver la carrière " + value + ". Elle n'est probablement pas traduite.", { permanent: true })
}
return value
},
"mutations_modifier": (value) => { // This is really UGLYYYY i know, but i started like this and discovered afterward that many strings were not easy to automate... Sorry :)
//console.log("Parsing mutation :", value);
value = value.toLowerCase();
value = value.toLowerCase();
value = value.replace("gain a broken condition if you fail a test derived from ", "Gagnez un état Brisé si vous échouez à un test dérivé de ");
value = value.replace("weapon skill" ,"Capacité de Combat");
value = value.replace("weapon skill", "Capacité de Combat");
value = value.replace("ballistic skill", "Capacité de Tir");
value = value.replace("strength", "Force");
value = value.replace("toughness", "Endurance");
@ -475,79 +472,79 @@ Hooks.once('init', () => {
"talent_name": (name, translation) => {
console.log("NAME !!!", name, translation)
},
"effects": (effects, translations) => {
if ( !effects) return;
if ( !translations) return;
for (let i=0; i<effects.length; i++) {
"effects": (effects, translations) => {
if (!effects) return;
if (!translations) return;
for (let i = 0; i < effects.length; i++) {
let effect = effects[i];
//console.log("EFFECT LABEL1:", effect );
effect.label = translations['label'+i];
effect.label = translations['label' + i];
}
return effects
},
"diseases_effects": (effects, translations) => {
if ( !effects) return;
for (let i=0; i<effects.length; i++) {
"diseases_effects": (effects, translations) => {
if (!effects) return;
for (let i = 0; i < effects.length; i++) {
let effect = effects[i];
let label = effect.label;
let gravity = "";
if ( label.includes("(") && label.includes(")") ) { // Then process specific skills name with (xxxx) inside
var re = /(.*) +\((.*)\)/i;
var res = re.exec( label );
if (label.includes("(") && label.includes(")")) { // Then process specific skills name with (xxxx) inside
var re = /(.*) +\((.*)\)/i;
var res = re.exec(label);
label = res[1].trim(); // Get the gravity
gravity = " (" + game.i18n.localize( res[2].trim() ) + ")"; // And the special keyword
gravity = " (" + game.i18n.localize(res[2].trim()) + ")"; // And the special keyword
}
effect.label = game.i18n.localize( label ) + gravity;
effect.label = game.i18n.localize(label) + gravity;
}
},
// Auto-translate duration
"spells_duration_range_target_damage": (value) => {
//console.log("Spell duration/range/damage/target :", value);
if ( value == "" ) return ""; // Hop !
if ( value == "Touch" ) return "Contact"; // Hop !
if ( value == "You" ) return "Vous"; // Hop !
if ( value == "Instant" ) return "Instantané"; // Hop !
if (value == "") return ""; // Hop !
if (value == "Touch") return "Contact"; // Hop !
if (value == "You") return "Vous"; // Hop !
if (value == "Instant") return "Instantané"; // Hop !
var translw = value;
var re = /(.*) Bonus (\w*)/i;
var res = re.exec( value );
var re = /(.*) Bonus (\w*)/i;
var res = re.exec(value);
var unit = "";
if ( res ) { // Test "<charac> Bonus <unit>" pattern
if ( res[1] ) { // We have char name, then convert it
translw = "Bonus de " + game.i18n.localize( res[1].trim() );
}
if (res) { // Test "<charac> Bonus <unit>" pattern
if (res[1]) { // We have char name, then convert it
translw = "Bonus de " + game.i18n.localize(res[1].trim());
}
unit = res[2];
} else {
} else {
re = /(\d+) (\w+)/i;
res = re.exec( value );
res = re.exec(value);
if (res) { // Test : "<number> <unit>" pattern
translw = res[1];
translw = res[1];
unit = res[2];
} else { // Test
re = /(\w+) (\w+)/i;
res = re.exec( value );
res = re.exec(value);
if (res) { // Test : "<charac> <unit>" pattern
translw = game.i18n.localize( res[1].trim() );
translw = game.i18n.localize(res[1].trim());
unit = res[2];
}
}
}
}
if ( unit == "hour") unit = "heure";
if ( unit == "hours") unit = "heures";
if ( unit == "days") unit = "jours";
if ( unit == "yard") unit = "mètre";
if ( unit == "yards") unit = "mètres";
}
if (unit == "hour") unit = "heure";
if (unit == "hours") unit = "heures";
if (unit == "days") unit = "jours";
if (unit == "yard") unit = "mètre";
if (unit == "yards") unit = "mètres";
translw += " " + unit;
return translw;
return translw;
}
});
});
}
} );
});
/* -------------------------------------------- */
// Register world usage statistics
function registerUsageCount( registerKey ) {
if ( game.user.isGM ) {
function registerUsageCount(registerKey) {
if (game.user.isGM) {
game.settings.register(registerKey, "world-key", {
name: "Unique world key",
scope: "world",
@ -557,9 +554,9 @@ function registerUsageCount( registerKey ) {
});
let worldKey = game.settings.get(registerKey, "world-key")
if ( worldKey == undefined || worldKey == "" ) {
if (worldKey == undefined || worldKey == "") {
worldKey = randomID(32)
game.settings.set(registerKey, "world-key", worldKey )
game.settings.set(registerKey, "world-key", worldKey)
}
// Simple API counter
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
@ -570,7 +567,7 @@ function registerUsageCount( registerKey ) {
/*---------------------------------------------------------------------*/
Hooks.once('ready', () => {
registerUsageCount("wh4-fr-translation")
});

View File

@ -1,180 +1,291 @@
{
"label": "Items (Archives Vol. I)",
"entries": [
{
"id": "Badger Botherer",
"name": "Badger Botherer",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.AKNVB3Of7B82YFT1]{Badger Rider}</p>"
},
{
"id": "Badger Master",
"name": "Badger Master",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.AKNVB3Of7B82YFT1]{Badger Rider}</p>"
},
{
"id": "Badger Rider",
"name": "Badger Rider",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.AKNVB3Of7B82YFT1]{Badger Rider}</p>"
},
{
"id": "Badger Sergeant",
"name": "Badger Sergeant",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.AKNVB3Of7B82YFT1]{Badger Rider}</p>"
},
{
"id": "Bearded Axe",
"name": "Bearded Axe",
"description": "<p>Favoured by many Dwarfs for use in war, the heads of these axes curve downward toward the haft. This creates a gap between the blade and the haft that is perfect for ripping weapons from unwary enemies.</p>"
},
{
"id": "Blackbriar Javelin",
"name": "Blackbriar Javelin",
"description": "<p>Fashioned from the wood of trees whose spirits have become twisted and malign, these living weapons slowly drip a lethal poison. They are said to bring ill fortune, and this is certainly the case for those who must face them in battle.</p>"
},
{
"id": "Cinderblast Bomb",
"name": "Cinderblast Bomb",
"description": "<p>These lethal weapons are indispensable in the tunnel fighting that goes on deep beneath the Old World as the Dwarfs desperately stave off attacks by Skaven, Goblins, and worse. These bombs are typically tossed into the midst of packed enemy forces, exploding in a blast of flame and shrapnel that is terrifying to behold.</p>"
},
{
"id": "Drakefire Pistol",
"name": "Drakefire Pistol",
"description": "<p>A cunning example of Dwarf artifice, a Drakefire Pistol blasts targets with incendiary shot, often setting them ablaze. The particulars of its design are a carefully guarded secret of the Dwarfs, but it is doubtful if any other species could replicate their&nbsp; intricacies even if the design was understood. They are a favourite of Dwarf 's who face down the Skaven deep beneath the earth, as their foul fur burns very satisfactorily indeed.</p>"
},
{
"id": "Drakefire Shot",
"name": "Drakefire Shot",
"description": "<p>The incendiary ammunition used in Drakefire pistols is both dangerous and rare, and truly only suited for use in the those weapons. However, it may be loaded in to any Blackpowder weapon, which will function exactly once before exploding in the users hands. Resolve this as though a Fumble was rolled on every shot.</p>"
},
{
"label": "Items (Archives Vol. I)",
"mapping": {
"skills": {
"path": "system.skills",
"converter": "career_skills"
},
"talents": {
"path": "system.talents",
"converter": "career_talents"
},
"class": {
"path": "system.class.value",
"converter": "generic_localization"
},
"career_careergroup": "system.careergroup.value",
"trappings": "system.trappings"
},
"entries": [
{
"id": "Dwarf Crossbow",
"name": "Dwarf Crossbow",
"description": "<p>Though the difference between Dwarf and Imperial crossbows is less pronounced that that between their Blackpowder weapons, Dwarf Crossbows are nevertheless built to much tighter tolerances than any human smith could match. As a result, they are more precise weapons.</p>"
},
{
"id": "Dwarf Hammer",
"name": "Dwarf Hammer",
"description": "<p>Dwarfs are known for using the same hammers in the forge during peacetime and on the battlefield in times of war. These heavy tools are perfect for cracking even the thickest Orc skull.</p>"
},
{
"id": "Dwarf Handgun",
"name": "Dwarf Handgun",
"description": "<p>Dwarfs often despair at what passes for gun smithing among the humans, whose weapons are often as dangerous to the bearer as their target. Dwarf blackpowder weapons are finely made and carefully reinforced, making them less prone to misfire and imbuing their projectiles with additional punch.</p>"
},
{
"id": "Dwarf Pistol",
"name": "Dwarf Pistol",
"description": "<p>Dwarfs often despair at what passes for gun smithing among the humans, whose weapons are often as dangerous to the bearer as their target. Dwarf blackpowder weapons are finely made and carefully reinforced, making them less prone to misfire and imbuing their projectiles with additional punch.</p>"
},
{
"id": "Eonir Spear",
"name": "Eonir Spear",
"description": "<p>The bane of mounted forces, these wickedly tipped spears are somewhat lighter than those used in the Empire. Their points are tempered and sharpened by methods known only to the Wood Elves, and they punch through armour with ease.</p>"
},
{
"id": "Eonir War Blade",
"name": "Eonir War Blade",
"description": "<p>The finely made blades of the Eonir are crafted to be somewhat lighter than a typical Empire weapon, but their perfect balance lends itself to swift, precise strikes.</p>"
},
{
"id": "Field Warden",
"name": "Field Warden",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.vnLLLPnNYS97hJVe]{Fieldwarden}</p>"
},
{
"id": "Field Warden Captain",
"name": "Field Warden Captain",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.vnLLLPnNYS97hJVe]{Fieldwarden}</p>"
},
{
"id": "Field Warden Sergeant",
"name": "Field Warden Sergeant",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.vnLLLPnNYS97hJVe]{Fieldwarden}</p>"
},
{
"id": "Forest Ranger",
"name": "Forest Ranger",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.J4o6g4sjXQ8OXjIj]{Ghost Strider}</p>"
},
{
"id": "Forest's Wrath",
"name": "Forest's Wrath",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.J4o6g4sjXQ8OXjIj]{Ghost Strider}</p>"
},
{
"id": "Ghost Strider",
"name": "Ghost Strider",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.J4o6g4sjXQ8OXjIj]{Ghost Strider}</p>"
},
{
"id": "Hold Runner",
"name": "Hold Runner",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.GBhO6rb28jKbYfEk]{Karak Ranger}</p>"
},
{
"id": "Iron Skillet",
"name": "Iron Skillet",
"description": "<p>Despite their smaller stature, the cast iron pots, pans and skillets of the Halflings are fashioned to be heavier than one might think. Some may laugh, but more than one blade has been turned from a fatal blow by a Halfling pan. Such scratched and pitted skillets are always given pride of place in Halfling homes.</p>"
"name": "Arbalète naine",
"description": "<p>Bien que les différences entre les arbalètes naines et impériales soient moins prononcées que celles entre leurs armes à poudre noire, les arbalètes naines fabriquées avec une minutie qu'aucun artisan humain ne saurait égaler, et sont donc plus précises.</p>"
},
{
"id": "Karak Mountain Strider",
"name": "Karak Mountain Strider",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.GBhO6rb28jKbYfEk]{Karak Ranger}</p>"
"name": "Arpenteur des karak",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.GBhO6rb28jKbYfEk]{Patrouilleur des Karak}</p>",
"career_careergroup": "Patrouilleur des karak",
"trappings": [
"4 apprentis Coureurs des forts",
"cartes",
"souvenirs de nombreux voyages"
]
},
{
"id": "Karak Pathkeeper",
"name": "Karak Pathkeeper",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.GBhO6rb28jKbYfEk]{Karak Ranger}</p>"
"id": "Dwarf Handgun",
"name": "Arquebuse naine",
"description": "<p>Les armes à poudre sorties des forges humaines désespèrent souvent les nains, car elles sont souvent aussi dangereuses pour leur porteur que pour sa cible. Les armes à poudre noire des nains sont soigneusement fabriquées et renforcées, les rendant moins susceptibles de râtés et conférant aux projectiles une force supplémentaire.</p>"
},
{
"id": "Karak Ranger",
"name": "Karak Ranger",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.GBhO6rb28jKbYfEk]{Karak Ranger}</p>"
"id": "Cinderblast Bomb",
"name": "Bombe calcinante",
"description": "<p>Ces armes mortelles sont indispensables pour le combat dans les tunnels qui s'enfoncent profondément sous le Vieux Monde, alors que les nains repoussent désespérément les attaques des skavens, des gobelins, et bien pire encore. Ces bombes sont généralement lancées au beau milieu des forces ennemies, explosant en souffles enflammés et éclats, terrifiants à comtempler.</p>"
},
{
"id": "Nan's Cleaver",
"name": "Nan's Cleaver",
"description": "<p>Halfling Cooks care for their kitchenware as carefully as the most diligent warrior cares for their blade. No wonder then that many of these weapons see use in times of war, and more than one Goblin has fallen to a cleaver that was later used to prepare a hearty post-battle stew.</p>"
"id": "Field Warden Captain",
"name": "Capitaine Gardechamps",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.vnLLLPnNYS97hJVe]{Gardechamps}</p>",
"career_careergroup": "Gardechamps",
"trappings": [
"garnison de Sergent Gardechamps",
"respect de la communauté"
]
},
{
"id": "Novice Warden",
"name": "Novice Warden",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.vnLLLPnNYS97hJVe]{Fieldwarden}</p>"
"id": "Drakefire Shot",
"name": "Cartouche Drac de feu",
"description": "<p>Cette munition incendiaire pouvant être utilisée avec les pistolets Drac de feu, est à la fois dangereuse et rare. Elle ne convient vraiment qu'à cette arme spécifique. Néanmoins, elle peut être chargée dans n'importe quelle arme à poudre noire, qui pourra fonctionner ainsi une seule fois avant d'exploser entre les mains de l'utilisateur. Cela se résout comme si un Échec critique avait été obtenu à chaque coup.</p>"
},
{
"id": "Precision Shot and Powder",
"name": "Precision Shot and Powder",
"description": "<p>Expertly prepared powder and carefully smoothed and rounded bullets can be combined to allow for more reliable, precise shots with any suitable Blackpowder weapon.</p>"
"name": "Cartouche et poudre de précision",
"description": "<p>Une poudre préparée par des mains expertes et des balles soigneusement arrondies et lissées peuvent être combinées pour permettre des coups plus précis, plus fiables avec toute arme à poudre noire qui convient.</p>"
},
{
"id": "Slayer's Axe",
"name": "Slayer's Axe",
"description": "<p>Slayers take great pride in their weapons, sharpening them almost ritualistically at every opportunity. The most famous of these have gained reputations almost as formidable as those who bear them. They are devastating weapons, and Slayers who wield them seem able to do so tirelessly despite their size.</p>"
"id": "Badger Rider",
"name": "Chevaucheur de blaireau",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.AKNVB3Of7B82YFT1]{Chevaucheur de blaireau}</p>",
"career_careergroup": "Chevaucheur de blaireau",
"trappings": [
"fontes de selle",
"plastron de cuir",
"arme de lancer ou d'entraves"
]
},
{
"id": "Starfire Shafts",
"name": "Starfire Shafts",
"description": "<p>Wood hewn from the Starfire tree is anathema to corruption, and arrows created from it are imbued with a fierce and blazing spirit. Those struck by arrows are often set ablaze, and their use massed use in warfare is a terrible thing to behold.</p>"
"id": "Hold Runner",
"name": "Coureur des forts",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.GBhO6rb28jKbYfEk]{Patrouilleur des Karak}</p>",
"career_careergroup": "Patrouilleur des karak",
"trappings": [
"sac à dos",
"arme simple",
"veste en cuir",
"outils professionnels (Cartographe)"
]
},
{
"id": "Swiftshiver Shafts",
"name": "Swiftshiver Shafts",
"description": "<p>Cut from a wood so light and strong that they seem to leap from the bow of their own accord, it is a surprisingly easy thing for a skilled archer to knock and shoot more than one of these arrows at once.</p>"
"id": "Forest's Wrath",
"name": "Courrouxde de la forêt",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.J4o6g4sjXQ8OXjIj]{Rôdeur Fantôme}</p>",
"career_careergroup": "Rôdeur fantôme",
"trappings": [
"trophée d'un ennemi légendaire",
"flèche elfique antique (pour proie spéciale)",
"réputation effrayante"
]
},
{
"id": "Wildwood Sword",
"name": "Wildwood Sword",
"description": "<p>A two-handed blade with a haft of living wood, these weapons seem to move with a will of their own, striking more quickly than such a sizable weapon would seem capable of.</p>"
"name": "Épée du Bois sauvage",
"description": "<p>Lames à deux mains dotées d'une poignée de bois vivant, ces armes semblent se mouvoir de leur propre chef, frappant plus rapidement que leur taille ne semble leur permettre.</p>"
},
{
"id": "Windwraith",
"name": "Windwraith",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.J4o6g4sjXQ8OXjIj]{Ghost Strider}</p>"
"name": "Esprit du vent",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.J4o6g4sjXQ8OXjIj]{Rôdeur Fantôme}</p>",
"career_careergroup": "Rôdeur fantôme",
"trappings": [
"arc elfique et armure de cuir avec au moins 1 Atout chacun",
"10 flèches elfiques"
]
},
{
"id": "Starfire Shafts",
"name": "Flèches Lumière des astres",
"description": "<p>Le bois des arbres Lumière des astres est un anathème pour la corruption, et les flèches qui en sont tirées sont imprégnées d'un esprit féroce et flamboyant. Ceux qui sont atteints par ces flèches prennent souvent feu et leur usage massif en temps de guerre est terrifiant à contempler.</p>"
},
{
"id": "Swiftshiver Shafts",
"name": "Flèches Vif Frisson",
"description": "<p>Faites d'un bois si léger et résistant qu'elles semblent jaillir du carquois de leur propre chef, il est aisé pour un archer compétent d'encocher et de tirer plus d'une flèche de ce type à la fois.</p>"
},
{
"id": "Forest Ranger",
"name": "Garde forestier",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.J4o6g4sjXQ8OXjIj]{Rôdeur Fantôme}</p>",
"career_careergroup": "Rôdeur fantôme",
"trappings": [
"sac à dos",
"cape à capuche",
"arc long et 10 flèches",
"outils professionnels (Fabricant d'arcs)"
]
},
{
"id": "Novice Warden",
"name": "Garde novice",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.vnLLLPnNYS97hJVe]{Gardechamps}</p>",
"career_careergroup": "Gardechamps",
"trappings": [
"sac à dos",
"tente",
"carte de la région",
"fronde avec 10 pierres",
"outils professionnels (même spécialisation que Métier)"
]
},
{
"id": "Field Warden",
"name": "Gardechamps",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.vnLLLPnNYS97hJVe]{Gardechamps}</p>",
"career_careergroup": "Gardechamps",
"trappings": [
"veste en cuir",
"arme simple",
"lanterne et huile"
]
},
{
"id": "Karak Pathkeeper",
"name": "Gardien des routes des karak",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.GBhO6rb28jKbYfEk]{Patrouilleur des Karak}</p>",
"career_careergroup": "Patrouilleur des karak",
"trappings": [
"outils (Maçonnerie)"
]
},
{
"id": "Bearded Axe",
"name": "Hache à barbe",
"description": "<p>Prisée par beaucoup de nains durant les combats, la tête de ces haches s'incurve vers le manche, ce qui créé un espace entre le manche et la lame, parfait pour arracher leurs armes aux ennemis peu méfiants.</p>"
},
{
"id": "Slayer's Axe",
"name": "Hache de Tueur",
"description": "<p>Les Tueurs sont extrêmement fiers de leur arme, les affûtant de manière presque rituelle à toute occasion. Les plus célèbres d'entre elles ont gagné une réputation de puissance presque aussi importante que leurs porteurs. Ce sont des armes dévastatrices, et les Tueurs qui les manient ne semblent pas être gênés par leur taille.</p>"
},
{
"id": "Nan's Cleaver",
"name": "Hachoir de Mamie",
"description": "<p>Les cuisiniers halflings sont aussi soigneux avec leurs ustensiles de cuisine que le plus méticuleux des guerriers avec son épée. Il n'est donc pas étonnant que ces armes soient utiles en temps de guerre, et que plus d'un gobelin soit tombé sous les coups d'un hachoir qui avait, juste avant, été utilisé pour préparer un généreux ragoût à déguster après la bataille.</p>"
},
{
"id": "Blackbriar Javelin",
"name": "Javelot Noireronce",
"description": "<p>Taillées dans le bois des arbres dont les esprits ont été tordus et rendus néfastes, ces armes vivantes distillent un poison létal. On prétend qu'elles apportent la malchance, et c'est sûrement le cas pour ceux qui doivent les affronter en combat.</p>"
},
{
"id": "Eonir War Blade",
"name": "Lame de guerre éonir",
"description": "<p>Les lames finement ouvragées des Éonirs sont fabriquées pour être plus légères que les armes types de l'Empire et leur équilibre parfait permet des coups rapides et précis.</p>"
},
{
"id": "Eonir Spear",
"name": "Lance éonir",
"description": "<p>Fléau des forces montées, ces lances à la pointe acérée sont plus légères que les armes types de l'Empire. Leur extrémité est trempée et affûtée par des méthodes connues uniquement des elfes sylvains. Elles transpercent les armures avec aisance.</p>"
},
{
"id": "Badger Master",
"name": "Maître blaireau",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.AKNVB3Of7B82YFT1]{Chevaucheur de blaireau}</p>",
"career_careergroup": "Chevaucheur de blaireau",
"trappings": [
"gros blaireau apprivoisé (blaireau-poney tacheté du Moot)",
"1 écuyer (Taquineur de blaireau)",
"armure de plates",
"sens de l'humour"
]
},
{
"id": "Dwarf Hammer",
"name": "Marteau nain",
"description": "<p>Les nains, de notoriété publique, utilisent les mêmes marteaux dans la forge en temps de paix et sur le champ de bataille en temps de guerre. Ces outils si lourds sont parfaits pour fracasser même le plus dur des crânes orcs.</p>"
},
{
"id": "Karak Ranger",
"name": "Patrouilleur des karak",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.GBhO6rb28jKbYfEk]{Patrouilleur des Karak}</p>",
"career_careergroup": "Patrouilleur des karak",
"trappings": [
"arme à poudre noire avec munitions",
"grappin et corde"
]
},
{
"id": "Drakefire Pistol",
"name": "Pistolet Drac de feu",
"description": "<p>Exemple de l'ingéniosité des nains, ce pistolet Drac de feu balaye les cibles de coups incendiaires, les enflammant souvent. Les particularités de sa conception sont un secret bien gardé des nains et il est peu probable que d'autres races puissent en copier les subtilités, même si le concept venait à en être compris. Elles constituent les armes favorites de tout nain qui tiendrait tête à des skavens, loin sous terre, car voir brûler leur fourrure puante est en soi très satisfaisant.</p>"
},
{
"id": "Dwarf Pistol",
"name": "Pistolet nain",
"description": "<p>Les armes à poudre sorties des forges humaines désespèrent souvent les nains, car elles sont souvent aussi dangereuses pour leur porteur que pour sa cible. Les armes à poudre noire des nains sont soigneusement fabriquées et renforcées, les rendant moins susceptibles de râtés et conférant aux projectiles une force supplémentaire.</p>"
},
{
"id": "Iron Skillet",
"name": "Poêle de fer",
"description": "<p>En dépit de leur petite taille, ces pots, casseroles et poêles à frire des halflings sont fabriqués pour être plus lourds qu'on ne le pense. On pourrait en rire, mais plus d'une lame a été détournée d'un coup fatal par la poêle d'un halfling. Ces ustensiles, grêlés et éraflés, font toujours la fierté des foyers de ce peuple.</p>"
},
{
"id": "Ghost Strider",
"name": "Rôdeur fantôme",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.J4o6g4sjXQ8OXjIj]{Rôdeur Fantôme}</p>",
"career_careergroup": "Rôdeur fantôme",
"trappings": [
"arc elfique et 10 flèches fabriquées par le Personnage",
"assortiment de pièges",
"veste en cuir"
]
},
{
"id": "Youngblood",
"name": "Youngblood",
"description": "<p>Your family are considered newcomers to the Laurelorn and are treated with condescension by Eonir of the older birth kindreds. You are always considered of lower Status than other Eonir, unless they also have the Youngblood Talent. Second generation Youngbloods can lose this Talent by passing a trial to join the Forestborn Kindred.</p>"
"name": "Sang neuf",
"description": "<p>Votre famille est vue comme une nouvelle venue dans la Laurelorn, et est traitée avec condescendance par les Éonirs des autres lignages. Votre Statut est toujours considéré comme plus bas que celui des autres Éonirs, à moins qu'ils aient, eux aussi, le Talent Sang neuf. Un membre du jeune lignage de deuxième génération peut perdre ce Talent s'il réussit une série d'épreuves pour rejoindre 1 lignée des Enfants de la forêt.</p>"
},
{
"id": "Badger Sergeant",
"name": "Sergent blaireau",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.AKNVB3Of7B82YFT1]{Chevaucheur de blaireau}</p>",
"career_careergroup": "Chevaucheur de blaireau",
"trappings": [
"caparaçon pour blaireau (2 PA sur la tête et le torse)",
"arme de corps à corps (base ou cavalerie)"
]
},
{
"id": "Field Warden Sergeant",
"name": "Sergent Gardechamps",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.vnLLLPnNYS97hJVe]{Gardechamps}</p>",
"career_careergroup": "Gardechamps",
"trappings": [
"chemise de mailles de bonne qualité",
"escouade de Gardes novices"
]
},
{
"id": "Badger Botherer",
"name": "Taquineur de blaireau",
"description": "<p>@Compendium[wfrp4e-archives1.archives1-journals.AKNVB3Of7B82YFT1]{Chevaucheur de blaireau}</p>",
"career_careergroup": "Chevaucheur de blaireau",
"trappings": [
"sac à dos",
"veste de cuir",
"fronde",
"blaireau apprivoisé avec selle et harnais"
]
}
]
]
}

File diff suppressed because one or more lines are too long

View File

@ -4,79 +4,84 @@
"effects": {
"path": "effects",
"converter": "effects"
}
},
}
},
"entries": [
{
"description": "<p>Vous nourrissez une hostilité envers « x », qui représente un groupe de personnes ou de créature, comme les « nordlanders » ou les « hommes-bêtes ». Vous devez effectuer un Test de Psychologie chaque fois que vous rencontrez l'un de ces groupes. Sur un succès, il est possible que vous marmonniez et crachiez au sol, mais vous ne subirez qu'une pénalité de -20 à vos Tests de Sociabilité envers de ce groupe. Sur un échec, vous subissez Animosité. </p>\n<p>À la fin de chaque round suivant, vous pouvez tenter un nouveau Test de Psychologie pour mettre fin à l'Animosité. Si ce n'est pas le cas, les effets d'Animosité cesseront naturellement lorsque tous les membres du groupe en question dans votre Ligne de Vue se seront calmés ou auront disparu, que vous aurez gagné un État <em><a class='condition-chat'>Assommé</a></em> ou <em><a class='condition-chat'>Inconscient</a></em>, ou que vous serez tombé sous le coup d'un autre effet psychologique. </p>\n<p>Lorsque vous êtes atteint par l'Animosité : </p><ul><li>Vous devez immédiatement vous en prendre aux créatures en question, que ce soit verbalement (insultes, sarcasmes ou autres) ou physiquement (le plus souvent avec les poings), en fonction.</li><li>Vous gagnez également +1 DR dès que vous vous en prenez au groupe, que cela soit socialement ou physiquement.</li></ul><p>Animosité est annulé par @Compendium[wfrp4e.psychologies.Ib2YQYChktDFN93y]{Fear} et @Compendium[wfrp4e.psychologies.meMkLEwdJIDLxM0B]{Terror}.</p>",
"effects": {},
"id": "Animosity (Target)",
"name": "Animosité (Cible)"
"description": "<p>Vous nourrissez une hostilité envers la <em>Cible</em>, qui représente un groupe de personnes ou de créatures, comme les « nordlanders » ou les « hommes-bêtes ». Vous devez effectuer un Test de Psychologie chaque fois que vous rencontrez l'un de ces groupes. Sur un succès, il est possible que vous marmonniez et crachiez au sol, mais vous ne subirez qu'une pénalité de -20 à vos Tests de Sociabilité envers de ce groupe. Sur un échec, vous subissez <em>Animosité</em>. À la fin de chaque round suivant, vous pouvez tenter un nouveau Test de Psychologie pour mettre fin à l'<em>Animosité</em>. Si ce n'est pas le cas, les effets d'<em>Animosité</em> cesseront naturellement lorsque tous les membres du groupe en question dans votre Ligne de Vue se seront calmés ou auront disparu, que vous aurez gagné un État <em><a class='condition-chat'>Assommé</a></em> ou <em><a class='condition-chat'>Inconscient</a></em>, ou que vous serez tombé sous le coup d'un autre effet psychologique. </p>\n<p>Lorsque vous êtes atteint par l'<em>Animosité</em> : </p><ul><li>Vous devez immédiatement vous en prendre aux créatures en question, que ce soit verbalement (insultes, sarcasmes ou autres) ou physiquement (le plus souvent avec les poings), en fonction.</li><li>Vous gagnez également +1 DR dès que vous vous en prenez au groupe, que cela soit socialement ou physiquement.</li></ul><p>Animosité est annulé par @UUID[Compendium.wfrp4e-core.psychologies.Ib2YQYChktDFN93y]{Peur (X)} et @UUID[Compendium.wfrp4e-core.psychologies.meMkLEwdJIDLxM0B]{Terreur (X)}.</p>",
"effects": {},
"id": "Animosity (Target)",
"name": "Animosité (Cible)"
},
{
"description": "<p>La Camaraderie reflète les sentiments positifs ressentis envers un groupe d'individus.</p>\n<ul>\n<li>Vous devez alors leur venir en aide si ce groupe est menacé (que ce soit verbalement ou physiquement)?</li>\n<li>vous gagnez+ 1 DR lors des Tests effectués pour défendre ce groupe.</li></ul>\n<p><strong>Exemple:</strong> <em>Amhold a eu une enfance difficile et a grandi dans la rue, sans famille. Mais malgré son comportement bourru, il a </em>Camaraderie (Orphelins)<em>.</em></p>",
"effects": {},
"id": "Camaraderie (Group)",
"name": "Camaraderie (Groupe)"
"description": "<p>La <em>Camaraderie</em> reflète les sentiments positifs ressentis envers un groupe d'individus. Vous devez alors leur venir en aide si ce groupe est menacé (que ce soit verbalement ou physiquement) et vous gagnez+ 1 DR lors des Tests effectués pour défendre ce groupe.\n<p><strong>Exemple:</strong> <em>Amhold a eu une enfance difficile et a grandi dans la rue, sans famille. Mais malgré son comportement bourru, il a Camaraderie (Orphelins).</em></p>",
"effects": {},
"id": "Camaraderie (Group)",
"name": "Camaraderie (Groupe)"
},
{
"description": "<p>La Peur représente une aversion extrême pour quelque chose. Les créatures qui causent la <em>Peur</em> a un Indice de Peur; cette valeur représente le DR que vous devez atteindre lorsque vous effectuez votre Test étendu de Calme pour vaincre cette Peur. Vous pouvez effectuer ce Test à la fin de chaque round jusqu'à ce que votre DR devienne supérieur ou égal à l'Indice de Peur de la créature. Tant que ce n'est pas le cas, vous êtes sujet à la Peur.</p>\n<p>Lorsque vous êtes sous le coup de la <em>Peur</em>,</p><ul><li>Vous subissez -1 DR à tous les Tests en rapport avec la source de votre peur. </li><li>Vous êtes incapable de vous rapprocher de ce qui provoque cette Peur à moins de réussir un <strong>Test de Calme Intermédiaire (+0)</strong>.Si la source de votre Peur se rapproche de vous, vous devez réussir un <strong>Test de Calme Intermédiaire (+0)</strong>, ou de gagner un État <em><a class='condition-chat'>Brisé</a></em>.</li></ul>",
"effects": {},
"id": "Fear (Rating)",
"name": "Peur (X)"
"description": "<p>La <em>Peur</em> représente une aversion extrême pour quelque chose. Les créatures qui causent la <em>Peur</em> possèdent un <em>Indice</em> de <em>Peur</em>; cette valeur représente le DR que vous devez atteindre lorsque vous effectuez votre Test étendu de <strong>Calme</strong> pour vaincre cette <em>Peur</em>. Vous pouvez effectuer ce Test à la fin de chaque round jusqu'à ce que votre DR devienne supérieur ou égal à l'<em>Indice</em> de <em>Peur</em> de la créature. Tant que ce n'est pas le cas, vous êtes sujet à la <em>Peur</em>.</p>\n<p>Lorsque vous êtes sous le coup de la <em>Peur</em>, vous subissez -1 DR à tous les Tests en rapport avec la source de votre peur. Vous êtes incapable de vous rapprocher de ce qui provoque cette Peur à moins de réussir un Test de <strong>Calme Intermédiaire (+0)</strong>.Si la source de votre <em>Indice</em> se rapproche de vous, vous devez réussir un Test de <strong>Calme Intermédiaire (+0)</strong> ou gagner un État <em><a class='condition-chat'>Brisé</a></em>.</li></ul>",
"effects": {},
"id": "Fear (Rating)",
"name": "Peur (X)"
},
{
"description": "<p>La Peur représente une aversion extrême pour quelque chose. Les créatures qui causent la <em>Peur</em> a un Indice de Peur; cette valeur représente le DR que vous devez atteindre lorsque vous effectuez votre Test étendu de Calme pour vaincre cette Peur. Vous pouvez effectuer ce Test à la fin de chaque round jusqu'à ce que votre DR devienne supérieur ou égal à l'Indice de Peur de la créature. Tant que ce n'est pas le cas, vous êtes sujet à la Peur.</p>\n<p>Lorsque vous êtes sous le coup de la <em>Peur</em>,</p><ul><li>Vous subissez -1 DR à tous les Tests en rapport avec la source de votre peur. </li><li>Vous êtes incapable de vous rapprocher de ce qui provoque cette Peur à moins de réussir un <strong>Test de Calme Intermédiaire (+0)</strong>.Si la source de votre Peur se rapproche de vous, vous devez réussir un <strong>Test de Calme Intermédiaire (+0)</strong>, ou de gagner un État <em><a class='condition-chat'>Brisé</a></em>.</li></ul>",
"id": "Fear",
"name": "Peur"
"description": "<p>La <em>Peur</em> représente une aversion extrême pour quelque chose. Les créatures qui causent la <em>Peur</em> possèdent un <em>Indice</em> de <em>Peur</em>; cette valeur représente le DR que vous devez atteindre lorsque vous effectuez votre Test étendu de <strong>Calme</strong> pour vaincre cette <em>Peur</em>. Vous pouvez effectuer ce Test à la fin de chaque round jusqu'à ce que votre DR devienne supérieur ou égal à l'<em>Indice</em> de <em>Peur</em> de la créature. Tant que ce n'est pas le cas, vous êtes sujet à la <em>Peur</em>.</p>\n<p>Lorsque vous êtes sous le coup de la <em>Peur</em>, vous subissez -1 DR à tous les Tests en rapport avec la source de votre peur. Vous êtes incapable de vous rapprocher de ce qui provoque cette Peur à moins de réussir un Test de <strong>Calme Intermédiaire (+0)</strong>.Si la source de votre <em>Indice</em> se rapproche de vous, vous devez réussir un Test de <strong>Calme Intermédiaire (+0)</strong> ou gagner un État <em><a class='condition-chat'>Brisé</a></em>.</li></ul>",
"id": "Fear",
"name": "Peur"
},
{
"description": "<p>Vous pouvez, par le biais d'un Test de Force Mentale, vous mettre dans un état psychologique dans lequel vous allez vous surmotiver, mordre votre bouclier, etc. Sur un succès, vous entrez en Frénésie. </p>\n<p>Tant que vous êtes en Frénésie :</p><ul><li>Vous êtes immunisé à tous les autres Traits Psychologiques</li><li>Sous aucun prétexte vous ne fuirez, ni ne battrez en retraite. </li><li>À l'inverse, vous devez vous déplacer à votre maximum en direction de l'ennemi le plus proche dans votre Ligne de Vue pour l'attaquer. La seule Action possible est un Test de CC ou un Test d'Athlétisme pour atteindre votre ennemi le plus rapidement possible.</li><li>De plus, vous pouvez effectuer un Test de CC gratuit chaque round car vous vous lancez à corps perdu dans votre attaque. </li><li>Enfin, vous gagnez un Bonus de Force de + 1 grâce à votre férocité.</li></ul>\n<p> Vous restez en Frénésie jusqu'à ce que tous les ennemis dans votre Ligne de Vue soient apaisés ou que vous gagniez l'État <em><a class='condition-chat'>Assommé</a></em> ou <em><a class='condition-chat'>Inconscient</a></em>. Dès que votre Frénésie s'achève, vous gagnez l'État <em><a class='condition-chat'>Exténué</a></em>.</p>",
"effects": {
"label0": "Frénésie"
},
"id": "Frenzy",
"name": "Frénésie"
"description": "<p>Vous pouvez, par le biais d'un Test de Force Mentale, vous mettre dans un état psychologique dans lequel vous allez vous surmotiver, mordre votre bouclier, etc. Sur un succès, vous entrez en <em>Frénésie</em>. </p>\n<p>Tant que vous êtes en <em>Frénésie</em>, vous êtes immunisé à tous les autres Traits Psychologiques, et sous aucun prétexte vous ne fuirez, ni ne battrez en retraite.À l'inverse, vous devez vous déplacer à votre maximum en direction de l'ennemi le plus proche dans votre Ligne de Vue pour l'attaquer. La seule Action possible est un Test de <strong>Capacité de Combat</strong> ou un Test d'<strong>Athlétisme</strong> pour atteindre votre ennemi le plus rapidement possible.De plus, vous pouvez effectuer un Test de <strong>Capacité de Combat</strong> gratuit chaque round car vous vous lancez à corps perdu dans votre attaque. Enfin, vous gagnez un Bonus de Force de + 1 grâce à votre férocité.\n<p> Vous restez en <em>Frénésie</em> jusqu'à ce que tous les ennemis dans votre Ligne de Vue soient neutralisés ou que vous gagniez l'État <em><a class='condition-chat'>Assommé</a></em> ou <em><a class='condition-chat'>Inconscient</a></em>. Dès que votre <em>Frénésie</em> s'achève, vous gagnez l'État <em><a class='condition-chat'>Extenué</a></em>.</p>",
"effects": {
"label0": "Frénésie"
},
"id": "Frenzy",
"name": "Frénésie"
},
{
"description": "<p>Vous ressentez une profonde haine pour la Cible, qui représente en général un groupe de personnes ou de créatures, comme les « hochlanders », les « pieuvres des tourbières » ou les « esclavagistes ». Vous n'interagirez jamais avec des personnes que vous haïssez à ce point.</p><p>Lorsque vous rencontrez ceux qui vous provoquent la Haine, vous devez effectuer un Test de Psychologie. Sur un échec, vous ressentez de la Haine. À la fin de chaque round qui suivra, vous pourrez tenter un autre Test de Psychologie afin, de mettre fin à votre État de Haine. Si vous ne le faites pas, les effets de la Haine se dissiperont d'eux-mêmes lorsque tous les membres du groupe concerné dans votre Ligne de Vue seront, morts ou auront disparu, ou que vous gagniez l'État <em><a class='condition-chat'>Inconscient</a></em></p>\n<p>Tant que vous ressentez de la Haine, vous devez faire tout ce qui est en votre pouvoir pour détruire le groupe haï, et ce, le plus rapidement et de manière la plus violente possible.</p>\n<ul>\n<li>Vous gagnez + 1 DR à tous vos Tests de Combat effectués contre le groupe en question.</li>\n<li>Vous êtes immunisé à @Compendium[wfrp4e.psychologies.Ib2YQYChktDFN93y]{Fear} et @Compendium[wfrp4e.skills.I0yPc4PH5erWJLmu]{Intimidate} (mais pas @Compendium[wfrp4e.psychologies.meMkLEwdJIDLxM0B]{Terror}) causés par ceux de ce groupe.</li></ul>",
"effects": {},
"id": "Hatred (Target)",
"name": "Haine (Cible)"
"description": "<p>Vous ressentez une profonde haine pour la <em>Cible</em>, qui représente en général un groupe de personnes ou de créatures, comme les « hochlanders », les « pieuvres des tourbières » ou les « esclavagistes ». Vous n'interagirez jamais avec des personnes que vous haïssez à ce point.Lorsque vous rencontrez ceux qui vous provoquent la <em>Haine</em>, vous devez effectuer un Test de Psychologie. Sur un échec, vous ressentez de la <em>Haine</em>. À la fin de chaque round qui suivra, vous pourrez tenter un autre Test de Psychologie afin de mettre fin à votre État de <em>Haine</em>. Si vous ne le faites pas, les effets de la <em>Haine</em> se dissiperont d'eux-mêmes lorsque tous les membres du groupe concerné dans votre Ligne de Vue seront morts ou auront disparu, ou que vous gagniez l'État <em><a class='condition-chat'>Inconscient</a></em></p>\n<p>Tant que vous ressentez de la <em>Haine</em>, vous devez faire tout ce qui est en votre pouvoir pour détruire le groupe haï, et ce, le plus rapidement et de manière la plus violente possible.Vous gagnez + 1 DR à tous vos Tests de Combat effectués contre le groupe en question et êtes immunisé à @UUID[Compendium.wfrp4e-core.psychologies.Ib2YQYChktDFN93y]{Peur (X)} et @Compendium[wfrp4e-core.skills.I0yPc4PH5erWJLmu]{Intimidation} (mais pas @UUID[Compendium.wfrp4e-core.psychologies.meMkLEwdJIDLxM0B]{Terreur (X)}) causés par ceux de ce groupe.</p>",
"effects": {},
"id": "Hatred (Target)",
"name": "Haine (Cible)"
},
{
"description": "<p>Vous ressentez une profonde haine pour la Cible, qui représente en général un groupe de personnes ou de créatures, comme les « hochlanders », les « pieuvres des tourbières » ou les « esclavagistes ». Vous n'interagirez jamais avec des personnes que vous haïssez à ce point.</p><p>Lorsque vous rencontrez ceux qui vous provoquent la Haine, vous devez effectuer un Test de Psychologie. Sur un échec, vous ressentez de la Haine. À la fin de chaque round qui suivra, vous pourrez tenter un autre Test de Psychologie afin, de mettre fin à votre État de Haine. Si vous ne le faites pas, les effets de la Haine se dissiperont d'eux-mêmes lorsque tous les membres du groupe concerné dans votre Ligne de Vue seront, morts ou auront disparu, ou que vous gagniez l'État <em><a class='condition-chat'>Inconscient</a></em></p>\n<p>Tant que vous ressentez de la Haine, vous devez faire tout ce qui est en votre pouvoir pour détruire le groupe haï, et ce, le plus rapidement et de manière la plus violente possible.</p>\n<ul>\n<li>Vous gagnez + 1 DR à tous vos Tests de Combat effectués contre le groupe en question.</li>\n<li>Vous êtes immunisé à @Compendium[wfrp4e.psychologies.Ib2YQYChktDFN93y]{Fear} et @Compendium[wfrp4e.skills.I0yPc4PH5erWJLmu]{Intimidate} (mais pas @Compendium[wfrp4e.psychologies.meMkLEwdJIDLxM0B]{Terror}) causés par ceux de ce groupe.</li></ul>",
"id": "Hatred",
"name": "Haine"
"description": "<p>Vous ressentez une profonde haine pour la <em>Cible</em>, qui représente en général un groupe de personnes ou de créatures, comme les « hochlanders », les « pieuvres des tourbières » ou les « esclavagistes ». Vous n'interagirez jamais avec des personnes que vous haïssez à ce point.Lorsque vous rencontrez ceux qui vous provoquent la <em>Haine</em>, vous devez effectuer un Test de Psychologie. Sur un échec, vous ressentez de la <em>Haine</em>. À la fin de chaque round qui suivra, vous pourrez tenter un autre Test de Psychologie afin de mettre fin à votre État de <em>Haine</em>. Si vous ne le faites pas, les effets de la <em>Haine</em> se dissiperont d'eux-mêmes lorsque tous les membres du groupe concerné dans votre Ligne de Vue seront morts ou auront disparu, ou que vous gagniez l'État <em><a class='condition-chat'>Inconscient</a></em></p>\n<p>Tant que vous ressentez de la <em>Haine</em>, vous devez faire tout ce qui est en votre pouvoir pour détruire le groupe haï, et ce, le plus rapidement et de manière la plus violente possible.Vous gagnez + 1 DR à tous vos Tests de Combat effectués contre le groupe en question et êtes immunisé à @UUID[Compendium.wfrp4e-core.psychologies.Ib2YQYChktDFN93y]{Peur (X)} et @Compendium[wfrp4e-core.skills.I0yPc4PH5erWJLmu]{Intimidation} (mais pas @UUID[Compendium.wfrp4e-core.psychologies.meMkLEwdJIDLxM0B]{Terreur (X)}) causés par ceux de ce groupe.</p>",
"id": "Hatred",
"name": "Haine"
},
{
"description": "<p>Une phobie reflète une peur spécifique ; cela peut-être envers un type de créature, ou envers un objet ou une situation particulière, tel que <em>Phobie (Insectes)</em>, <em>Phobie (Livres)</em>, ou <em>Phobie (Espaces clos)</em>.</p>\n<ul>\n<li>Traitez l'objet de la Phobie comme causant @Compendium[wfrp4e.psychologies.Ib2YQYChktDFN93y]{Fear 1}.</li>\n<li>Vous pouvez vouloir augmenter l'Indice de Peur si la Phobie est particulièrement forte.</li>\n</ul>\n<p><strong>Exemple:</strong> <em>Doktor Johannsen est un archéologue renommé. Malgré ses non1breuses aventures et ses récits de hauts faits, il souffre dune </em>Phobie (Serpents)<em> ; malgré cette aversion, il semble les rencontrer avec une régularité alarmante.</em></p>",
"effects": {},
"id": "Phobia (Target)",
"name": "Phobie (Cible)"
"id": "Love",
"name": "Amour",
"description": "<p>Les poètes parlent tout le temps damour, et même les bardes du Reikland connaissent des dizaines de chansons qui sont autant dodes au pouvoir de lamour. Si votre Personnage possède le Trait Amour envers un ou plusieurs individus, ce dernier reflète une très forte relation émotionnelle entre les deux. Cela peut être lamour romantique quil va éprouver envers sa femme, son mari ou son amoureux, un profond amour familial envers un frère, une sœur, un parent ou un enfant, ou encore une très forte amitié.&nbsp;Vous devez venir en aide à quelquun que vous aimez sil se retrouve menacé, que ce soit physiquement ou verbalement.. Vous êtes immunisé à la @UUID[Compendium.wfrp4e-core.psychologies.Ib2YQYChktDFN93y]{Peur} et l@Compendium[wfrp4e-core.skills.I0yPc4PH5erWJLmu]{Intimidation} tant que vous défendez les êtres aimés, et vous gagnez +1 DR à tous les Tests en rapport.</p>\n<p><strong>Exemple</strong>: <em> Rilla est une femme du fleuve qui parcourt le Reik avec sa famille proche. Elle possède Amour (Fils), Amour (Frère) et Amour (Parents). Si vous cherchez des noises à la famille de Rilla, vous aurez affaire à elle !</em></p>"
},
{
"description": "<p>Vous ressentez une profonde aversion pour la Cible, en général un groupe de personnes ou de créatures, comme les effectuer un Test de Psychologie chaque fois que vous rencontrez l'un de ces groupes. Sur un succès, il est possible que vous fronciez les sourcils, mais cela ne vous empêchera pas de vous comporter normalement. Vous ne subirez qu'une pénalité de -10 à vos Tests de Sociabilité avec ce groupe.</p><p>Sur un échec, vous devenez sensible aux Préjugés. À partir du round qui suivra, vous pourrez effectuer un autre Test de Psychologie de façon à mettre fin aux Préjugés. Si vous ne le faites pas, les effets de Préjugés s'arrêteront d'eux-mêmes lorsque tous les membres du groupe qui étaient dans votre Ligne de Vue auront disparu, que vous gagniez l'État <em><a class='condition-chat'>Assommé</a></em> ou <em><a class='condition-chat'>Inconscient</a></em>, ou que vous soyez sujet à un autre Trait Psychologique. </p>\n<p>&nbsp;</p>\n<p>Lorsque vous êtes sujet aux Préjugés, vous devez copieusement insulter votre cible à haute et intelligible voix.</p>",
"effects": {},
"id": "Prejudice",
"name": "Préjugé"
"description": "<p>Une phobie reflète une peur spécifique ; cela peut-être envers un <em>Type</em> de créature, ou envers un objet ou une situation particulière, tel que <em>Phobie</em> (Insectes), <em>Phobie</em> (Livres)</em>, ou <em>Phobie</em> (Espaces clos).Traitez l'objet de la Phobie comme causant @UUID[Compendium.wfrp4e-core.psychologies.Ib2YQYChktDFN93y]{Peur (1)}.Vous pouvez vouloir augmenter l'<em>Indice</em> de <em>Peur</em> si la Phobie est particulièrement forte.</li>\n</ul>\n<p><strong>Exemple:</strong> <em>Doktor Johannsen est un archéologue renommé. Malgré ses nombreuses aventures et ses récits de hauts faits, il souffre dune Phobie </em>(Serpents)<em> ; malgré cette aversion, il semble les rencontrer avec une régularité alarmante.</em></p>",
"effects": {},
"id": "Phobia (Target)",
"name": "Phobie (Cible)"
},
{
"description": "<p>Certaines créatures sont si profondément perturbantes qu'elles parviennent à provoquer une terreur glaçante auprès de leurs adversaires. Lorsque vous rencontrez pour la première fois une créature qui inspire la <em>Terreur</em>, effectuez un Test de Psychologie.<ul><li>Sur un succès, vous ne subissez aucun effet supplémentaire à cause de la <em>Terreur</em></li><li>Sur un échec, vous gagnez autant l'États <em><a class='condition-chat'>Brisé</a></em> que l'Indice de <em>Terreur</em> de la créature, auquel vous rajoutez les DR inférieurs à 0.</li></ul></p>\n<p>Une fois ce test de Psychologie effectué, la créature cause la @Compendium[wfrp4e.psychologies.Ib2YQYChktDFN93y]{Fear}, avec un Indice de <em>Peur</em> équivalent à son Indice de <em>Terreur</em>.</p>",
"effects": {},
"id": "Terror (Rating)",
"name": "Terreur (X)"
"description": "<p>Vous ressentez une profonde aversion pour la <em>Cible</em>, en général un groupe de personnes ou de créatures, comme les « ostlanders », les « elfes » ou les « Sorciers ». Vous devez effectuer un Test de Psychologie chaque fois que vous rencontrez l'un de ces groupes. Sur un succès, il est possible que vous fronciez les sourcils, mais cela ne vous empêchera pas de vous comporter normalement. Vous ne subirez qu'une pénalité de -10 à vos Tests de Sociabilité avec ce groupe. Sur un échec, vous devenez sensible aux <em>Préjugés</em>. À partir du Round qui suivra, vous pourrez effectuer un autre Test de Psychologie de façon à mettre fin aux <em>Préjugés</em>. Si vous ne le faites pas, les effets de <em>Préjugés</em> s'arrêteront d'eux-mêmes lorsque tous les membres du groupe qui étaient dans votre Ligne de Vue auront disparu, que vous gagniez l'État <em><a class='condition-chat'>Assommé</a></em> ou <em><a class='condition-chat'>Inconscient</a></em>, ou que vous soyez sujet à un autre Trait Psychologique. </p>\n<p>&nbsp;</p>\n<p>Lorsque vous êtes sujet aux <em>Préjugés</em>, vous devez copieusement insulter votre <em>Cible</em> à haute et intelligible voix.</p>",
"effects": {},
"id": "Prejudice (Target)",
"name": "Préjugé (Cible)"
},
{
"description": "<p>Certaines créatures sont si profondément perturbantes qu'elles parviennent à provoquer une terreur glaçante auprès de leurs adversaires. Lorsque vous rencontrez pour la première fois une créature qui inspire la <em>Terreur</em>, effectuez un Test de Psychologie.<ul><li>Sur un succès, vous ne subissez aucun effet supplémentaire à cause de la <em>Terreur</em></li><li>Sur un échec, vous gagnez autant l'États <em><a class='condition-chat'>Brisé</a></em> que l'Indice de <em>Terreur</em> de la créature, auquel vous rajoutez les DR inférieurs à 0.</li></ul></p>\n<p>Une fois ce test de Psychologie effectué, la créature cause la @Compendium[wfrp4e.psychologies.Ib2YQYChktDFN93y]{Fear}, avec un Indice de <em>Peur</em> équivalent à son Indice de <em>Terreur</em>.</p>",
"id": "Terror",
"name": "Terreur"
"description": "<p>Certaines créatures sont si profondément perturbantes qu'elles parviennent à provoquer une terreur glaçante auprès de leurs adversaires. Lorsque vous rencontrez pour la première fois une créature qui inspire la <em>Terreur</em>, effectuez un Test de Psychologie.Sur un succès, vous ne subissez aucun effet supplémentaire à cause de la <em>Terreur</em>. Sur un échec, vous gagnez autant d'États <em><a class='condition-chat'>Brisé</a></em> que l'<em>Indice</em> de <em>Terreur</em> de la créature, auquel vous rajoutez les DR inférieurs à 0.\n<p>Une fois ce test de Psychologie effectué, la créature cause la @UUID[Compendium.wfrp4e-core.psychologies.Ib2YQYChktDFN93y]{Peur}, avec un Indice de <em>Peur</em> équivalent à son Indice de <em>Terreur</em>.</p>",
"effects": {},
"id": "Terror (Rating)",
"name": "Terreur (X)"
},
{
"description": "<p>La vie de la grande majorité des reiklanders est désagréable, brutale et courte. Et c'est encore plus vrai pour les aventuriers, dont la vie est plutôt agitée. </p>\n<p>&nbsp;</p>\n<p>Chacun retranscrit les traumas différemment, et vous pouvez choisir de partir sur des pistes différentes : cauchemars, substances illicites, flashbacks, @Compendium[wfrp4e.psychologies.Q2MCUrG2HppMcvN0]{Animosity} ou @Compendium[wfrp4e.psychologies.5hH73j2NgPdsLCZN]{Hatred} envers un groupe en particulier, ou une @Compendium[wfrp4e.psychologies.Mu5dU4IcP58LBQwi]{Phobia}. Un Personnage qui a subi une expérience traumatique peut en manifester les conséquences de plusieurs différentes façons au fil du temps. </p>\n<p>&nbsp;</p>\n<p><strong>Exemple:</strong> <em>Le village de Horst a été ravagé pas un terrible incendie - il entend d'ailleurs encore certains cris dans ses cauchemars. Si Horst tombe sur un Personnage (ami ou ennemi) qui est Enflammé, il doit effectuer un </em><strong>Test de Calme Intermédiaire (+0)</strong><em> . Sur un échec, il gagne un État <a class='condition-chat'>Assommé</a> Condition, plus un État <a class='condition-chat'>Assommé</a> par DR négatif. De plus, chaque nuit, Horst effectue un </em><strong>Test de Calme Facile (+40)</strong><em>. Sur un échec, il est en proie à de terribles cauchemars et gagne l'État <a class='condition-chat'>Exténué</a>.</em></p>",
"effects": {},
"id": "Trauma",
"name": "Traumatisme"
"description": "<p>Certaines créatures sont si profondément perturbantes qu'elles parviennent à provoquer une terreur glaçante auprès de leurs adversaires. Lorsque vous rencontrez pour la première fois une créature qui inspire la <em>Terreur</em>, effectuez un Test de Psychologie.Sur un succès, vous ne subissez aucun effet supplémentaire à cause de la <em>Terreur</em>. Sur un échec, vous gagnez autant d'États <em><a class='condition-chat'>Brisé</a></em> que l'<em>Indice</em> de <em>Terreur</em> de la créature, auquel vous rajoutez les DR inférieurs à 0.\n<p>Une fois ce test de Psychologie effectué, la créature cause la @UUID[Compendium.wfrp4e-core.psychologies.Ib2YQYChktDFN93y]{Peur}, avec un Indice de <em>Peur</em> équivalent à son Indice de <em>Terreur</em>.</p>",
"id": "Terror",
"name": "Terreur"
},
{
"description": "<p>La vie de la grande majorité des Reiklanders est désagréable, brutale et courte. Et c'est encore plus vrai pour les aventuriers, dont la vie est plutôt agitée. Chacun retranscrit les traumas différemment, et vous pouvez choisir de partir sur des pistes différentes : cauchemars, substances illicites, flashbacks, @UUID[Compendium.wfrp4e-core.psychologies.Q2MCUrG2HppMcvN0]{Animosité} ou @UUID[Compendium.wfrp4e-core.psychologies.5hH73j2NgPdsLCZN]{Haine} envers un groupe en particulier, ou une @Compendium[wfrp4e-core.psychologies.Mu5dU4IcP58LBQwi]{Phobie}. Un Personnage qui a subi une expérience traumatique peut en manifester les conséquences de plusieurs différentes façons au fil du temps.</p>\n<p><strong>Exemple:</strong> <em>Le village de Horst a été ravagé pas un terrible incendie - il entend d'ailleurs encore certains cris dans ses cauchemars. Si Horst tombe sur un Personnage (ami ou ennemi) qui est Enflammé, il doit effectuer un Test de </em><strong>Calme Intermédiaire (+0)</strong><em>. Sur un échec, il gagne un État <a class='condition-chat'>Assommé</a> par DR négatif. De plus, chaque nuit, Horst effectue un Test de </em><strong>Calme Facile (+40)</strong><em>. Sur un échec, il est en proie à de terribles cauchemars et gagne l'État <em><a class='condition-chat'>Extenué</a></em>.</em></p>",
"effects": {},
"id": "Trauma",
"name": "Trauma"
}
]
}
}

File diff suppressed because it is too large Load Diff

View File

@ -85,6 +85,15 @@
"1-100": "Mentale : @Table[mutatemental]"
}
},
{
"id": "Beyond the Social Norm",
"name": "Au-delà de la norme sociale",
"results": {
"1-2": "<b>Braver le Statut</b>: le Personnage brave les conventions concernant le Statut et en ignore donc les effets.",
"3-8": "<b>Réactions classiques</b>: le Personnage suit les règles habituelles du Statut.",
"9-10": "<b>Opinions extrêmes</b>: le Personnage possède des opinions extrêmes. Modifier les Tests en relation avec le Statut de +/-10, en fonction."
}
},
{
"id": "Dooming (Alternate)",
"name": "Destinées (Alternatives)",

View File

@ -37,6 +37,13 @@
"name": "Tir précis",
"tests": ""
},
{
"id": "Detect Artefact",
"name": "Détection dartefact",
"tests": "Tests dIntuition pour détecter des artefacts magiques",
"effects": [],
"description": "<p>Vous êtes capable de déceler quand la magie réside dans un artefact. Vous pouvez tenter un Test dIntuition pour nimporte quel artefact magique touché. Sur un succès, vous sentez que lobjet est magique ; de plus, chaque DR apprend également une règle spéciale spécifique concernant lobjet, sil en possède. En principe, vous ne pouvez tenter ce Test quune seule fois par artefact touché.</p>"
},
{
"description": "<p>L'un de vos cinq sens principaux est particulièrement développé, vous permettant de repérer ce qui échappe à d'autres. Vous pouvez effectuer des Tests de Perception pour détecter des détails normalement imperceptibles grâce au sens associé, déterminés par le MJ. Cela peut-être : voir un aigle au-delà du champ visuel de tout le monde, sentir un poison presque inodore, entendre la respiration d'une souris immobile dans un mur, percevoir une lettre effacée dans une gravure, ou déceler que deux bières d'un même brasseur ont été tirées de deux tonneaux différents.</p>",
"effects": [],

View File

@ -49,7 +49,7 @@
{
"id": "Waterborne Diseases",
"name": "Maladies Fluviales",
"results": {"76-80":"@Compendium[wfrp4e-dotr.items.placeholder]{Vers des Cavités}","81-90":"@Compendium[wfrp4e-dotr.items.placeholder]{Vers du Reik}","91-100":"@Compendium[wfrp4e-core.diseases.herUmN51D9TiL2Vn]{Flux sanglant}","1-40":"@Compendium[wfrp4e-core.diseases.txeLd7R13qxSvmsr]{Galopante}","41-60":"@Compendium[wfrp4e-dotr.items.pplaceholder]{Grippe}","61-70":"@Compendium[wfrp4e-core.diseases.1hQuVFZt9QnnbWzg]{Infection Mineure}","71-75":"@Compendium[wfrp4e-core.diseases.kKccDTGzWzSXCBOb]{Blessure Infectée}"}
"results": {"76-80":"@Compendium[wfrp4e-dotr.dotr-items.PIqixe4OQgrVQpFc]{Vers des Cavités}","81-90":"@Compendium[wfrp4e-dotr.items.pl0JMqXbCFSYGvBLnE]{Vers du Reik}","91-100":"@Compendium[wfrp4e-core.diseases.herUmN51D9TiL2Vn]{Flux sanglant}","1-40":"@Compendium[wfrp4e-core.diseases.txeLd7R13qxSvmsr]{Galopante}","41-60":"@Compendium[wfrp4e-dotr.dotr-items.fUYD3itr7AlZwQDI]{La Grippe}","61-70":"@Compendium[wfrp4e-core.diseases.1hQuVFZt9QnnbWzg]{Infection Mineure}","71-75":"@Compendium[wfrp4e-core.diseases.kKccDTGzWzSXCBOb]{Blessure Infectée}"}
},
{
"id": "Wind Table",

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,150 @@
{
"label": "Tables (Ennemi dans l'Ombre)",
"entries": [
{
"id": "Beast Head - Khorne",
"name": "Têtes de Bêtes - Khorne",
"results": {"66-80":"<a class = 'item-lookup' data-name='Goat Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chèvre<\/b><\/a>","81-99":"<a class = 'item-lookup' data-name='Wolf Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Loup<\/b><\/a>","100-100":"<a class = 'item-lookup' data-name='Snake Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Serpent<\/b><\/a>","1-10":"<a class = 'item-lookup' data-name='Bear Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Ours<\/b><\/a>","11-25":"<a class = 'item-lookup' data-name='Boar Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Sanglier<\/b><\/a>","26-45":"<a class = 'item-lookup' data-name='Bull Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Taureau<\/b><\/a>","46-60":"<a class = 'item-lookup' data-name='Dog Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chien<\/b><\/a>","61-65":"<a class = 'item-lookup' data-name='Eagle Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Aigle<\/b><\/a>"}
},
{
"id": "Beast Head - Nurgle",
"name": "Têtes de Bêtes - Nurgle",
"results": {"61-80":"<a class = 'item-lookup' data-name='Giant Spider Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Araignée Géante<\/b><\/a>","81-95":"<a class = 'item-lookup' data-name='Goat Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chèvre<\/b><\/a>","96-100":"<a class = 'item-lookup' data-name='Snake Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Serpent<\/b><\/a>","1-5":"<a class = 'item-lookup' data-name='Bear Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Ours<\/b><\/a>","6-20":"<a class = 'item-lookup' data-name='Boar Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Sanglier<\/b><\/a>","21-35":"<a class = 'item-lookup' data-name='Dog Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chien<\/b><\/a>","36-40":"<a class = 'item-lookup' data-name='Eagle Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Aigle<\/b><\/a>","41-60":"<a class = 'item-lookup' data-name='Rat Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Rat<\/b><\/a>"}
},
{
"id": "Beast Head - Slaanesh",
"name": "Têtes de Bêtes - Slaanesh",
"results": {"16-25":"<a class = 'item-lookup' data-name='Dog Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chien<\/b><\/a>","26-35":"<a class = 'item-lookup' data-name='Eagle Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Aigle<\/b><\/a>","36-75":"<a class = 'item-lookup' data-name='Goat Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chèvre<\/b><\/a>","76-80":"<a class = 'item-lookup' data-name='Wolf Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Loup<\/b><\/a>","81-100":"<a class = 'item-lookup' data-name='Snake Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Serpent<\/b><\/a>","1-5":"<a class = 'item-lookup' data-name='Bear Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Ours<\/b><\/a>","6-10":"<a class = 'item-lookup' data-name='Boar Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Sanglier<\/b><\/a>","11-55":"<a class = 'item-lookup' data-name='Bull Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Taureau<\/b><\/a>"}
},
{
"id": "Beast Head - Tzeentch",
"name": "Têtes de Bêtes - Tzeentch",
"results": {"1-10":"<a class = 'item-lookup' data-name='Bear Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Ours<\/b><\/a>","11-20":"<a class = 'item-lookup' data-name='Boar Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Sanglier<\/b><\/a>","21-30":"<a class = 'item-lookup' data-name='Bull Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Taureau<\/b><\/a>","31-40":"<a class = 'item-lookup' data-name='Dog Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chien<\/b><\/a>","41-50":"<a class = 'item-lookup' data-name='Eagle Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Aigle<\/b><\/a>","51-60":"<a class = 'item-lookup' data-name='Rat Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Rat<\/b><\/a>","61-70":"<a class = 'item-lookup' data-name='Giant Spider Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Araignée Géante<\/b><\/a>","71-80":"<a class = 'item-lookup' data-name='Goat Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chèvre<\/b><\/a>","81-90":"<a class = 'item-lookup' data-name='Wolf Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Loup<\/b><\/a>","91-100":"<a class = 'item-lookup' data-name='Snake Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Serpent<\/b><\/a>"}
},
{
"id": "Beast Head - Undivided",
"name": "Têtes de Bêtes - Commun",
"results": {"1-5":"<a class = 'item-lookup' data-name='Bear Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Ours<\/b><\/a>","6-15":"<a class = 'item-lookup' data-name='Boar Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Sanglier<\/b><\/a>","15-25":"<a class = 'item-lookup' data-name='Bull Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Taureau<\/b><\/a>","26-30":"<a class = 'item-lookup' data-name='Dog Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chien<\/b><\/a>","31-35":"<a class = 'item-lookup' data-name='Eagle Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Aigle<\/b><\/a>","36-50":"<a class = 'item-lookup' data-name='Rat Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Rat<\/b><\/a>","51-55":"<a class = 'item-lookup' data-name='Giant Spider Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête d'Araignée Géante<\/b><\/a>","56-80":"<a class = 'item-lookup' data-name='Goat Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Chèvre<\/b><\/a>","81-95":"<a class = 'item-lookup' data-name='Wolf Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Loup<\/b><\/a>","91-100":"<a class = 'item-lookup' data-name='Snake Head' data-type = 'mutation' data-location='eis.expandedmutations'><b>Tête de Serpent<\/b><\/a>"}
},
{
"id": "Coincidental Encounters",
"name": "Rencontres diverses",
"results": {"31-40":"<b>Ah non, pas eux!<\/b>:Un rival ou une autre source d'ennuis viennent perturber le voyage des Personnages. Ces ennuis sont réellement ennuyeux, voir récurrents, mais ne sont pas là pour déclencher des combats. Peut-être que Delberz Trötte (page 54) ne peut s'arrêter d'essayer d'entraîner les Personnages dans une autre combine pour devenir riche rapidement.","41-50":"<b>Tentations sur la Route<\/b>:Quelque chose sortant de l'ordinaire a attiré l'attention des Personnages — une somptueuse et tentante auberge au milieu de nulle part, un feu de camp inattendu avec un appétissant sanglier roti, les sons d'une troupe de cirque en mouvement. Les Personnages vont-ils faire un détour pour en savoir plus ? Quels dangers cachés se cachent derrière ces tentations ?","51-60":"<b>Mauvaise Influence!<\/b>:Les Personnages font du tort à un autre voyageur sur la route — ce peut-être une perception erronnée, une collision accidentelle, ou encore une insulte intentionnelle. Quoiqu'il en soit, le voyageur commence à répandre de fausses rumeurs ou des ragots malsains sur le groupe.","61-70":"<b>Route à Péage<\/b>:Un noble local ou une 'entreprise privé' a établi un péage sur la route devant les Personnages. Vont-ils payer la taxe exhorbitante qui leur ai demandée - en proportion de leur statut social è ou vont-ils tenter de contourner le problème?","71-80":"<b>La Chose Qui ne doit pas Etre<\/b>:Il y a quelque chose qui ne devrait âs être là — un obleisque de roche noire u milieu d'une forêt verdoyante, d'étranges runes gravées sur des troncs d'arbres, fa black stone obelisk in the middle of a verdant forest, strange runes carved on the trunks of trees, une lumière étrange juste à la limite du feu de camp. Quelle que soit son origine, d'autres l'ont déja vu, et les rumeurs abondent une fois arrivés à leur destination.","1-10":"<b>Environnement Suspect<\/b>:Quelque chose semble bizarre pendant ce trajet du jour — la route est curieusement calme, il n'y a pas de jeux locaux, ou les quelques voyageurs croisés vous jettent des regards en coin. Quelque chose ne toutne pas rond... Ou peut-être est-ce juste votre imagination.","11-20":"<b>Champ de Bataille<\/b>:Les Personnages arrivent sur le site d'un combat récent. Etait-ce un massacre par les Peaux-Vertes, une attaque de bandits de grand chemin, une embuscade ou quelque chose de pire ? Was it a massacre by Greenskins, a highway robbery, a skirmish with bandits, or something worse? Les corps sont peu abîmés par les charognards, et les cadavres semblent encore frais. Mais à quelle distance sont les coupables, et comment réagiront-ils aux Personnages qui fouillent les coprs ?","91-100":"<b>Un ami dans le besoin<\/b>:Un autre voyageur ou groupe de voyageurs, ont besoin de l'aide des Personnages. Peut-être que leur chariot s'est cassé, ou qu'ils sont harcelés par des Loups. Si les Personnages les escortent jusqu'à leur ldestinationn ils pourront exprimer leur gratitude une fois saufs.","21-30":"<b>Foule Compacte<\/b>:Les Personnages dépassent une procession d'individus serrés les uns contre les autres. Est-ce des réfugiés, des pénitents, des lépreux ou quelque chose de plus sournois ? Quelque soit la nature de ce groupe, ils peuvent cacher des menaces potentielles.","80-90":"<b>Providence<\/b>:Les Dieux envoient un message aux personnages — une révélation à propos du passé, une lecture du présent, ou un avertissement pour le futur. Mais les Dieux ne parlent pas au mortels, en utilisent plutôt des signes dans la nature ou l'environnement. Un corbeau avec un scorpion se tortillant dans son bec. Un cerf transpercé par une branche fleurie. Un test de Savoir (Théologie) peut être réalisé pour en savoir plus, mais les symboles sont évidents pour les citoyens de l'Empire"}
},
{
"id": "Delirium",
"name": "Délire",
"results": {"10-10":"<b>Hallucinations<\/b>:Vous avez des visions étranges et terrifiantes, et vous devez faire un Test contre la terreur 3 toutes les 10 minutes pendant l'heure qui suit. Vous gagnez également +1 Condition <a class='condition-chat'><i class='fas fa-user-injured'><\/i> Assommé<\/a> pendant les <b><a class='chat-roll'>1d10<\/a><\/b> heures suivantes.","1-2":"<b>Interval de lucidité<\/b>:Vous avez une période de calme béni. Tous les Etats que vous avez précédemment gagnées grâce à votre délire sont supprimées.","6-9":"<b>Confusion<\/b>:En proie à des visions étranges et déformées, vous obtenez un état <a class='condition-chat'><i class='fas fa-user-injured'><\/i> Etourdis<\/a> pendant l'heure qui suit.","3-5":"<b>Sommeil réparateur<\/b>:On se tourne et on se retourne, on dort mais on ne se repose pas. Gagnez 1 état <a class='condition-chat'><i class='fas fa-user-injured'><\/i> Inconscient<\/a> pendant la prochaine heure, et 1 état <a class='condition-chat'><i class='fas fa-user-injured'><\/i> Extenué<\/a> pendant les <b><a class='chat-roll'>1d10<\/a><\/b> prochaines heures."}
},
{
"id": "Demonic Mien - Nurgle",
"name": "Trait Démonique - Nurgle",
"results": {"1-1":"@Compendium[wfrp4e.traits.a8MC97PLzl10WocT]{Grand}","2-2":"@Compendium[wfrp4e.traits.uqGxFOEqeurwkAO3]{Souffle +7 (Corrosion & Poison)}","3-3":"@Compendium[wfrp4e.traits.v3uzEthcq0JRar0J]{Démoniaque 7}","4-4":"@Compendium[wfrp4e.traits.PaW8i6JOxWyzAZCz]{Maladie (Nurgle's Rot)}","5-5":"@Compendium[wfrp4e.traits.MVI0lXcg6vvtooAF]{Perturbant (Puanteur)}","6-6":"@Compendium[wfrp4e-core.traits.pTorrE0l3VybAbtn]{Peur (3)}","7-7":"@Compendium[wfrp4e.traits.TBcdTlYSRH8Rd1x0]{Infecté}","8-8":"<a class = 'table-click' data-table='expandedmutatephys'>Mutation<\/a>","9-9":"@Compendium[wfrp4e.traits.SfUUdOGjdYpr3KSR]{Régénération}","10-10":"@Compendium[wfrp4e.traits.JzeN9MZ0xUDvpE2l]{Vomissement}"}
},
{
"id": "Demonic Mien - Slaanesh",
"name": "Trait Démonique - Slaanesh",
"results": {"1-1":"@Compendium[wfrp4e.traits.v3uzEthcq0JRar0J]{Démoniaque (6)}","2-2":"@Compendium[wfrp4e.traits.MVI0lXcg6vvtooAF]{Perturbant}","4-4":"@Compendium[wfrp4e.traits.yRhhOlt18COq4e1q]{Frénésie}","5-5":"@Compendium[wfrp4e.traits.IAWyzDfC286a9MPz]{Immunité Psychologique}","7-7":"@Compendium[wfrp4e.traits.wMwSRDmgiF2IdCJr]{Insensible à la douleur}","8-8":"@Compendium[wfrp4e.traits.0eEJ280MIC0IbEop]{Regard pétrifiant}","9-9":"@Compendium[wfrp4e.traits.xg6z63j6BH5AaqLL]{Langue préhensile (6 mètres) +6}","10-10":"@Compendium[wfrp4e.traits.gFkRm9wS65qe18Xv]{Venin}","3-3":"@Compendium[wfrp4e-core.traits.pTorrE0l3VybAbtn]{Peur (3)}","6-6":"<a class = 'table-click' data-table='expandedmutatephys'>Mutation<\/a>"}
},
{
"id": "Demonic Mien - Tzeentch",
"name": "Trait Démonique - Tzeentch",
"results": {"4-4":"@Compendium[wfrp4e-core.traits.pTorrE0l3VybAbtn]{Peur (3)}","8-9":"<a class = 'table-click' data-table='expandedmutatephys'>Mutation<\/a>","1-1":"@Compendium[wfrp4e.traits.uqGxFOEqeurwkAO3]{Souffle +9 (Feu)}","2-2":"@Compendium[wfrp4e.traits.v3uzEthcq0JRar0J]{Démoniaque (9)}","3-3":"@Compendium[wfrp4e.traits.tNWrJUOArwfWXsPw]{Ethéré}","5-5":"@Compendium[wfrp4e.traits.EO05HX7jql0g605A]{Vol (9)}","6-6":"@Compendium[wfrp4e.traits.mDgEMOoJpi8DkRYb]{Magique}","7-7":"@Compendium[wfrp4e.traits.yrkI7ATjqLPDTFmZ]{Résistance à la Magie}}","10-10":"@Compendium[wfrp4e.traits.vY0CHKsJRV3gYBj3]{Lanceur de Sorts (Au choix)}"}
},
{
"id": "Demonic Mien - Undivided",
"name": "Trait Démonique - Commun",
"results": {"8-8":"@Compendium[wfrp4e.traits.BqPZn6q3VHn9HUrW]{Cornes +10}","10-10":"@Compendium[wfrp4e.traits.UnJ25lL8aUzem5JO]{Attaque Caudale (+10)}","5-5":"@Compendium[wfrp4e-core.traits.pTorrE0l3VybAbtn]{Peur (3)}","9-9":"@Compendium[wfrp4e.traits.mDgEMOoJpi8DkRYb]{Magique}","1-2":"@Compendium[wfrp4e.traits.v3uzEthcq0JRar0J]{Démoniaque (8)}","3-3":"@Compendium[wfrp4e.traits.9NROryHer1uXAKwY]{Elite}","4-4":"@Compendium[wfrp4e.traits.9MjH4xyVrd3Inzak]Rapide}","6-6":"@Compendium[wfrp4e.traits.EO05HX7jql0g605A]{Vol (8)}"}
},
{
"id": "Expanded Mental Mutations - Khorne",
"name": "Mutations Mentales Etendues - Khorne"
},
{
"id": "Expanded Mental Mutations - Nurgle",
"name": "Mutations Mentales Etendues - Nurgle"
},
{
"id": "Expanded Mental Mutations - Slaanesh",
"name": "Mutations Mentales Etendues - Slaanesh"
},
{
"id": "Expanded Mental Mutations - Tzeentch",
"name": "Mutations Mentales Etendues - Tzeentch"
},
{
"id": "Expanded Mental Mutations - Undivided",
"name": "Mutations Mentales Etendues - Commun"
},
{
"id": "Expanded Physical Mutations - Khorne",
"name": "Mutations Physiques Etendues - Khorne"
},
{
"id": "Expanded Physical Mutations - Nurgle",
"name": "Mutations Physiques Etendues - Nurgle"
},
{
"id": "Expanded Physical Mutations - Slaanesh",
"name": "Mutations Physiques Etendues - Slaanesh"
},
{
"id": "Expanded Physical Mutations - Tzeentch",
"name": "Mutations Physiques Etendues - Tzeentch"
},
{
"id": "Expanded Physical Mutations - Undivided",
"name": "Mutations Physiques Etendues - Commun"
},
{
"id": "Fixations",
"name": "Idée Fixes",
"results": {"2-2":"Objets Inanimés","3-3":"Pauvreté","4-4":"Feu","5-5":"Figures\/Symboles de Guerre","6-6":"Figures\/Symboles de l'Autorité","7-7":"Figures\/Symboles Religieux","8-8":"Monstres","9-9":"Mutants","10-10":"Halflings","11-11":"Humains","12-12":"Nains","13-13":"Elfes","14-14":"Animaux Sauvages","15-15":"Animaux Domestiques","16-16":"Magie","17-17":"Maladie","18-18":"Eau","19-19":"Affluence","20-20":"Bonheur"}
},
{
"id": "Harmful Encounters",
"name": "Rencontres Génantes",
"results": {"41-50":"<b>Même la nature vous hait!<\/b>:Les personnages se retrouvent en danger dans la nature. Animaux mortels, tempêtes, maladies, insectes, à votre guise. Cette situation peut dégénérer en violence, ou sur un Etat, ou devenir une petite mais vicieuse rencontre s'ils choisissent la mauvaise cabane de berger comme abri. Vous pouvez utilisez les Créatures de la section 'Bêtes du Reikland' dans le Livre de Base.","51-70":"<b>Météo Catastrophique<\/b>:Alors que les Personnages installent leur campement, le ciel vire à l'orage, le vent se lève and le temps change brutalement pendant la nuit. Pour le prochein test de Météo sur la table @Table[weather]{Météo}, ajoutez +40 (clique droit). S'i s'agit de l'étape finale du voyage, If this is the final stage of the journey, le mauvas temps détruit leur destination à la place, laissant probablement tout le monde de mauvaise humeur.","71-80":"<b>Matériel détruit<\/b>:A cause d'une route cahotique, un sac perdu ou une tente abîmée, de l'équipement vital des Personnages a été perdu ou détruit. Cela peut-être un manteau huilé, une tente, ou la roue d'un chariot. Des réparations peuvent être nécessaires, ou les Personnages devront braver les élements, et subir les risques d'Exposition.","81-90":"<b>Sales Conditions!<\/b>:A cause d'un mauvais campement, ou d'une auberge infestée, les Personnages ont tous été exposés à la terrible @Compendium[wfrp4e.diseases.BC4QyBeYAiw8cRuM]{Vérole du Tanneur!}.","1-10":"<b>Voyage fatiguant!<\/b>:La route est bloquée. Un pont peut-être tombé,une rivière bloquée ou une route inondée, ou tout autre obstacle insurmontable. L'un des personnages doit réussir un Test de Survie en Extérieur Accessible (+20) pour trouver une route alternative viable, ou bien tout les personnages reçoivent l'état @Condition[Fatigued]{Extenué}.","11-20":"<b>Voleurs!<\/b>:D'une manière ou d'une autre, les Personnages ont été volés. Peut-être était-ce quelqu'un voyageant avec eux, partageant leur feu de camp pour la nuit ou seulement une brève conversation sur la route. Ils perdent rapidement le voleur de vue, mais durant leur phase d'arrivée, ils le rattrapent. Peut-être que leur porte-monnaie est rombé entre les mains de Wolmar Rotte (page 49), ou peut-être que Wilhelm Kind (page 55) est parti avec leurs montures.","21-30":"<b>Territoire Hostile<\/b>:Alors que les Personnages voyagent, il leur apparait comme évident que la région est le repaire de bandits, monstres ou pire. Ils peuvent prendre le risque de se déplacer dans la zone, ce qui nécessite un Test de Discrétion (Rural) Intermédiaire (0) pour chaque Personnage, ou bien tomber dans une embuscade. Ils peuvent également chercher une autre voie de passage, ce qui leur fait recevoir un état @Condition[Fatigued].","31-40":"<b>Terre Empoisonnée<\/b>:La région que les Personnages traversent a été corrompue par une ancienne magie, guerre ou autre. En apparence, tout à l'air normal, mais la rivière porte la maladie, les animaux sont corrompus et les miasmes flottent dans l'air. Tout Personnage effectuant une activité de Forage, prélevant des produits de cette région ou passant trop de temps dans la zone devra subir les effets des poisons, maladies ou même Corruption de la zone.","91-100":"<b>Montage compliqué!<\/b>:Dans la nuit, l'un des personnages répare le campement ou l'étable et il manque des éléments. Le Personnage reçoit un Etat @Condition[Fatigued]{Exténué} alors qu'il recherche la pièce manquante, and et doit éventuellement subir les effets des Expositions s'il cherche sous la pluie, la neige ou dans le blizzard."}
},
{
"id": "Hit Location - Quadruped",
"name": "Localisation - Quadrupède",
"results": {"17-56":"Corps","57-67":"Jambe gauche avant","68-78":"Jambe droite avant","79-89":"Jambe arrière gauche","90-100":"Jambe arrière droite","1-16":"Tête"}
},
{
"id": "Positive Encounters",
"name": "Rencontres Agréables",
"results": {"1-25":"<b>Bonne Compagnie<\/b>:Une rencontre fortuite sur la route avec d'autres voyageurs sert à rappeler aux personnages qu'il y a encore des gens correctes dans l'Empire. Bien sûr, s'ils ne sont pas eux-mêmes des personnes correctes, ils peuvent chercher à profiter de la situation.","26-45":"<b>Maintenant c'est Utile!<\/b>:Les personnages découvrent quelque chose de pertinent pour leur aventure - des ragots, un message perdu, une scène dont ils n'étaient pas censés être témoins, ou quelque chose de similaire.","96-100":"<b>Voyage Reposant<\/b>:Le voyage se déroule sans incident, les personnages se reposent bien, le paysage est particulièrement inspirant et peut-être même rencontrent-ils un guérisseur PNJ ou un prêtre. Les personnages peuvent soigner toutes les blessures et récupérer de toutes les conditions Exténué.","46-60":"<b>Merveilleux Hébergement<\/b>:Les personnages passent devant une auberge confortable et sils sont prêts à dépenser quelques pièces, ils gagneront une quiétude d'esprit, un ventre plein et un corps libéré de toute condition persistante.","91-95":"<b>Raccourci!<\/b>:En revérifiant les cartes ou en sollicitant des conseils auprès de locaux, les Personnages découvrent un raccourci. Ils peuvent sauter l'étape suivante de leur voyage.","61-75":"<b>Temps de Pause<\/b>:Le voyage est si calme et sans danger que les personnages se retrouvent avec du temps libre. Chaque personnage peut effectuer un test de voyage supplémentaire.","76-90":"<b>Un mot gentil<\/b>:Un simple acte de bonne volonté de la part des personnages ravi un compagnon de voyage - l'acte des personnages se propage à leur destination, et au moins un PNJ qu'ils rencontrent aura une bonne opinion des personnages."}
},
{
"id": "Riding Mishaps",
"name": "Maladresse de Monture",
"results": {"41-85":"<b>Fer perdu<\/b>:L'animal perd un de ses fers. Le cavalier doit réussir un Test de Chevaucher Difficile (10) ou chutter au sol (à une distance de 2 mètres). L'animal doit se déplacer en Marche jusqu'à ce que le fer ait été remplacé par un maréchal-ferrand. En forçant l'animal à se déplacer plus vite, il deviendra Boiteux","99-100":"<b>Jambe cassée<\/b>:L'animal subbit un Traumatisme Jambe Fracturée (Majeure), et deviens immobile. Si l'os brisé guérit un jour, le Mouvement de l'animal sera réduit de moitié. En général, lorsqu'un cheval ou un animal similaire se casse la jambe, il a peu d'espoir de survivre.","1-40":"<b>Harnachement cassé<\/b>:Une sangle de selle déchirée, un harnais en lambeau ou un étrier perdu — une partie de l'harnachement de votre monture a été endomagée, rendant le voyage plus difficile. Le cavalier doit réussir un Test de Chevaucher Difficile (10) ou chutter au sol (à une hauteur de 2 mètres). Jusqu'à ce que l'harnachement soit réparé, tous les prochains Test de Chevaucher subissent un malus de 20.","86-98":"<b>Boiteux<\/b>:L'animal ne peut pas se déplacer de plus de la moitié de sa vitesse de Marche, il ne peut pas être chevauché et ne peut ni porter ni tirer de charges. Tenter d'amener l'animal plus loin dans le voyage en utilisant les @JournalEntry[The Story]{Voyages} augmente la longeur du voyage d'1 Etape. Toute tentative de faire l'une de ces actions à l'animal lui en coutera 1d10 Blessures, sans tenir compte de son Bonus d'Endurence. Sur un résultat de 8+, l'animal doit réussir un Test d'Endurence Accessible (+0) ou subir une @Table[critleg]{Blessure Critique} à ses jambes."}
},
{
"id": "Vehicle Mishaps",
"name": "Maladresse de Véhicule",
"results": {"1-50":"<b>Hors de Contrôle!<\/b>:Par malchance, les rênes cassent et le conducteur n'a plus aucun contrôle sur la vitesse du véhicule. Si le conducteur ne prend aucune action pur arrêter le véhicule, celui-ci risque d'entrer en collision avec quelque chose! Si le véhicule roulait à une vitesse de marche et n'est pas sous contrôle dans [[\/r 1d10]] Rounds, il heurte un obstacle et devient Endommagé (voir ci-dessous). Si le véhicule se déplaçait plus vite qu'une vitesse de marche, il est Détruit (cf plus bas).<br><br>Cette maladresse peut aussi survenir si le conducteur est tué ou si il est empeché de conduire le véhicule.","96-100":"<b>Détruit!<\/b>:Le véhicule percute un obstacle à grande vitesse. Les occupants d'un véhicule Détruit subissent [[\/r 2d10]] Blessures moifiées par le Bonus d'Endurance et l'Armure, avec un minimum de 1 Blessures. Le véhicule subit également [[\/r 2d10] dommages, modifié par le Bonus d'Endurance avec un minimum de 1. Les véhicules détruits ne peuvent plus rouler et doivent être réparés par par quelqu'un avec les Compétences appropriées telles que Métier (Charpentier) ou Métier (Charron).","51-79":"<b>Endommagé<\/b>:Une pièce importante est endommagée: une roue se tord, l'essieu se déforme ou tout autre problème similaire. Le véhicule peut continuer à une vitesse de marche seulement, jusqu'à ce qu'il soit réparé par quelqu'un avec les Compétences appropriées telles que Métier (Charpentier) ou Métier (Charron). Si le véhicule est amené à se déplacer plus vite, il se brise au bout de [[\/r 1d10]] Rounds.","80-95":"<b>Brisé<\/b>:Une pièce importante est brisé: un harnais, une roue ou l'essieu. Si le véhicule est tracté par des animaux, ils peuvent se détacher du véhicule : le conducteur doit réussir un Test d'Athlétisme Intermédiaire (+0) pour éviter d'être projeté hors de son siège. Un échec implique la chute du conducteur et le risque d'être tracté, comme indiqué dans @JournalEntry[Driving And Riding]{Maladresse de Monture}.<br><br>Le véhicule subit [[\/r 1d10]] Dommages, modifié par son Bonus d'Endurance avec un minimum de 1. Le véhicule ne peut plus avancer jusqu'à ce qu'il soit réparé par quelqu'un avec les Compétences appropriées telles que Métier (Charpentier) ou Métier (Charron). Toutes les personnes à l'intérieur du véhicule subissent 1 Blessure, non modifié par l'Armure ou le Bonus d'Endurance.<br.<br>Si le véhicule roulait plus vite que la vitesse de marche, appliquer 'Détruit!' au lieu de 'Brisé'."}
},
{
"id": "Weather Table - Autumn",
"name": "Météo - Automne",
"results": {"91-98":"<b>Pluie diluvienne<\/b>:De terribles orages réduissent la visibilité proche de 0, rendant n'importe quel son moins fort qu'un cri impossible à entendre et impose une pénalité de -10% à tous les Tests physiques. Tous ceux qui ne sont pas à l'abri seront trempés en quelques minutes. De l'eau s'écoule de la route, creusant des ravins de telles sortes que celle-ci ne ressemble plus qu'à un bourbier. Les armes à distance subissent une pénalité de -20% en raison des terribles conditions météorologiques et la poudre explosive exposée est immédiatement détruite. Les animaux possédant le Traît nerveux peuvent également être effrayés par la foudre lors de violents orages.","1-30":"<b>Sec<\/b>:Le temps sec prolongé est à l'origine de rideaux de poussière qui soufflent sur la route à la moindre brise, obscursisant la vision et désséchant les gorges. Voyager est simple; mais incofortable; les tentatives de forage sont à -10%, le temps rendant la recherche d'eau plus difficile.","31-60":"<b>Beau<\/b>:Pour une fois le temps est clément, il n'y a aucun dangers liés à la météo.","61-90":"<b>Pluie<\/b>:La pluie peut durer de quelques heures à plusieurs jours.Les 'courtes averses du printemps', tant appréciées des poètes peuvent certaines fois durer jusqu'à une semaine, prouvant que les poètes passent peu de temps à l'exterieur loin du vin et de la chaleur. La pluie réduit la visibilité à 23 mètres ou moins. De plus, les armes à distance subissent une pénalité de -10% lors de leurs utilisations en raison du vent et de la pluie battante.","99-100":"<b>Neige<\/b>:Une douce neige recouvre le monde d'un manteau blanc, donnant l'impression que tout est neuf et propre. C'est indéniablement beau jusqu'à l'instant oû il faut se déplacer dedans. La neige réduit la visibilité à 45 mètres, et il est impossible d'aller plus vite que la marche. Les personnages voyageant dans la neige doivent faire un Test <b>Accessible (+20) d'Endurance<\/b> ou gagner un état <b><a class = 'condition-chat'>Exténué<\/a><\/b>."}
},
{
"id": "Weather Table - Spring",
"name": "Météo - Printemps",
"results": {"31-90":"<b>Pluie<\/b>:La pluie peut durer de quelques heures à plusieurs jours.Les 'courtes averses du printemps', tant appréciées des poètes peuvent certaines fois durer jusqu'à une semaine, prouvant que les poètes passent peu de temps à l'exterieur loin du vin et de la chaleur. La pluie réduit la visibilité à 23 mètres ou moins. De plus, les armes à distance subissent une pénalité de -10% lors de leurs utilisations en raison du vent et de la pluie battante.","91-95":"<b>Pluie diluvienne<\/b>:De terribles orages réduissent la visibilité proche de 0, rendant n'importe quel son moins fort qu'un cri impossible à entendre et impose une pénalité de -10% à tous les Tests physiques. Tous ceux qui ne sont pas à l'abri seront trempés en quelques minutes. De l'eau s'écoule de la route, creusant des ravins de telles sortes que celle-ci ne ressemble plus qu'à un bourbier. Les armes à distance subissent une pénalité de -20% en raison des terribles conditions météorologiques et la poudre explosive exposée est immédiatement détruite. Les animaux possédant le Traît nerveux peuvent également être effrayés par la foudre lors de violents orages.","1-10":"<b>Sec<\/b>:Le temps sec prolongé est à l'origine de rideaux de poussière qui soufflent sur la route à la moindre brise, obscursisant la vision et désséchant les gorges. Voyager est simple; mais incofortable; les tentatives de forage sont à -10%, le temps rendant la recherche d'eau plus difficile.","96-100":"<b>Neige<\/b>:Une douce neige recouvre le monde d'un manteau blanc, donnant l'impression que tout est neuf et propre. C'est indéniablement beau jusqu'à l'instant oû il faut se déplacer dedans. La neige réduit la visibilité à 45 mètres, et il est impossible d'aller plus vite que la marche. Les personnages voyageant dans la neige doivent faire un Test <b>Accessible (+20) d'Endurance<\/b> ou gagner un état <b><a class = 'condition-chat'>Exténué<\/a><\/b>.","11-30":"<b>Beau<\/b>:Pour une fois le temps est clément, il n'y a aucun dangers liés à la météo."}
},
{
"id": "Weather Table - Summer",
"name": "Météo - Eté",
"results": {"1-40":"<b>Sec<\/b>:Le temps sec prolongé est à l'origine de rideaux de poussière qui soufflent sur la route à la moindre brise, obscursisant la vision et désséchant les gorges. Voyager est simple; mais incofortable; les tentatives de forage sont à -10%, le temps rendant la recherche d'eau plus difficile.","96-100":"<b>Pluie diluvienne<\/b>:De terribles orages réduissent la visibilité proche de 0, rendant n'importe quel son moins fort qu'un cri impossible à entendre et impose une pénalité de -10% à tous les Tests physiques. Tous ceux qui ne sont pas à l'abri seront trempés en quelques minutes. De l'eau s'écoule de la route, creusant des ravins de telles sortes que celle-ci ne ressemble plus qu'à un bourbier. Les armes à distance subissent une pénalité de -20% en raison des terribles conditions météorologiques et la poudre explosive exposée est immédiatement détruite. Les animaux possédant le Traît nerveux peuvent également être effrayés par la foudre lors de violents orages.","41-70":"<b>Beau<\/b>:Pour une fois le temps est clément, il n'y a aucun dangers liés à la météo.","71-95":"<b>Pluie<\/b>:La pluie peut durer de quelques heures à plusieurs jours.Les 'courtes averses du printemps', tant appréciées des poètes peuvent certaines fois durer jusqu'à une semaine, prouvant que les poètes passent peu de temps à l'exterieur loin du vin et de la chaleur. La pluie réduit la visibilité à 23 mètres ou moins. De plus, les armes à distance subissent une pénalité de -10% lors de leurs utilisations en raison du vent et de la pluie battante."}
},
{
"id": "Weather Table - Winter",
"name": "Météo - Hiver",
"results": {"11-60":"<b>Pluie<\/b>:La pluie peut durer de quelques heures à plusieurs jours.Les 'courtes averses du printemps', tant appréciées des poètes peuvent certaines fois durer jusqu'à une semaine, prouvant que les poètes passent peu de temps à l'exterieur loin du vin et de la chaleur. La pluie réduit la visibilité à 23 mètres ou moins. De plus, les armes à distance subissent une pénalité de -10% lors de leurs utilisations en raison du vent et de la pluie battante.","61-65":"<b>Pluie diluvienne<\/b>:De terribles orages réduissent la visibilité proche de 0, rendant n'importe quel son moins fort qu'un cri impossible à entendre et impose une pénalité de -10% à tous les Tests physiques. Tous ceux qui ne sont pas à l'abri seront trempés en quelques minutes. De l'eau s'écoule de la route, creusant des ravins de telles sortes que celle-ci ne ressemble plus qu'à un bourbier. Les armes à distance subissent une pénalité de -20% en raison des terribles conditions météorologiques et la poudre explosive exposée est immédiatement détruite. Les animaux possédant le Traît nerveux peuvent également être effrayés par la foudre lors de violents orages.","66-90":"<b>Neige<\/b>:Une douce neige recouvre le monde d'un manteau blanc, donnant l'impression que tout est neuf et propre. C'est indéniablement beau jusqu'à l'instant oû il faut se déplacer dedans. La neige réduit la visibilité à 45 mètres, et il est impossible d'aller plus vite que la marche. Les personnages voyageant dans la neige doivent faire un Test <b>Accessible (+20) d'Endurance<\/b> ou gagner un état <b><a class = 'condition-chat'>Exténué<\/a><\/b>.","91-100":"<b>Blizzard<\/b>:La neige transforme tout en un enfer blanc sans visibilité. La route disparaît sous un manteau de neige qui s'accumule rapidement, ne laissant que les arbres pour s'orienter. La visibilité est proche de zéro. Les mouvements plus rapides que la marche sont impossibles. Les armes à distance sont inutiles dans de telles conditions. Les personnages voyageant dans un blizzard doivent faire un Test <b>Intermédiaire (+0) d'Endurance<\/b> ou gagner un état <b><a class = 'condition-chat'>Exténué<\/a><\/b> .","1-10":"<b>Beau<\/b>:Pour une fois le temps est clément, il n'y a aucun dangers liés à la météo."}
}
]
}

View File

@ -1,65 +1,101 @@
{
"label": "Items (Middenheim)",
"mapping": {
"skills": {
"path": "system.skills",
"converter": "career_skills"
},
"talents": {
"path": "system.talents",
"converter": "career_talents"
},
"class": {
"path": "system.class.value",
"converter": "generic_localization"
},
"career_careergroup": "system.careergroup.value",
"trappings": "system.trappings"
},
"entries": [
{
"id": "Bless With Filth",
"name": "Béni avec la Crasse",
"description": "<p>Vous maudissez les lames, griffes et crocs de ceux autour de vous, afin de provoquer des blessures Infectéesyou. Pendant la durée du sort, chaque personnage dans l'aire d'effet reçoit le Trait de Créature @Compendium[wfrp4e-core.traits.V0c3qBU1CMm8bmsW]{Infecté}.</p>"
"id": "Ring of Tongues",
"name": "Anneau de Langues",
"description": "<p>Le porteur de cet anneau peut l'activer en prononçant les mots &lsquo;Parle et révèle-toi à moi&rsquo;. Pendant l'heure qui suit, il comprend les langues suivantes comme s'il les parlait depuis sa naissance : classique, bretonnien, tiléen, eltharin, gospodarinyi et khazalid.</p>"
},
{
"id": "Boots of Gucci",
"name": "Bottes de Gucci",
"description": "<p>When activated with the phrase &lsquo;Grace is beyond style&rsquo;, the wearer gains the benefits of the @Compendium[wfrp4e-core.talents.sYbgpSnRqSZWgwFP]{Etiquette (Nobles, Guilders, or Servants)} Talent for as long as the boots remain on their feet. If they wish, they may speak the phrase again to change which version of the Talent they recieve the benefit of.</p>"
},
{
"id": "Child of Ulric",
"name": "Child of Ulric",
"description": "<h4>Traits</h4>\n<p>@Compendium[wfrp4e-core.traits.VUJUZVN3VYhOaPjj]{Armour}</p>\n<p>@Compendium[wfrp4e-core.traits.pLW9SVX0TVTYPiPv]{Bite}</p>\n<p>@Compendium[wfrp4e-core.traits.pTorrE0l3VybAbtn]{Fear}</p>\n<p>@Compendium[wfrp4e-core.traits.FmHDbCOy3pH8yKhm]{Night Vision}</p>\n<p>@Compendium[wfrp4e-core.traits.ClOlztW6hH8rslbp]{Tracker}</p>\n<p>@Compendium[wfrp4e-core.traits.AtpAudHA4ybXVlWM]{Weapon}</p>\n<h4>Optional</h4>\n<p>@Compendium[wfrp4e-core.traits.GbDyBCu8ZjDp6dkj]{Belligerent}</p>\n<p>@Compendium[wfrp4e-core.traits.AGcJl5rHjkyIQBPP]{Bestial}</p>\n<p>@Compendium[wfrp4e-core.traits.a8MC97PLzl10WocT]{Big}</p>\n<p>@Compendium[wfrp4e-core.traits.5muSFXd6oc760uVj]{Blessed (Ulric)}</p>\n<p>@Compendium[wfrp4e-core.traits.4mF5Sp3t09kZhBYc]{Champion}</p>\n<p>@Compendium[wfrp4e-core.traits.UsJ2uIOOtHA7JqD5]{Die Hard}</p>\n<p>@Compendium[wfrp4e-core.traits.9MjH4xyVrd3Inzak]{Fast}</p>\n<p>@Compendium[wfrp4e-core.traits.yRhhOlt18COq4e1q]{Frenzy}</p>\n<p>@Compendium[wfrp4e-core.traits.IAWyzDfC286a9MPz]{Immunity to Psychology}</p>\n<p>@Compendium[wfrp4e-core.traits.SfUUdOGjdYpr3KSR]{Regenerate}</p>\n<p>@Compendium[wfrp4e-core.traits.8slW8CJ2oVTxeQ6q]{Size (Large)}</p>"
},
{
"id": "Gromril Helm",
"name": "Gromril Helm",
"description": "<p>This helm easily fits a Dwarf. It is a normal Plate Helm in all respects but provides 3 AP and benefits from the <em>Fine </em>and <em>Unbreakable</em> Item Qualities. Lukas would find it rather dishonourable to sell the helm unless the customer was a Dwarf.</p>"
"description": "<p>En activant les bottes à l'aide de la phrase &lsquo;La grâce va au-delà du style&rsquo;, le porteur bénéficie du Talent @Compendium[wfrp4e-core.talents.sYbgpSnRqSZWgwFP]{Savoir-vivre (Noble, Guilde, Serviteur)} tant qu'il garde les bottes aux pieds. S'il le souhaite, il peut prononcer à nouveau la phrase pour changer la version du Talent dont il bénéficie.</p>"
},
{
"id": "Magical Dagger",
"name": "Magical Dagger",
"description": "<p>The dagger causes damage to creatures normally immune to non-magical attacks and benefits from the <em>Fine</em> and <em>Durable </em>Item Qualities.</p>"
"name": "Dague magique",
"description": "<p>La dague inflige des dégâts aux créatures normalement immunisées aux attaques non magiques et bénéficie des Atouts d'objet <em>Raffiné</em> et <em>Solide</em>.</p>"
},
{
"id": "Ring of Tongues",
"name": "Ring of Tongues",
"description": "<p>The wearer of the ring activates it by stating the words <em>&lsquo;Speak and be known to me&rsquo;</em>. For the next hour they understand the following languages as if they were a native speaker: Classical, Bretonnian, Tilean, Elth&aacute;rin, Gospodarinyi, and Khazalid.</p>"
},
{
"id": "Spotted Green Brain Pox",
"name": "Spotted Green Brain Pox",
"description": "<p>This terrible disease turns those who suffer from it into raving maniacs, driven to bite, scratch, and dismember anyone who crosses their path. The disease itself is spread through the infliction of injury, so as more violence is unleashed as the result of the disease, the more people succumb to it.</p>"
},
{
"id": "Survivor",
"name": "Survivor",
"description": "<p>@Compendium[wfrp4e-middenheim.middenheim-journals.GkT1arSV9rYhYvrG]{Wolf Kin}</p>"
"id": "Child of Ulric",
"name": "Enfant d'Ulric",
"description": "<h4>Traits</h4>\n<p>@Compendium[wfrp4e-core.traits.VUJUZVN3VYhOaPjj]{Armure}</p>\n<p>@Compendium[wfrp4e-core.traits.pLW9SVX0TVTYPiPv]{Morsure}</p>\n<p>@Compendium[wfrp4e-core.traits.pTorrE0l3VybAbtn]{Peur}</p>\n<p>@Compendium[wfrp4e-core.traits.FmHDbCOy3pH8yKhm]{Vision nocturne}</p>\n<p>@Compendium[wfrp4e-core.traits.ClOlztW6hH8rslbp]{Pisteur}</p>\n<p>@Compendium[wfrp4e-core.traits.AtpAudHA4ybXVlWM]{Arme}</p>\n<h4>Optional</h4>\n<p>@Compendium[wfrp4e-core.traits.GbDyBCu8ZjDp6dkj]{Belliqueux}</p>\n<p>@Compendium[wfrp4e-core.traits.AGcJl5rHjkyIQBPP]{Bestial}</p>\n<p>@Compendium[wfrp4e-core.traits.a8MC97PLzl10WocT]{Grand}</p>\n<p>@Compendium[wfrp4e-core.traits.5muSFXd6oc760uVj]{Béni (Ulric)}</p>\n<p>@Compendium[wfrp4e-core.traits.4mF5Sp3t09kZhBYc]{Champion}</p>\n<p>@Compendium[wfrp4e-core.traits.UsJ2uIOOtHA7JqD5]{Increvable}</p>\n<p>@Compendium[wfrp4e-core.traits.9MjH4xyVrd3Inzak]{Rapide}</p>\n<p>@Compendium[wfrp4e-core.traits.yRhhOlt18COq4e1q]{Frénésie}</p>\n<p>@Compendium[wfrp4e-core.traits.IAWyzDfC286a9MPz]{Immunité psycologique}</p>\n<p>@Compendium[wfrp4e-core.traits.SfUUdOGjdYpr3KSR]{Régénération}</p>\n<p>@Compendium[wfrp4e-core.traits.8slW8CJ2oVTxeQ6q]{Taille (Grande)}</p>"
},
{
"id": "Sword of Fear",
"name": "Sword of Fear",
"description": "<p>he wielder of the sword may invoke its power by stating &lsquo;Yield or die!&rsquo; gaining the @Compendium[wfrp4e-core.traits.pTorrE0l3VybAbtn]{Fear (2)}for [[/r 2d10]] rounds. The sword also causes damage to creatures normally immune to nonmagical attacks and benefits from the <em>Fine </em>and <em>Durable </em>Item Qualities</p>"
"name": "Épée de la peur",
"description": "<p>Le porteur de l'épée peut invoquer son pouvoir en prononçant les mots &lsquo;Rend-toi ou meurs!&rsquo;, et obtien le Trait @Compendium[wfrp4e-core.traits.pTorrE0l3VybAbtn]{Peur (2)} (WFJDR, p. 190) pendant [[/r 2d10]] Rounds. L'épée inflige également des dégâts aux créatures normalement immunisées aux attaques non magique et bénéficie des Qualités d'objet <em>Raffiné</em> et <em>Solide</em> (WFJDR, p. 292).</p>"
},
{
"id": "Gromril Helm",
"name": "Heaume de Gromril",
"description": "<p>Ce heaume convient parfaitement à un nain. À tous les égards, il s'agit d'un heaume de plates normal, mais il accorde 3 PA et bénéficie des Atouts d'objet <em>Raffiné</em> et <em>Incassable</em>. À moins que le client soit un nain, Lukas trouverait peu honorable de vendre le heaume.</p>"
},
{
"id": "Bless With Filth",
"name": "Infecte bénédiction",
"description": "<p>Vous maudissez les lames, griffes et dents de ceux qui vous entourent pour entraîner des blessures infectées. Pour le durée du sort, chaque Personnage dans la zone d'effet compte comme possédant le Trait de créature @Compendium[wfrp4e-core.traits.V0c3qBU1CMm8bmsW]{Infecté}.</p>"
},
{
"id": "Survivor",
"name": "Survivant",
"description": "<p>@Compendium[wfrp4e-middenheim.middenheim-journals.GkT1arSV9rYhYvrG]{Frère loup}</p>",
"career_careergroup": "Frère loup",
"trappings": [
"arme simple",
"haillons"
]
},
{
"id": "Spotted Green Brain Pox",
"name": "Vérole cérébrale à taches vertes",
"description": "<p>Cette terrible maladie transforme ceux qui en souffrent en fous délirants, cherchant à mordre, griffer et démembrer quiconque croise leur chemin. La maladie elle-même se diffuse en infligeant une blessure, ce qui fait qu'à mesure que la violence se déchaîne en conséquence de la maladie, un nombre croissant de personnes y succombent.</p>"
},
{
"id": "Wolf Brother",
"name": "Wolf Brother",
"description": "<p>@Compendium[wfrp4e-middenheim.middenheim-journals.GkT1arSV9rYhYvrG]{Wolf Kin}</p>"
"name": "Grand Loup",
"description": "<p>@Compendium[wfrp4e-middenheim.middenheim-journals.GkT1arSV9rYhYvrG]{Frère loup}</p>",
"career_careergroup": "Frère loup",
"trappings": [
"arme simple",
"haillons",
"respect des autres Frères Loups"
]
},
{
"id": "Wolf Club",
"name": "Wolf Club",
"description": "<p>@Compendium[wfrp4e-middenheim.middenheim-journals.GkT1arSV9rYhYvrG]{Wolf Kin}</p>"
"name": "Compagnon Loup",
"description": "<p>@Compendium[wfrp4e-middenheim.middenheim-journals.GkT1arSV9rYhYvrG]{Frère loup}</p>",
"career_careergroup": "Frère loup",
"trappings": [
"arme simple",
"haillons"
]
},
{
"id": "Wolf Kin",
"name": "Wolf Kin",
"description": "<p>@Compendium[wfrp4e-middenheim.middenheim-journals.GkT1arSV9rYhYvrG]{Wolf Kin}</p>"
"name": "Frère Loup",
"description": "<p>@Compendium[wfrp4e-middenheim.middenheim-journals.GkT1arSV9rYhYvrG]{Frère loup}</p>",
"career_careergroup": "Frère loup",
"trappings": [
"arme simple",
"haillons"
]
}
]
}
]}

View File

@ -0,0 +1,181 @@
{
"label": "Items (Starter Set)",
"mapping": {
"skills": {
"path": "system.skills",
"converter": "career_skills"
},
"talents": {
"path": "system.talents",
"converter": "career_talents"
},
"class": {
"path": "system.class.value",
"converter": "generic_localization"
},
"career_careergroup": "system.careergroup.value",
"trappings": "system.trappings"
},
"entries": [
{
"id": "Ameliorative Elixir",
"name": "Élixir Améliorant",
"description": "<p>Contenant de la mystracine, cette potion épaisse au goût terreux procure une certaine euphorie et des hallucinations agréables. La potion offre un bonus de +10 aux Tests de Force Mentale, mais une pénalité de -10 aux Tests dAgilité, dInitiative et dIntelligence. Durée: [[/r 1d10]] x 10 minutes.</p>"
},
{
"id": "Basilisk's Baleful Bile",
"name": "Basilisk's Baleful Bile",
"description": "<p>This poison is created from combining fluids from the eyes and poison sacks of a freshly slain Basilisk. It is a foul tasting poison, and anyone ingesting food or drink laced with Basilisk&rsquo;s Baleful Bile will be called to take an<strong> Easy (+40) Perception</strong> Test. Success indicates they detect the taint of something wrong before suffering the bile&rsquo;s effects, but gain the @Condition[Sonné] Condition for one Round whilst they vomit it up. If ingested, the concoction inflicts 2 @Condition[Empoisonné] Conditions, resisted with a <strong>Difficult (-10) Endurance</strong> Test. If the target fails to resist the @Condition[Empoisonné] Conditions, they are permanently turned to stone.</p>"
},
{
"id": "Bronze Fever",
"name": "La Fièvre de bronze",
"description": "<p>La Fièvre de bronze est fréquente dans le sud du Vieux Monde, là où le climat est plus chaud et humide, car elle se propage à cause des piqûres dinsectes. La plupart des malades guérissent en quelques jours, mais, en de rares occasions, des complications peuvent mener jusquà la mort.&nbsp;</p>"
},
{
"id": "Bruised",
"name": "Bleus aux côtes",
"description": "<p>Tous les Tests basés sur lAgilité sont effectués avec un malus de -10 pendant [[/r 1d10]] jours.</p>"
},
{
"id": "Clutch of Eyes",
"name": "Pullulement dYeux",
"description": "<p>Des kystes tremblotants bouillonnent sous votre chair, puis la douleur vous transperce alors que des pustules sanglantes émergent et souvrent, révélant une portée de nouveaux yeux horrifiés.</p><p>Jetez @Table[hitloc]{Hit Location} pour déterminer la Localisation de ces nouveaux yeux. Vous pouvez désormais voir depuis cette Localisation.Augmentez votre Caractéristique dInitiative de [[/r 1d10]]. Si vous ne possédiez pas de Caractéristique dInitiative, vous gagnez +[[/r 2d10]] supplémentaires dans celle-ci. Tous les coups qui atteignent la Localisation dotée de votre Pullulement dYeux infligent également un État @Condition[Aveuglé].</p>"
},
{
"id": "Cracked Bone",
"name": "Os fêlé",
"description": "<p>Gagnez un État @Condition[Sonné]. Tous les Tests subissent un malus de -10 jusquà ce que vous receviez un Test de Soins réussi.</p>"
},
{
"id": "Crippling Wound",
"name": "Blessure incapacitante",
"description": "<p>Gagnez un État @Condition[A terre]{À Terre} qui ne peut être enlevé que grâce à un Test <strong>Simple de Soins</strong> réussi. Tous les Tests subissent un malus de -20 jusquà ce que vous receviez cette Aide Médicale, et passiez au moins une semaine à vous reposer.</p>"
},
{
"id": "Doppelganger",
"name": "Doppelganger",
"description": "<p>le PNJ peut adopter la forme de nimporte quelle créature de Taille Moyenne. Il doit pour cela obtenir au moins 5 DR sur un Test <strong>Étendu de Perception</strong> tout en observant sa cible. Il a ensuite besoin de 2 Rounds pour prendre lapparence de la cible. Les vêtements de la cible et les petits accessoires sont également répliqués; ils font cependant partie de la créature et ne peuvent être retirés. Les objets plus gros, comme les épées et les sacs à dos, ne sont pas copiés. Lorsque ceux qui connaissent la victime rencontrent la créature transformée, ils effectuent un Test <strong>Simple dIntuition Difficile (-20)</strong>. Sils réussissent, ils sentent que quelque chose ne va pas. Sils échouent, ils sont convaincus que la créature est bien la personne quils connaissent.</p>"
},
{
"id": "Flensed Muscle",
"name": "Muscle dépecé",
"description": "<p>Gagnez 4 États @Condition[Hémorragique]. Toute nouvelle blessure reçue sur la Localisation affectée au cours des 4 prochaines semaines infligera également 2 États Hémorragiques suite à la réouverture de la plaie.</p><blockquote class=\"foundry-note\"><p>The Active Effect script for this item needs your input. Once applied to an Actor, replace <span style=\"font-family: Courier\">LOCATION_HERE</span> with <span style=\"font-family: Courier New\">head</span>, <span style=\"font-family: Courier New\">body</span>, <span style=\"font-family: Courier\">lArm</span>, <span style=\"font-family: Courier\">rArm</span>, <span style=\"font-family: Courier\">lLeg</span>, or <span style=\"font-family: Courier\">rLeg,</span> matching which location was hit</p></blockquote>"
},
{
"id": "Focusing Philtre",
"name": "Philtre de Concentration",
"description": "<p>Ce Philtre, sombre et amer, permet de focaliser son esprit et aide à se concentrer. Il confère un bonus de +20 aux Tests dIntelligence et dEndurance. Lorsque son effet se dissipe, subissez 1 État @Condition[Extenué]{Exténué} qui perdurera au moins une journée entière. Durée: [[/r 1d10]] heures.</p>"
},
{
"id": "Fractured Bone",
"name": "Os fracturé",
"description": "<p>Gagnez un État @Condition[Sonné]. Réussissez un Test <strong>Simple de Résistance</strong> ou obtenez également lÉtat @Condition[A terre]{À Terre}. Tous les Tests subissent un malus de -10 pendant les 4 prochaines semaines.</p>"
},
{
"id": "Gaping Wound",
"name": "Blessure béante",
"description": "<p>Gagnez 3 États @Condition[Hémorragique]. Toute nouvelle blessure reçue sur la Localisation affectée au cours de la semaine suivante infligera un État Hémorragique supplémentaire, car cette blessure se sera rouverte.</p><blockquote class=\"foundry-note\"><p>The Active Effect script for this item needs your input. Once applied to an Actor, replace <span style=\"font-family: Courier\">LOCATION_HERE</span> with <span style=\"font-family: Courier New\">head</span>, <span style=\"font-family: Courier New\">body</span>, <span style=\"font-family: Courier\">lArm</span>, <span style=\"font-family: Courier\">rArm</span>, <span style=\"font-family: Courier\">lLeg</span>, or <span style=\"font-family: Courier\">rLeg,</span> matching which location was hit</p></blockquote>"
},
{
"id": "Gash",
"name": "Rien qu'une égratignure!",
"description": "<p>Gagnez 1 État @Condition[Hémorragique].</p>"
},
{
"id": "Gut Blow",
"name": "Coup au ventre",
"description": "<p>Gagnez 1 État @Condition[Sonné].</p>"
},
{
"id": "Itchy Nuisance",
"name": "Démangeaisons",
"description": "<p>Vous agitez les doigts et des spores de champignons irritants sen échappent et se déposent dans les zones sensibles de la cible. Ces spores se développent rapidement en causant de terribles démangeaisons. La cible subit un malus de -10 % à tous les Tests, et diminue de moitié son Mouvement pendant toute la durée du sort.</p>"
},
{
"id": "Katya's Cordial",
"name": "Sirop de Katya",
"description": "<p>Ce mélange diffuse une odeur légèrement sucrée de couleur rose perle au goût épicé. Cette potion augmente le charme de celui qui lingère, avec cependant un effet indésirable. Lorsquelle est sous leffet de la potion, la personne qui la ingérée gagne le Talent @Compendium[wfrp4e-core.talents.6l3jvIAvrKxt0lA9]{Attractive}. Cependant, dès que leffet se dissipe, ce dernier subit une pénalité de -20 à tous les Tests de Sociabilité pendant [[/r 1d10]] jours au cours desquels sa peau et ses yeux dégorgeront des sécrétions jaunâtres à lodeur nauséabonde. Durée : [[/r 1d10]] heures.</p>"
},
{
"id": "Liquor of Luck",
"name": "Liqueur de Chance",
"description": "<p>Ce liquide bleu brillant exhale une légère odeur de réglisse. Le boire confère +1 Point de Chance. De plus, alors que la Liqueur est active, lancez roll [[/r 1d100]] lorsque vous dépensez un Point de Chance. Si vous obtenez un double, vous regagnez un Point de Chance. Lorsque leffet se dissipe, perdez tous les Points de Chance et subissez un État @Condition[Extenué]{Exténué} qui perdurera au moins une journée entière. Durée : [[/r 1d10]] minutes.</p>"
},
{
"id": "Low Blow!",
"name": "Dans les bijoux de famille",
"description": "<p>Obtenez 1 État @Condition[Sonné]. Réussissez un Test <strong>Simple de Résistance Difficile (-20)</strong> ou gagnez 2 États Sonné supplémentaires.</p>"
},
{
"id": "Massive Intellect",
"name": "Cerveau Massif",
"description": "<p>Du sang frais, des esquilles dos et de la chair martyrisée se déversent par vos orifices pendant que votre ancien cerveau est évacué. Lentement, au fil des semaines, un nouveau grandit à sa place, faisant sétirer douloureusement votre tête grâce à des bandes translucides autour de votre cerveau enflé et luisant. Augmentez votre Caractéristique dIntelligence de [[/r 2d10]]. Si vous naviez pas de Caractéristique de Sociabilité, vous en acquérez une dune valeur égale au résultat de [[/r 2d10]]. De plus, tous les coups à la tête infligent désormais une @Table[crithead]{Blessure Critique} lorsque ce nest pas déjà le cas.</p>"
},
{
"id": "Painful Cut",
"name": "Entaille douloureuse",
"description": "<p>Gagnez 2 États @Condition[Hémorragique] et un État @Condition[Sonné]. Réussissez un Test <strong>Simple de Résistance Difficile (-20)</strong> ou obtenez lÉtat @Condition[Inconscient] en vous évanouissant sous la douleur.</p>"
},
{
"id": "Reactionary Restorative",
"name": "Revigorant Réparateur",
"description": "<p>Liquide rouge sang épais au goût répugnant, ce breuvage augmente considérablement les réactions au danger de celui qui lingère. Tant que son effet perdure, vous ne pouvez jamais subir lÉtat @Condition[Surpris]. Lorsque son effet se dissipe, subissez 1 État @Condition[Extenué]{Exténué} qui perdurera au moins une journée entière. Durée : [[/r 1d10]] heures.</p>"
},
{
"id": "Ruined",
"name": "Anéanti",
"description": "<p>Gagnez un État @Condition[Inconscient] qui ne peut être enlevé que grâce à un Test <strong>Simple de Soins</strong> réussi. La Localisation affectée est inutilisable tant que vous navez pas passé un mois à garder le lit.</p>"
},
{
"id": "Saif al-Janub",
"name": "Saif al-Janub",
"description": "<p>Offert en cadeau à Lohner en remerciement des actions décisives effectuées lors de la défense de Sudenburg contre les morts-vivants en 2498 CI, cette lame courbe a été forgée par le célèbre philosophe-artisan Hataq al-Kundi en 1445 CI. Cette arme exceptionnelle vaut dix fois le prix indiqué en Arabie.</p>"
},
{
"id": "Shattered Bone",
"name": "Os brisé",
"description": "<p>Gagnez un État @Condition[Sonné] qui ne peut être enlevé que grâce à un Test <strong>Simple de Soins</strong> réussi. Tous les Tests subissent un malus de -20 jusquà ce que vous receviez cette Aide Médicale, et passiez au moins une semaine à vous reposer.</p>"
},
{
"id": "Slippery Skin",
"name": "Peau glissante",
"description": "<p>Vous transpirez constamment, votre peau exsudant un mucus fin et visqueux un peu comme celui que produisent les myxines. Cest déplaisant au toucher, cela imbibe vos vêtements en une heure ou deux, et cela rend votre poigne incertaine. Tous les Tests qui nécessitent que vous teniez quelque chose dans vos mains (comme une arme) subissent une pénalité de -20, et vous souffrez également dun malus de -20 aux Tests de Sociabilité. Lorsque vous tentez déchapper à une Empoignade, si vous réussissez, vous pouvez choisir dutiliser soit votre DR, soit le nombre affiché sur le dé des unités. Un jet réussi de 28 peut donc être utilisé pour obtenir +8 DR.</p>"
},
{
"id": "Sneaky Stabbin'",
"name": "Attaque sournoiz",
"description": "<p>Vous enchantez les lames de vos alliés, de façon à ce quelles cherchent le point faible dans larmure de vos adversaires. Les cibles acquièrent immédiatement +1 Avantage, et leurs attaques gagnent la Qualité Pénétrante tant quils ont de lAvantage.</p>"
},
{
"id": "Telepathy",
"name": "Télépathie",
"description": "<p>Votre esprit se libère de ses chaînes matérielles, murmurant de joie alors quil perçoit de nouvelles façons de simposer aux autres. Avec un Test <strong>Simple de Force Mentale</strong> vous pouvez communiquer avec nimporte quelle créature consciente se trouvant dans les Force Mentale en mètres, dans votre ligne de vue. Cela dure pendant un nombre de minutes égal à votre Caractéristique dInitiative. Vous pouvez également lire les pensées superficielles de nimporte quelle créature avec laquelle vous communiquez par télépathie avec un Test <strong>Opposé de Force Mentale</strong>. Si vous ratez le Test, vous ne pouvez plus lire lesprit du sujet pendant les prochains [[/r 1d10]] jours. Lorsque vous utilisez la télépathie, vos yeux luisent étrangement. Chaque fois que cette Mutation est développée, la portée jusquà laquelle vous pouvez utiliser ce pouvoir double.</p><p> </p><p> </p>"
},
{
"id": "The Marvelous Medicinal Mixture",
"name": "Le Merveilleux Mélange Thérapeutique",
"description": "<p>Ce liquide écœurant diffuse une odeur de poisson, et quiconque souhaite ingérer cette décoction doit dans un premier temps réussir un Test Moyen (+20) de Calme. Ensuite, cette personne subit un État @Condition[Extenué]{Exténué}, qui ne disparaîtra quaprès une bonne nuit de repos. La potion ne déclenche aucun autre effet. Cependant, son goût est si abject que les clients de von Holzenauer sont convaincus de son efficacité à guérir nimporte quel malaise</p>"
},
{
"id": "Tonic of Sight Beyond Sight",
"name": "Tonique de Vue au-delà de la Vue",
"description": "<p>Létiquette de la bouteille contenant ce liquide vert foncé est ornée dun grand globe oculaire rouge. Cette potion porte la promesse daméliorer la vision de celui qui la boit. La boire vous conférera lun des Talents suivants, voire plusieurs (lancer [[/r 1d10]]) : 1-2 : @Compendium[wfrp4e-core.talents.9h82z72XGo9tfgQS]{Acute Sense (Sight)}; 3-4 : @Compendium[wfrp4e-core.talents.Nj3tC8A5fZ3zEdMR]{Holy Visions}; 5-6 : @Compendium[wfrp4e-core.talents.6w30u0VPsAicrqb5]{Magical Sense}; 7-8 : @Compendium[wfrp4e-core.talents.OEjUvJKi0xmBwbS2]{Second Sight}; 9-10 : tous les effets ci-dessus. Durée : [[/r 1d10]] minutes</p>"
},
{
"id": "Torn Apart",
"name": "Éventré",
"description": "<p>Vous êtes coupé en deux. La moitié supérieure atterrit à [[/r 1d10]] x 30cm dans une direction aléatoire, et tous les Personnages à proximité sont recouverts de sang.</p>"
},
{
"id": "Torn Flesh",
"name": "Chairs déchirées",
"description": "<p>Gagnez 2 État @Condition[Hémorragique].</p>"
},
{
"id": "Winded",
"name": "Soufle coupé",
"description": "Gagnez 2 États @Condition[Sonné]. Réussissez un Test <strong>Simple de Résistance Accessible (+20)</strong> ou obtenez 1 État @Condition[A terre]{À Terre}. Le Mouvement est divisé par deux pendant [[/r 1d10]] Rounds, le temps de récupérer votre souffle.</p>"
}
]
}

174
fr.json
View File

@ -180,7 +180,21 @@
"SETTINGS.MooSizeDamage":"Taille et calcul des dommages",
"SETTINGS.Moo":"Règles maison de Moo Man",
"SETTINGS.MooHint":"Assortiments de modifications qui peuvent - je le pense - améliorer le jeu. Notez que les règles proposées ci-dessous ne sont pas exhaustives, j'ai seulement appliqué ici celles qui peuvent se traduire dans le code.<br><br>Pour une liste complète, consultez <a href='https://github.com/moo-man/WFRP4e-FoundryVTT/wiki/Homebrew-Rules'>le Wiki.</a><br>Notez égalementque ces règlessont généralement prévues pour être utilisées ensemble.<br>Vos retours et remarques sont appréciées. Dans ce cas, merci d'utiliser <a href='https://github.com/moo-man/WFRP4e-FoundryVTT/discussions/categories/moo-s-house-rules'>le Github Discussion Board</a> pour les discussions sur les mécaniques.",
"SETTINGS.TABLE_critarm":"Critiques - Bras",
"SETTINGS.TABLE_critbody":"Critiques - Corps",
"SETTINGS.TABLE_crithead":"Critiques - Tête",
"SETTINGS.TABLE_critleg":"Critiques - Jambes",
"SETTINGS.TABLE_doom":"Destinées",
"SETTINGS.TABLE_majormis":"Incantations imparfaites majeures",
"SETTINGS.TABLE_minormis":"Incantations imparfaites mineures",
"SETTINGS.TABLE_mutatemental":"Corruption mentale",
"SETTINGS.TABLE_mutatephys":"Corruption physique",
"SETTINGS.TABLE_oops":"Maladresse!",
"SETTINGS.TABLE_species":"Espèces",
"SETTINGS.TABLE_wrath":"Colère des Dieux",
"SETTINGS.useWoMOvercast":"Utiliser les règles de sur-incantation de Winods of Magic",
"SETTINGS.useWoMOvercastHint":"Utiliser les règles de sur-incantation proposées par le supplément Winds of Magic, cf page 23.",
"ROLL.CatastrophicMis":"Incantations Imparfaites Catastrophiques",
"SHEET.Close" : "Fermer",
@ -725,12 +739,93 @@
"CHARGEN.Or": "Ou",
"CHARGEN.ChooseCareerHint":"Si vous n'aimez pas ce tirage, vous pouvez choisir librement votre carrière mais vous n'aurez aucun bonus d'EXP",
"CHARGEN.RerollCareerHint":"Si vous n'aimez pas ce tirage, permet de relancer deux fois les dés pour un gain de 25 EXP",
"CHARGEN.Attributes.Allocate":"Allouer",
"CHARGEN.Attributes.Allocation":"Allocation",
"CHARGEN.Attributes.AllocationPoints":"Allouer 100 Points aux caractéristiques (min. 4, max: 18)",
"CHARGEN.Attributes.AllocationSpent":"Vous avez dépensé {spent}",
"CHARGEN.Attributes.CharacteristicAdvances":"Allouer 5 avancements à vos caractéristiques de carrière",
"CHARGEN.Attributes.ExtraPoints":"Allouer les points supplémentaires ({points} left)",
"CHARGEN.Attributes.Instructions":"Drag&drop les résultats du jet pour ré-organiser les caractéristiques (mais fournit moins d'XP). Ou vous pouvez relancer et ne recevoir aucun XP. En troisième option, allouez 100 points comme vous le souhaitez (aucun XP).",
"CHARGEN.Attributes.NotHappy":"Pas satisfait avec ces résultats ?",
"CHARGEN.Attributes.Rearrange":"Ré-arranger",
"CHARGEN.Attributes.Reroll":"Relancer",
"CHARGEN.Career.ChooseCareer":"Choisir {name}",
"CHARGEN.Career.DragDrop":"En option, drag&drop une carrière pour utiliser cette carrière au lieu de celle actuelle (aucun gain d'XP)",
"CHARGEN.Career.KeepRolling":"Continuer à relancer (pas d'XP supplémentaire)",
"CHARGEN.Career.ReplacementsAvailable":"Autre choix disponibles",
"CHARGEN.Career.ReplacementsAvailableDescription":"Sur la base de la carrière obtenue, les options suivantes sont disponibles",
"CHARGEN.Career.RollAgain":"Relancer à nouveau pour 2 choix supplémentaires, pour moins d'XP",
"CHARGEN.Details.Eyes":"Yeux",
"CHARGEN.Details.Hair":"Cheveux",
"CHARGEN.Details.LongTermAmbitions":"Ambition de long terme",
"CHARGEN.Details.ShortTermAmbitions":"Ambition de court terme",
"CHARGEN.ERROR.CareerItem":"Impossible de trouver le premier tier pour la carrière : {career}",
"CHARGEN.ERROR.CareerItems":"{num} items de carrière ne peuvent pas être trouvés (parmi {careers})",
"CHARGEN.ERROR.CareerSkillAllocation":"Impossible d'allourt plus de 40 points aux compétences de carrière",
"CHARGEN.ERROR.CareerSkillAllocationBounds":"Impossible d'allouer plus de 10 points à une seule compétence",
"CHARGEN.ERROR.CareerSubmit":"Vous devez faire un jet ou sélectionner une carrière pour valider cette étape",
"CHARGEN.ERROR.CareerTalentNotChosen":"Choisissez un talent de carrière",
"CHARGEN.ERROR.CharacteristicAdvances":"Les avances dans les caractéristiques ne peuvent pas dépasser 5",
"CHARGEN.ERROR.CharacteristicAllocation":"Les points répartis dans les caractéristiques ne peuvent pas dépasser 100",
"CHARGEN.ERROR.CharacteristicAllocationBounds":"Impossible d'allouer moins de 4 ou plus de 18 dans une caractéristique",
"CHARGEN.ERROR.ClassTrappingsNotFound":"Les dotations de la classe {class} n'ont pas été trouvés",
"CHARGEN.ERROR.Create":"Erreur lors de la création de l'acteur: {error}",
"CHARGEN.ERROR.MetaAllocation":"L'allocation de points de ne peut pas dépasser les points extra disponibles",
"CHARGEN.ERROR.SpeciesSkillAdvancements":"Pas plus de 3 compétences avec avancements",
"CHARGEN.ERROR.SpeciesSubmit":"Vous devez faire un jet ou sélectionner un espèce pour valider cette étape",
"CHARGEN.ERROR.SpeciesTable":"Impossible de trouver la table des espèces",
"CHARGEN.ERROR.SpeciesTalentsNotChosen":"Choisissez entre les talents d'espèce disponibles",
"CHARGEN.ERROR.SpeciesTalentsNotRolled":"Talents aléatoire non choisis",
"CHARGEN.ERROR.StageAlreadySubmitted":"Cette étape a déja été validée et ne peut pas être re-validée",
"CHARGEN.ERROR.StageStart":"Impossible de démarrer cette étape: vous devez finit l'étape {stage} avant",
"CHARGEN.Message.AllocateCharacteristics":"<p>Allocation des caractéristiques</p>",
"CHARGEN.Message.Chosen":"<p>Choisissez: <b>{chosen}</b>!</p>",
"CHARGEN.Message.Created":"<p><b>{name}</b> créé!",
"CHARGEN.Message.ReRolledCharacteristics":"<p>Caractéristiques re-tirées</p>",
"CHARGEN.Message.Rolled":"<p>Lancer: <b>{rolled}</b>!</p>",
"CHARGEN.Message.RolledCharacteristics":"<p>Tirage des caractéristiques</p>",
"CHARGEN.Message.Start":"<p><b>{user}</b> a démarré la création d'un personnage!</p>",
"CHARGEN.Message.SwappedCharacteristics":"<p>Echange de {ch1} avec {ch2}</p>",
"CHARGEN.NoGMWarning":"Afin de créer un personnahge, un MJ ou un joueur avec les droits de création doit être connecté",
"CHARGEN.SkillsTalents.CareerSkills":"Allouez 40 points aux compétences de carrière ({points} points restants)",
"CHARGEN.SkillsTalents.CareerTalent":"Choisissez 1 talent de carrière",
"CHARGEN.SkillsTalents.NumAdvances":"{num} Avancements",
"CHARGEN.SkillsTalents.RandomTalents":"Tirer {count} talents aléatoires",
"CHARGEN.SkillsTalents.SkillAdvances":"Choisissez 3 compétences afin d'avoir 5 avancements et 3 autres avec 3 avancements. Glissez/Déplacez ces compétences dans la section appropriée pour allouer ces avancements.",
"CHARGEN.SkillsTalents.SpeciesTalents":"Choisissez et tirez les talents de l'espèce",
"CHARGEN.Species.ChooseSpecies":"En option, choisissez une espèce sans bonus d'expérience",
"CHARGEN.Species.NoSubspecies":"Aucune sous-espèce disponible",
"CHARGEN.Species.SelectSpecies":"Sélectionnez une espèce",
"CHARGEN.Species.SelectSubSpecies":"Sélectionnez une sous-espèce",
"CHARGEN.StageAttributes":"Attributs",
"CHARGEN.StageCareer":"Carrière",
"CHARGEN.StageDetails":"Ajouter des détails",
"CHARGEN.StageSkillsTalents":"Competences & Talents",
"CHARGEN.StageSpecies":"Espèces",
"CHARGEN.StageTitle.Attributes":"Déterminer les attributs",
"CHARGEN.StageTitle.Career":"Tirer une carrière",
"CHARGEN.StageTitle.Details":"Saisissez les détails de votre personnage",
"CHARGEN.StageTitle.SkillsTalents":"Compétences avancées et talents fournis par votre espèce et votre carrière",
"CHARGEN.StageTitle.Species":"Déterminez votre espèce",
"CHARGEN.StageTitle.Trappings":"Obtenez les dotations de votre carrière",
"CHARGEN.StageTrappings":"Dotations",
"CHARGEN.Stages":"Etapes",
"CHARGEN.Title":"Création de personnage",
"CHARGEN.Trappings.AddedTrappings":"Dotations ajoutées",
"CHARGEN.Trappings.CareerTrappings":"Dotations de carrière",
"CHARGEN.Trappings.ClassTrappings":"Dotations de classe",
"CHARGEN.Trappings.DragDrop":"Glissez/Déplacez les autres dotations",
"CHARGEN.Trappings.Keep":"Conserver",
"CHARGEN.Trappings.MissingTrappings":"Dotations manquantes",
"CHARGEN.Trappings.MissingTrappingsDescription":"<p>Ces dotations n'ont pas été trouvées, vous pouvez choisir de les conserver comme des dotations vides ou les supprimer. <strong>Note: </strong> Il est recommandé de supprimer les dotations qui existent mais qui n'ont pas été trouvées, et de les ajouter manuellement (via l'ajout de dotation ci-dessous)</p><p><strong>par exemple</strong> Supprimer <em>l'arbalète et 12 carreaux</em> et ajoutez séparément une arbalète et 12 carreaux</p>",
"CHARGEN.Trappings.Remove":"Supprimer",
"CAREER.DifferentClass": "Entrée dans une nouvelle Classe",
"CAREER.LeaveIncomplete": "Départ d'une carrière incomplète",
"CAREER.LeaveComplete": "Départ d'une carrière complétée",
"CAREER.AddSkillError":"Une erreur est survenur lors de l'ajout de la compétence {skill}: {error}",
"CAREER.AddTalentError":"Une erreur est survenur lors de l'ajout du talent {talent} : {error}",
"CAREER.Loading":"Chargement des carrières",
"CAREERAdv":"Avancement de Carrière",
"CAREERAdvHint":"<p>Voulez vous appliquer cet avancement de carrière à l'Acteur ?",
@ -820,7 +915,7 @@
"CHAT.OpposedTest" : "Test opposé",
"CHAT.RemovedConditions" : "L'état <b>{condition}</b> a été enlevé de <b>{name}</b>",
"CHAT.WitchcraftMiscast" : "Sorcellerie - Gagner 1 Point de Corruption si vous faites une Incantation Imparfaite",
"CHAT.CommandLine.Help.Commands" : "Tables,Conditions,CharacterGeneration,NameGeneration,AvailabilityTest,Pay",
"CHAT.CommandLine.Help.Commands" : "Tables,Conditions,Properties,CharacterGeneration,NameGeneration,AvailabilityTest,Pay,Credit,Corruption,Travel,Exp,Auberge",
"CHAT.CommandLine.Help.Label.Command" : "Commande",
"CHAT.CommandLine.Help.Label.Example": "Exemple",
"CHAT.CommandLine.Help.Label.Note": "Note",
@ -828,6 +923,10 @@
"CHAT.CommandLine.Help.Tables.Usage.Command" : "/table <nom-de-table> <colonne> <modificateur>",
"CHAT.CommandLine.Help.Tables.Usage.Example" : "<br>/table critarm +20<br>/table career human",
"CHAT.CommandLine.Help.Tables.Usage.Note" : "/table <n-importe-quoi> affichera le menu d'aide des tables",
"CHAT.CommandLine.Help.Auberge.Title" : "Auberge",
"CHAT.CommandLine.Help.Auberge.Usage.Command" : "/auberge <typePlats>",
"CHAT.CommandLine.Help.Auberge.Usage.Example" : "<br>/auberge PlatsRivières",
"CHAT.CommandLine.Help.Auberge.Usage.Note" : "Propose des plats selon le type d'endroit et d'auberge.",
"CHAT.CommandLine.Help.Conditions.Title" : "Conditions",
"CHAT.CommandLine.Help.Conditions.Usage.Command" : "/cond <nom-condition>",
"CHAT.CommandLine.Help.Conditions.Usage.Example" : "<br>/cond enflammé<br>/cond inconscient",
@ -846,13 +945,13 @@
"CHAT.CommandLine.Help.AvailabilityTest.Usage.Note" : "effectue un test de Disponibilité pour déterminer si disponible et l'état du stock d'un objet.",
"CHAT.CommandLine.Help.Pay.Title" : "Payer",
"CHAT.CommandLine.Help.Pay.Usage.Command" : "/pay",
"CHAT.CommandLine.Help.Pay.Usage.Example" : "<br>/pay 3co2pa<br>/pay 10sc450pa",
"CHAT.CommandLine.Help.Pay.Usage.Note" : "Si cette commande est envoyée par le MJ, cela crée un message de tchat permettant aux joueurs de payer la somme demandée.",
"CHAT.CommandLine.Help.Pay.Usage.Example" : "<br>/pay 3co2pa<br>/pay 10sc450pa John<br>/pay 10sc450pa kastor",
"CHAT.CommandLine.Help.Pay.Usage.Note" : "Cette commande offre 3 options: <ul><li><strong>/pay montant</strong>: (Si MJ) Affiche un message dans le tchat pour tout les joueurs, avec un bouton leur permettant de payer la somme, ou (si joueur) payer le montant spécifié à partir de leur personnage relié. Exemple: /pay 12co2pa</li><li><strong>/pay montant nom_joueur </strong>: MJ seulement. affiche un message dans le tchat pour le joueur désigné seulement.</li><li><strong>/pay montant nom_personnage</strong>: MJ seulement. Déduit automatiquement la somme de du personnage désigné. Une partie du nom du personnage peut être utilisé : si le nom du presonnage est Kastor Lieberung, alors vous pouvez écrire /pay 12pa kastor. Si le personnage a un joueur connecté, un message dans le tchat lui demandera son approbation. Si l'acteur n'est pas connecté à un joueur, le montant est déduit automatiquement.</li></ul>",
"CHAT.CommandLine.Help.Link" : "Consulter le <a href={link}>Wiki</a> pour plus d'informations sur les fonctions de ce système",
"CHAT.CommandLine.Help.Credit.Usage.Command": "/credit",
"CHAT.CommandLine.Help.Credit.Usage.Example": "<br>/credit 3co2pa<br>/credit 10ss3pa each",
"CHAT.CommandLine.Help.Credit.Title": "Credit",
"CHAT.CommandLine.Help.Credit.Usage.Note": "Cette commande est destinée au MJ uniquement. La somme d'argent saisie sera partagée entre les joueurs (mode 'split', appliqué par défaut) ou bien attribuée à chaque joueur de manière identique (mode 'each')",
"CHAT.CommandLine.Help.Credit.Usage.Example" : "<br>/credit 3co2pa<br>/credit 10pa450sc each<br>/credit 1pa420sc John<br>/credit 1co12pa Kastor Lieberung",
"CHAT.CommandLine.Help.Credit.Usage.Note" : "Cette command est uniquement disponible pour le MJ. Un montant d'argent saisi par le MJ sera alors envoyé aux joueurs ou acteurs, avec les options suivantes: <ul><li><strong>/credit montant split (default)</strong>: Affiche un message dans le tchat pour tout les joueurs, avec un bouton leur permettant de recevoir le montant. Exemple: /credit 12co2pa</li><li><strong>/credit montant nom_joueur</strong>: Affiche un message dans le tchat pour le joueur désigné seulement.</li><li><strong>/credit montant nom_personnage </strong>: Ajoute automatiquemenr le montant à l'acteur désigné. Seulement une partie du nom de l'acteur peut-être utilisé, par exemple si le nom du personnage est Kastor Liberung, vous pouvez écrire /credit 12sc kastor.</li></ul>",
"CHAT.CommandLine.Help.Corruption.Title" : "Corruption",
"CHAT.CommandLine.Help.Corruption.Usage.Command" : "/corruption",
"CHAT.CommandLine.Help.Corruption.Usage.Example" : "<br>/corruption minor<br>/corruption moderate",
@ -1032,6 +1131,11 @@
"WFRP4E.Reach.VLongDescription" : "Jusqu'à 3m de long; peut Engager des ennemis jusqu'à 4m au lieu de 2.",
"WFRP4E.Reach.MassiveDescription" : "Tout ce qui dépasse 3m de long; peut Engager des ennemis à 6m, au lieu de 2.",
"WFRP4E.ConditionName.Engaged":"Engagé",
"WFRP4E.Locations.arm":"Bras",
"WFRP4E.Locations.leg":"Jambe",
"WFRP4E.effectApplication.item":"Item",
"WFRP4E.Properties.Accurate" : "L'arme est Précise et permet de toucher aisément. Gagnez un bonus de +10 à n'importe quel Test quand vous utilisez cette arme.",
"WFRP4E.Properties.Blackpowder" : "Les coups de feu suivis de volutes de fumée et de confusion peuvent être terrifiants. Si vous êtes ciblé par une arme à Poudre Noire, vous devez réussir un <b>Test de Calme Accesible (+20)</b> ou gagner un Etat Brisé, même si le tir vous rate.",
"WFRP4E.Properties.Blast" : "Tous les personnages situés à (Indice) mètres du point cible frappé subissent DR+Dégâts d'arme et gagnent tous les Etats infligés par l'arme.",
@ -1173,6 +1277,7 @@
"WFRP4E.Conditions.Unconscious" : "Vous êtes KO, inconscient, ou frappé d'incapacité. Vous ne pouvez absolument rien faire de votre tour et n'avez aucune conscience de ce qui vous entoure. Un attaquant qui vous cible touche automatiquement, avec un DR maximal et vous inflige 1 Blessure Critique ; ou, si le MJ préfère, une attaque en combat rapproché vou tue automatiquement. Toute attaque à distance est également un succès et occassionne les mêmes Dégâts que si le tireur éait à bout portant.<br><br>L'Etat Inconscient ne se cumule pas.<br><br>Récupérer d'un Etat Inconscient va bien souvent dépendre des circonstances qui ont causé cette inconscience. Reportez-vous aux Traumatismes (page 192) pour en savoir plus sur le sujet. Si vous dépensez un Point de Détermination pour vous débarasser d'un Etat Inconscient, mais que vous êtes toujours sujet aux causes de cette inconscience, vous gagnez un nouvel Etat Inconscient à la fin du round.<br><br>Lorsque vous vous débarassez de l'Etat Inconscient, vous gagnez les Etats <a class='condition-chat'><i class='fas fa-user-injured'></i> A Terre</a> et <a class='condition-chat'><i class='fas fa-user-injured'></i> Extenué</a>.",
"WFRP4E.Conditions.Grappling" : "Si vous commencez votre tour Empoigné, vous pouvez briser l'Empoignade si vous disposez d'un Avantage supérieur à celui de votre adversaire, et vous n'êtes pas considéré comme Engagé pour votre Mouvement ; autrement, vous devez effectuer un <b>Test opposé de Force</b> pour votre Action. Sur un succès, vous pouvez choisir une des deux options suivantes :<br><ul><li>Infliger BF+DR Dégâts en utilisant votre lancer de Force pour déterminer la Localisation affectée. Vous ignorez tous les PA car vous ne faites qu'effectuer des clefs de bras tout en tirant sur les muscles.</li><li>Soit : 1) Conférer l'Etat <a class='condition-chat'><i class='fas fa-user-injured'></i> Empêtré</a> à votre adversaire, ou 2) vous défaire de l'Etat <a class='condition-chat'><i class='fas fa-user-injured'></i> Empêtré</a> et vous débarasser d'un Etat Empêtré supplémentaire pour chaque DR obtenu.</li></ul>",
"WFRP4E.Conditions.Fear" : "Lorsque vous êtes sous le coup de la Peur, vous subissez -1DR à tous les Tests en rapport avec la source de votre peur. Vous êtes incapable de vous rapprocher de ce qui provoque cette Peur à moins de réussir un <b>Test de Calme Intermédiaire (+0)</b>. Si la source de votre Peur se rapproche de vous, vous devez réussir un <b>Test de Calme Intermédiaire (+0)</b> ou subir un Etat <a class='condition-chat'><i class='fas fa-user-injured'></i> Brisé</a>.",
"WFRP4E.Conditions.Engaged":"Dès que vous attaquez un adversaire, ou que vous êtes attaqué, dans un combat au corps à corps, vous êtes Engagé. Cela signifie que vous vous battez l'un contre l'autre, et les autres règles (dues aux Talents, Sorts, etc.) indiquant 'Engagé' s'appliquent. Si aucun des protagonistes ne portent d'attaque pendant 1 round complet, vous n'êtes plus considéré comme Engagé.",
"WFRP4E.ConditionName.Ablaze" : "En Flammes",
"WFRP4E.ConditionName.Bleeding" : "Hémorragique",
@ -1911,6 +2016,8 @@
"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>).",
"BUGREPORT.NotUpdated":"<p>Les modules WFRP4E suivants ne sont pas à jour</p>",
"BUGREPORT.Updated":"<p>Tous les modules WFRP4E sont à jour !</p>",
"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.",
@ -2064,5 +2171,54 @@
"DIALOG.Advancement":"Coût d'avancement",
"DIALOG.AdvancementContent":"Confirmez ou modifiez le coût de cette progression",
"SHEET.ArmourDamaged":"Armure endommagée de 1 point",
"SHEET.ArmourRepaired":"Armure réparée de 1 point"
}
"SHEET.ArmourRepaired":"Armure réparée de 1 point",
"DIALOG.ChannelUntilReady":"Focaliser jusqu'à la réussite",
"DIALOG.ChannelUntilReadyToolTip":"La focalisation de ce sort continuera jusqu'au succès ou à l'incantation imparfaite",
"DIALOG.Details":"Details",
"CHAT.ScatterTarget":"T",
"EFFECT.ShooterEngaged":"Le tireur est engagé en mêlée - aucune modificateur de portée",
"EFFECT.ShootingAtEngagedTarget":"La cible est engagée en mêlée",
"ROLL.HitAnotherEngagedTarget":"<b>Oops! Vous avez touche la mauvaise cible, sélectionnez aléatoirement un personnage et appliquez lui les dommages </b>",
"Rounds":"rounds",
"SHEET.NoCareers":"Aucune carrière trouvée",
"CHARGEN.AdditionalRandomTalent":"Talent aléatoire additionnel",
"CHARGEN.Message.RerolledDuplicate":"<p>Relance de Talent dupliqué: <b>{rolled}</b>!</p>",
"CHARGEN.RerollDuplicateTalent":"Vous pouvez relancer les talents dupliqués",
"CHARGEN.XAdditionalRandomTalents":"{x} Talents aléatoires additionnels",
"CHAT.SpreadExtreme":"Extreme: Dégâts réduits de {damage}",
"CHAT.SpreadPointBlank":"Bout portant: Dégâts augmentés de {damage}",
"PROPERTY.Group":"Groupe",
"PROPERTY.GroupDescription":"Donnez aux propriétés le même numéro de groupe pour basculer entre elles (comme 'Tranchant or Empaler')",
"SETTINGS.UIACrits":"Utiliser les modificateurs de critiques de Up in Arms",
"SETTINGS.UIACritsHint":"Modifier les jets de critiques selon le mode décrit page 81 de Up in Arms",
"SETTINGS.UIACritsMod":"Modificateur du jet de Critique",
"SETTINGS.UIACritsModHint":"Changer la valeur dont les Jets de Critiques sont modifiés (cf. page 81 dans Up in Arms)",
"SETTINGS.UIAShields":"Qualité Bouclier de Up in Arms",
"SETTINGS.UIAShieldsHint":"Change la qualité Bouclier, selon la règle de Up in Armes page 90",
"SHEET.Collapse":"Réduire",
"SHEET.Expand":"Déplier",
"SHEET.GroupAdvantage":"Avantage de Groupe",
"MODULE.STRING_KEY":"Traduction",
"PROPERTY.Crewed":"Avec equipage",
"PROPERTY.Salvo":"Salve",
"PROPERTY.Slash":"Sabrer",
"PROPERTY.Spread":"A Propagation",
"PROPERTY.Trip":"Trip",
"SPEC.Catapult":"Catapulte",
"TRADE.Citrusfruit":"Agrumes",
"TRADE.Olives":"Olives",
"TRADE.Saltfish":"Poisson salé",
"TRADE.Stone":"Pierre",
"WFRP4E.Properties.Slash":"Sabrer",
"WFRP4E.Properties.Spread":"A Propagation",
"WFRP4E.Properties.Trip":"Trip",
"WFRP4E.Properties.Unbalanced":"Déséquilibrée",
"NAME.Ogre":"Ogre",
"QualitiesOr":"ou",
"SHEET.Or":"OU"
}

View File

@ -8,7 +8,7 @@
}
],
"url": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr",
"version": "6.2.15",
"version": "6.3.5",
"esmodules": [
"babele-register.js",
"addon-register.js",
@ -136,7 +136,7 @@
}
],
"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.15.zip",
"download": "https://www.uberwald.me/gitea/public/foundryvtt-wh4-lang-fr-fr/archive/foundryvtt-wh4-lang-fr-6.3.5.zip",
"id": "wh4-fr-translation",
"compatibility": {
"minimum": "10",

View File

@ -90,17 +90,19 @@ export class WH4FRPatchConfig {
/************************************************************************************/
static patch_career() {
for( let row of game.wfrp4e.tables.career.rows) {
for ( let key in row) {
if (key != "range") {
if ( row[key].name == 'Slayer' ) {
row[key].name = "Tueur Nains";
} else if ( row[key].name == 'Duelist' ) {
row[key].name = "Duelliste";
//console.log(">>>>> Career ?", key, row[key].name, career_fr.name );
} else {
var career_fr = game.babele.translate( 'wfrp4e-core.careers', {name: row[key].name}, true );
row[key].name = career_fr.name;
if ( game.wfrp4e.tables.career) {
for( let row of game.wfrp4e.tables.career.rows) {
for ( let key in row) {
if (key != "range") {
if ( row[key].name == 'Slayer' ) {
row[key].name = "Tueur Nains";
} else if ( row[key].name == 'Duelist' ) {
row[key].name = "Duelliste";
//console.log(">>>>> Career ?", key, row[key].name, career_fr.name );
} else {
var career_fr = game.babele.translate( 'wfrp4e-core.careers', {name: row[key].name}, true );
row[key].name = career_fr.name;
}
}
}
}

View File

@ -2,7 +2,11 @@ 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 = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-middenheim/lang/en.json"
--local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-eis/lang/en.json"
--local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-rnhd/lang/en.json"
--local enjsonf = "/home/morr/foundry/foundrydata-dev/Data/modules/wfrp4e-up-in-arms/lang/en.json"
local enjsonf = "../../WFRP4e-FoundryVTT/static/lang/en.json"
local frjsonf = "../fr.json"

71
trade/gazetteer_dotr.json Normal file
View File

@ -0,0 +1,71 @@
[
{ "score": 8, "name": "Altdorf", "size": 4, "ruler": "Empereur", "pop": 1000000, "w": 5, "isTrade" : true, "produces": [], "luxuries" : [], "garrison": "1800a/26000b", "notes": "Capitale Impériale, Grand Temple de Sigmar" },
{ "score": 9, "name": "Autler", "size" : 2, "ruler": "Empereur", "pop": 124, "w": 2, "isTrade" : false, "produces": ["timber","grain"], "luxuries" : [], "garrison": "-/10c", "notes": "Ferry" },
{ "score": 10, "name": "Blutroch", "size": 0, "ruler": "Empereur", "pop": 0, "w": 0, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-", "notes": "Wiped out by Red Pox in 2511" },
{ "score": 11, "name": "Braunwurt", "size": 1, "ruler": "Empereur", "pop": 75, "w": 1, "isTrade" : false, "produces": ["luxuries"], "luxuries" : ["Textiles"], "garrison": "-", "notes": "" },
{ "score": 12, "name": "Bundesmarkt", "size": 2, "ruler": "Empereur", "pop": 105, "w": 1, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/5c", "notes": "" },
{ "score": 13, "name": "Dorchen", "size": 2, "ruler": "Emperor", "pop": 105, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-", "notes": "" },
{ "score": 14, "name": "Frederheim", "size": 2, "ruler": "Emperor", "pop": 116, "w": 1, "isTrade" : false, "produces": ["grain","wool"], "luxuries" : [], "garrison": "-", "notes": "Great Hospice of Shallya nearby" },
{ "score": 14, "name": "Furtild", "size": 1, "ruler": "Emperor", "pop": 90, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-", "notes": "Great Hospice of Shallya nearby" },
{ "score": 15, "name": "Geldrecht", "size": 1, "ruler": "Emperor", "pop": 56, "w": 1, "isTrade" : false, "produces": ["timber","grain"], "luxuries" : [], "garrison": "-", "notes": "" },
{ "score": 16, "name": "Gluckshalt", "size": 1, "ruler": "Emperor", "pop": 87, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-", "notes": "Ferry on River Reik" },
{ "score": 18, "name": "Grossbad", "size": 1, "ruler": "Emperor", "pop": 83, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/10c", "notes": "" },
{ "score": 19, "name": "Hartsklein", "size": 1, "ruler": "Emperor", "pop": 78, "w": 1, "isTrade" : false, "produces": ["luxuries"], "luxuries" : ["Pottery"], "garrison": "-", "notes": "" },
{ "score": 20, "name": "Heiligen", "size": 1, "ruler": "Emperor", "pop": 70, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-", "notes": "" },
{ "score": 21, "name": "Hochloff", "size": 1, "ruler": "Emperor", "pop": 98, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-", "notes": "" },
{ "score": 22, "name": "Kaldach", "size": 1, "ruler": "Emperor", "pop": 63, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-/10b", "notes": "Ferry" },
{ "score": 23, "name": "Rechtlich", "size": 1, "ruler": "Emperor", "pop": 51, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-", "notes": "" },
{ "score": 24, "name": "Rottefach", "size": 1, "ruler": "Emperor", "pop": 105, "w": 2, "isTrade" : false, "produces": ["grain","wine"], "luxuries" : [], "garrison": "-", "notes": "Ferry" },
{ "score": 25, "name": "Schlafebild", "size": 1, "ruler": "Emperor", "pop": 46, "w": 1, "isTrade" : false, "produces": ["grain","wine"], "luxuries" : [], "garrison": "-", "notes": "" },
{ "score": 26, "name": "Teufelfeuer", "size": 1, "ruler": "Emperor", "pop": 55, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-/5c", "notes": "Once burnt to the ground by the Witch Hunter Fabergus Heinzdork." },
{ "score": 27, "name": "Walfen", "size": 2, "ruler": "Emperor", "pop": 181, "w": 2, "isTrade" : false, "produces": ["bricks","grain"], "luxuries" : [], "garrison": "-", "notes": "Ferry" },
{ "score": 29, "name": "Castle Reiksguard", "size": 3, "ruler": "Emperor", "pop": 300, "w": 4, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "200c/-", "notes": "Seat of the Grand Prince, fortress" },
{ "score": 34, "name": "Dunkelburg", "size": 3, "ruler": "Emperor", "pop": 8900, "w": 2, "isTrade" : false, "produces": ["grain", "wool"], "luxuries" : [], "garrison": "20b/150c", "notes": "" },
{ "score": 35, "name": "Barfsheim", "size": 1, "ruler": "Emperor", "pop": 77, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-", "notes": "Ferry" },
{ "score": 36, "name": "Gemusenbad", "size": 1, "ruler": "Emperor", "pop": 56, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-", "notes": "Ferry" },
{ "score": 37, "name": "Harke", "size": 1, "ruler": "Emperor", "pop": 37, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-", "notes": "Ferry" },
{ "score": 38, "name": "Ruhfurt", "size": 1, "ruler": "Emperor", "pop": 90, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/10c", "notes": "" },
{ "score": 39, "name": "Schattental", "size": 1, "ruler": "Emperor", "pop": 86, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/15b", "notes": "" },
{ "score": 40, "name": "Steindorf", "size": 1, "ruler": "Emperor", "pop": 70, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-/10c", "notes": "Ferry" },
{ "score": 41, "name": "Diesdorf", "size": 2, "ruler": "Emperor", "pop": 210, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/25c", "notes": "" },
{ "score": 45, "name": "Eilhart", "size": 3, "ruler": "Graf Johann von Hardenburg", "pop": 3200, "w": 3, "isTrade" : false, "produces": ["grain","wine"], "luxuries" : [], "garrison": "25b/125c", "notes": "" },
{ "score": 49, "name": "Grünburg", "size": 3, "ruler": "Emperor", "pop": 2900, "w": 2, "isTrade" : true, "produces": ["boatbuilding"], "luxuries" : [], "garrison": "25b/100c", "notes": "Ferry" },
{ "score": 50, "name": "Aussen", "size": 1, "ruler": "Emperor", "pop": 95, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-", "notes": "Ferry" },
{ "score": 51, "name": "Hornlach", "size": 2, "ruler": "Emperor", "pop": 120, "w": 2, "isTrade" : false, "produces": ["timber","grain"], "luxuries" : [], "garrison": "-/5b", "notes": "Ferry" },
{ "score": 52, "name": "Kleindorf", "size": 1, "ruler": "Emperor", "pop": 40, "w": 1, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-", "notes": "Ferry" },
{ "score": 53, "name": "Silberwurt", "size": 2, "ruler": "Emperor", "pop": 110, "w": 2, "isTrade" : false, "produces": ["grain","wool"], "luxuries" : [], "garrison": "-/10c", "notes": "" },
{ "score": 54, "name": "Wörlitz", "size": 2, "ruler": "Emperor", "pop": 105, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/10c", "notes": "" },
{ "score": 58, "name": "Kemperbad", "size": 3, "ruler": "Town Council", "pop": 9600, "w": 4, "isTrade" : true, "produces": ["armaments","wine","brandy"], "luxuries" : [], "garrison": "20b/500b", "notes": "Ferr. Finest Brandy in Empire from this area, Freistadt status" },
{ "score": 59, "name": "Berghof", "size": 1, "ruler": "Kemperbad Town Council", "pop": 85, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/20c", "notes": "" },
{ "score": 60, "name": "Brandenburg", "size": 1, "ruler": "Kemperbad Town Council", "pop": 95, "w": 3, "isTrade" : false, "produces": ["wine","brandy","grain"], "luxuries" : [], "garrison": "-/20b", "notes": "'Echte Brandenburger,' Emperor's favorite brandy; Ferry" },
{ "score": 61, "name": "Jungbach", "size": 2, "ruler": "Kemperbad Town Council", "pop": 105, "w": 3, "isTrade" : false, "produces": ["brandy","wine"], "luxuries" : [], "garrison": "-/15b", "notes": "Ferry" },
{ "score": 62, "name": "Ostwald", "size": 1, "ruler": "Kemperbad Town Council", "pop": 88, "w": 3, "isTrade" : false, "produces": ["brandy","wine"], "luxuries" : [], "garrison": "-/15b", "notes": "" },
{ "score": 63, "name": "Stockhausen", "size": 2, "ruler": "Kemperbad Town Council", "pop": 117, "w": 3, "isTrade" : false, "produces": ["brandy","wine","wool"], "luxuries" : [], "garrison": "-/30b", "notes": "" },
{ "score": 64, "name": "Merretheim", "size": 1, "ruler": "Graf von Falkenhayn", "pop": 67, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-/10c", "notes": "" },
{ "score": 65, "name": "Misthausen", "size": 1, "ruler": "Graf von Falkenhayn", "pop": 43, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-", "notes": "Ferry" },
{ "score": 66, "name": "Naffdorf", "size": 1, "ruler": "Graf von Falkenhayn", "pop": 75, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-/10c", "notes": "Ferry" },
{ "score": 67, "name": "Pfeiffer", "size": 1, "ruler": "Graf von Falkenhayn", "pop": 60, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-/5c", "notes": "" },
{ "score": 74, "name": "Ubersreik", "size": 3, "ruler": "Emperor", "pop": 7500, "w": 4, "isTrade" : true, "produces": ["armaments","metal","metalworking"], "luxuries" : [], "garrison": "40b/500c", "notes": "Ferry" },
{ "score": 75, "name": "Buchedorf", "size": 2, "ruler": "Emperor", "pop": 158, "w": 2, "isTrade" : false, "produces": ["grain","wool"], "luxuries" : [], "garrison": "-/10c", "notes": "Ferry" },
{ "score": 76, "name": "Flussberg", "size": 1, "ruler": "Emperor", "pop": 95, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/15c", "notes": "Ferry" },
{ "score": 77, "name": "Geissbach", "size": 1, "ruler": "Emperor", "pop": 66, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/10c", "notes": "" },
{ "score": 78, "name": "Halheim", "size": 1, "ruler": "Emperor", "pop": 49, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "-", "notes": "" },
{ "score": 79, "name": "Hugeldal", "size": 2, "ruler": "Emperor", "pop": 316, "w": 3, "isTrade" : false, "produces": ["metal"], "luxuries" : [], "garrison": "50b/75c", "notes": "" },
{ "score": 80, "name": "Messingen", "size": 2, "ruler": "Emperor", "pop": 111, "w": 3, "isTrade" : false, "produces": ["grain","armaments"], "luxuries" : [], "garrison": "-/20b", "notes": "By Hugeldal Mine" },
{ "score": 81, "name": "Wurfel", "size": 1, "ruler": "Emperor", "pop": 75, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/15c", "notes": "" },
{ "score": 82, "name": "Weissbruck", "size": 2, "ruler": "Emperor (ruled and owned by Gruber family)", "pop": 359, "w": 2, "isTrade" : true, "produces": ["luxuries"], "luxuries" : [], "garrison": "-", "notes": "Ferry, Lock House on Altdorf Canal" },
{ "score": 83, "name": "Wittgendorf", "size": 2, "ruler": "Baroness Magritta", "pop": 150, "w": 1, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "25b/-", "notes": "" },
{ "score": 86, "name": "Bögenhafen", "size": 3, "ruler": "Graf Wilhelm von Saponatheim", "pop": 10500, "w": 3, "isTrade" : true, "produces": ["wine","timber"], "luxuries" : [], "garrison": "-/500c", "notes": "Local market centre" },
{ "score": 87, "name": "Ardlich", "size": 2, "ruler": "Graf von Saponatheim", "pop": 155, "w": 2, "isTrade" : false, "produces": ["grain","wool"], "luxuries" : [], "garrison": "-/5c", "notes": "" },
{ "score": 88, "name": "Finsterbad", "size": 2, "ruler": "Graf von Saponatheim", "pop": 140, "w": 3, "isTrade" : false, "produces": ["grain","wine","wool"], "luxuries" : [], "garrison": "-/10c", "notes": "Ferry" },
{ "score": 89, "name": "Grubevon", "size": 1, "ruler": "Graf von Saponatheim", "pop": 90, "w": 2, "isTrade" : false, "produces": ["grain"], "luxuries" : [], "garrison": "-/5c", "notes": "" },
{ "score": 90, "name": "Herzhald", "size": 2, "ruler": "Graf von Saponatheim", "pop": 140, "w": 2, "isTrade" : false, "produces": ["timber"], "luxuries" : [], "garrison": "-", "notes": "" },
{ "score": 91, "name": "Castle Grauenburg", "size": 2, "ruler": "Graf von Saponatheim", "pop": 350, "w": 4, "isTrade" : false, "produces": [], "luxuries" : [], "garrison": "50a,100b/-", "notes": "Seat of the von Saponatheim lands, fortress" },
{ "score": 94, "name": "Auerswald", "size": 3, "ruler": "Graf Ferdinand von Wallenstein", "pop": 5000, "w": 3, "isTrade" : true, "produces": ["metal"], "luxuries" : [], "garrison": "50b/400c", "notes": "Ferry" },
{ "score": 95, "name": "Dresschler", "size": 1, "ruler": "Graf von Wallenstein", "pop": 76, "w": 2, "isTrade" : false, "produces": ["grain","wool"], "luxuries" : [], "garrison": "-/10b", "notes": "Ferry" },
{ "score": 96, "name": "Gladisch", "size": 1, "ruler": "Graf von Wallenstein", "pop": 50, "w": 1, "isTrade" : false, "produces": ["wool"], "luxuries" : [], "garrison": "-", "notes": "Ferry" },
{ "score": 97, "name": "Hahnbrandt", "size": 2, "ruler": "Graf von Wallenstein", "pop": 250, "w": 3, "isTrade" : false, "produces": ["armaments","metal"], "luxuries" : [], "garrison": "50b/75c", "notes": "" },
{ "score": 98, "name": "Koch", "size": 2, "ruler": "Graf von Wallenstein", "pop": 115, "w": 2, "isTrade" : false, "produces": ["armaments","grain","metal"], "luxuries" : [], "garrison": "-/20b", "notes": "Near Hahnbrandt Mine in the Hagercrybs" },
{ "score": 99, "name": "Sprinthof", "size": 1, "ruler": "Graf von Wallenstein", "pop": 87, "w": 2, "isTrade" : false, "produces": ["grain","luxuries"], "luxuries" : ["Cheese"], "garrison": "-/10c", "notes": "Coaching inn, best smoked cheese in Reikland" },
{ "score":100, "name": "Steche", "size": 1, "ruler": "Graf von Wallenstein", "pop": 75, "w": 2, "isTrade" : false, "produces": ["grain","wool"], "luxuries" : [], "garrison": "-/15c", "notes": "Ferry" }
]