Chroniques Oubliees: version 5.01

This commit is contained in:
Ulty
2022-01-11 11:47:05 +01:00
parent 623c8083e9
commit d79b5ea33f
+94 -97
View File
@@ -1,5 +1,5 @@
<div class="mainBg"> <!-- FDP -->
<input type="hidden" name="attr_version" value="5.00" />
<input type="hidden" name="attr_version" value="5.01" />
<!-- INPUT HIDDEN TYPE DE JETS -->
<input type="hidden" name="attr_jetnormal" value="1d@{ETATDE}" />
<input type="hidden" name="attr_jetsup" value="2d@{ETATDE}kh1" />
@@ -226,7 +226,7 @@
</td>
<td class="boxinputlight-car"><input type="number" class="car" name="attr_DEX" value="floor((@{dexterite}-10)/2)" disabled /></td>
<td class="boxinput-car"><input type="number" class="car" name="attr_DEX_BONUS" value="0" title="Bonus au Test" /></td>
<td class="boxinputlight-car"><input type="number" class="car" name="attr_DEX_TEST" value="@{DEX}+@{DEX_BONUS}-((@{DEFARMUREON}*@{DEFARMUREMALUS})+(@{DEFBOUCLIERON}*@{DEFBOUCLIERMALUS}))" disabled /></td>
<td class="boxinputlight-car"><input type="number" class="car" name="attr_DEX_TEST" value="@{DEX}+@{DEX_BONUS}-((@{defarmureon}*@{defarmuremalus})+(@{defbouclieron}*@{defboucliermalus}))" disabled /></td>
</tr>
<tr>
<td class="boxtitre-car">
@@ -474,11 +474,11 @@
<td class="textfat-def">DÉFENSE</td>
<td class="textbase-def">
Armure
<input type="checkbox" class="def" name="attr_DEFARMUREON" value="1" title="Armure portée" />
<input type="checkbox" class="def" name="attr_defarmureon" value="1" title="Armure portée" />
</td>
<td class="textbase-def">
Bouclier
<input type="checkbox" class="def" name="attr_DEFBOUCLIERON" value="1" title="Bouclier équipé" />
<input type="checkbox" class="def" name="attr_defbouclieron" value="1" title="Bouclier équipé" />
</td>
<td class="textbase-def">DEX</td>
<td class="textbase-def">Div.</td>
@@ -486,16 +486,16 @@
</tr>
<tr>
<td class="boxtitre-def">DEF</td>
<td class="boxinput-def"><input type="number" class="def" name="attr_DEFARMURE" title="Armure" value="0" min="0" /></td>
<td class="boxinput-def"><input type="number" class="def" name="attr_DEFBOUCLIER" title="Bouclier" value="0" min="0" /></td>
<td class="boxinput-def"><input type="number" class="def" name="attr_defarmure" title="Armure" value="0" min="0" /></td>
<td class="boxinput-def"><input type="number" class="def" name="attr_defbouclier" title="Bouclier" value="0" min="0" /></td>
<td class="boxinputlight-def"><input type="number" class="def" name="attr_DEFCAR" value="@{DEX}" title="Modificateur de Dextérité" disabled /></td>
<td class="boxinput-def"><input type="number" class="def" name="attr_DEFDIV" title="Bonus divers" value="0" /></td>
<td class="boxinputlight-def"><input type="number" class="def" name="attr_DEF" value="10+(@{DEFARMURE}*@{DEFARMUREON})+(@{DEFBOUCLIER}*@{DEFBOUCLIERON})+@{DEFCAR}+@{DEFDIV}-4*@{attaque_risquee_check}" title="Défense" disabled /></td>
<td class="boxinputlight-def"><input type="number" class="def" name="attr_DEF" value="10+(@{defarmure}*@{defarmureon})+(@{defbouclier}*@{defbouclieron})+@{DEFCAR}+@{DEFDIV}-4*@{attaque_risquee_check}" title="Défense" disabled /></td>
</tr>
<tr>
<td class="textfat-def" style="text-align: right;">Malus</td>
<td class="boxinput-def"><input type="number" class="def" name="attr_DEFARMUREMALUS" title="Malus aux Tests de DEX quand l'Amrure est portée." value="0" min="0"/></td>
<td class="boxinput-def"><input type="number" class="def" name="attr_DEFBOUCLIERMALUS" title="Malus aux Tests de DEX quand le Bouclier est équipé" value="0" min="0"/></td>
<td class="boxinput-def"><input type="number" class="def" name="attr_defarmuremalus" title="Malus aux Tests de DEX quand l'Amrure est portée." value="0" min="0"/></td>
<td class="boxinput-def"><input type="number" class="def" name="attr_defboucliermalus" title="Malus aux Tests de DEX quand le Bouclier est équipé" value="0" min="0"/></td>
<td class="textbase-def" colspan="2">
Casque
<input type="checkbox" class="def" name="attr_casque_on" value="1" title="Casque équipé" />
@@ -819,7 +819,7 @@
</td>
<td class="boxinputleft">
<input class="block-switch-arrow" name="attr_voie1showexpl" type="checkbox"><span>
<input type="text" class="nomvoie" name="attr_voie2nom" placeholder="Nom de la Voie n°2" />
<input type="text" class="nomvoie" name="attr_voie2nom" title="@{voie2nom}" placeholder="Nom de la Voie n°2" />
</span>
<div class="block-show-arrow">
<span name="attr_voie2expl" class="boxability"></span>
@@ -827,7 +827,7 @@
</td>
<td class="boxinputleft">
<input class="block-switch-arrow" name="attr_voie1showexpl" type="checkbox"><span>
<input type="text" class="nomvoie" name="attr_voie3nom" placeholder="Nom de la Voie n°3" />
<input type="text" class="nomvoie" name="attr_voie3nom" title="@{voie3nom}" placeholder="Nom de la Voie n°3" />
</span>
<div class="block-show-arrow">
<span name="attr_voie3expl" class="boxability"></span>
@@ -1056,7 +1056,7 @@
<td class="boxtitresmall">R</td>
<td class="boxinputleft">
<input class="block-switch-arrow" name="attr_voie2showexpl" type="checkbox"><span>
<input type="text" class="nomvoie" name="attr_voie4nom" placeholder="Nom de la Voie" />
<input type="text" class="nomvoie" name="attr_voie4nom" title="@{voie4nom}" placeholder="Nom de la Voie" />
</span>
<div class="block-show-arrow">
<span name="attr_voie4expl" class="boxability"></span>
@@ -1064,7 +1064,7 @@
</td>
<td class="boxinputleft">
<input class="block-switch-arrow" name="attr_voie2showexpl" type="checkbox"><span>
<input type="text" class="nomvoie" name="attr_voie5nom" placeholder="Nom de la Voie" />
<input type="text" class="nomvoie" name="attr_voie5nom" title="@{voie5nom}" placeholder="Nom de la Voie" />
</span>
<div class="block-show-arrow">
<span name="attr_voie5expl" class="boxability"></span>
@@ -1072,7 +1072,7 @@
</td>
<td class="boxinputleft">
<input class="block-switch-arrow" name="attr_voie2showexpl" type="checkbox"><span>
<input type="text" class="nomvoie" name="attr_voie6nom" placeholder="Nom de la Voie de Prestige" />
<input type="text" class="nomvoie" name="attr_voie6nom" title="@{voie6nom}" placeholder="Nom de la Voie de Prestige" />
</span>
<div class="block-show-arrow">
<span name="attr_voie6expl" class="boxability"></span>
@@ -1305,7 +1305,7 @@
<td class="boxtitresmall">R</td>
<td class="boxinputleft">
<input class="block-switch-arrow" name="attr_voie3showexpl" type="checkbox"><span>
<input type="text" class="nomvoie" name="attr_voie7nom" placeholder="Nom de la Voie n°7" />
<input type="text" class="nomvoie" name="attr_voie7nom" title="@{voie7nom}" placeholder="Nom de la Voie n°7" />
</td>
</span>
<div class="block-show-arrow">
@@ -1313,7 +1313,7 @@
</div>
<td class="boxinputleft">
<input class="block-switch-arrow" name="attr_voie3showexpl" type="checkbox"><span>
<input type="text" class="nomvoie" name="attr_voie8nom" placeholder="Nom de la Voie n°8" />
<input type="text" class="nomvoie" name="attr_voie8nom" title="@{voie8nom}" placeholder="Nom de la Voie n°8" />
</span>
<div class="block-show-arrow">
<span name="attr_voie8expl" class="boxability"></span>
@@ -1321,7 +1321,7 @@
</td>
<td class="boxinputleft">
<input class="block-switch-arrow" name="attr_voie3showexpl" type="checkbox"><span>
<input type="text" class="nomvoie" name="attr_voie9nom" placeholder="Nom de la Voie n°9" />
<input type="text" class="nomvoie" name="attr_voie9nom" title="@{voie9nom}" placeholder="Nom de la Voie n°9" />
</span>
<div class="block-show-arrow">
<span name="attr_voie9expl" class="boxability"></span>
@@ -1567,12 +1567,12 @@
<textarea spellcheck="false" name="attr_voie1expl" title="Explications voie 1"></textarea>
</td>
<td class="boxinput">
<input type="text" class="nomvoie" name="attr_voie2nom" placeholder="Nom de la Voie n°2" />
<input type="text" class="nomvoie" name="attr_voie2nom" title="@{voie1nom}" placeholder="Nom de la Voie n°2" />
<br>
<textarea spellcheck="false" name="attr_voie2expl" title="Explications voie 2"></textarea>
</td>
<td class="boxinput">
<input type="text" class="nomvoie" name="attr_voie3nom" placeholder="Nom de la Voie n°3" />
<input type="text" class="nomvoie" name="attr_voie3nom" title="@{voie3nom}" placeholder="Nom de la Voie n°3" />
<br>
<textarea spellcheck="false" name="attr_voie3expl" title="Explications voie 3"></textarea>
</td>
@@ -1708,17 +1708,17 @@
<tr>
<td class="boxtitresmall">R</td>
<td class="boxinputleft">
<input type="text" class="nomvoie" name="attr_voie4nom" placeholder="Nom de la Voie n°4" />
<input type="text" class="nomvoie" name="attr_voie4nom" title="@{voie4nom}" placeholder="Nom de la Voie n°4" />
<br>
<textarea spellcheck="false" name="attr_voie4expl" title="Explications voie 4"></textarea>
</td>
<td class="boxinput">
<input type="text" class="nomvoie" name="attr_voie5nom" placeholder="Nom de la Voie n°5" />
<input type="text" class="nomvoie" name="attr_voie5nom" title="@{voie5nom}" placeholder="Nom de la Voie n°5" />
<br>
<textarea spellcheck="false" name="attr_voie5expl" title="Explications voie 4"></textarea>
</td>
<td class="boxinput">
<input type="text" class="nomvoie" name="attr_voie6nom" placeholder="Nom de la Voie de Prestige" />
<input type="text" class="nomvoie" name="attr_voie6nom" title="@{voie6nom}" placeholder="Nom de la Voie de Prestige" />
<br>
<textarea spellcheck="false" name="attr_voie6expl" title="Explications voie de prestige"></textarea>
</td>
@@ -1858,17 +1858,17 @@
<tr>
<td class="boxtitresmall">R</td>
<td class="boxinputleft">
<input type="text" class="nomvoie" name="attr_voie7nom" placeholder="Nom de la Voie n°7" />
<input type="text" class="nomvoie" name="attr_voie7nom" title="@{voie7nom}" placeholder="Nom de la Voie n°7" />
<br>
<textarea spellcheck="false" name="attr_voie7expl" title="Explications voie 7"></textarea>
</td>
<td class="boxinput">
<input type="text" class="nomvoie" name="attr_voie8nom" placeholder="Nom de la Voie n°8" />
<input type="text" class="nomvoie" name="attr_voie8nom" title="@{voie8nom}" placeholder="Nom de la Voie n°8" />
<br>
<textarea spellcheck="false" name="attr_voie8expl" title="Explications voie 8"></textarea>
</td>
<td class="boxinput">
<input type="text" class="nomvoie" name="attr_voie9nom" placeholder="Nom de la Voie n°9" />
<input type="text" class="nomvoie" name="attr_voie9nom" title="@{voie9nom}" placeholder="Nom de la Voie n°9" />
<br>
<textarea spellcheck="false" name="attr_voie9expl" title="Explications voie 9"></textarea>
</td>
@@ -2501,10 +2501,10 @@
</table>
<table style="width:51px">
<tr><td>
<input type="checkbox" name="attr_pnj_armure" title="@{pnj_armure}" style="width:9px"><span class="def" style="font-size:9px">Armure</span>
<input type="checkbox" name="attr_defarmureon" value="1" title="@{defarmureon}" style="width:9px"><span class="def" style="font-size:9px">Armure</span>
</td></tr>
<tr><td>
<input type="checkbox" name="attr_pnj_bouclier" title="@{pnj_bouclier}" style="width:9px"><span class="def" style="font-size:9px">Bouclier</span>
<input type="checkbox" name="attr_defbouclieron" value="1" title="@{defbouclieron}" style="width:9px"><span class="def" style="font-size:9px">Bouclier</span>
</td></tr>
</table>
<table class="tabsep" style="width:18%;">
@@ -3026,7 +3026,7 @@
<!-- FIN TEMPLATES -->
<!-- **** SCRIPTS / SHEET WORKERS -->
<script type="text/worker">
on('sheet:opened', function() {
on('sheet:opened', function() {
// **** Gestion transition de version
getAttrs(["version", "option_setting"], function(v) {
var verfdp = parseFloat(v.version) || 0;
@@ -3139,7 +3139,7 @@
});
});
getAttrs(["DEFBOUCLIER"], function(values) {
var def = parseInt(values.DEFBOUCLIER);
let def = parseInt(values.DEFBOUCLIER);
if (def === 0) setAttrs({
DEFBOUCLIERON: 0
}, {
@@ -3264,10 +3264,10 @@
});
}
if (values.BOURSE) {
var sa = {};
var bourse = values.BOURSE.toLowerCase().split(/[ ,]/);
var lastNumber = 0;
var reste = '';
let sa = {};
let bourse = values.BOURSE.toLowerCase().split(/[ ,]/);
let lastNumber = 0;
let reste = '';
bourse.forEach(function(t) {
switch (t.trim()) {
case '':
@@ -3373,8 +3373,25 @@
updateAttaques45('pnjatk', montrer);
});
}
if (verfdp < 5.01) {
getAttrs(['type_personnage', 'pnj_bouclier', 'pnj_armure'], function(values) {
if (values.type_personnage == 'PNJ') {
let attrs = {};
let mod;
if (values.pnj_bouclier == 'on') {
attrs.defbouclieron = 1;
mod = true;
}
if (values.pnj_armure == 'on') {
attrs.defarmureon = 1;
mod = true;
}
if (mod) setAttrs(attrs);
}
});
}
setAttrs({
version: 5.00
version: 5.01
});
if (v.option_setting == 'arran') {
//Quelques valeurs de départ selon la famille de profil par défaut
@@ -3607,18 +3624,18 @@
getAttrs(
["force", "FOR_BONUS", "dexterite", "DEX_BONUS", "constitution",
"CON_BONUS", "intelligence", "INT_BONUS", "sagesse", "SAG_BONUS",
"charisme", "CHA_BONUS", "INIT_DIV", "DEFARMURE", "DEFARMUREON",
"DEFBOUCLIER", "DEFBOUCLIERON", "DEFDIV", "PV_max", "for_sup",
"charisme", "CHA_BONUS", "INIT_DIV", "defarmure", "defarmureon",
"defbouclier", "defbouclieron", "DEFDIV", "PV_max", "for_sup",
"dex_sup", "con_sup", "int_sup", "sag_sup", "cha_sup", "PV", "RDS",
"jets_caches", "pnj_default_jets_caches",
],
function(values) {
var attrs = {
let attrs = {
tab: "carac. pnj"
};
attrs.pnj_for = Math.floor((parseInt(values.force) - 10) / 2);
if (isNaN(attrs.pnj_for)) attrs.pnj_for = 0;
var bonus = parseInt(values.FOR_BONUS);
let bonus = parseInt(values.FOR_BONUS);
if (!isNaN(bonus)) attrs.pnj_for += bonus;
attrs.pnj_init = parseInt(values.dexterite);
if (isNaN(attrs.pnj_init)) attrs.pnj_init = 10;
@@ -3642,9 +3659,9 @@
if (isNaN(attrs.pnj_cha)) attrs.pnj_cha = 0;
bonus = parseInt(values.CHA_BONUS);
if (!isNaN(bonus)) attrs.pnj_cha += bonus;
bonus = parseInt(values.DEFARMURE) * parseInt(values.DEFARMUREON);
bonus = parseInt(values.defarmure) * parseInt(values.defarmureon);
if (!isNaN(bonus)) attrs.pnj_def += bonus;
bonus = parseInt(values.DEFBOUCLIER) * parseInt(values.DEFBOUCLIERON);
bonus = parseInt(values.defbouclier) * parseInt(values.defbouclieron);
if (!isNaN(bonus)) attrs.pnj_def += bonus;
bonus = parseInt(values.DEFDIV);
if (!isNaN(bonus)) attrs.pnj_def += bonus;
@@ -3662,8 +3679,6 @@
} else {
attrs.pnj_jets_caches = values.jets_caches;
}
attrs.pnj_armure = values.DEFARMUREON;
attrs.pnj_bouclier = values.DEFBOUCLIERON;
setAttrs(attrs);
});
//Copie des attaques
@@ -3769,7 +3784,7 @@
} else {
//On passe de PNJ à PJ
getAttrs(['option_ba_niveau', 'niveau'], function(values) {
var attrsPJ = {
let attrsPJ = {
tab: 'caracteristiques'
};
if (values.option_ba_niveau == '1') {
@@ -3795,14 +3810,14 @@
});
});
on('change:pnj_dex', function(eventinfo) {
getAttrs(["DEX_BONUS", "pnj_dex", "INIT_DIV", "DEFARMURE", "DEFARMUREON", "DEFBOUCLIER", "DEFBOUCLIERON", "pnj_init", "pnj_def"], function(values) {
var bonus_carac = parseInt(values.pnj_dex);
getAttrs(["DEX_BONUS", "pnj_dex", "INIT_DIV", "defarmure", "defarmureon", "defbouclier", "defbouclieron", "pnj_init", "pnj_def"], function(values) {
let bonus_carac = parseInt(values.pnj_dex);
if (isNaN(bonus_carac)) return;
var pre_bonus = parseInt(values.DEX_BONUS);
let pre_bonus = parseInt(values.DEX_BONUS);
if (!isNaN(pre_bonus)) bonus_carac -= pre_bonus;
var carac = 10 + 2 * bonus_carac;
let carac = 10 + 2 * bonus_carac;
//update INIT_DIV so that init does not change
var init = parseInt(values.pnj_init);
let init = parseInt(values.pnj_init);
if (!isNaN(init)) {
if (init % 2 == 1) carac++;
setAttrs({
@@ -3810,12 +3825,12 @@
});
}
//update DEFDIV so that DEF does not change
var def = parseInt(values.pnj_def);
let def = parseInt(values.pnj_def);
if (!isNaN(def)) {
var defense = 10;
var bonus = parseInt(values.DEFARMURE) * parseInt(values.DEFARMUREON);
let defense = 10;
let bonus = parseInt(values.defarmure) * parseInt(values.defarmureon);
if (!isNaN(bonus)) defense += bonus;
bonus = parseInt(values.DEFBOUCLIER) * parseInt(values.DEFBOUCLIERON);
bonus = parseInt(values.defbouclier) * parseInt(values.defbouclieron);
if (!isNaN(bonus)) defense += bonus;
bonus = Math.floor((parseInt(values.dexterite) - 10) / 2);
if (!isNaN(bonus)) defense += bonus;
@@ -3873,16 +3888,16 @@
});
});
on('change:pnj_def', function(eventinfo) {
getAttrs(["DEFARMURE", "DEFARMUREON", "DEFBOUCLIER", "DEFBOUCLIERON", "dexterite", "pnj_def"], function(values) {
getAttrs(["defarmure", "defarmureon", "defbouclier", "defbouclieron", "dexterite", "pnj_def"], function(values) {
var new_def = parseInt(values.pnj_def);
if (isNaN(new_def)) {
console.log("DEF pnj non définie");
return;
}
var defense = 10;
var bonus = parseInt(values.DEFARMURE) * parseInt(values.DEFARMUREON);
var bonus = parseInt(values.defarmure) * parseInt(values.defarmureon);
if (!isNaN(bonus)) defense += bonus;
bonus = parseInt(values.DEFBOUCLIER) * parseInt(values.DEFBOUCLIERON);
bonus = parseInt(values.defbouclier) * parseInt(values.defbouclieron);
if (!isNaN(bonus)) defense += bonus;
bonus = Math.floor((parseInt(values.dexterite) - 10) / 2);
if (!isNaN(bonus)) defense += bonus;
@@ -4016,24 +4031,6 @@
});
});
});
on('change:pnj_armure', function(eventinfo) {
getAttrs(["DEFARMUREON", "pnj_armure"], function(values) {
if (values.DEFARMUREON != values.pnj_armure) {
setAttrs({
DEFARMUREON: values.pnj_armure
});
}
});
});
on('change:pnj_bouclier', function(eventinfo) {
getAttrs(["DEFBOUCLIERON", "pnj_bouclier"], function(values) {
if (values.DEFBOUCLIERON != values.pnj_bouclier) {
setAttrs({
DEFBOUCLIERON: values.pnj_bouclier
});
}
});
});
//Mise à jour des stats dérivées
on('change:charisme change:option_pc change:pc_bonus change:famille', function(eventinfo) {
@@ -4480,34 +4477,34 @@
});
//Coche le port d'armure si sa def devient positive
on('change:DEFARMURE', function(eventinfo) {
getAttrs(['DEFARMURE', 'DEFARMUREON'], function(values) {
var def = parseInt(values.DEFARMURE);
on('change:defarmure', function(eventinfo) {
getAttrs(['defarmure', 'defarmureon'], function(values) {
var def = parseInt(values.defarmure);
if (isNaN(def)) return;
var armureOn = parseInt(values.DEFARMUREON);
var armureOn = parseInt(values.defarmureon);
if (eventinfo.previousValue > 0 && eventinfo.previousValue != def) {
if (def === 0 && armureOn) setAttrs({
DEFARMUREON: 0
defarmureon: 0
});
} else { //comprend aussi le cas où previousValue == def, car c'est le cas si l'attribut n'a encore jamais été modifié
if (def > 0 && !armureOn) setAttrs({
DEFARMUREON: 1
defarmureon: 1
});
}
});
});
on('change:DEFBOUCLIER', function(eventinfo) {
getAttrs(['DEFBOUCLIER', 'DEFBOUCLIERON'], function(values) {
var def = parseInt(values.DEFBOUCLIER);
on('change:defbouclier', function(eventinfo) {
getAttrs(['defbouclier', 'defbouclieron'], function(values) {
let def = parseInt(values.defbouclier);
if (isNaN(def)) return;
var bouclierOn = parseInt(values.DEFBOUCLIERON);
let bouclierOn = parseInt(values.defbouclieron);
if (eventinfo.previousValue > 0 && eventinfo.previousValue != def) {
if (def === 0 && bouclierOn) setAttrs({
DEFBOUCLIERON: 0
defbouclieron: 0
});
} else {
if (def > 0 && !bouclierOn) setAttrs({
DEFBOUCLIERON: 1
defbouclieron: 1
});
}
});
@@ -5353,7 +5350,7 @@
});
on('change:famille', function(eventinfo) {
getAttrs(['famille', 'DEFARMUREON', 'DEFARMUREMALUS', 'DEFBOUCLIERON', 'DEFBOUCLIERMALUS'], function(values) {
getAttrs(['famille', 'defarmureon', 'defarmuremalus', 'defbouclieron', 'defboucliermalus'], function(values) {
var attrs = {};
switch (values.famille) {
case 'aventurier':
@@ -5380,18 +5377,18 @@
default:
return;
}
var malusArmure = values.DEFARMUREON * values.DEFARMUREMALUS + values.DEFBOUCLIERON * values.DEFBOUCLIERMALUS;
let malusArmure = values.defarmureon * values.defarmuremalus + values.defbouclieron * values.defboucliermalus;
attrs.mod_atkmag -= malusArmure;
attrs.mod_atktir -= Math.floor(malusArmure / 2);
setAttrs(attrs);
});
});
on('change:DEFARMUREON change:DEFARMUREMALUS change:DEFBOUCLIERON change:DEFBOUCLIERMALUS', function(eventinfo) {
getAttrs(['famille', 'DEFARMUREON', 'DEFARMUREMALUS', 'DEFBOUCLIERON', 'DEFBOUCLIERMALUS', 'option_setting'], function(values) {
on('change:defarmureon change:defarmuremalus change:defbouclieron change:defboucliermalus', function(eventinfo) {
getAttrs(['famille', 'defarmureon', 'defarmuremalus', 'defbouclieron', 'defboucliermalus', 'option_setting'], function(values) {
if (values.option_setting != 'arran') return;
var malusArmure = values.DEFARMUREON * values.DEFARMUREMALUS + values.DEFBOUCLIERON * values.DEFBOUCLIERMALUS;
var attrs = {};
let malusArmure = values.defarmureon * values.defarmuremalus + values.defbouclieron * values.defboucliermalus;
let attrs = {};
switch (values.famille) {
case 'aventurier':
attrs.mod_atktir = 1;
@@ -5531,14 +5528,14 @@
});
function bonusTotalCompetence(compValues, prefix, values) {
var bonusTotal = 0;
var bonus = parseInt(compValues[prefix + 'bonusCapa']);
let bonusTotal = 0;
let bonus = parseInt(compValues[prefix + 'bonusCapa']);
if (!isNaN(bonus)) bonusTotal += bonus;
bonus = parseInt(compValues[prefix + 'bonus']);
if (!isNaN(bonus)) bonusTotal += bonus;
switch (compValues[prefix + 'malus']) {
case 'armure':
bonus = values.DEFARMUREON * values.DEFARMUREMALUS + values.DEFBOUCLIERON * values.DEFBOUCLIERMALUS;
bonus = values.defarmureon * values.defarmuremalus + values.defbouclieron * values.defboucliermalus;
if (!isNaN(bonus)) bonusTotal -= bonus;
break;
case 'casque':
@@ -5552,13 +5549,13 @@
}
on('change:repeating_competences:comp_bonusCapa change:repeating_competences:comp_bonus change:repeating_competences:comp_malus', function(eventinfo) {
getAttrs(['repeating_competences_comp_bonusCapa', 'repeating_competences_comp_bonus', 'repeating_competences_comp_malus', 'DEFARMUREON', 'DEFARMUREMALUS', 'DEFBOUCLIERON', 'DEFBOUCLIERMALUS', 'casque_on', 'casque_malus'], function(values) {
getAttrs(['repeating_competences_comp_bonusCapa', 'repeating_competences_comp_bonus', 'repeating_competences_comp_malus', 'defarmureon', 'defarmuremalus', 'defbouclieron', 'defboucliermalus', 'casque_on', 'casque_malus'], function(values) {
bonusTotalCompetence(values, 'repeating_competences_comp_', values);
});
});
on('change:DEFARMUREON change:DEFARMUREMALUS change:DEFBOUCLIERON change:DEFBOUCLIERMALUS change:casque_on change:casque_malus', function(eventinfo) {
getAttrs(['DEFARMUREON', 'DEFARMUREMALUS', 'DEFBOUCLIERON', 'DEFBOUCLIERMALUS', 'casque_on', 'casque_malus'], function(values) {
on('change:defarmureon change:defarmuremalus change:defbouclieron change:defboucliermalus change:casque_on change:casque_malus', function(eventinfo) {
getAttrs(['defarmureon', 'defarmuremalus', 'defbouclieron', 'defboucliermalus', 'casque_on', 'casque_malus'], function(values) {
getSectionIDs('repeating_competences', function(idArray) {
idArray.forEach(function(id) {
var prefix = 'repeating_competences_' + id + '_comp_';