From 2f12ad3095b5f043fbed73b28e5479abca8135df Mon Sep 17 00:00:00 2001 From: Zakarik Date: Fri, 13 Dec 2024 15:31:25 +0100 Subject: [PATCH] Fix visual bug & roll bug --- Knight/knight.css | 193 ------- Knight/knight.html | 663 +++++++--------------- Knight/pug/js/_functionsWeapons.js | 4 +- Knight/pug/js/library.js | 87 +++ Knight/pug/js/rolls/pj/art.js | 49 +- Knight/pug/js/rolls/pj/bard.js | 1 + Knight/pug/js/rolls/pj/berserk.js | 1 + Knight/pug/js/rolls/pj/combatAutre.js | 26 +- Knight/pug/js/rolls/pj/combatContact.js | 25 +- Knight/pug/js/rolls/pj/combatDistance.js | 26 +- Knight/pug/js/rolls/pj/combatGrenade.js | 27 +- Knight/pug/js/rolls/pj/combatImprovise.js | 26 +- Knight/pug/js/rolls/pj/druid.js | 186 +----- Knight/pug/js/rolls/pj/monk.js | 42 +- Knight/pug/js/rolls/pj/priest.js | 1 + Knight/pug/js/rolls/pj/ranger.js | 27 +- Knight/pug/js/rolls/pj/recuperation.js | 1 + Knight/pug/js/rolls/pj/simple.js | 87 +-- Knight/pug/js/rolls/pj/wizard.js | 27 +- Knight/scss/files/_library.scss | 1 - Knight/translation.json | 1 + 21 files changed, 392 insertions(+), 1109 deletions(-) diff --git a/Knight/knight.css b/Knight/knight.css index be130d29c681..0a100a060f3d 100644 --- a/Knight/knight.css +++ b/Knight/knight.css @@ -1104,7 +1104,6 @@ div.charsheet > div.content div.popup div { align-content: center; } div.charsheet > div.content div.popup div h1.titre { - display: flex; width: 100%; align-content: baseline; background: RGB(213, 215, 237); @@ -1241,7 +1240,6 @@ div.charsheet > div.content div.tabDossier div.identite { */ } div.charsheet > div.content div.tabDossier div.identite h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -1487,7 +1485,6 @@ div.charsheet > div.content div.tabDossier div.jet { */ } div.charsheet > div.content div.tabDossier div.jet h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -1681,7 +1678,6 @@ div.charsheet > div.content div.tabDossier div.dataArmure { */ } div.charsheet > div.content div.tabDossier div.dataArmure h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -1831,7 +1827,6 @@ div.charsheet > div.content div.tabDossier div.physiqueMental { */ } div.charsheet > div.content div.tabDossier div.physiqueMental h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -1929,7 +1924,6 @@ div.charsheet > div.content div.tabDossier div.egide { */ } div.charsheet > div.content div.tabDossier div.egide h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -2059,7 +2053,6 @@ div.charsheet > div.content div.tabDossier div.PES { */ } div.charsheet > div.content div.tabDossier div.PES h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -2193,7 +2186,6 @@ div.charsheet > div.content div.tabDossier div.debordement { */ } div.charsheet > div.content div.tabDossier div.debordement h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -2318,7 +2310,6 @@ div.charsheet > div.content div.tabDossier div.stats { */ } div.charsheet > div.content div.tabDossier div.stats h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -2451,7 +2442,6 @@ div.charsheet > div.content div.tabDossier div.ptsFaibles { */ } div.charsheet > div.content div.tabDossier div.ptsFaibles h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -2519,7 +2509,6 @@ div.charsheet > div.content div.tabArmure div.dataArmure { */ } div.charsheet > div.content div.tabArmure div.dataArmure h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -2739,7 +2728,6 @@ div.charsheet > div.content div.tabArmure div.physiqueMental { */ } div.charsheet > div.content div.tabArmure div.physiqueMental h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -2840,7 +2828,6 @@ div.charsheet > div.content div.tabArmure div.egide { */ } div.charsheet > div.content div.tabArmure div.egide h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -2989,7 +2976,6 @@ div.charsheet > div.content div.tabArmure div.evolution { */ } div.charsheet > div.content div.tabArmure div.evolution h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -3167,7 +3153,6 @@ div.charsheet > div.content div.tabArmure div.MALegende { border: 1px solid RGB(93, 111, 179) !important; } div.charsheet > div.content div.tabArmure div.MALegende h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -3298,7 +3283,6 @@ div.charsheet > div.content div.tabArmure div.AEBlock div.AE { display: none; } div.charsheet > div.content div.tabArmure div.AEBlock div.AE h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -4880,7 +4864,6 @@ div.charsheet > div.content div.tabArmure div.styleCombat { */ } div.charsheet > div.content div.tabArmure div.styleCombat h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -5009,7 +4992,6 @@ div.charsheet > div.content div.tabArmure div.herauts { */ } div.charsheet > div.content div.tabArmure div.herauts h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -5092,7 +5074,6 @@ div.charsheet > div.content div.tabArmure div.barbarianGoliath { */ } div.charsheet > div.content div.tabArmure div.barbarianGoliath h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -5195,7 +5176,6 @@ div.charsheet > div.content div.tabArmure div.bardChangeling { */ } div.charsheet > div.content div.tabArmure div.bardChangeling h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -5340,7 +5320,6 @@ div.charsheet > div.content div.tabArmure div.berserkIllumination { */ } div.charsheet > div.content div.tabArmure div.berserkIllumination h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -5616,7 +5595,6 @@ div.charsheet > div.content div.tabArmure div.berserkRage { */ } div.charsheet > div.content div.tabArmure div.berserkRage h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -6078,7 +6056,6 @@ div.charsheet > div.content div.tabArmure div.effetsArmes { */ } div.charsheet > div.content div.tabArmure div.effetsArmes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -6191,7 +6168,6 @@ div.charsheet > div.content div.tabArmure div.information { border-top: 1px solid RGB(213, 215, 237); } div.charsheet > div.content div.tabArmure div.information h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -6246,7 +6222,6 @@ div.charsheet > div.content div.tabArmure div.druidModCompanions { */ } div.charsheet > div.content div.tabArmure div.druidModCompanions h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -6349,7 +6324,6 @@ div.charsheet > div.content div.tabArmure div.monkModeZen { */ } div.charsheet > div.content div.tabArmure div.monkModeZen h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -6467,7 +6441,6 @@ div.charsheet > div.content div.tabArmure div.monkModeCea { */ } div.charsheet > div.content div.tabArmure div.monkModeCea h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -6733,7 +6706,6 @@ div.charsheet > div.content div.tabArmure div.paladinShrine { */ } div.charsheet > div.content div.tabArmure div.paladinShrine h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -6861,7 +6833,6 @@ div.charsheet > div.content div.tabArmure div.paladinWatchtower { */ } div.charsheet > div.content div.tabArmure div.paladinWatchtower h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -6954,7 +6925,6 @@ div.charsheet > div.content div.tabArmure div.paladinLenteEtLourde { */ } div.charsheet > div.content div.tabArmure div.paladinLenteEtLourde h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -7015,7 +6985,6 @@ div.charsheet > div.content div.tabArmure div.priestMechanic { */ } div.charsheet > div.content div.tabArmure div.priestMechanic h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -7126,7 +7095,6 @@ div.charsheet > div.content div.tabArmure div.priestNanoC { */ } div.charsheet > div.content div.tabArmure div.priestNanoC h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -7332,7 +7300,6 @@ div.charsheet > div.content div.tabArmure div.psionPuppetMaster { */ } div.charsheet > div.content div.tabArmure div.psionPuppetMaster h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -7508,7 +7475,6 @@ div.charsheet > div.content div.tabArmure div.psionDiscord { */ } div.charsheet > div.content div.tabArmure div.psionDiscord h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -7781,7 +7747,6 @@ div.charsheet > div.content div.tabArmure div.psionWindtalker { */ } div.charsheet > div.content div.tabArmure div.psionWindtalker h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -7847,7 +7812,6 @@ div.charsheet > div.content div.tabArmure div.rangerVision { */ } div.charsheet > div.content div.tabArmure div.rangerVision h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -8010,7 +7974,6 @@ div.charsheet > div.content div.tabArmure div.portee { */ } div.charsheet > div.content div.tabArmure div.portee h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -8127,7 +8090,6 @@ div.charsheet > div.content div.tabArmure div.rogueGhost { */ } div.charsheet > div.content div.tabArmure div.rogueGhost h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -8349,7 +8311,6 @@ div.charsheet > div.content div.tabArmure div.jet { } div.charsheet > div.content div.tabArmure div.shamanImpregnation h1.titre, div.charsheet > div.content div.tabArmure div.jet h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -8579,7 +8540,6 @@ div.charsheet > div.content div.tabArmure div.shamanTotem { */ } div.charsheet > div.content div.tabArmure div.shamanTotem h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -8674,7 +8634,6 @@ div.charsheet > div.content div.tabArmure div.shamanAscension { */ } div.charsheet > div.content div.tabArmure div.shamanAscension h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -8857,7 +8816,6 @@ div.charsheet > div.content div.tabArmure div.sorcererMorph { */ } div.charsheet > div.content div.tabArmure div.sorcererMorph h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -9218,7 +9176,6 @@ div.charsheet > div.content div.tabArmure div.warlockRewind { } div.charsheet > div.content div.tabArmure div.warlockForward h1.titre, div.charsheet > div.content div.tabArmure div.warlockRewind h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -9311,7 +9268,6 @@ div.charsheet > div.content div.tabArmure div.warlockRecord { */ } div.charsheet > div.content div.tabArmure div.warlockRecord h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -9424,7 +9380,6 @@ div.charsheet > div.content div.tabArmure div.warlockContrecoups { */ } div.charsheet > div.content div.tabArmure div.warlockContrecoups h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -9510,7 +9465,6 @@ div.charsheet > div.content div.tabArmure div.warmasterFalcon { */ } div.charsheet > div.content div.tabArmure div.warmasterFalcon h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -9591,7 +9545,6 @@ div.charsheet > div.content div.tabArmure div.warmasterWarlord { */ } div.charsheet > div.content div.tabArmure div.warmasterWarlord h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -9901,7 +9854,6 @@ div.charsheet > div.content div.tabArmure div.warriorTypes { */ } div.charsheet > div.content div.tabArmure div.warriorTypes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -10128,7 +10080,6 @@ div.charsheet > div.content div.tabArmure div.wizardBorealis { */ } div.charsheet > div.content div.tabArmure div.wizardBorealis h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -10426,7 +10377,6 @@ div.charsheet > div.content div.tabArmure div.wizardOriflamme { */ } div.charsheet > div.content div.tabArmure div.wizardOriflamme h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -10756,7 +10706,6 @@ div.charsheet > div.content div.tabArmure div.capacitesFanMade { */ } div.charsheet > div.content div.tabArmure div.capacitesFanMade h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -10851,7 +10800,6 @@ div.charsheet > div.content div.tabArmure div.capacitesSpeciales { */ } div.charsheet > div.content div.tabArmure div.capacitesSpeciales h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -10928,7 +10876,6 @@ div.charsheet > div.content div.tabArmure div.capacitePhase2 { } div.charsheet > div.content div.tabArmure div.capacites h1.titre, div.charsheet > div.content div.tabArmure div.capacitePhase2 h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -11037,7 +10984,6 @@ div.charsheet > div.content div.tabArmure div.notes { */ } div.charsheet > div.content div.tabArmure div.notes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -11126,7 +11072,6 @@ div.charsheet > div.content div.tabArmure div.DCLion { */ } div.charsheet > div.content div.tabArmure div.DCLion h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -12652,7 +12597,6 @@ div.charsheet > div.content div.tabArmure div.DCWolf { */ } div.charsheet > div.content div.tabArmure div.DCWolf h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -13208,7 +13152,6 @@ div.charsheet > div.content div.tabArmure div.DCCrow { */ } div.charsheet > div.content div.tabArmure div.DCCrow h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -13565,7 +13508,6 @@ div.charsheet > div.content div.tabArmure div.rangerLongbow { */ } div.charsheet > div.content div.tabArmure div.rangerLongbow h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -14255,7 +14197,6 @@ div.charsheet > div.content div.tabArmure div.customCapacite { */ } div.charsheet > div.content div.tabArmure div.customCapacite h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -14334,7 +14275,6 @@ div.charsheet > div.content div.tabArmure div.customEvolutions { */ } div.charsheet > div.content div.tabArmure div.customEvolutions h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -14440,7 +14380,6 @@ div.charsheet > div.content div.tabArmure div.slots { */ } div.charsheet > div.content div.tabArmure div.slots h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -14530,7 +14469,6 @@ div.charsheet > div.content div.tabArmure div.MALDruidCompanions { flex-wrap: wrap; } div.charsheet > div.content div.tabArmure div.MALDruidCompanions h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -14680,7 +14618,6 @@ div.charsheet > div.content div.tabCombat div.dataArmure { */ } div.charsheet > div.content div.tabCombat div.dataArmure h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -14896,7 +14833,6 @@ div.charsheet > div.content div.tabCombat div.physiqueMental { */ } div.charsheet > div.content div.tabCombat div.physiqueMental h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -14994,7 +14930,6 @@ div.charsheet > div.content div.tabCombat div.egide { */ } div.charsheet > div.content div.tabCombat div.egide h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -15124,7 +15059,6 @@ div.charsheet > div.content div.tabCombat div.PES { */ } div.charsheet > div.content div.tabCombat div.PES h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -15258,7 +15192,6 @@ div.charsheet > div.content div.tabCombat div.bandeDebordement { */ } div.charsheet > div.content div.tabCombat div.bandeDebordement h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -15383,7 +15316,6 @@ div.charsheet > div.content div.tabCombat div.nods { */ } div.charsheet > div.content div.tabCombat div.nods h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -15507,7 +15439,6 @@ div.charsheet > div.content div.tabCombat div.styleCombat { */ } div.charsheet > div.content div.tabCombat div.styleCombat h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -15636,7 +15567,6 @@ div.charsheet > div.content div.tabCombat div.herauts { */ } div.charsheet > div.content div.tabCombat div.herauts h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -15753,7 +15683,6 @@ div.charsheet > div.content div.tabCombat div.portee { */ } div.charsheet > div.content div.tabCombat div.portee h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -15848,7 +15777,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.barbarianGoliath */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.barbarianGoliath h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -15964,7 +15892,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.bardChangeling { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.bardChangeling h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -16109,7 +16036,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.berserkIlluminati */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.berserkIllumination h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -16368,7 +16294,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.berserkRage { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.berserkRage h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -16869,7 +16794,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.druidModCompanion */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.druidModCompanions h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -17000,7 +16924,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.DCLion { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.DCLion h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -18526,7 +18449,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.DCWolf { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.DCWolf h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -19084,7 +19006,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.DCCrow { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.DCCrow h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -19427,7 +19348,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.monkModeZen { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.monkModeZen h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -19545,7 +19465,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.monkModeCea { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.monkModeCea h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -19814,7 +19733,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.paladinShrine { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.paladinShrine h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -19942,7 +19860,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.paladinWatchtower */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.paladinWatchtower h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -20035,7 +19952,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.priestMechanic { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.priestMechanic h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -20146,7 +20062,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.priestNanoC { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.priestNanoC h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -20352,7 +20267,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.psionPuppetMaster */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.psionPuppetMaster h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -20528,7 +20442,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.psionDiscord { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.psionDiscord h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -20801,7 +20714,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.psionWindtalker { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.psionWindtalker h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -20867,7 +20779,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.rangerVision { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.rangerVision h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -21046,7 +20957,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.rangerLongbow { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.rangerLongbow h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -21742,7 +21652,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.rogueGhost { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.rogueGhost h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -21964,7 +21873,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.jet { } div.charsheet > div.content div.tabCombat div.subTabArmure div.shamanImpregnation h1.titre, div.charsheet > div.content div.tabCombat div.subTabArmure div.jet h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -22194,7 +22102,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.shamanTotem { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.shamanTotem h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -22289,7 +22196,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.shamanAscension { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.shamanAscension h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -22458,7 +22364,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.sorcererMorph { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.sorcererMorph h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -22819,7 +22724,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.warlockRewind { } div.charsheet > div.content div.tabCombat div.subTabArmure div.warlockForward h1.titre, div.charsheet > div.content div.tabCombat div.subTabArmure div.warlockRewind h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -22912,7 +22816,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.warlockRecord { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.warlockRecord h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -23025,7 +22928,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.warlockContrecoup */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.warlockContrecoups h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -23111,7 +23013,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.warmasterFalcon { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.warmasterFalcon h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -23192,7 +23093,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.warmasterWarlord */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.warmasterWarlord h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -23502,7 +23402,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.warriorTypes { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.warriorTypes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -23732,7 +23631,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.wizardBorealis { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.wizardBorealis h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -24030,7 +23928,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.wizardOriflamme { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.wizardOriflamme h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -24205,7 +24102,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.informati flex-wrap: wrap; } div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.information h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -24398,7 +24294,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALDruidC flex-wrap: wrap; } div.charsheet > div.content div.tabCombat div.subTabArmure div.MAL div.MALDruidCompanions h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -24459,7 +24354,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.AEBlock div.AE { display: none; } div.charsheet > div.content div.tabCombat div.subTabArmure div.AEBlock div.AE h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -26056,7 +25950,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.capacitesFanMade */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.capacitesFanMade h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -26151,7 +26044,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.capacitesSpeciale */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.capacitesSpeciales h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -26231,7 +26123,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.capacitePhase2 { } div.charsheet > div.content div.tabCombat div.subTabArmure div.capacites h1.titre, div.charsheet > div.content div.tabCombat div.subTabArmure div.capacitePhase2 h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -26340,7 +26231,6 @@ div.charsheet > div.content div.tabCombat div.subTabArmure div.notes { */ } div.charsheet > div.content div.tabCombat div.subTabArmure div.notes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -26407,7 +26297,6 @@ div.charsheet > div.content div.tabCombat div.armesPJ div.subTabMelee { margin-top: 10px; } div.charsheet > div.content div.tabCombat div.armesPJ div.subTabMelee h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -27424,7 +27313,6 @@ div.charsheet > div.content div.tabCombat div.armesPJ div.subTabDistance { display: none; } div.charsheet > div.content div.tabCombat div.armesPJ div.subTabDistance h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -28430,7 +28318,6 @@ div.charsheet > div.content div.tabCombat div.armesPJ div.subTabImprovisee div.u margin-top: 10px; } div.charsheet > div.content div.tabCombat div.armesPJ div.subTabImprovisee div.utilisation h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -28600,7 +28487,6 @@ div.charsheet > div.content div.tabCombat div.armesPJ div.subTabImprovisee div.l margin-top: 10px; } div.charsheet > div.content div.tabCombat div.armesPJ div.subTabImprovisee div.liste h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -28784,7 +28670,6 @@ div.charsheet > div.content div.tabCombat div.armesPJ div.subTabAutre { display: none; } div.charsheet > div.content div.tabCombat div.armesPJ div.subTabAutre h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -29475,7 +29360,6 @@ div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabMelee { margin-top: 10px; } div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabMelee h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -30356,7 +30240,6 @@ div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabDistance { display: none; } div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabDistance h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -31158,7 +31041,6 @@ div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabImprovisee div. margin-top: 10px; } div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabImprovisee div.utilisation h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -31252,7 +31134,6 @@ div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabImprovisee div. margin-top: 10px; } div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabImprovisee div.liste h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -31436,7 +31317,6 @@ div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabAutre { display: none; } div.charsheet > div.content div.tabCombat div.armesPNJ div.subTabAutre h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -32229,7 +32109,6 @@ div.charsheet > div.content div.tabCombat div.grenade { */ } div.charsheet > div.content div.tabCombat div.grenade h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -32669,7 +32548,6 @@ div.charsheet > div.content div.tabCombat div.grenadePNJ { */ } div.charsheet > div.content div.tabCombat div.grenadePNJ h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -33025,7 +32903,6 @@ div.charsheet > div.content div.tabCombat div.protections { display: none; } div.charsheet > div.content div.tabCombat div.protections h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -33183,7 +33060,6 @@ div.charsheet > div.content div.tabCombat div.effetsArmes { */ } div.charsheet > div.content div.tabCombat div.effetsArmes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -33309,7 +33185,6 @@ div.charsheet > div.content div.tabModules div.dataArmure { */ } div.charsheet > div.content div.tabModules div.dataArmure h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -33432,7 +33307,6 @@ div.charsheet > div.content div.tabModules div.PES { */ } div.charsheet > div.content div.tabModules div.PES h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -33573,7 +33447,6 @@ div.charsheet > div.content div.tabModules div.information { border-top: 1px solid RGB(213, 215, 237); } div.charsheet > div.content div.tabModules div.information h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -33631,7 +33504,6 @@ div.charsheet > div.content div.tabModules div.slots { margin-top: 10px; } div.charsheet > div.content div.tabModules div.slots h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -33747,7 +33619,6 @@ div.charsheet > div.content div.tabModules div.modulesListe { margin-top: 10px; } div.charsheet > div.content div.tabModules div.modulesListe h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34050,7 +33921,6 @@ div.charsheet > div.content div.tabOverdrive div.overdrive { margin-bottom: 10px; } div.charsheet > div.content div.tabOverdrive div.overdrive h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34221,7 +34091,6 @@ div.charsheet > div.content div.tabIA div.donnees { */ } div.charsheet > div.content div.tabIA div.donnees h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34301,7 +34170,6 @@ div.charsheet > div.content div.tabIA div.atoutHandicap { */ } div.charsheet > div.content div.tabIA div.atoutHandicap h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34377,7 +34245,6 @@ div.charsheet > div.content div.tabIA div.caractere { */ } div.charsheet > div.content div.tabIA div.caractere h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34429,7 +34296,6 @@ div.charsheet > div.content div.tabIA div.notes { */ } div.charsheet > div.content div.tabIA div.notes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34506,7 +34372,6 @@ div.charsheet > div.content div.tabIAIncarnee div.donnees { */ } div.charsheet > div.content div.tabIAIncarnee div.donnees h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34586,7 +34451,6 @@ div.charsheet > div.content div.tabIAIncarnee div.atoutHandicap { */ } div.charsheet > div.content div.tabIAIncarnee div.atoutHandicap h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34659,7 +34523,6 @@ div.charsheet > div.content div.tabIAIncarnee div.caractere { */ } div.charsheet > div.content div.tabIAIncarnee div.caractere h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34711,7 +34574,6 @@ div.charsheet > div.content div.tabIAIncarnee div.notes { */ } div.charsheet > div.content div.tabIAIncarnee div.notes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34791,7 +34653,6 @@ div.charsheet > div.content div.tabHistorique div.gloire { } div.charsheet > div.content div.tabHistorique div.experience h1.titre, div.charsheet > div.content div.tabHistorique div.gloire h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -34889,7 +34750,6 @@ div.charsheet > div.content div.tabHistorique div.avantageInconvenient { */ } div.charsheet > div.content div.tabHistorique div.avantageInconvenient h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -35012,7 +34872,6 @@ div.charsheet > div.content div.tabHistorique div.langues { */ } div.charsheet > div.content div.tabHistorique div.langues h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -35084,7 +34943,6 @@ div.charsheet > div.content div.tabHistorique div.notes { */ } div.charsheet > div.content div.tabHistorique div.notes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -35146,7 +35004,6 @@ div.charsheet > div.content div.tabHistorique div.contact { */ } div.charsheet > div.content div.tabHistorique div.contact h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -35221,7 +35078,6 @@ div.charsheet > div.content div.tabHistorique div.blessuresGraves { */ } div.charsheet > div.content div.tabHistorique div.blessuresGraves h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -35377,7 +35233,6 @@ div.charsheet > div.content div.tabHistorique div.traumas { */ } div.charsheet > div.content div.tabHistorique div.traumas h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -35554,7 +35409,6 @@ div.charsheet > div.content div.tabArt div.domaineArtistique { justify-content: space-between; } div.charsheet > div.content div.tabArt div.domaineArtistique h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -35823,7 +35677,6 @@ div.charsheet > div.content div.tabArt div.oeuvreArt { */ } div.charsheet > div.content div.tabArt div.oeuvreArt h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -35941,7 +35794,6 @@ div.charsheet > div.content div.tabArt div.oeuvreArtCree { */ } div.charsheet > div.content div.tabArt div.oeuvreArtCree h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -36065,7 +35917,6 @@ div.charsheet > div.content div.tabHeroisme div.cartes { */ } div.charsheet > div.content div.tabHeroisme div.cartes h1.titre { - display: flex; width: 100%; align-content: baseline; background: RGB(93, 111, 179); @@ -36139,7 +35990,6 @@ div.charsheet > div.content div.tabHeroisme div.capacites { */ } div.charsheet > div.content div.tabHeroisme div.capacites h1.titre { - display: flex; width: 100%; align-content: baseline; background: RGB(93, 111, 179); @@ -36276,7 +36126,6 @@ div.charsheet > div.content div.tabVehicule div.donnees { */ } div.charsheet > div.content div.tabVehicule div.donnees h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -36358,7 +36207,6 @@ div.charsheet > div.content div.tabVehicule div.herauts { */ } div.charsheet > div.content div.tabVehicule div.herauts h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -36441,7 +36289,6 @@ div.charsheet > div.content div.tabVehicule div.jet { */ } div.charsheet > div.content div.tabVehicule div.jet h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -36674,7 +36521,6 @@ div.charsheet > div.content div.tabVehicule div.PE { */ } div.charsheet > div.content div.tabVehicule div.PE h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -36770,7 +36616,6 @@ div.charsheet > div.content div.tabVehicule div.styleCombat { */ } div.charsheet > div.content div.tabVehicule div.styleCombat h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -36948,7 +36793,6 @@ div.charsheet > div.content div.tabVehicule div.armesVehicule { */ } div.charsheet > div.content div.tabVehicule div.armesVehicule h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -38351,7 +38195,6 @@ div.charsheet > div.content div.tabVehicule div.notes { */ } div.charsheet > div.content div.tabVehicule div.notes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -38413,7 +38256,6 @@ div.charsheet > div.content div.tabVehicule div.effetsArmes { */ } div.charsheet > div.content div.tabVehicule div.effetsArmes h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -38577,7 +38419,6 @@ div.charsheet > div.content div.tabMechaArmure div.selectionMA { margin-bottom: 10px; } div.charsheet > div.content div.tabMechaArmure div.selectionMA h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -38652,7 +38493,6 @@ div.charsheet > div.content div.tabMechaArmure div.donnees { */ } div.charsheet > div.content div.tabMechaArmure div.donnees h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -38749,7 +38589,6 @@ div.charsheet > div.content div.tabMechaArmure div.autoReparation { */ } div.charsheet > div.content div.tabMechaArmure div.autoReparation h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -38855,7 +38694,6 @@ div.charsheet > div.content div.tabMechaArmure div.styleCombat { */ } div.charsheet > div.content div.tabMechaArmure div.styleCombat h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -38984,7 +38822,6 @@ div.charsheet > div.content div.tabMechaArmure div.jet { */ } div.charsheet > div.content div.tabMechaArmure div.jet h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -39177,7 +39014,6 @@ div.charsheet > div.content div.tabMechaArmure div.PE { */ } div.charsheet > div.content div.tabMechaArmure div.PE h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -39327,7 +39163,6 @@ div.charsheet > div.content div.tabMechaArmure div.physiqueMental { */ } div.charsheet > div.content div.tabMechaArmure div.physiqueMental h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -39425,7 +39260,6 @@ div.charsheet > div.content div.tabMechaArmure div.portee { */ } div.charsheet > div.content div.tabMechaArmure div.portee h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -39511,7 +39345,6 @@ div.charsheet > div.content div.tabMechaArmure div.configuration { */ } div.charsheet > div.content div.tabMechaArmure div.configuration h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -39593,7 +39426,6 @@ div.charsheet > div.content div.tabMechaArmure div.archangel div.curse { } div.charsheet > div.content div.tabMechaArmure div.archangel div.offering h1.titre, div.charsheet > div.content div.tabMechaArmure div.archangel div.curse h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -39760,7 +39592,6 @@ div.charsheet > div.content div.tabMechaArmure div.archangel div.podMiracle { margin-bottom: 10px; } div.charsheet > div.content div.tabMechaArmure div.archangel div.podMiracle h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -39986,7 +39817,6 @@ div.charsheet > div.content div.tabMechaArmure div.archangel div.droneEvacuation */ } div.charsheet > div.content div.tabMechaArmure div.archangel div.droneEvacuation h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -40098,7 +39928,6 @@ div.charsheet > div.content div.tabMechaArmure div.archangel div.vol { */ } div.charsheet > div.content div.tabMechaArmure div.archangel div.vol h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -40210,7 +40039,6 @@ div.charsheet > div.content div.tabMechaArmure div.archangel div.vagueSoin { */ } div.charsheet > div.content div.tabMechaArmure div.archangel div.vagueSoin h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -40301,7 +40129,6 @@ div.charsheet > div.content div.tabMechaArmure div.archangel div.canonMetatron { */ } div.charsheet > div.content div.tabMechaArmure div.archangel div.canonMetatron h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -40537,7 +40364,6 @@ div.charsheet > div.content div.tabMechaArmure div.archangel div.canonNoe { */ } div.charsheet > div.content div.tabMechaArmure div.archangel div.canonNoe h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -40678,7 +40504,6 @@ div.charsheet > div.content div.tabMechaArmure div.nephilim div.invulnerabilite */ } div.charsheet > div.content div.tabMechaArmure div.nephilim div.invulnerabilite h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -40848,7 +40673,6 @@ div.charsheet > div.content div.tabMechaArmure div.nephilim div.stationDefense { margin-top: 10px; } div.charsheet > div.content div.tabMechaArmure div.nephilim div.stationDefense h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -41047,7 +40871,6 @@ div.charsheet > div.content div.tabMechaArmure div.nephilim div.jericho { */ } div.charsheet > div.content div.tabMechaArmure div.nephilim div.jericho h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -41176,7 +40999,6 @@ div.charsheet > div.content div.tabMechaArmure div.nephilim div.siegeTower { margin-top: 10px; } div.charsheet > div.content div.tabMechaArmure div.nephilim div.siegeTower h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -41292,7 +41114,6 @@ div.charsheet > div.content div.tabMechaArmure div.nephilim div.droneAirain { div.charsheet > div.content div.tabMechaArmure div.nephilim div.saut h1.titre, div.charsheet > div.content div.tabMechaArmure div.nephilim div.emblem h1.titre, div.charsheet > div.content div.tabMechaArmure div.nephilim div.droneAirain h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -41444,7 +41265,6 @@ div.charsheet > div.content div.tabMechaArmure div.nephilim div.surtur { } div.charsheet > div.content div.tabMechaArmure div.nephilim div.canonMagma h1.titre, div.charsheet > div.content div.tabMechaArmure div.nephilim div.surtur h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -41725,7 +41545,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.souffleDemoniaque { margin-top: 10px; } div.charsheet > div.content div.tabMechaArmure div.demon div.souffleDemoniaque h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -41962,7 +41781,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.bouclierAmrita { margin-top: 10px; } div.charsheet > div.content div.tabMechaArmure div.demon div.bouclierAmrita h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -42132,7 +41950,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.wraith { */ } div.charsheet > div.content div.tabMechaArmure div.demon div.wraith h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -42368,7 +42185,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.nanobrume { margin-top: 10px; } div.charsheet > div.content div.tabMechaArmure div.demon div.nanobrume h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -42503,7 +42319,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.poingsSoniques { */ } div.charsheet > div.content div.tabMechaArmure div.demon div.poingsSoniques h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -42743,7 +42558,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.chocSonique { margin-top: 10px; } div.charsheet > div.content div.tabMechaArmure div.demon div.chocSonique h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -42888,7 +42702,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.saut { */ } div.charsheet > div.content div.tabMechaArmure div.demon div.saut h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -43000,7 +42813,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.inferno { */ } div.charsheet > div.content div.tabMechaArmure div.demon div.inferno h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -43125,7 +42937,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.lamesCinetiques { */ } div.charsheet > div.content div.tabMechaArmure div.demon div.lamesCinetiques h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -43364,7 +43175,6 @@ div.charsheet > div.content div.tabMechaArmure div.demon div.tourelles { */ } div.charsheet > div.content div.tabMechaArmure div.demon div.tourelles h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -43512,7 +43322,6 @@ div.charsheet > div.content div.tabMechaArmure div.subTabImprovisee div.utilisat margin-right: auto; } div.charsheet > div.content div.tabMechaArmure div.subTabImprovisee div.utilisation h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -43682,7 +43491,6 @@ div.charsheet > div.content div.tabMechaArmure div.subTabImprovisee div.liste { margin-top: 10px; } div.charsheet > div.content div.tabMechaArmure div.subTabImprovisee div.liste h1.titre { - display: flex; width: 100%; align-content: baseline; background: transparent; @@ -43955,7 +43763,6 @@ div.charsheet > div.content div.tabEquipage div.equipage { background: RGB(213, 215, 237); } div.charsheet > div.content div.tabEquipage div.equipage h1.titre { - display: flex; width: 100%; align-content: baseline; background: RGB(93, 111, 179); diff --git a/Knight/knight.html b/Knight/knight.html index 147a082425c8..7b57821d5f2f 100644 --- a/Knight/knight.html +++ b/Knight/knight.html @@ -862,6 +862,7 @@ i18n_devasterAnatheme = getTranslationByKey("devaster-anatheme"), i18n_bourreauTenebres = getTranslationByKey("bourreau-tenebres"), i18n_equilibrerBalance = getTranslationByKey("equilibrer-balance"), + i18n_equilibrerBalanceShort = getTranslationByKey("equilibrer-balance-short"), i18n_bourreau = getTranslationByKey("bourreau"), i18n_conviction = getTranslationByKey("conviction"), i18n_devastation = getTranslationByKey("devastation"), @@ -1063,6 +1064,92 @@ return result; } +async function postRoll(computed, gmroll, stringRoll, mainRoll, conditions={}, startString=`&{template:simple} {{Nom=@{name}}}`) { + const isGuidage = conditions.isGuidage || false; + const results = mainRoll.results; + const pairOrImpair = isGuidage === true ? 'cs1cs3cs5cf2cf4cf6s' : 'cs2cs4cs6cf1cf3cf5s'; + const dices = results.jet.dice; + let success = 0; + + success += computed.basejet; + + if(conditions.equilibre && dices.length !== success) { + const notSuccess = parseInt(dices.length)-parseInt(success); + + const relance = await startRoll(`${gmroll} ${startString} {{special1=${i18n_equilibrerBalanceShort}}} {{jet=[[ ${notSuccess}d6${pairOrImpair}]]}}`); + const rRelance = relance.results.jet.dice; + const relancePairOrImpair = isGuidage === true ? 1 : 0; + + const jetRelance = rRelance.reduce((accumulateur, valeurCourante) => { + const vC = valeurCourante; + let nV = 0; + + if (vC % 2 === relancePairOrImpair) { + nV = 1; + } + + return accumulateur + nV; + }, 0); + + const relanceComputed = { + jet: jetRelance, + }; + + finishRoll(relance.rollId, relanceComputed); + + success += relanceComputed.jet; + } + + if (success !== 0 && success === dices.length) { + const isGuidage = conditions.isGuidage || false; + + const exploitRoll = await startRoll(`${gmroll} ${startString} {{special1=${i18n_exploit}}}${stringRoll}`); + const rExploit = exploitRoll.results.jet.dice; + const exploitPairOrImpair = isGuidage === true ? 1 : 0; + + const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { + const vC = valeurCourante; + let nV = 0; + + if (vC % 2 === exploitPairOrImpair) { + nV = 1; + } + + return accumulateur + nV; + }, 0); + + const exploitComputed = { + jet: jetExploit, + }; + + finishRoll(exploitRoll.rollId, exploitComputed); + } +} + +function computeSimpleRoll(mainRoll, bonus = 0, pairOrImpair = 0) { + const results = mainRoll.results; + console.warn(results); + let jet = 0; + let dices = results.jet.dice.reduce((accumulateur, valeurCourante) => { + const vC = valeurCourante; + let nV = 0; + + if (vC % 2 === pairOrImpair) { + nV = 1; + } + + return accumulateur + nV; + }, 0); + + jet += dices; + jet += bonus; + + return { + jet:jet, + basejet:dices, + } +} + var PI = { "msgSlot":0, "msgEnergie":0 @@ -7099,7 +7186,7 @@ let vTCheneSculpte = 0; - if (conditions.bourreau || conditions.equilibre) { + if (conditions.bourreau) { tDegats = diceDegats.reduce((accumulateur, valeurCourante) => { let newV = +valeurCourante; if (newV <= 3) { newV = 4; } @@ -7295,7 +7382,7 @@ } } - if (conditions.devaste || conditions.equilibre) { + if (conditions.devaste) { tViolence = diceViolence.reduce((accumulateur, valeurCourante) => { let newV = valeurCourante; if (newV <= 3) { newV = 4; } @@ -12282,7 +12369,10 @@ }); }); - /* eslint-disable camelcase */ + /* eslint-disable linebreak-style */ +/* eslint-disable max-len */ +/* eslint-disable linebreak-style */ +/* eslint-disable camelcase */ /* eslint-disable no-undef */ on('clicked:domaineArtistique', (info) => { const roll = info.htmlAttributes.value; @@ -12294,9 +12384,10 @@ 'caracteristique2Art', 'caracteristique3Art', 'caracteristique4Art', + 'equilibreBalance', ]; - getAttrs(attributs, (value) => { + getAttrs(attributs, async (value) => { const exec = []; const mod = Number(value.jetModifDes); @@ -12306,6 +12397,7 @@ const C2 = value.caracteristique2Art; const C3 = value.caracteristique3Art; const C4 = value.caracteristique4Art; + const equilibre = +value.equilibreBalance; const C1Nom = C1.slice(2, -1); const C2Nom = C2.slice(2, -1); @@ -12354,41 +12446,22 @@ } if (cRoll.length === 0) { cRoll.push(0); } + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); - exec.push(`{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}+0]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); }); - /* eslint-disable camelcase */ + /* eslint-disable linebreak-style */ +/* eslint-disable camelcase */ /* eslint-disable no-undef */ on('clicked:distanceBard', async (info) => { const roll = info.htmlAttributes.value; @@ -12524,7 +12597,8 @@ finishRoll(finalRoll.rollId, computed); // ROLL }); - /* eslint-disable camelcase */ + /* eslint-disable linebreak-style */ +/* eslint-disable camelcase */ /* eslint-disable no-undef */ const berserkIlluminationRoll = ['berserkIlluminationBlaze', 'berserkIlluminationLantern']; @@ -12644,7 +12718,8 @@ }); }); }); - /* eslint-disable prefer-destructuring */ + /* eslint-disable linebreak-style */ +/* eslint-disable prefer-destructuring */ /* eslint-disable camelcase */ /* eslint-disable max-len */ /* eslint-disable no-undef */ @@ -13059,11 +13134,9 @@ if (pasEnergie === false) { finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -13093,28 +13166,7 @@ finishRoll(finalRoll.rollId, computed); - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); if (hasEnergieRetiree && button === 'repeating_armeautre:armeautrepjvehicule') { setAttrs({ energieVehicule: newEnergie }); @@ -14106,14 +14158,12 @@ finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const tDegats = finalRoll.results.degats.result; const tViolence = finalRoll.results.violence.result; @@ -14149,28 +14199,7 @@ finishRoll(finalRoll.rollId, computed); - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); if (hasEnergieRetiree) { if (energieIsEspoir) { @@ -14194,7 +14223,8 @@ }); // ROLL }); - /* eslint-disable max-len */ + /* eslint-disable linebreak-style */ +/* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ /* eslint-disable camelcase */ /* eslint-disable no-undef */ @@ -15002,11 +15032,9 @@ if (isDevastation && !devaste && !equilibre) { exec.push(`{{vDevastation=${i18n_devastation} ${eDevastationValue} ${i18n_inclus}}}`); } finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -15039,28 +15067,7 @@ finishRoll(finalRoll.rollId, computed); - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); if (hasEnergieRetiree) { if (energieIsEspoir) { @@ -15083,7 +15090,8 @@ } }); }); - /* eslint-disable max-len */ + /* eslint-disable linebreak-style */ +/* eslint-disable max-len */ /* eslint-disable camelcase */ /* eslint-disable prefer-destructuring */ /* eslint-disable no-undef */ @@ -15487,10 +15495,8 @@ exec = firstExec.concat(exec); const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; let rDegats = []; let rViolence = []; @@ -15522,32 +15528,11 @@ const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); }); - /* eslint-disable no-loop-func */ + /* eslint-disable linebreak-style */ +/* eslint-disable no-loop-func */ /* eslint-disable camelcase */ /* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ @@ -15966,11 +15951,9 @@ // ROLL const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -15990,31 +15973,11 @@ finishRoll(finalRoll.rollId, computed); - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); } - /* eslint-disable prefer-destructuring */ + /* eslint-disable linebreak-style */ +/* eslint-disable prefer-destructuring */ /* eslint-disable max-len */ /* eslint-disable camelcase */ /* eslint-disable no-undef */ @@ -16031,9 +15994,11 @@ const attributs = [ 'jetModifDesComp', + 'equilibreBalance', ]; const attrs = await getAttrsAsync(attributs); + const equilibre = +attrs.equilibreBalance; const exec = []; const cRoll = []; @@ -16063,36 +16028,17 @@ exec.push(roll); exec.push(`{{cBase=${aNom}}}`); - exec.push(`{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}]]}}`); - - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); }); @@ -16284,11 +16230,9 @@ const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -16305,29 +16249,7 @@ const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); on('clicked:repeating_armeDruidLion:combatdruidroll', async (info) => { @@ -17255,12 +17177,9 @@ if (pasDEnergie === false) { const finalRoll = await startRoll(exec.join(' ')); - - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -17292,29 +17211,7 @@ const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions, conditionsValues); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=^{druid-companion-lion}}} {{special1=@{name}}} {{special1B=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions, '&{template:simple} {{Nom=^{druid-companion-lion}}} {{special1=@{name}}}'); if (hasEnergieRetiree) { setAttrs({ @@ -17377,36 +17274,17 @@ exec.push(roll); exec.push(`{{cBase=${aNom}}}`); - exec.push(`{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}]]}}`); - - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); }); @@ -17598,11 +17476,9 @@ const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const tDegats = finalRoll.results.degats.result; const tViolence = finalRoll.results.violence.result; @@ -17619,29 +17495,7 @@ const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`$${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); on('clicked:repeating_armeMALDruidLion:combatdruidroll', async (info) => { @@ -18552,11 +18406,9 @@ if (pasDEnergie === false) { const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -18588,29 +18440,7 @@ const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions, conditionsValues); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=^{druid-companion-lion}}} {{special1=@{name}}} {{special1B=${i18n_exploit}}} {{jet=[[ {[[{${tJetDice}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions, '&{template:simple} {{Nom=^{druid-companion-lion}}} {{special1=@{name}}}'); if (hasEnergieRetiree) { setAttrs({ @@ -20937,7 +20767,8 @@ } }); }); - /* eslint-disable default-case */ + /* eslint-disable linebreak-style */ +/* eslint-disable default-case */ /* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ /* eslint-disable camelcase */ @@ -20956,9 +20787,11 @@ 'MALWarriorScholarA', 'MALWarriorHeraldA', 'MALWarriorScoutA', + 'equilibreBalance', ]; const attrs = await getAttrsAsync(attributs); + const equilibre = +attrs.equilibreBalance; const armureL = attrs.armureLegende; @@ -21054,36 +20887,17 @@ bonus = bonus.concat(OD); bonus = bonus.concat(ODMALWarrior); - exec.push(`{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}+0]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); }); @@ -21564,7 +21378,8 @@ } }); }); - /* eslint-disable no-undef */ + /* eslint-disable linebreak-style */ +/* eslint-disable no-undef */ const priestRollMechanic = ['priestJetMechanicContact', 'priestJetMechanicDistance', 'rollMALPriestJetMechanicContact', 'rollMALPriestJetMechanicDistance']; priestRollMechanic.forEach((button) => { @@ -21586,7 +21401,8 @@ }); }); }); - /* eslint-disable default-case */ + /* eslint-disable linebreak-style */ +/* eslint-disable default-case */ /* eslint-disable camelcase */ /* eslint-disable prefer-destructuring */ /* eslint-disable max-len */ @@ -22383,11 +22199,9 @@ if (!pasEnergie) { finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -22407,29 +22221,7 @@ const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); setAttrs({ energiePJ: resultatEnergie, @@ -22444,7 +22236,8 @@ finishRoll(finalRoll.rollId, {}); } }); - /* eslint-disable no-undef */ + /* eslint-disable linebreak-style */ +/* eslint-disable no-undef */ on('clicked:recuperation', (info) => { const roll = info.htmlAttributes.value; @@ -22472,7 +22265,8 @@ }); }); }); - /* eslint-disable default-case */ + /* eslint-disable linebreak-style */ +/* eslint-disable default-case */ /* eslint-disable camelcase */ /* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ @@ -22489,11 +22283,13 @@ 'caracteristique4', 'discretion', ODValue.discretion, + 'equilibreBalance', ]; attributs = attributs.concat(listBase, listArmure, listArmureLegende); const attrs = await getAttrsAsync(attributs); + const equilibre = +attrs.equilibreBalance; const armure = attrs.armure; const armureL = attrs.armureLegende; @@ -22633,38 +22429,19 @@ bonus = bonus.concat(ODMALShaman); bonus = bonus.concat(ODMALWarrior); - exec.push(`{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}+0]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - if (isConditionnel === true) { exec.push('{{conditionnel=true}}'); } - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); @@ -22680,11 +22457,13 @@ 'caracteristique4', 'discretion', ODValue.discretion, + 'equilibreBalance', ]; attributs = attributs.concat(listBase, listArmureLegende); const attrs = await getAttrsAsync(attributs); + const equilibre = +attrs.equilibreBalance; const armureL = attrs.armureLegende; @@ -22806,36 +22585,17 @@ if (isConditionnel === true) { exec.push('{{conditionnel=true}}'); } - exec.push(`{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}+0]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); @@ -24646,7 +24406,8 @@ }); }); }); - /* eslint-disable default-case */ + /* eslint-disable linebreak-style */ +/* eslint-disable default-case */ /* eslint-disable camelcase */ /* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ @@ -24948,29 +24709,7 @@ const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, [], tViolence, rViolence, [], conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); on('clicked:distanceWizardOriflamme', async (info) => { diff --git a/Knight/pug/js/_functionsWeapons.js b/Knight/pug/js/_functionsWeapons.js index 086a9fe4db1e..d33f8ff531c3 100644 --- a/Knight/pug/js/_functionsWeapons.js +++ b/Knight/pug/js/_functionsWeapons.js @@ -4240,7 +4240,7 @@ function updateRoll(roll, diceJet, bonusJet, totalDegats, diceDegats, bonusDegat let vTCheneSculpte = 0; - if (conditions.bourreau || conditions.equilibre) { + if (conditions.bourreau) { tDegats = diceDegats.reduce((accumulateur, valeurCourante) => { let newV = +valeurCourante; if (newV <= 3) { newV = 4; } @@ -4436,7 +4436,7 @@ function updateRoll(roll, diceJet, bonusJet, totalDegats, diceDegats, bonusDegat } } - if (conditions.devaste || conditions.equilibre) { + if (conditions.devaste) { tViolence = diceViolence.reduce((accumulateur, valeurCourante) => { let newV = valeurCourante; if (newV <= 3) { newV = 4; } diff --git a/Knight/pug/js/library.js b/Knight/pug/js/library.js index b81fa7f57429..1e261b726ea3 100644 --- a/Knight/pug/js/library.js +++ b/Knight/pug/js/library.js @@ -860,6 +860,7 @@ const i18n_deplacement = getTranslationByKey("deplacement"), i18n_devasterAnatheme = getTranslationByKey("devaster-anatheme"), i18n_bourreauTenebres = getTranslationByKey("bourreau-tenebres"), i18n_equilibrerBalance = getTranslationByKey("equilibrer-balance"), + i18n_equilibrerBalanceShort = getTranslationByKey("equilibrer-balance-short"), i18n_bourreau = getTranslationByKey("bourreau"), i18n_conviction = getTranslationByKey("conviction"), i18n_devastation = getTranslationByKey("devastation"), @@ -1061,6 +1062,92 @@ function isApplied(e) { return result; } +async function postRoll(computed, gmroll, stringRoll, mainRoll, conditions={}, startString=`&{template:simple} {{Nom=@{name}}}`) { + const isGuidage = conditions.isGuidage || false; + const results = mainRoll.results; + const pairOrImpair = isGuidage === true ? 'cs1cs3cs5cf2cf4cf6s' : 'cs2cs4cs6cf1cf3cf5s'; + const dices = results.jet.dice; + let success = 0; + + success += computed.basejet; + + if(conditions.equilibre && dices.length !== success) { + const notSuccess = parseInt(dices.length)-parseInt(success); + + const relance = await startRoll(`${gmroll} ${startString} {{special1=${i18n_equilibrerBalanceShort}}} {{jet=[[ ${notSuccess}d6${pairOrImpair}]]}}`); + const rRelance = relance.results.jet.dice; + const relancePairOrImpair = isGuidage === true ? 1 : 0; + + const jetRelance = rRelance.reduce((accumulateur, valeurCourante) => { + const vC = valeurCourante; + let nV = 0; + + if (vC % 2 === relancePairOrImpair) { + nV = 1; + } + + return accumulateur + nV; + }, 0); + + const relanceComputed = { + jet: jetRelance, + }; + + finishRoll(relance.rollId, relanceComputed); + + success += relanceComputed.jet; + } + + if (success !== 0 && success === dices.length) { + const isGuidage = conditions.isGuidage || false; + + const exploitRoll = await startRoll(`${gmroll} ${startString} {{special1=${i18n_exploit}}}${stringRoll}`); + const rExploit = exploitRoll.results.jet.dice; + const exploitPairOrImpair = isGuidage === true ? 1 : 0; + + const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { + const vC = valeurCourante; + let nV = 0; + + if (vC % 2 === exploitPairOrImpair) { + nV = 1; + } + + return accumulateur + nV; + }, 0); + + const exploitComputed = { + jet: jetExploit, + }; + + finishRoll(exploitRoll.rollId, exploitComputed); + } +} + +function computeSimpleRoll(mainRoll, bonus = 0, pairOrImpair = 0) { + const results = mainRoll.results; + console.warn(results); + let jet = 0; + let dices = results.jet.dice.reduce((accumulateur, valeurCourante) => { + const vC = valeurCourante; + let nV = 0; + + if (vC % 2 === pairOrImpair) { + nV = 1; + } + + return accumulateur + nV; + }, 0); + + jet += dices; + jet += bonus; + + return { + jet:jet, + basejet:dices, + } +} + var PI = { "msgSlot":0, "msgEnergie":0 diff --git a/Knight/pug/js/rolls/pj/art.js b/Knight/pug/js/rolls/pj/art.js index 25e16bcb3678..1d6d4b956a2b 100644 --- a/Knight/pug/js/rolls/pj/art.js +++ b/Knight/pug/js/rolls/pj/art.js @@ -1,3 +1,6 @@ +/* eslint-disable linebreak-style */ +/* eslint-disable max-len */ +/* eslint-disable linebreak-style */ /* eslint-disable camelcase */ /* eslint-disable no-undef */ on('clicked:domaineArtistique', (info) => { @@ -10,9 +13,10 @@ on('clicked:domaineArtistique', (info) => { 'caracteristique2Art', 'caracteristique3Art', 'caracteristique4Art', + 'equilibreBalance', ]; - getAttrs(attributs, (value) => { + getAttrs(attributs, async (value) => { const exec = []; const mod = Number(value.jetModifDes); @@ -22,6 +26,7 @@ on('clicked:domaineArtistique', (info) => { const C2 = value.caracteristique2Art; const C3 = value.caracteristique3Art; const C4 = value.caracteristique4Art; + const equilibre = +value.equilibreBalance; const C1Nom = C1.slice(2, -1); const C2Nom = C2.slice(2, -1); @@ -70,37 +75,17 @@ on('clicked:domaineArtistique', (info) => { } if (cRoll.length === 0) { cRoll.push(0); } - - exec.push(`{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}+0]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); + + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); }); diff --git a/Knight/pug/js/rolls/pj/bard.js b/Knight/pug/js/rolls/pj/bard.js index db11f97677ff..ae55e212e615 100644 --- a/Knight/pug/js/rolls/pj/bard.js +++ b/Knight/pug/js/rolls/pj/bard.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable camelcase */ /* eslint-disable no-undef */ on('clicked:distanceBard', async (info) => { diff --git a/Knight/pug/js/rolls/pj/berserk.js b/Knight/pug/js/rolls/pj/berserk.js index 640f436c236b..f47a10b6f00d 100644 --- a/Knight/pug/js/rolls/pj/berserk.js +++ b/Knight/pug/js/rolls/pj/berserk.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable camelcase */ /* eslint-disable no-undef */ const berserkIlluminationRoll = ['berserkIlluminationBlaze', 'berserkIlluminationLantern']; diff --git a/Knight/pug/js/rolls/pj/combatAutre.js b/Knight/pug/js/rolls/pj/combatAutre.js index 7ddb14ead13f..26546529de15 100644 --- a/Knight/pug/js/rolls/pj/combatAutre.js +++ b/Knight/pug/js/rolls/pj/combatAutre.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable prefer-destructuring */ /* eslint-disable camelcase */ /* eslint-disable max-len */ @@ -413,11 +414,9 @@ rollCombatAutre.forEach((button) => { if (pasEnergie === false) { finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -447,28 +446,7 @@ rollCombatAutre.forEach((button) => { finishRoll(finalRoll.rollId, computed); - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); if (hasEnergieRetiree && button === 'repeating_armeautre:armeautrepjvehicule') { setAttrs({ energieVehicule: newEnergie }); diff --git a/Knight/pug/js/rolls/pj/combatContact.js b/Knight/pug/js/rolls/pj/combatContact.js index 547a4964be99..ae189b857106 100644 --- a/Knight/pug/js/rolls/pj/combatContact.js +++ b/Knight/pug/js/rolls/pj/combatContact.js @@ -974,14 +974,12 @@ rollCombatContact.forEach((button) => { finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const tDegats = finalRoll.results.degats.result; const tViolence = finalRoll.results.violence.result; @@ -1017,28 +1015,7 @@ rollCombatContact.forEach((button) => { finishRoll(finalRoll.rollId, computed); - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); if (hasEnergieRetiree) { if (energieIsEspoir) { diff --git a/Knight/pug/js/rolls/pj/combatDistance.js b/Knight/pug/js/rolls/pj/combatDistance.js index c6949927474e..0a9941fc60d3 100644 --- a/Knight/pug/js/rolls/pj/combatDistance.js +++ b/Knight/pug/js/rolls/pj/combatDistance.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ /* eslint-disable camelcase */ @@ -806,11 +807,9 @@ rollCombatDistance.forEach((button) => { if (isDevastation && !devaste && !equilibre) { exec.push(`{{vDevastation=${i18n_devastation} ${eDevastationValue} ${i18n_inclus}}}`); } finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -843,28 +842,7 @@ rollCombatDistance.forEach((button) => { finishRoll(finalRoll.rollId, computed); - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); if (hasEnergieRetiree) { if (energieIsEspoir) { diff --git a/Knight/pug/js/rolls/pj/combatGrenade.js b/Knight/pug/js/rolls/pj/combatGrenade.js index 1128d2b24a79..24c377464523 100644 --- a/Knight/pug/js/rolls/pj/combatGrenade.js +++ b/Knight/pug/js/rolls/pj/combatGrenade.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable max-len */ /* eslint-disable camelcase */ /* eslint-disable prefer-destructuring */ @@ -402,10 +403,8 @@ rollCombatGrenade.forEach((button) => { exec = firstExec.concat(exec); const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; let rDegats = []; let rViolence = []; @@ -437,28 +436,6 @@ rollCombatGrenade.forEach((button) => { const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); }); diff --git a/Knight/pug/js/rolls/pj/combatImprovise.js b/Knight/pug/js/rolls/pj/combatImprovise.js index a54af3e71dc7..2f949af37262 100644 --- a/Knight/pug/js/rolls/pj/combatImprovise.js +++ b/Knight/pug/js/rolls/pj/combatImprovise.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable no-loop-func */ /* eslint-disable camelcase */ /* eslint-disable max-len */ @@ -417,11 +418,9 @@ for (let i = 0; i < rollCombatImprovise; i += 1) { // ROLL const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -441,27 +440,6 @@ for (let i = 0; i < rollCombatImprovise; i += 1) { finishRoll(finalRoll.rollId, computed); - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); } diff --git a/Knight/pug/js/rolls/pj/druid.js b/Knight/pug/js/rolls/pj/druid.js index d8a1f20a122b..47e375a12b40 100644 --- a/Knight/pug/js/rolls/pj/druid.js +++ b/Knight/pug/js/rolls/pj/druid.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable prefer-destructuring */ /* eslint-disable max-len */ /* eslint-disable camelcase */ @@ -15,9 +16,11 @@ druidRollSimple.forEach((button) => { const attributs = [ 'jetModifDesComp', + 'equilibreBalance', ]; const attrs = await getAttrsAsync(attributs); + const equilibre = +attrs.equilibreBalance; const exec = []; const cRoll = []; @@ -47,36 +50,17 @@ druidRollSimple.forEach((button) => { exec.push(roll); exec.push(`{{cBase=${aNom}}}`); - exec.push(`{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}]]}}`); - - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); }); @@ -268,11 +252,9 @@ on('clicked:druidLionArmeBase', async (info) => { const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -289,29 +271,7 @@ on('clicked:druidLionArmeBase', async (info) => { const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); on('clicked:repeating_armeDruidLion:combatdruidroll', async (info) => { @@ -1239,12 +1199,9 @@ on('clicked:repeating_armeDruidLion:combatdruidroll', async (info) => { if (pasDEnergie === false) { const finalRoll = await startRoll(exec.join(' ')); - - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -1276,29 +1233,7 @@ on('clicked:repeating_armeDruidLion:combatdruidroll', async (info) => { const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions, conditionsValues); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=^{druid-companion-lion}}} {{special1=@{name}}} {{special1B=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions, '&{template:simple} {{Nom=^{druid-companion-lion}}} {{special1=@{name}}}'); if (hasEnergieRetiree) { setAttrs({ @@ -1361,36 +1296,17 @@ MALDruidRollSimple.forEach((button) => { exec.push(roll); exec.push(`{{cBase=${aNom}}}`); - exec.push(`{{jet=[[ {{[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0}]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}]]}}`); - - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); }); @@ -1582,11 +1498,9 @@ on('clicked:MALDruidLionArmeBase', async (info) => { const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const tDegats = finalRoll.results.degats.result; const tViolence = finalRoll.results.violence.result; @@ -1603,29 +1517,7 @@ on('clicked:MALDruidLionArmeBase', async (info) => { const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`$${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); on('clicked:repeating_armeMALDruidLion:combatdruidroll', async (info) => { @@ -2536,11 +2428,9 @@ on('clicked:repeating_armeMALDruidLion:combatdruidroll', async (info) => { if (pasDEnergie === false) { const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -2572,29 +2462,7 @@ on('clicked:repeating_armeMALDruidLion:combatdruidroll', async (info) => { const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions, conditionsValues); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=^{druid-companion-lion}}} {{special1=@{name}}} {{special1B=${i18n_exploit}}} {{jet=[[ {[[{${tJetDice}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = isGuidage === true ? 1 : 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions, '&{template:simple} {{Nom=^{druid-companion-lion}}} {{special1=@{name}}}'); if (hasEnergieRetiree) { setAttrs({ diff --git a/Knight/pug/js/rolls/pj/monk.js b/Knight/pug/js/rolls/pj/monk.js index 5e4baf4d9ec4..5650310ff3f7 100644 --- a/Knight/pug/js/rolls/pj/monk.js +++ b/Knight/pug/js/rolls/pj/monk.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable default-case */ /* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ @@ -17,9 +18,11 @@ monkZenRoll.forEach((button) => { 'MALWarriorScholarA', 'MALWarriorHeraldA', 'MALWarriorScoutA', + 'equilibreBalance', ]; const attrs = await getAttrsAsync(attributs); + const equilibre = +attrs.equilibreBalance; const armureL = attrs.armureLegende; @@ -115,36 +118,17 @@ monkZenRoll.forEach((button) => { bonus = bonus.concat(OD); bonus = bonus.concat(ODMALWarrior); - exec.push(`{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}+0]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); }); diff --git a/Knight/pug/js/rolls/pj/priest.js b/Knight/pug/js/rolls/pj/priest.js index 434ca2fae5e2..bbc584a3fa44 100644 --- a/Knight/pug/js/rolls/pj/priest.js +++ b/Knight/pug/js/rolls/pj/priest.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable no-undef */ const priestRollMechanic = ['priestJetMechanicContact', 'priestJetMechanicDistance', 'rollMALPriestJetMechanicContact', 'rollMALPriestJetMechanicDistance']; diff --git a/Knight/pug/js/rolls/pj/ranger.js b/Knight/pug/js/rolls/pj/ranger.js index 6233127c375c..b5769d50f9de 100644 --- a/Knight/pug/js/rolls/pj/ranger.js +++ b/Knight/pug/js/rolls/pj/ranger.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable default-case */ /* eslint-disable camelcase */ /* eslint-disable prefer-destructuring */ @@ -795,11 +796,9 @@ on('clicked:distanceRangerLongbow', async (info) => { if (!pasEnergie) { finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.bonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -819,29 +818,7 @@ on('clicked:distanceRangerLongbow', async (info) => { const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, bonusDegats, tViolence, rViolence, bonusViolence, conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); setAttrs({ energiePJ: resultatEnergie, diff --git a/Knight/pug/js/rolls/pj/recuperation.js b/Knight/pug/js/rolls/pj/recuperation.js index 80b2b675de62..b91107b3b90f 100644 --- a/Knight/pug/js/rolls/pj/recuperation.js +++ b/Knight/pug/js/rolls/pj/recuperation.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable no-undef */ on('clicked:recuperation', (info) => { const roll = info.htmlAttributes.value; diff --git a/Knight/pug/js/rolls/pj/simple.js b/Knight/pug/js/rolls/pj/simple.js index bf73e8511bb3..22e62bc9e11a 100644 --- a/Knight/pug/js/rolls/pj/simple.js +++ b/Knight/pug/js/rolls/pj/simple.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable default-case */ /* eslint-disable camelcase */ /* eslint-disable max-len */ @@ -15,11 +16,13 @@ on('clicked:simple clicked:simpleRogue', async (info) => { 'caracteristique4', 'discretion', ODValue.discretion, + 'equilibreBalance', ]; attributs = attributs.concat(listBase, listArmure, listArmureLegende); const attrs = await getAttrsAsync(attributs); + const equilibre = +attrs.equilibreBalance; const armure = attrs.armure; const armureL = attrs.armureLegende; @@ -159,38 +162,19 @@ on('clicked:simple clicked:simpleRogue', async (info) => { bonus = bonus.concat(ODMALShaman); bonus = bonus.concat(ODMALWarrior); - exec.push(`{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}+0]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - if (isConditionnel === true) { exec.push('{{conditionnel=true}}'); } - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); + + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); @@ -206,11 +190,13 @@ on('clicked:simplePriest', async (info) => { 'caracteristique4', 'discretion', ODValue.discretion, + 'equilibreBalance', ]; attributs = attributs.concat(listBase, listArmureLegende); const attrs = await getAttrsAsync(attributs); + const equilibre = +attrs.equilibreBalance; const armureL = attrs.armureLegende; @@ -332,36 +318,17 @@ on('clicked:simplePriest', async (info) => { if (isConditionnel === true) { exec.push('{{conditionnel=true}}'); } - exec.push(`{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`); - exec.push(`{{tBonus=[[${bonus.join('+')}+0]]}}`); - exec.push(`{{Exploit=[[${cRoll.join('+')}]]}}`); - - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; - const tBonus = results.results.tBonus.result; - const tExploit = results.results.Exploit.result; - - const total = tJet + tBonus; - - finishRoll( - results.rollId, - { - jet: total, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}{{jet=[[ {[[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s%2}=0]]}}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } + const bonusTotal = bonus.reduce((accumulateur, valeurCourante) => parseInt(accumulateur, 10) + parseInt(valeurCourante, 10), 0); + const stringRoll = `{{jet=[[ [[{${cRoll.join('+')}, 0}kh1]]d6cs2cs4cs6cf1cf3cf5s]]}}`; + exec.push(stringRoll); + exec.push('{{basejet=[[0]]}}'); + exec.push(`{{tBonus=[[${bonusTotal}]]}}`); + const finalRoll = await startRoll(exec.join(' ')); + const computed = computeSimpleRoll(finalRoll, bonusTotal); + + finishRoll(finalRoll.rollId, computed); + await postRoll(computed, roll, stringRoll, finalRoll, { + equilibre, }); }); diff --git a/Knight/pug/js/rolls/pj/wizard.js b/Knight/pug/js/rolls/pj/wizard.js index bc297565a73e..976faa9b8a7a 100644 --- a/Knight/pug/js/rolls/pj/wizard.js +++ b/Knight/pug/js/rolls/pj/wizard.js @@ -1,3 +1,4 @@ +/* eslint-disable linebreak-style */ /* eslint-disable default-case */ /* eslint-disable camelcase */ /* eslint-disable max-len */ @@ -279,11 +280,9 @@ on('clicked:distanceWizardBorealis', async (info) => { // ROLL const finalRoll = await startRoll(exec.join(' ')); - const tJet = finalRoll.results.jet.result; const rJet = finalRoll.results.jet.dice; const tBonus = finalRoll.results.tBonus.result; - const tExploit = finalRoll.results.Exploit.result; const rDegats = finalRoll.results.degats.dice; const rViolence = finalRoll.results.violence.dice; @@ -300,29 +299,7 @@ on('clicked:distanceWizardBorealis', async (info) => { const computed = updateRoll(finalRoll, rJet, tBonus, tDegats, rDegats, [], tViolence, rViolence, [], conditions); finishRoll(finalRoll.rollId, computed); - - if (tJet !== 0 && computed.basejet === tExploit) { - const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); - const rExploit = exploitRoll.results.jet.dice; - const exploitPairOrImpair = 0; - - const jetExploit = rExploit.reduce((accumulateur, valeurCourante) => { - const vC = valeurCourante; - let nV = 0; - - if (vC % 2 === exploitPairOrImpair) { - nV = 1; - } - - return accumulateur + nV; - }, 0); - - const exploitComputed = { - jet: jetExploit, - }; - - finishRoll(exploitRoll.rollId, exploitComputed); - } + await postRoll(computed, roll, jet, finalRoll, conditions); }); on('clicked:distanceWizardOriflamme', async (info) => { diff --git a/Knight/scss/files/_library.scss b/Knight/scss/files/_library.scss index 5beed77c11f0..abd0e063c872 100644 --- a/Knight/scss/files/_library.scss +++ b/Knight/scss/files/_library.scss @@ -474,7 +474,6 @@ } h1.titre { - display: flex; width: 100%; align-content: baseline; background: $background; diff --git a/Knight/translation.json b/Knight/translation.json index f61c9f5d042e..c086a50d187e 100644 --- a/Knight/translation.json +++ b/Knight/translation.json @@ -1318,6 +1318,7 @@ "devaster-anatheme":"Dévaster l'Anathème actif", "bourreau-tenebres":"Bourreau des ténèbres actif", "equilibrer-balance":"Équilibrer la balance actif", + "equilibrer-balance-short":"Équilibrer la balance", "membre-section-kraken":"Membre de la section Kraken.", "codex-fm-4":"Ajouter les grenades / effets du codex FM 4.", "guidage":"Guidage",