Gestion des @Condition
This commit is contained in:
parent
744019a165
commit
a10f5322a4
@ -3,6 +3,23 @@ import statParserFR from "./modules/import-stat-2.js";
|
|||||||
|
|
||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
var compmod = "wfrp4e";
|
var compmod = "wfrp4e";
|
||||||
|
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', () => {
|
Hooks.once('init', () => {
|
||||||
@ -13,15 +30,40 @@ Hooks.once('init', () => {
|
|||||||
compmod = "wfrp4e-core";
|
compmod = "wfrp4e-core";
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
game.wfrp4efr = { compmod: compmod };
|
game.wfrp4efr = { compmod: compmod,
|
||||||
|
vo_conditions: vo_conditions }
|
||||||
|
|
||||||
game.wfrp4e.apps.StatBlockParser.parseStatBlock = async function( statString, type = "npc") {
|
game.wfrp4e.apps.StatBlockParser.parseStatBlock = async function( statString, type = "npc") {
|
||||||
return statParserFR( statString, type);
|
return statParserFR( statString, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
//WFRP_Tables = game.wfrp4e.tables;
|
/*---------------------------------------------------------------------*/
|
||||||
//WFRP4E = game.wfrp4e.config;
|
game.wfrp4e.utility.handleConditionClick = function(event) {
|
||||||
//CONFIG.Actor.entityClass = ActorWfrp4e_fr;
|
let cond = $(event.currentTarget).attr("data-cond")
|
||||||
|
if (!cond)
|
||||||
|
cond = event.target.text;
|
||||||
|
cond = cond.trim();
|
||||||
|
let condkey
|
||||||
|
// En vo, les noms d'états sont égaux aux clés en minuscules
|
||||||
|
if ( game.wfrp4e.config.conditions[cond.toLowerCase()] ) {
|
||||||
|
condkey = cond.toLowerCase();
|
||||||
|
} else {
|
||||||
|
try {
|
||||||
|
condkey = game.wfrp4e.utility.findKey(cond.toLowerCase(), game.wfrp4e.config.conditions, {caseInsensitive: true});
|
||||||
|
}
|
||||||
|
catch {
|
||||||
|
ui.notifications.error("L'état eéta inconnu : " + cond);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let condName = game.wfrp4e.config.conditions[condkey];
|
||||||
|
let condDescr = game.wfrp4e.config.conditionDescriptions[condkey];
|
||||||
|
let messageContent = `<b>${condName}</b><br>${condDescr}`
|
||||||
|
|
||||||
|
let chatData = game.wfrp4e.utility.chatDataSetup(messageContent)
|
||||||
|
ChatMessage.create(chatData);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------*/
|
||||||
game.wfrp4e.entities.ActorWfrp4e.prototype.calculateRangeOrDamage = function(formula)
|
game.wfrp4e.entities.ActorWfrp4e.prototype.calculateRangeOrDamage = function(formula)
|
||||||
{
|
{
|
||||||
//console.log("FR function calculateRangeOrDamage !", formula);
|
//console.log("FR function calculateRangeOrDamage !", formula);
|
||||||
@ -53,6 +95,8 @@ Hooks.once('init', () => {
|
|||||||
return formula
|
return formula
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------*/
|
||||||
game.wfrp4e.entities.ActorWfrp4e.prototype.calculateSpellDamage = function(formula, isMagicMissile) {
|
game.wfrp4e.entities.ActorWfrp4e.prototype.calculateSpellDamage = function(formula, isMagicMissile) {
|
||||||
//console.log("Compute FR")
|
//console.log("Compute FR")
|
||||||
let actorData = this.data
|
let actorData = this.data
|
||||||
@ -93,7 +137,8 @@ Hooks.once('init', () => {
|
|||||||
//console.log("calculateSpellDamage -> " + formula );
|
//console.log("calculateSpellDamage -> " + formula );
|
||||||
return eval(formula);
|
return eval(formula);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*---------------------------------------------------------------------*/
|
||||||
game.wfrp4e.entities.ActorWfrp4e.prototype.calculateSpellAttributes = function(formula, aoe=false) {
|
game.wfrp4e.entities.ActorWfrp4e.prototype.calculateSpellAttributes = function(formula, aoe=false) {
|
||||||
//console.log("Compute FR")
|
//console.log("Compute FR")
|
||||||
let actorData = this.data
|
let actorData = this.data
|
||||||
@ -142,9 +187,9 @@ Hooks.once('init', () => {
|
|||||||
//console.log("calculateSpellAttributes -> " + formula );
|
//console.log("calculateSpellAttributes -> " + formula );
|
||||||
return formula.capitalize();
|
return formula.capitalize();
|
||||||
}
|
}
|
||||||
//1console.log("PROTO", game.wfrp4e.entities.ActorWfrp4e.prototype);
|
|
||||||
|
|
||||||
// Babele stuff
|
/*---------------------------------------------------------------------*/
|
||||||
|
// Converters area
|
||||||
if(typeof Babele !== 'undefined') {
|
if(typeof Babele !== 'undefined') {
|
||||||
|
|
||||||
Babele.get().register({
|
Babele.get().register({
|
||||||
|
2
fr.json
2
fr.json
@ -496,7 +496,7 @@
|
|||||||
"WFRP4E.Properties.Penetrating" : "L'arme est extrêmement efficace pour pénétrer les armures. Les PA ne provenant pas de métal sont ignorés, et le premier point de toutes les autres armures est ignoré.",
|
"WFRP4E.Properties.Penetrating" : "L'arme est extrêmement efficace pour pénétrer les armures. Les PA ne provenant pas de métal sont ignorés, et le premier point de toutes les autres armures est ignoré.",
|
||||||
"WFRP4E.Properties.Pistol" : "Vous pouvez utiliser cette arme pour attaquer en Combat rapproché.",
|
"WFRP4E.Properties.Pistol" : "Vous pouvez utiliser cette arme pour attaquer en Combat rapproché.",
|
||||||
"WFRP4E.Properties.Precise" : "L'arme trouve facilement sa cible. Gagnez +1DR à tout Test réussi lors d'une attaque avec cette arme.",
|
"WFRP4E.Properties.Precise" : "L'arme trouve facilement sa cible. Gagnez +1DR à tout Test réussi lors d'une attaque avec cette arme.",
|
||||||
"WFRP4E.Properties.Pummel" : "Les armes Assommantes sont particulièrement efficaces pour forcer les ennemis à se soumettre. Si vous touchez la Tête avec une arme Assommate, tentez un Test opposé de Force / Résistance contre la cible frappée. Si vous remportez le Test, votre adversaire gagne un Etat Assommé.",
|
"WFRP4E.Properties.Pummel" : "Les armes Assommantes sont particulièrement efficaces pour forcer les ennemis à se soumettre. Si vous touchez la Tête avec une arme Assomante, tentez un Test opposé de Force / Résistance contre la cible frappée. Si vous remportez le Test, votre adversaire gagne un Etat Assommé.",
|
||||||
"WFRP4E.Properties.Repeater" : "Votre arme contient (Indice) munitions, automatiquement rechargées après chaque coup que vous tirez. Lorsque vous avez utilisé toutes vos munitions, vous devez recharger entièrement l'arme en utilisant les règles normales.",
|
"WFRP4E.Properties.Repeater" : "Votre arme contient (Indice) munitions, automatiquement rechargées après chaque coup que vous tirez. Lorsque vous avez utilisé toutes vos munitions, vous devez recharger entièrement l'arme en utilisant les règles normales.",
|
||||||
"WFRP4E.Properties.Shield" : "Si vous utilisez cette arme pour opposer une attaque, vous êtes considéré comme ayant (Indice) PA à tous les endroits de votre corps. Si votre arme possède un Indice de Protection de 2 ou plus, vous pouvez aussi opposer des projectiles tirés dans votre ligne de vue.",
|
"WFRP4E.Properties.Shield" : "Si vous utilisez cette arme pour opposer une attaque, vous êtes considéré comme ayant (Indice) PA à tous les endroits de votre corps. Si votre arme possède un Indice de Protection de 2 ou plus, vous pouvez aussi opposer des projectiles tirés dans votre ligne de vue.",
|
||||||
"WFRP4E.Properties.Trapblade" : "Certaines armes sont conçues pour piéger d'autres armes, et parfois même les briser. Si vous obtenez un Critique quand vous défendez contre une attaque provenant d'une arme possédant une lame, vous pouvez choisir de la piéger plutôt que de causer un Coup Critique. Si vous choisissez cela, effectuez un <b>Test opposé de Force</b>, en ajoutant votre DR obtenu au précédent Test de Corps à corps. Si vous l'emportez, votre adversaire laisse tomber la lame qui lui est arrachée. Si vous obtenez un Succès Stupéfiant, vous ne désarmez pas seulement votre adversaire, mais la force de votre manoeuvre brise la lame à moins qu'elle ne possède l'Atout Incassable. Si vous échouez au Test, votre adversaire libère sa lame et peut combattre normalement.",
|
"WFRP4E.Properties.Trapblade" : "Certaines armes sont conçues pour piéger d'autres armes, et parfois même les briser. Si vous obtenez un Critique quand vous défendez contre une attaque provenant d'une arme possédant une lame, vous pouvez choisir de la piéger plutôt que de causer un Coup Critique. Si vous choisissez cela, effectuez un <b>Test opposé de Force</b>, en ajoutant votre DR obtenu au précédent Test de Corps à corps. Si vous l'emportez, votre adversaire laisse tomber la lame qui lui est arrachée. Si vous obtenez un Succès Stupéfiant, vous ne désarmez pas seulement votre adversaire, mais la force de votre manoeuvre brise la lame à moins qu'elle ne possède l'Atout Incassable. Si vous échouez au Test, votre adversaire libère sa lame et peut combattre normalement.",
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
"name": "WH4-fr-translation",
|
"name": "WH4-fr-translation",
|
||||||
"title": "Traduction du module WH4 en Français.",
|
"title": "Traduction du module WH4 en Français.",
|
||||||
"description": "La traduction du module WH4.",
|
"description": "La traduction du module WH4.",
|
||||||
"version": "1.3.23",
|
"version": "1.3.24",
|
||||||
"minimumCoreVersion" : "0.6.6",
|
"minimumCoreVersion" : "0.6.6",
|
||||||
"compatibleCoreVersion": "0.7.6",
|
"compatibleCoreVersion": "0.7.6",
|
||||||
"author": "LeRatierBretonnien",
|
"author": "LeRatierBretonnien",
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user