From c9fd0690a3609c17be86be040fa478409542aeae Mon Sep 17 00:00:00 2001 From: Zakarik Date: Fri, 14 Jan 2022 18:12:30 +0100 Subject: [PATCH 1/2] [Knight] Bugfix Roll NPC / Other Weapons --- Knight/knight.html | 498 +++++++++++----------- Knight/pug/js/_functionsWeapons.js | 18 + Knight/pug/js/rolls/pj/combatAutre.js | 81 ++-- Knight/pug/js/rolls/pnj/combatAutre.js | 85 ++-- Knight/pug/js/rolls/pnj/combatContact.js | 125 +++--- Knight/pug/js/rolls/pnj/combatDistance.js | 109 ++--- Knight/pug/js/rolls/pnj/combatGrenade.js | 80 ++-- 7 files changed, 496 insertions(+), 500 deletions(-) diff --git a/Knight/knight.html b/Knight/knight.html index 64e8f54468..7079901417 100644 --- a/Knight/knight.html +++ b/Knight/knight.html @@ -3321,6 +3321,8 @@ function getWeaponsEffectsPNJ(prefix, data, addChair, vChair, vMachine, vMachine let isMeurtrier = false; let isOrfevrerie = false; let isSilencieux = false; + let isFureur = false; + let isUltraviolence = false; const eAnatheme = isApplied(data[`${prefix}anatheme`]); const eAntiAnatheme = isApplied(data[`${prefix}antiAnatheme`]); @@ -3458,6 +3460,7 @@ function getWeaponsEffectsPNJ(prefix, data, addChair, vChair, vMachine, vMachine if (eFureur) { isConditionnelV = true; + isFureur = true; firstExec.push(`{{fureurValue=[[${eFureurV}D6]]}}`); @@ -3550,6 +3553,7 @@ function getWeaponsEffectsPNJ(prefix, data, addChair, vChair, vMachine, vMachine if (eUltraviolence) { isConditionnelV = true; + isUltraviolence = true; firstExec.push(`{{ultraviolenceValue=[[${eUltraviolenceV}D6]]}}`); @@ -3624,6 +3628,8 @@ function getWeaponsEffectsPNJ(prefix, data, addChair, vChair, vMachine, vMachine result.isMeurtrier = isMeurtrier; result.isOrfevrerie = isOrfevrerie; result.isSilencieux = isSilencieux; + result.isFureur = isFureur; + result.isUltraviolence = isUltraviolence; result.attaquesSurprises = attaquesSurprises; result.attaquesSurprisesValue = attaquesSurprisesValue; @@ -3680,6 +3686,8 @@ function getWeaponsEffectsAutre(prefix, effet) { let isSilencieux = false; let isTenebricide = false; let isTirRafale = false; + let isFureur = false; + let isUltraviolence = false; const eAntiAnatheme = isApplied(effet[`${prefix}antiAnatheme`]); const eAntiVehicule = isApplied(effet[`${prefix}antiVehicule`]); @@ -3815,6 +3823,7 @@ function getWeaponsEffectsAutre(prefix, effet) { if (eFureur) { isConditionnelV = true; + isFureur = true; firstExec.push(`{{fureurValue=[[${eFureurV}D6]]}}`); @@ -3894,6 +3903,7 @@ function getWeaponsEffectsAutre(prefix, effet) { if (eUltraviolence) { isConditionnelV = true; + isUltraviolence = true; firstExec.push(`{{ultraviolenceValue=[[${eUltraviolenceV}D6]]}}`); @@ -3974,6 +3984,8 @@ function getWeaponsEffectsAutre(prefix, effet) { result.isAssistantAttaque = isAssistantAttaque; result.isAntiAnatheme = isAntiAnatheme; result.isTirRafale = isTirRafale; + result.isFureur = isFureur; + result.isUltraviolence = isUltraviolence; result.eLumiere = eLumiere; result.isELumiere = isELumiere; @@ -4039,6 +4051,8 @@ function getWeaponsEffectsAutrePNJ(prefix, effet) { let isSilencieux = false; let isTenebricide = false; let isTirRafale = false; + let isUltraviolence = false; + let isFureur = false; const eAnatheme = isApplied(effet[`${prefix}anatheme`]); const eAntiAnatheme = isApplied(effet[`${prefix}antiAnatheme`]); @@ -4175,6 +4189,7 @@ function getWeaponsEffectsAutrePNJ(prefix, effet) { if (eFureur) { isConditionnelV = true; + isFureur = true; firstExec.push(`{{fureurValue=[[${eFureurV}D6]]}}`); @@ -4254,6 +4269,7 @@ function getWeaponsEffectsAutrePNJ(prefix, effet) { if (eUltraviolence) { isConditionnelV = true; + isUltraviolence = true; firstExec.push(`{{ultraviolenceValue=[[${eUltraviolenceV}D6]]}}`); @@ -4336,6 +4352,8 @@ function getWeaponsEffectsAutrePNJ(prefix, effet) { result.isAssistantAttaque = isAssistantAttaque; result.isAntiAnatheme = isAntiAnatheme; result.isTirRafale = isTirRafale; + result.isFureur = isFureur; + result.isUltraviolence = isUltraviolence; result.eLumiere = eLumiere; result.isELumiere = isELumiere; @@ -11748,6 +11766,7 @@ rollCombatAutre.forEach((button) => { let vCadence = 0; let isDestructeur = false; let vDestructeur = 0; + let isFureur = false; let isMeurtrier = false; let vMeurtrier = 0; let nowSilencieux = false; @@ -11755,6 +11774,8 @@ rollCombatAutre.forEach((button) => { let isTenebricide = false; let isTirRafale = false; let isChambreDouble = false; + let isUltraviolence = false; + let isSurprise = false; let isELumiere = false; let lumiereValue = 0; @@ -11792,6 +11813,10 @@ rollCombatAutre.forEach((button) => { isMeurtrier = effets.isMeurtrier; vMeurtrier = effets.vMeurtrier; + isFureur = effets.isFureur; + + isUltraviolence = effets.isUltraviolence; + nowSilencieux = effets.nowSilencieux; isTenebricide = effets.isTenebricide; @@ -12005,6 +12030,8 @@ rollCombatAutre.forEach((button) => { exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(attaquesSurprisesCondition); + + isSurprise = true; } if (isELumiere) { autresEffets.push(`${i18n_lumiere} ${lumiereValue}`); } @@ -12036,57 +12063,47 @@ rollCombatAutre.forEach((button) => { exec = firstExec.concat(exec); - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; + // ROLL + const finalRoll = await startRoll(exec.join(' ')); + const tJet = finalRoll.results.jet.result; - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const conditions = { + isTenebricide, + isDestructeur, + isFureur, + isSurprise, + isMeurtrier, + isUltraviolence, + }; - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); - const tFureur = results.results.fureurValue; - let vTFureur = 0; + const finalComputed = { + jet: tJet + tBonus, + }; - if (tFureur !== undefined) { vTFureur = tFureur.dice[0] + tFureur.dice[1]; } + Object.assign(finalComputed, computed); - const tUltraviolence = results.results.ultraviolenceValue; + finishRoll(finalRoll.rollId, finalComputed); - let vTUltraviolence = 0; + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; + const exploitComputed = { + jet: tRExploit, + }; - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } - - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - fureurValue: vTFureur, - ultraviolenceValue: vTUltraviolence, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } - }); + finishRoll(exploitRoll.rollId, exploitComputed); + } }); }); /* eslint-disable max-len */ @@ -23599,6 +23616,10 @@ rollCombatPNJContact.forEach((button) => { let isOrfevrerie = false; let isSilencieux = false; + let isFureur = false; + let isUltraviolence = false; + let isSurprise = false; + let isCadence = false; let rCadence = '0'; let vCadence = 0; @@ -23833,6 +23854,8 @@ rollCombatPNJContact.forEach((button) => { isMeurtrier = rEffets.isMeurtrier; isOrfevrerie = rEffets.isOrfevrerie; isSilencieux = rEffets.isSilencieux; + isUltraviolence = rEffets.isUltraviolence; + isFureur = rEffets.isFureur; isCadence = rEffets.isCadence; rCadence = rEffets.rCadence || '0'; @@ -24110,6 +24133,8 @@ rollCombatPNJContact.forEach((button) => { exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(attaquesSurprisesCondition); + + isSurprise = true; } if (autresEffets.length > 0) { @@ -24140,90 +24165,75 @@ rollCombatPNJContact.forEach((button) => { firstExec = firstExec.concat(exec); + // ROLL + let finalRoll; + if (pasEnergie === false) { - startRoll(firstExec.join(' '), (results) => { - const tJet = results.results.jet.result; + finalRoll = await startRoll(firstExec.join(' ')); - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + const tJet = finalRoll.results.jet.result; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const conditions = { + isTenebricide, + isSurprise, + isDestructeur, + isFureur, + isMeurtrier, + isUltraviolence, + isArmeAzurine, + isArmeRougeSang, + isCheneSculpte, + isGriffureGravee, + isMasqueBrise, + isRouagesCasses, + }; - const tFureur = results.results.fureurValue; - let vTFureur = 0; + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); - if (tFureur !== undefined) { vTFureur = tFureur.dice[0] + tFureur.dice[1]; } + const finalComputed = { + jet: tJet + tBonus, + }; - const tUltraviolence = results.results.ultraviolenceValue; + Object.assign(finalComputed, computed); - let vTUltraviolence = 0; + finishRoll(finalRoll.rollId, finalComputed); - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; - const tCheneSculpte = results.results.cheneSculpteValue; - let vTCheneSculpte = 0; + const exploitComputed = { + jet: tRExploit, + }; - if (tCheneSculpte !== undefined) { vTCheneSculpte = tCheneSculpte.dice[0]; } + finishRoll(exploitRoll.rollId, exploitComputed); + } - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - fureurValue: vTFureur, - ultraviolenceValue: vTUltraviolence, - cheneSculpteValue: vTCheneSculpte, - }, - ); + if (sEnergie !== false) { + setAttrs({ + energiePNJ: newEnergie, + }); - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); + if (newEnergie === 0) { + const noEnergieRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`); + finishRoll(noEnergieRoll.rollId, {}); } - - if (sEnergie !== false) { - setAttrs({ - energiePNJ: newEnergie, - }); - - if (newEnergie === 0) { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`, (exploit) => { - finishRoll( - exploit.rollId, {}, - ); - }); - } - } - }); + } } else if (button === 'repeating_armeCaC:armecontactpnj') { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`, (text) => { - finishRoll( - text.rollId, {}, - ); - }); + finalRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`); + finishRoll(finalRoll.rollId, {}); } else { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`, (text) => { - finishRoll( - text.rollId, {}, - ); - }); + finalRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`); + finishRoll(finalRoll.rollId, {}); } }); }); @@ -24528,6 +24538,9 @@ rollCombatDistancePNJ.forEach((button) => { isObliteration = effets.isObliteration; isTirRafale = effets.isTirRafale; + isFureur = effets.isFureur; + isUltraviolence = effets.isUltraviolence; + if (isLeste) { bDegats += Math.ceil(vChair / 2); exec.push(`{{vLeste=${vChair}}}`); @@ -24750,6 +24763,8 @@ rollCombatDistancePNJ.forEach((button) => { } if (attaquesSurprises.length > 0) { + isSurprise = true; + exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(attaquesSurprisesCondition); @@ -24782,87 +24797,68 @@ rollCombatDistancePNJ.forEach((button) => { exec = firstExec.concat(exec); - log(bonus); - log(exec); + // ROLL + let finalRoll; if (pasEnergie === false) { - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; + finalRoll = await startRoll(exec.join(' ')); + const tJet = finalRoll.results.jet.result; - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - log(tJet); - log(tBonus); + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const conditions = { + isTenebricide, + isSurprise, + isDestructeur, + isFureur, + isMeurtrier, + isUltraviolence, + }; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const finalComputed = { + jet: tJet + tBonus, + }; - const tFureur = results.results.fureurValue; - let vTFureur = 0; + Object.assign(finalComputed, computed); - if (tFureur !== undefined) { vTFureur = tFureur.dice[0] + tFureur.dice[1]; } + finishRoll(finalRoll.rollId, finalComputed); - const tUltraviolence = results.results.ultraviolenceValue; + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; + const exploitComputed = { + jet: tRExploit, + }; - let vTUltraviolence = 0; + finishRoll(exploitRoll.rollId, exploitComputed); + } - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } + if (sEnergie !== false) { + setAttrs({ + energiePNJ: newEnergie, + }); - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - fureurValue: vTFureur, - ultraviolenceValue: vTUltraviolence, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); + if (newEnergie === 0) { + const noEnergieRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${name}}} {{text=${sEnergieText}}}`); + finishRoll(noEnergieRoll.rollId, {}); } - - if (sEnergie !== false) { - setAttrs({ - energiePNJ: newEnergie, - }); - - if (newEnergie === 0) { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${name}}} {{text=${sEnergieText}}}`, (exploit) => { - finishRoll( - exploit.rollId, {}, - ); - }); - } - } - }); + } } else { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${name}}} {{text=${sEnergieText}}}`, (text) => { - finishRoll( - text.rollId, {}, - ); - }); + finalRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${name}}} {{text=${sEnergieText}}}`); + finishRoll(finalRoll.rollId, {}); } }); }); +/* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ /* eslint-disable camelcase */ /* eslint-disable no-undef */ @@ -24892,6 +24888,10 @@ rollCombatGrenadePNJ.forEach((button) => { let AE = 0; let ameliorations = false; + let isSurprise = false; + let isDestructeur = false; + let isMeurtrier = false; + let isUltraviolence = false; let diceDegats = 3; let diceViolence = 3; @@ -24974,6 +24974,9 @@ rollCombatGrenadePNJ.forEach((button) => { exec.push(`{{ultraviolence=${i18n_ultraviolence}}} {{ultraviolenceCondition=${i18n_ultraviolenceCondition}}} {{meurtrier=${i18n_meurtrier}}} {{meurtrierCondition=${i18n_meurtrierCondition}}}`); autresEffets.push(`${i18n_dispersion} 6`); + + isUltraviolence = true; + isMeurtrier = true; break; case 'grenade2PNJ': isConditionnelA = true; @@ -24992,6 +24995,8 @@ rollCombatGrenadePNJ.forEach((button) => { autresEffets.push(`${i18n_perceArmure} 20`); autresEffets.push(`${i18n_penetrant} 6`); autresEffets.push(`${i18n_dispersion} 6`); + + isDestructeur = true; break; case 'grenade4PNJ': isConditionnelA = true; @@ -25050,6 +25055,8 @@ rollCombatGrenadePNJ.forEach((button) => { exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(`${attaquesSurprisesCondition}`); + + isSurprise = true; } if (autresEffets.length > 0) { @@ -25065,51 +25072,45 @@ rollCombatGrenadePNJ.forEach((button) => { exec = firstExec.concat(exec); - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; + // ROLL + const finalRoll = await startRoll(exec.join(' ')); + const tJet = finalRoll.results.jet.result; + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const finalComputed = { + jet: tJet + tBonus, + }; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + if (hasDgts) { + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const conditions = { + isSurprise, + isDestructeur, + isMeurtrier, + isUltraviolence, + }; - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); + Object.assign(finalComputed, computed); + } - const tUltraviolence = results.results.ultraviolenceValue; + finishRoll(finalRoll.rollId, finalComputed); - let vTUltraviolence = 0; + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; + const exploitComputed = { + jet: tRExploit, + }; - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } - - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - ultraviolenceValue: vTUltraviolence, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } - }); + finishRoll(exploitRoll.rollId, exploitComputed); + } }); }); /* eslint-disable camelcase */ @@ -25436,11 +25437,11 @@ rollCombatAutrePNJ.forEach((button) => { let bDegats = []; const bViolence = []; - diceDegats += Number(attrs.armeAutreDegat) || 0; - diceViolence += Number(attrs.armeAutreViolence) || 0; + diceDegats += Number(attrs[`${prefix}armeAutreDegat`]) || 0; + diceViolence += Number(attrs[`${prefix}armeAutreViolence`]) || 0; - bDegats.push(Number(attrs.armeAutreBDegat) || 0); - bViolence.push(Number(attrs.armeAutreBViolence) || 0); + bDegats.push(Number(attrs[`${prefix}armeAutreBDegat`]) || 0); + bViolence.push(Number(attrs[`${prefix}armeAutreBViolence`]) || 0); let degats = []; let violence = []; @@ -25466,6 +25467,9 @@ rollCombatAutrePNJ.forEach((button) => { let isTenebricide = false; let isTirRafale = false; let isChambreDouble = false; + let isFureur = false; + let isUltraviolence = false; + let isSurprise = false; let isELumiere = false; let lumiereValue = 0; @@ -25511,6 +25515,8 @@ rollCombatAutrePNJ.forEach((button) => { isObliteration = effets.isObliteration; isTirRafale = effets.isTirRafale; + isFureur = effets.isFureur; + isUltraviolence = effets.isUltraviolence; isELumiere = effets.isELumiere; lumiereValue = Number(effets.eLumiereValue); @@ -25718,6 +25724,8 @@ rollCombatAutrePNJ.forEach((button) => { exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(attaquesSurprisesCondition); + + isSurprise = true; } if (isELumiere) { autresEffets.push(`${i18n_lumiere} ${lumiereValue}`); } @@ -25749,57 +25757,47 @@ rollCombatAutrePNJ.forEach((button) => { exec = firstExec.concat(exec); - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; + const finalRoll = await startRoll(exec.join(' ')); - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const tJet = finalRoll.results.jet.result; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const conditions = { + isTenebricide, + isDestructeur, + isFureur, + isSurprise, + isMeurtrier, + isUltraviolence, + }; - const tFureur = results.results.fureurValue; - let vTFureur = 0; + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); - if (tFureur !== undefined) { vTFureur = tFureur.dice[0] + tFureur.dice[1]; } + const finalComputed = { + jet: tJet + tBonus, + }; - const tUltraviolence = results.results.ultraviolenceValue; + Object.assign(finalComputed, computed); - let vTUltraviolence = 0; + finishRoll(finalRoll.rollId, finalComputed); - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; + const exploitComputed = { + jet: tRExploit, + }; - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - fureurValue: vTFureur, - ultraviolenceValue: vTUltraviolence, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } - }); + finishRoll(exploitRoll.rollId, exploitComputed); + } }); }); /* eslint-disable camelcase */ diff --git a/Knight/pug/js/_functionsWeapons.js b/Knight/pug/js/_functionsWeapons.js index 1bcb761a2e..9c16981815 100644 --- a/Knight/pug/js/_functionsWeapons.js +++ b/Knight/pug/js/_functionsWeapons.js @@ -513,6 +513,8 @@ function getWeaponsEffectsPNJ(prefix, data, addChair, vChair, vMachine, vMachine let isMeurtrier = false; let isOrfevrerie = false; let isSilencieux = false; + let isFureur = false; + let isUltraviolence = false; const eAnatheme = isApplied(data[`${prefix}anatheme`]); const eAntiAnatheme = isApplied(data[`${prefix}antiAnatheme`]); @@ -650,6 +652,7 @@ function getWeaponsEffectsPNJ(prefix, data, addChair, vChair, vMachine, vMachine if (eFureur) { isConditionnelV = true; + isFureur = true; firstExec.push(`{{fureurValue=[[${eFureurV}D6]]}}`); @@ -742,6 +745,7 @@ function getWeaponsEffectsPNJ(prefix, data, addChair, vChair, vMachine, vMachine if (eUltraviolence) { isConditionnelV = true; + isUltraviolence = true; firstExec.push(`{{ultraviolenceValue=[[${eUltraviolenceV}D6]]}}`); @@ -816,6 +820,8 @@ function getWeaponsEffectsPNJ(prefix, data, addChair, vChair, vMachine, vMachine result.isMeurtrier = isMeurtrier; result.isOrfevrerie = isOrfevrerie; result.isSilencieux = isSilencieux; + result.isFureur = isFureur; + result.isUltraviolence = isUltraviolence; result.attaquesSurprises = attaquesSurprises; result.attaquesSurprisesValue = attaquesSurprisesValue; @@ -872,6 +878,8 @@ function getWeaponsEffectsAutre(prefix, effet) { let isSilencieux = false; let isTenebricide = false; let isTirRafale = false; + let isFureur = false; + let isUltraviolence = false; const eAntiAnatheme = isApplied(effet[`${prefix}antiAnatheme`]); const eAntiVehicule = isApplied(effet[`${prefix}antiVehicule`]); @@ -1007,6 +1015,7 @@ function getWeaponsEffectsAutre(prefix, effet) { if (eFureur) { isConditionnelV = true; + isFureur = true; firstExec.push(`{{fureurValue=[[${eFureurV}D6]]}}`); @@ -1086,6 +1095,7 @@ function getWeaponsEffectsAutre(prefix, effet) { if (eUltraviolence) { isConditionnelV = true; + isUltraviolence = true; firstExec.push(`{{ultraviolenceValue=[[${eUltraviolenceV}D6]]}}`); @@ -1166,6 +1176,8 @@ function getWeaponsEffectsAutre(prefix, effet) { result.isAssistantAttaque = isAssistantAttaque; result.isAntiAnatheme = isAntiAnatheme; result.isTirRafale = isTirRafale; + result.isFureur = isFureur; + result.isUltraviolence = isUltraviolence; result.eLumiere = eLumiere; result.isELumiere = isELumiere; @@ -1231,6 +1243,8 @@ function getWeaponsEffectsAutrePNJ(prefix, effet) { let isSilencieux = false; let isTenebricide = false; let isTirRafale = false; + let isUltraviolence = false; + let isFureur = false; const eAnatheme = isApplied(effet[`${prefix}anatheme`]); const eAntiAnatheme = isApplied(effet[`${prefix}antiAnatheme`]); @@ -1367,6 +1381,7 @@ function getWeaponsEffectsAutrePNJ(prefix, effet) { if (eFureur) { isConditionnelV = true; + isFureur = true; firstExec.push(`{{fureurValue=[[${eFureurV}D6]]}}`); @@ -1446,6 +1461,7 @@ function getWeaponsEffectsAutrePNJ(prefix, effet) { if (eUltraviolence) { isConditionnelV = true; + isUltraviolence = true; firstExec.push(`{{ultraviolenceValue=[[${eUltraviolenceV}D6]]}}`); @@ -1528,6 +1544,8 @@ function getWeaponsEffectsAutrePNJ(prefix, effet) { result.isAssistantAttaque = isAssistantAttaque; result.isAntiAnatheme = isAntiAnatheme; result.isTirRafale = isTirRafale; + result.isFureur = isFureur; + result.isUltraviolence = isUltraviolence; result.eLumiere = eLumiere; result.isELumiere = isELumiere; diff --git a/Knight/pug/js/rolls/pj/combatAutre.js b/Knight/pug/js/rolls/pj/combatAutre.js index 3b3221c320..a59a56d744 100644 --- a/Knight/pug/js/rolls/pj/combatAutre.js +++ b/Knight/pug/js/rolls/pj/combatAutre.js @@ -90,6 +90,7 @@ rollCombatAutre.forEach((button) => { let vCadence = 0; let isDestructeur = false; let vDestructeur = 0; + let isFureur = false; let isMeurtrier = false; let vMeurtrier = 0; let nowSilencieux = false; @@ -97,6 +98,8 @@ rollCombatAutre.forEach((button) => { let isTenebricide = false; let isTirRafale = false; let isChambreDouble = false; + let isUltraviolence = false; + let isSurprise = false; let isELumiere = false; let lumiereValue = 0; @@ -134,6 +137,10 @@ rollCombatAutre.forEach((button) => { isMeurtrier = effets.isMeurtrier; vMeurtrier = effets.vMeurtrier; + isFureur = effets.isFureur; + + isUltraviolence = effets.isUltraviolence; + nowSilencieux = effets.nowSilencieux; isTenebricide = effets.isTenebricide; @@ -347,6 +354,8 @@ rollCombatAutre.forEach((button) => { exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(attaquesSurprisesCondition); + + isSurprise = true; } if (isELumiere) { autresEffets.push(`${i18n_lumiere} ${lumiereValue}`); } @@ -378,56 +387,46 @@ rollCombatAutre.forEach((button) => { exec = firstExec.concat(exec); - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; + // ROLL + const finalRoll = await startRoll(exec.join(' ')); + const tJet = finalRoll.results.jet.result; - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const conditions = { + isTenebricide, + isDestructeur, + isFureur, + isSurprise, + isMeurtrier, + isUltraviolence, + }; - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); - const tFureur = results.results.fureurValue; - let vTFureur = 0; + const finalComputed = { + jet: tJet + tBonus, + }; - if (tFureur !== undefined) { vTFureur = tFureur.dice[0] + tFureur.dice[1]; } + Object.assign(finalComputed, computed); - const tUltraviolence = results.results.ultraviolenceValue; + finishRoll(finalRoll.rollId, finalComputed); - let vTUltraviolence = 0; + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; + const exploitComputed = { + jet: tRExploit, + }; - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } - - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - fureurValue: vTFureur, - ultraviolenceValue: vTUltraviolence, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } - }); + finishRoll(exploitRoll.rollId, exploitComputed); + } }); }); diff --git a/Knight/pug/js/rolls/pnj/combatAutre.js b/Knight/pug/js/rolls/pnj/combatAutre.js index a5f775faa9..5df91a039e 100644 --- a/Knight/pug/js/rolls/pnj/combatAutre.js +++ b/Knight/pug/js/rolls/pnj/combatAutre.js @@ -67,11 +67,11 @@ rollCombatAutrePNJ.forEach((button) => { let bDegats = []; const bViolence = []; - diceDegats += Number(attrs.armeAutreDegat) || 0; - diceViolence += Number(attrs.armeAutreViolence) || 0; + diceDegats += Number(attrs[`${prefix}armeAutreDegat`]) || 0; + diceViolence += Number(attrs[`${prefix}armeAutreViolence`]) || 0; - bDegats.push(Number(attrs.armeAutreBDegat) || 0); - bViolence.push(Number(attrs.armeAutreBViolence) || 0); + bDegats.push(Number(attrs[`${prefix}armeAutreBDegat`]) || 0); + bViolence.push(Number(attrs[`${prefix}armeAutreBViolence`]) || 0); let degats = []; let violence = []; @@ -97,6 +97,9 @@ rollCombatAutrePNJ.forEach((button) => { let isTenebricide = false; let isTirRafale = false; let isChambreDouble = false; + let isFureur = false; + let isUltraviolence = false; + let isSurprise = false; let isELumiere = false; let lumiereValue = 0; @@ -142,6 +145,8 @@ rollCombatAutrePNJ.forEach((button) => { isObliteration = effets.isObliteration; isTirRafale = effets.isTirRafale; + isFureur = effets.isFureur; + isUltraviolence = effets.isUltraviolence; isELumiere = effets.isELumiere; lumiereValue = Number(effets.eLumiereValue); @@ -349,6 +354,8 @@ rollCombatAutrePNJ.forEach((button) => { exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(attaquesSurprisesCondition); + + isSurprise = true; } if (isELumiere) { autresEffets.push(`${i18n_lumiere} ${lumiereValue}`); } @@ -380,56 +387,46 @@ rollCombatAutrePNJ.forEach((button) => { exec = firstExec.concat(exec); - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; + const finalRoll = await startRoll(exec.join(' ')); - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const tJet = finalRoll.results.jet.result; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const conditions = { + isTenebricide, + isDestructeur, + isFureur, + isSurprise, + isMeurtrier, + isUltraviolence, + }; - const tFureur = results.results.fureurValue; - let vTFureur = 0; + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); - if (tFureur !== undefined) { vTFureur = tFureur.dice[0] + tFureur.dice[1]; } + const finalComputed = { + jet: tJet + tBonus, + }; - const tUltraviolence = results.results.ultraviolenceValue; + Object.assign(finalComputed, computed); - let vTUltraviolence = 0; + finishRoll(finalRoll.rollId, finalComputed); - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; + const exploitComputed = { + jet: tRExploit, + }; - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - fureurValue: vTFureur, - ultraviolenceValue: vTUltraviolence, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } - }); + finishRoll(exploitRoll.rollId, exploitComputed); + } }); }); diff --git a/Knight/pug/js/rolls/pnj/combatContact.js b/Knight/pug/js/rolls/pnj/combatContact.js index 2c4b52bc85..413874ec29 100644 --- a/Knight/pug/js/rolls/pnj/combatContact.js +++ b/Knight/pug/js/rolls/pnj/combatContact.js @@ -79,6 +79,10 @@ rollCombatPNJContact.forEach((button) => { let isOrfevrerie = false; let isSilencieux = false; + let isFureur = false; + let isUltraviolence = false; + let isSurprise = false; + let isCadence = false; let rCadence = '0'; let vCadence = 0; @@ -313,6 +317,8 @@ rollCombatPNJContact.forEach((button) => { isMeurtrier = rEffets.isMeurtrier; isOrfevrerie = rEffets.isOrfevrerie; isSilencieux = rEffets.isSilencieux; + isUltraviolence = rEffets.isUltraviolence; + isFureur = rEffets.isFureur; isCadence = rEffets.isCadence; rCadence = rEffets.rCadence || '0'; @@ -590,6 +596,8 @@ rollCombatPNJContact.forEach((button) => { exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(attaquesSurprisesCondition); + + isSurprise = true; } if (autresEffets.length > 0) { @@ -620,90 +628,75 @@ rollCombatPNJContact.forEach((button) => { firstExec = firstExec.concat(exec); + // ROLL + let finalRoll; + if (pasEnergie === false) { - startRoll(firstExec.join(' '), (results) => { - const tJet = results.results.jet.result; + finalRoll = await startRoll(firstExec.join(' ')); - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + const tJet = finalRoll.results.jet.result; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const conditions = { + isTenebricide, + isSurprise, + isDestructeur, + isFureur, + isMeurtrier, + isUltraviolence, + isArmeAzurine, + isArmeRougeSang, + isCheneSculpte, + isGriffureGravee, + isMasqueBrise, + isRouagesCasses, + }; - const tFureur = results.results.fureurValue; - let vTFureur = 0; + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); - if (tFureur !== undefined) { vTFureur = tFureur.dice[0] + tFureur.dice[1]; } + const finalComputed = { + jet: tJet + tBonus, + }; - const tUltraviolence = results.results.ultraviolenceValue; + Object.assign(finalComputed, computed); - let vTUltraviolence = 0; + finishRoll(finalRoll.rollId, finalComputed); - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; - const tCheneSculpte = results.results.cheneSculpteValue; - let vTCheneSculpte = 0; + const exploitComputed = { + jet: tRExploit, + }; - if (tCheneSculpte !== undefined) { vTCheneSculpte = tCheneSculpte.dice[0]; } + finishRoll(exploitRoll.rollId, exploitComputed); + } - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - fureurValue: vTFureur, - ultraviolenceValue: vTUltraviolence, - cheneSculpteValue: vTCheneSculpte, - }, - ); + if (sEnergie !== false) { + setAttrs({ + energiePNJ: newEnergie, + }); - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); + if (newEnergie === 0) { + const noEnergieRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`); + finishRoll(noEnergieRoll.rollId, {}); } - - if (sEnergie !== false) { - setAttrs({ - energiePNJ: newEnergie, - }); - - if (newEnergie === 0) { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`, (exploit) => { - finishRoll( - exploit.rollId, {}, - ); - }); - } - } - }); + } } else if (button === 'repeating_armeCaC:armecontactpnj') { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`, (text) => { - finishRoll( - text.rollId, {}, - ); - }); + finalRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`); + finishRoll(finalRoll.rollId, {}); } else { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`, (text) => { - finishRoll( - text.rollId, {}, - ); - }); + finalRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{text=${sEnergieText}}}${name}`); + finishRoll(finalRoll.rollId, {}); } }); }); diff --git a/Knight/pug/js/rolls/pnj/combatDistance.js b/Knight/pug/js/rolls/pnj/combatDistance.js index c7e114efa1..9b163d428b 100644 --- a/Knight/pug/js/rolls/pnj/combatDistance.js +++ b/Knight/pug/js/rolls/pnj/combatDistance.js @@ -299,6 +299,9 @@ rollCombatDistancePNJ.forEach((button) => { isObliteration = effets.isObliteration; isTirRafale = effets.isTirRafale; + isFureur = effets.isFureur; + isUltraviolence = effets.isUltraviolence; + if (isLeste) { bDegats += Math.ceil(vChair / 2); exec.push(`{{vLeste=${vChair}}}`); @@ -521,6 +524,8 @@ rollCombatDistancePNJ.forEach((button) => { } if (attaquesSurprises.length > 0) { + isSurprise = true; + exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(attaquesSurprisesCondition); @@ -553,84 +558,64 @@ rollCombatDistancePNJ.forEach((button) => { exec = firstExec.concat(exec); - log(bonus); - log(exec); + // ROLL + let finalRoll; if (pasEnergie === false) { - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; + finalRoll = await startRoll(exec.join(' ')); + const tJet = finalRoll.results.jet.result; - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - log(tJet); - log(tBonus); + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const conditions = { + isTenebricide, + isSurprise, + isDestructeur, + isFureur, + isMeurtrier, + isUltraviolence, + }; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const finalComputed = { + jet: tJet + tBonus, + }; - const tFureur = results.results.fureurValue; - let vTFureur = 0; + Object.assign(finalComputed, computed); - if (tFureur !== undefined) { vTFureur = tFureur.dice[0] + tFureur.dice[1]; } + finishRoll(finalRoll.rollId, finalComputed); - const tUltraviolence = results.results.ultraviolenceValue; + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; + const exploitComputed = { + jet: tRExploit, + }; - let vTUltraviolence = 0; + finishRoll(exploitRoll.rollId, exploitComputed); + } - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } + if (sEnergie !== false) { + setAttrs({ + energiePNJ: newEnergie, + }); - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - fureurValue: vTFureur, - ultraviolenceValue: vTUltraviolence, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); + if (newEnergie === 0) { + const noEnergieRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${name}}} {{text=${sEnergieText}}}`); + finishRoll(noEnergieRoll.rollId, {}); } - - if (sEnergie !== false) { - setAttrs({ - energiePNJ: newEnergie, - }); - - if (newEnergie === 0) { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${name}}} {{text=${sEnergieText}}}`, (exploit) => { - finishRoll( - exploit.rollId, {}, - ); - }); - } - } - }); + } } else { - startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${name}}} {{text=${sEnergieText}}}`, (text) => { - finishRoll( - text.rollId, {}, - ); - }); + finalRoll = await startRoll(`@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${name}}} {{text=${sEnergieText}}}`); + finishRoll(finalRoll.rollId, {}); } }); }); diff --git a/Knight/pug/js/rolls/pnj/combatGrenade.js b/Knight/pug/js/rolls/pnj/combatGrenade.js index d0e1a492a6..074fe767a8 100644 --- a/Knight/pug/js/rolls/pnj/combatGrenade.js +++ b/Knight/pug/js/rolls/pnj/combatGrenade.js @@ -1,3 +1,4 @@ +/* eslint-disable max-len */ /* eslint-disable prefer-destructuring */ /* eslint-disable camelcase */ /* eslint-disable no-undef */ @@ -27,6 +28,10 @@ rollCombatGrenadePNJ.forEach((button) => { let AE = 0; let ameliorations = false; + let isSurprise = false; + let isDestructeur = false; + let isMeurtrier = false; + let isUltraviolence = false; let diceDegats = 3; let diceViolence = 3; @@ -109,6 +114,9 @@ rollCombatGrenadePNJ.forEach((button) => { exec.push(`{{ultraviolence=${i18n_ultraviolence}}} {{ultraviolenceCondition=${i18n_ultraviolenceCondition}}} {{meurtrier=${i18n_meurtrier}}} {{meurtrierCondition=${i18n_meurtrierCondition}}}`); autresEffets.push(`${i18n_dispersion} 6`); + + isUltraviolence = true; + isMeurtrier = true; break; case 'grenade2PNJ': isConditionnelA = true; @@ -127,6 +135,8 @@ rollCombatGrenadePNJ.forEach((button) => { autresEffets.push(`${i18n_perceArmure} 20`); autresEffets.push(`${i18n_penetrant} 6`); autresEffets.push(`${i18n_dispersion} 6`); + + isDestructeur = true; break; case 'grenade4PNJ': isConditionnelA = true; @@ -185,6 +195,8 @@ rollCombatGrenadePNJ.forEach((button) => { exec.push(`{{attaqueSurprise=${attaquesSurprises.join('\n+')}}}`); exec.push(`{{attaqueSurpriseValue=[[${attaquesSurprisesValue.join('+')}]]}}`); exec.push(`${attaquesSurprisesCondition}`); + + isSurprise = true; } if (autresEffets.length > 0) { @@ -200,50 +212,44 @@ rollCombatGrenadePNJ.forEach((button) => { exec = firstExec.concat(exec); - startRoll(exec.join(' '), (results) => { - const tJet = results.results.jet.result; + // ROLL + const finalRoll = await startRoll(exec.join(' ')); + const tJet = finalRoll.results.jet.result; + const tBonus = finalRoll.results.bonus.result; + const tExploit = finalRoll.results.Exploit.result; - const tBonus = results.results.bonus.result; - const tExploit = results.results.Exploit.result; + const finalComputed = { + jet: tJet + tBonus, + }; - const tMeurtrier = results.results.meurtrierValue; - let vTMeurtrier = 0; + if (hasDgts) { + const rDegats = finalRoll.results.degats.dice; + const rViolence = finalRoll.results.violence.dice; - if (tMeurtrier !== undefined) { vTMeurtrier = tMeurtrier.dice[0]; } + const tDegats = finalRoll.results.degats.result; + const tViolence = finalRoll.results.violence.result; - const tDestructeur = results.results.destructeurValue; - let vTDestructeur = 0; + const conditions = { + isSurprise, + isDestructeur, + isMeurtrier, + isUltraviolence, + }; - if (tDestructeur !== undefined) { vTDestructeur = tDestructeur.dice[0]; } + const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); + Object.assign(finalComputed, computed); + } - const tUltraviolence = results.results.ultraviolenceValue; + finishRoll(finalRoll.rollId, finalComputed); - let vTUltraviolence = 0; + if (tJet !== 0 && tJet === tExploit) { + const exploitRoll = await startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`); + const tRExploit = exploitRoll.results.jet.result; + const exploitComputed = { + jet: tRExploit, + }; - if (tUltraviolence !== undefined) { vTUltraviolence = tUltraviolence.dice[0]; } - - finishRoll( - results.rollId, - { - jet: tJet + tBonus, - meurtrierValue: vTMeurtrier, - destructeurValue: vTDestructeur, - ultraviolenceValue: vTUltraviolence, - }, - ); - - if (tJet !== 0 && tJet === tExploit) { - startRoll(`${roll}@{jetGM} &{template:simple} {{Nom=@{name}}} {{special1=${i18n_exploit}}}${jet}`, (exploit) => { - const tExploit2 = exploit.results.jet.result; - - finishRoll( - exploit.rollId, - { - jet: tExploit2, - }, - ); - }); - } - }); + finishRoll(exploitRoll.rollId, exploitComputed); + } }); }); From 1c9ab25cd1150cb2c99f1cbc577d779baa7bba97 Mon Sep 17 00:00:00 2001 From: Zakarik Date: Fri, 14 Jan 2022 18:42:47 +0100 Subject: [PATCH 2/2] [Knight] Bugfix Tenebricide --- Knight/knight.html | 238 +++++++--------------- Knight/pug/js/_functionsWeapons.js | 2 + Knight/pug/js/rolls/pj/combatAutre.js | 57 ++---- Knight/pug/js/rolls/pnj/combatAutre.js | 57 ++---- Knight/pug/js/rolls/pnj/combatContact.js | 60 ++---- Knight/pug/js/rolls/pnj/combatDistance.js | 62 ++---- 6 files changed, 144 insertions(+), 332 deletions(-) diff --git a/Knight/knight.html b/Knight/knight.html index 7079901417..a7fa3ea6bf 100644 --- a/Knight/knight.html +++ b/Knight/knight.html @@ -6827,6 +6827,8 @@ function updateRoll(roll, totalDegats, diceDegats, bonusDegats, totalViolence, d } } + log(vTDestructeur); + const computed = { degats: tDegats, violence: tViolence, @@ -11932,47 +11934,6 @@ rollCombatAutre.forEach((button) => { exec.push(`{{degats=[[${degats.join('+')}]]}}`); exec.push(`{{violence=[[${violence.join('+')}]]}}`); - if (isTenebricide) { - let degatsTenebricide = []; - let ASTenebricide = []; - let ASValueTenebricide = []; - - let violenceTenebricide = []; - - const diceDegatsTenebricide = Math.floor(diceDegats / 2); - const diceViolenceTenebricide = Math.floor(diceViolence / 2); - - degatsTenebricide.push(`${diceDegatsTenebricide}D6`); - degatsTenebricide = degatsTenebricide.concat(bDegats); - - violenceTenebricide.push(`${diceViolenceTenebricide}D6`); - violenceTenebricide = violenceTenebricide.concat(bViolence); - - exec.push(`{{tenebricideValueD=[[${degatsTenebricide.join('+')}]]}}`); - exec.push(`{{tenebricideValueV=[[${violenceTenebricide.join('+')}]]}}`); - - if (eASAssassinValue > 0) { - eAssassinTenebricideValue = Math.ceil(eASAssassinValue / 2); - - ASTenebricide.unshift(eASAssassin); - ASValueTenebricide.unshift(`${eAssassinTenebricideValue}D6`); - - if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - } - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } else if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } - } - if (isObliteration) { let ASObliteration = []; let ASValueObliteration = []; @@ -12034,6 +11995,22 @@ rollCombatAutre.forEach((button) => { isSurprise = true; } + if (isTenebricide) { + exec.push(`{{tenebricide=${i18n_tenebricide}}} {{tenebricideConditionD=${i18n_tenebricideConditionD}}} {{tenebricideConditionV=${i18n_tenebricideConditionV}}}`); + exec.push('{{tenebricideValueD=[[0]]}}'); + exec.push('{{tenebricideValueV=[[0]]}}'); + + if (attaquesSurprises.length > 0) { + exec.push(`{{tenebricideAS=${attaquesSurprises.join('\n+')}}}`); + exec.push('{{tenebricideASValue=[[0]]}}'); + } + + if (isMeurtrier) { firstExec.push('{{tMeurtrierValue=[[0]]}}'); } + if (isDestructeur) { firstExec.push('{{tDestructeurValue=[[0]]}}'); } + if (isFureur) { firstExec.push('{{tFureurValue=[[0]]}}'); } + if (isUltraviolence) { firstExec.push('{{tUltraviolenceValue=[[0]]}}'); } + } + if (isELumiere) { autresEffets.push(`${i18n_lumiere} ${lumiereValue}`); } if (autresEffets.length > 0) { @@ -24035,47 +24012,6 @@ rollCombatPNJContact.forEach((button) => { exec.push(`{{vCadence=${rCadence}D}}`); } - if (isTenebricide) { - let degatsTenebricide = []; - let ASTenebricide = []; - let ASValueTenebricide = []; - - let violenceTenebricide = []; - - const diceDegatsTenebricide = Math.floor(diceDegats / 2); - const diceViolenceTenebricide = Math.floor(diceViolence / 2); - - degatsTenebricide.push(`${diceDegatsTenebricide}D6`); - degatsTenebricide = degatsTenebricide.concat(bDegats); - - violenceTenebricide.push(`${diceViolenceTenebricide}D6`); - violenceTenebricide = violenceTenebricide.concat(bViolence); - - exec.push(`{{tenebricideValueD=[[${degatsTenebricide.join('+')}]]}}`); - exec.push(`{{tenebricideValueV=[[${violenceTenebricide.join('+')}]]}}`); - - if (eASAssassinValue > 0) { - eAssassinTenebricideValue = Math.ceil(eASAssassinValue / 2); - - ASTenebricide.unshift(eASAssassin); - ASValueTenebricide.unshift(`${eAssassinTenebricideValue}D6`); - - if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - } - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } else if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } - } - if (isObliteration) { let ASObliteration = []; let ASValueObliteration = []; @@ -24137,6 +24073,23 @@ rollCombatPNJContact.forEach((button) => { isSurprise = true; } + if (isTenebricide) { + exec.push(`{{tenebricide=${i18n_tenebricide}}} {{tenebricideConditionD=${i18n_tenebricideConditionD}}} {{tenebricideConditionV=${i18n_tenebricideConditionV}}}`); + exec.push('{{tenebricideValueD=[[0]]}}'); + exec.push('{{tenebricideValueV=[[0]]}}'); + + if (attaquesSurprises.length > 0) { + exec.push(`{{tenebricideAS=${attaquesSurprises.join('\n+')}}}`); + exec.push('{{tenebricideASValue=[[0]]}}'); + } + + if (isMeurtrier) { firstExec.push('{{tMeurtrierValue=[[0]]}}'); } + if (isDestructeur) { firstExec.push('{{tDestructeurValue=[[0]]}}'); } + if (isFureur) { firstExec.push('{{tFureurValue=[[0]]}}'); } + if (isUltraviolence) { firstExec.push('{{tUltraviolenceValue=[[0]]}}'); } + if (isCheneSculpte) { firstExec.push('{{tCheneSculpteValue=[[0]]}}'); } + } + if (autresEffets.length > 0) { autresEffets.sort(); exec.push(`{{effets=${autresEffets.join(' / ')}}}`); @@ -24197,7 +24150,7 @@ rollCombatPNJContact.forEach((button) => { isRouagesCasses, }; - const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); + const computed = updateRoll(finalRoll, tDegats, rDegats, [bDegats], tViolence, rViolence, [bViolence], conditions); const finalComputed = { jet: tJet + tBonus, @@ -24468,6 +24421,9 @@ rollCombatDistancePNJ.forEach((button) => { let isTenebricide = false; let isTirRafale = false; let isChambreDouble = false; + let isSurprise = false; + let isUltraviolence = false; + let isFureur = false; let pasEnergie = false; let sEnergieText = ''; @@ -24668,47 +24624,6 @@ rollCombatDistancePNJ.forEach((button) => { exec.push(`{{degats=[[${diceDegats}D6+${bDegats}]]}}`); exec.push(`{{violence=[[${diceViolence}D6+${bViolence}]]}}`); - if (isTenebricide) { - let degatsTenebricide = []; - let ASTenebricide = []; - let ASValueTenebricide = []; - - let violenceTenebricide = []; - - const diceDegatsTenebricide = Math.floor(diceDegats / 2); - const diceViolenceTenebricide = Math.floor(diceViolence / 2); - - degatsTenebricide.push(`${diceDegatsTenebricide}D6`); - degatsTenebricide = degatsTenebricide.concat(bDegats); - - violenceTenebricide.push(`${diceViolenceTenebricide}D6`); - violenceTenebricide = violenceTenebricide.concat(bViolence); - - exec.push(`{{tenebricideValueD=[[${degatsTenebricide.join('+')}]]}}`); - exec.push(`{{tenebricideValueV=[[${violenceTenebricide.join('+')}]]}}`); - - if (eASAssassinValue > 0) { - eAssassinTenebricideValue = Math.ceil(eASAssassinValue / 2); - - ASTenebricide.unshift(eASAssassin); - ASValueTenebricide.unshift(`${eAssassinTenebricideValue}D6`); - - if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - } - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } else if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } - } - if (isObliteration) { let ASObliteration = []; let ASValueObliteration = []; @@ -24770,6 +24685,22 @@ rollCombatDistancePNJ.forEach((button) => { exec.push(attaquesSurprisesCondition); } + if (isTenebricide) { + exec.push(`{{tenebricide=${i18n_tenebricide}}} {{tenebricideConditionD=${i18n_tenebricideConditionD}}} {{tenebricideConditionV=${i18n_tenebricideConditionV}}}`); + exec.push('{{tenebricideValueD=[[0]]}}'); + exec.push('{{tenebricideValueV=[[0]]}}'); + + if (attaquesSurprises.length > 0) { + exec.push(`{{tenebricideAS=${attaquesSurprises.join('\n+')}}}`); + exec.push('{{tenebricideASValue=[[0]]}}'); + } + + if (isMeurtrier) { firstExec.push('{{tMeurtrierValue=[[0]]}}'); } + if (isDestructeur) { firstExec.push('{{tDestructeurValue=[[0]]}}'); } + if (isFureur) { firstExec.push('{{tFureurValue=[[0]]}}'); } + if (isUltraviolence) { firstExec.push('{{tUltraviolenceValue=[[0]]}}'); } + } + if (autresEffets.length > 0) { autresEffets.sort(); exec.push(`{{effets=${autresEffets.join(' / ')}}}`); @@ -24822,7 +24753,7 @@ rollCombatDistancePNJ.forEach((button) => { isUltraviolence, }; - const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); + const computed = updateRoll(finalRoll, tDegats, rDegats, [bDegats], tViolence, rViolence, [bViolence], conditions); const finalComputed = { jet: tJet + tBonus, @@ -25626,47 +25557,6 @@ rollCombatAutrePNJ.forEach((button) => { exec.push(`{{degats=[[${degats.join('+')}]]}}`); exec.push(`{{violence=[[${violence.join('+')}]]}}`); - if (isTenebricide) { - let degatsTenebricide = []; - let ASTenebricide = []; - let ASValueTenebricide = []; - - let violenceTenebricide = []; - - const diceDegatsTenebricide = Math.floor(diceDegats / 2); - const diceViolenceTenebricide = Math.floor(diceViolence / 2); - - degatsTenebricide.push(`${diceDegatsTenebricide}D6`); - degatsTenebricide = degatsTenebricide.concat(bDegats); - - violenceTenebricide.push(`${diceViolenceTenebricide}D6`); - violenceTenebricide = violenceTenebricide.concat(bViolence); - - exec.push(`{{tenebricideValueD=[[${degatsTenebricide.join('+')}]]}}`); - exec.push(`{{tenebricideValueV=[[${violenceTenebricide.join('+')}]]}}`); - - if (eASAssassinValue > 0) { - eAssassinTenebricideValue = Math.ceil(eASAssassinValue / 2); - - ASTenebricide.unshift(eASAssassin); - ASValueTenebricide.unshift(`${eAssassinTenebricideValue}D6`); - - if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - } - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } else if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } - } - if (isObliteration) { let ASObliteration = []; let ASValueObliteration = []; @@ -25728,6 +25618,22 @@ rollCombatAutrePNJ.forEach((button) => { isSurprise = true; } + if (isTenebricide) { + exec.push(`{{tenebricide=${i18n_tenebricide}}} {{tenebricideConditionD=${i18n_tenebricideConditionD}}} {{tenebricideConditionV=${i18n_tenebricideConditionV}}}`); + exec.push('{{tenebricideValueD=[[0]]}}'); + exec.push('{{tenebricideValueV=[[0]]}}'); + + if (attaquesSurprises.length > 0) { + exec.push(`{{tenebricideAS=${attaquesSurprises.join('\n+')}}}`); + exec.push('{{tenebricideASValue=[[0]]}}'); + } + + if (isMeurtrier) { firstExec.push('{{tMeurtrierValue=[[0]]}}'); } + if (isDestructeur) { firstExec.push('{{tDestructeurValue=[[0]]}}'); } + if (isFureur) { firstExec.push('{{tFureurValue=[[0]]}}'); } + if (isUltraviolence) { firstExec.push('{{tUltraviolenceValue=[[0]]}}'); } + } + if (isELumiere) { autresEffets.push(`${i18n_lumiere} ${lumiereValue}`); } if (autresEffets.length > 0) { diff --git a/Knight/pug/js/_functionsWeapons.js b/Knight/pug/js/_functionsWeapons.js index 9c16981815..b5b072ddbe 100644 --- a/Knight/pug/js/_functionsWeapons.js +++ b/Knight/pug/js/_functionsWeapons.js @@ -4019,6 +4019,8 @@ function updateRoll(roll, totalDegats, diceDegats, bonusDegats, totalViolence, d } } + log(vTDestructeur); + const computed = { degats: tDegats, violence: tViolence, diff --git a/Knight/pug/js/rolls/pj/combatAutre.js b/Knight/pug/js/rolls/pj/combatAutre.js index a59a56d744..cbcb3a1162 100644 --- a/Knight/pug/js/rolls/pj/combatAutre.js +++ b/Knight/pug/js/rolls/pj/combatAutre.js @@ -256,47 +256,6 @@ rollCombatAutre.forEach((button) => { exec.push(`{{degats=[[${degats.join('+')}]]}}`); exec.push(`{{violence=[[${violence.join('+')}]]}}`); - if (isTenebricide) { - let degatsTenebricide = []; - let ASTenebricide = []; - let ASValueTenebricide = []; - - let violenceTenebricide = []; - - const diceDegatsTenebricide = Math.floor(diceDegats / 2); - const diceViolenceTenebricide = Math.floor(diceViolence / 2); - - degatsTenebricide.push(`${diceDegatsTenebricide}D6`); - degatsTenebricide = degatsTenebricide.concat(bDegats); - - violenceTenebricide.push(`${diceViolenceTenebricide}D6`); - violenceTenebricide = violenceTenebricide.concat(bViolence); - - exec.push(`{{tenebricideValueD=[[${degatsTenebricide.join('+')}]]}}`); - exec.push(`{{tenebricideValueV=[[${violenceTenebricide.join('+')}]]}}`); - - if (eASAssassinValue > 0) { - eAssassinTenebricideValue = Math.ceil(eASAssassinValue / 2); - - ASTenebricide.unshift(eASAssassin); - ASValueTenebricide.unshift(`${eAssassinTenebricideValue}D6`); - - if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - } - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } else if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } - } - if (isObliteration) { let ASObliteration = []; let ASValueObliteration = []; @@ -358,6 +317,22 @@ rollCombatAutre.forEach((button) => { isSurprise = true; } + if (isTenebricide) { + exec.push(`{{tenebricide=${i18n_tenebricide}}} {{tenebricideConditionD=${i18n_tenebricideConditionD}}} {{tenebricideConditionV=${i18n_tenebricideConditionV}}}`); + exec.push('{{tenebricideValueD=[[0]]}}'); + exec.push('{{tenebricideValueV=[[0]]}}'); + + if (attaquesSurprises.length > 0) { + exec.push(`{{tenebricideAS=${attaquesSurprises.join('\n+')}}}`); + exec.push('{{tenebricideASValue=[[0]]}}'); + } + + if (isMeurtrier) { firstExec.push('{{tMeurtrierValue=[[0]]}}'); } + if (isDestructeur) { firstExec.push('{{tDestructeurValue=[[0]]}}'); } + if (isFureur) { firstExec.push('{{tFureurValue=[[0]]}}'); } + if (isUltraviolence) { firstExec.push('{{tUltraviolenceValue=[[0]]}}'); } + } + if (isELumiere) { autresEffets.push(`${i18n_lumiere} ${lumiereValue}`); } if (autresEffets.length > 0) { diff --git a/Knight/pug/js/rolls/pnj/combatAutre.js b/Knight/pug/js/rolls/pnj/combatAutre.js index 5df91a039e..3c6b03e22c 100644 --- a/Knight/pug/js/rolls/pnj/combatAutre.js +++ b/Knight/pug/js/rolls/pnj/combatAutre.js @@ -256,47 +256,6 @@ rollCombatAutrePNJ.forEach((button) => { exec.push(`{{degats=[[${degats.join('+')}]]}}`); exec.push(`{{violence=[[${violence.join('+')}]]}}`); - if (isTenebricide) { - let degatsTenebricide = []; - let ASTenebricide = []; - let ASValueTenebricide = []; - - let violenceTenebricide = []; - - const diceDegatsTenebricide = Math.floor(diceDegats / 2); - const diceViolenceTenebricide = Math.floor(diceViolence / 2); - - degatsTenebricide.push(`${diceDegatsTenebricide}D6`); - degatsTenebricide = degatsTenebricide.concat(bDegats); - - violenceTenebricide.push(`${diceViolenceTenebricide}D6`); - violenceTenebricide = violenceTenebricide.concat(bViolence); - - exec.push(`{{tenebricideValueD=[[${degatsTenebricide.join('+')}]]}}`); - exec.push(`{{tenebricideValueV=[[${violenceTenebricide.join('+')}]]}}`); - - if (eASAssassinValue > 0) { - eAssassinTenebricideValue = Math.ceil(eASAssassinValue / 2); - - ASTenebricide.unshift(eASAssassin); - ASValueTenebricide.unshift(`${eAssassinTenebricideValue}D6`); - - if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - } - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } else if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } - } - if (isObliteration) { let ASObliteration = []; let ASValueObliteration = []; @@ -358,6 +317,22 @@ rollCombatAutrePNJ.forEach((button) => { isSurprise = true; } + if (isTenebricide) { + exec.push(`{{tenebricide=${i18n_tenebricide}}} {{tenebricideConditionD=${i18n_tenebricideConditionD}}} {{tenebricideConditionV=${i18n_tenebricideConditionV}}}`); + exec.push('{{tenebricideValueD=[[0]]}}'); + exec.push('{{tenebricideValueV=[[0]]}}'); + + if (attaquesSurprises.length > 0) { + exec.push(`{{tenebricideAS=${attaquesSurprises.join('\n+')}}}`); + exec.push('{{tenebricideASValue=[[0]]}}'); + } + + if (isMeurtrier) { firstExec.push('{{tMeurtrierValue=[[0]]}}'); } + if (isDestructeur) { firstExec.push('{{tDestructeurValue=[[0]]}}'); } + if (isFureur) { firstExec.push('{{tFureurValue=[[0]]}}'); } + if (isUltraviolence) { firstExec.push('{{tUltraviolenceValue=[[0]]}}'); } + } + if (isELumiere) { autresEffets.push(`${i18n_lumiere} ${lumiereValue}`); } if (autresEffets.length > 0) { diff --git a/Knight/pug/js/rolls/pnj/combatContact.js b/Knight/pug/js/rolls/pnj/combatContact.js index 413874ec29..274bc586c3 100644 --- a/Knight/pug/js/rolls/pnj/combatContact.js +++ b/Knight/pug/js/rolls/pnj/combatContact.js @@ -498,47 +498,6 @@ rollCombatPNJContact.forEach((button) => { exec.push(`{{vCadence=${rCadence}D}}`); } - if (isTenebricide) { - let degatsTenebricide = []; - let ASTenebricide = []; - let ASValueTenebricide = []; - - let violenceTenebricide = []; - - const diceDegatsTenebricide = Math.floor(diceDegats / 2); - const diceViolenceTenebricide = Math.floor(diceViolence / 2); - - degatsTenebricide.push(`${diceDegatsTenebricide}D6`); - degatsTenebricide = degatsTenebricide.concat(bDegats); - - violenceTenebricide.push(`${diceViolenceTenebricide}D6`); - violenceTenebricide = violenceTenebricide.concat(bViolence); - - exec.push(`{{tenebricideValueD=[[${degatsTenebricide.join('+')}]]}}`); - exec.push(`{{tenebricideValueV=[[${violenceTenebricide.join('+')}]]}}`); - - if (eASAssassinValue > 0) { - eAssassinTenebricideValue = Math.ceil(eASAssassinValue / 2); - - ASTenebricide.unshift(eASAssassin); - ASValueTenebricide.unshift(`${eAssassinTenebricideValue}D6`); - - if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - } - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } else if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } - } - if (isObliteration) { let ASObliteration = []; let ASValueObliteration = []; @@ -600,6 +559,23 @@ rollCombatPNJContact.forEach((button) => { isSurprise = true; } + if (isTenebricide) { + exec.push(`{{tenebricide=${i18n_tenebricide}}} {{tenebricideConditionD=${i18n_tenebricideConditionD}}} {{tenebricideConditionV=${i18n_tenebricideConditionV}}}`); + exec.push('{{tenebricideValueD=[[0]]}}'); + exec.push('{{tenebricideValueV=[[0]]}}'); + + if (attaquesSurprises.length > 0) { + exec.push(`{{tenebricideAS=${attaquesSurprises.join('\n+')}}}`); + exec.push('{{tenebricideASValue=[[0]]}}'); + } + + if (isMeurtrier) { firstExec.push('{{tMeurtrierValue=[[0]]}}'); } + if (isDestructeur) { firstExec.push('{{tDestructeurValue=[[0]]}}'); } + if (isFureur) { firstExec.push('{{tFureurValue=[[0]]}}'); } + if (isUltraviolence) { firstExec.push('{{tUltraviolenceValue=[[0]]}}'); } + if (isCheneSculpte) { firstExec.push('{{tCheneSculpteValue=[[0]]}}'); } + } + if (autresEffets.length > 0) { autresEffets.sort(); exec.push(`{{effets=${autresEffets.join(' / ')}}}`); @@ -660,7 +636,7 @@ rollCombatPNJContact.forEach((button) => { isRouagesCasses, }; - const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); + const computed = updateRoll(finalRoll, tDegats, rDegats, [bDegats], tViolence, rViolence, [bViolence], conditions); const finalComputed = { jet: tJet + tBonus, diff --git a/Knight/pug/js/rolls/pnj/combatDistance.js b/Knight/pug/js/rolls/pnj/combatDistance.js index 9b163d428b..8e78389412 100644 --- a/Knight/pug/js/rolls/pnj/combatDistance.js +++ b/Knight/pug/js/rolls/pnj/combatDistance.js @@ -229,6 +229,9 @@ rollCombatDistancePNJ.forEach((button) => { let isTenebricide = false; let isTirRafale = false; let isChambreDouble = false; + let isSurprise = false; + let isUltraviolence = false; + let isFureur = false; let pasEnergie = false; let sEnergieText = ''; @@ -429,47 +432,6 @@ rollCombatDistancePNJ.forEach((button) => { exec.push(`{{degats=[[${diceDegats}D6+${bDegats}]]}}`); exec.push(`{{violence=[[${diceViolence}D6+${bViolence}]]}}`); - if (isTenebricide) { - let degatsTenebricide = []; - let ASTenebricide = []; - let ASValueTenebricide = []; - - let violenceTenebricide = []; - - const diceDegatsTenebricide = Math.floor(diceDegats / 2); - const diceViolenceTenebricide = Math.floor(diceViolence / 2); - - degatsTenebricide.push(`${diceDegatsTenebricide}D6`); - degatsTenebricide = degatsTenebricide.concat(bDegats); - - violenceTenebricide.push(`${diceViolenceTenebricide}D6`); - violenceTenebricide = violenceTenebricide.concat(bViolence); - - exec.push(`{{tenebricideValueD=[[${degatsTenebricide.join('+')}]]}}`); - exec.push(`{{tenebricideValueV=[[${violenceTenebricide.join('+')}]]}}`); - - if (eASAssassinValue > 0) { - eAssassinTenebricideValue = Math.ceil(eASAssassinValue / 2); - - ASTenebricide.unshift(eASAssassin); - ASValueTenebricide.unshift(`${eAssassinTenebricideValue}D6`); - - if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - } - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } else if (attaquesSurprises.length > 0) { - ASTenebricide = ASTenebricide.concat(attaquesSurprises); - ASValueTenebricide = ASValueTenebricide.concat(attaquesSurprisesValue); - - exec.push(`{{tenebricideAS=${ASTenebricide.join('\n+')}}}`); - exec.push(`{{tenebricideASValue=[[${ASValueTenebricide.join('+')}]]}}`); - } - } - if (isObliteration) { let ASObliteration = []; let ASValueObliteration = []; @@ -531,6 +493,22 @@ rollCombatDistancePNJ.forEach((button) => { exec.push(attaquesSurprisesCondition); } + if (isTenebricide) { + exec.push(`{{tenebricide=${i18n_tenebricide}}} {{tenebricideConditionD=${i18n_tenebricideConditionD}}} {{tenebricideConditionV=${i18n_tenebricideConditionV}}}`); + exec.push('{{tenebricideValueD=[[0]]}}'); + exec.push('{{tenebricideValueV=[[0]]}}'); + + if (attaquesSurprises.length > 0) { + exec.push(`{{tenebricideAS=${attaquesSurprises.join('\n+')}}}`); + exec.push('{{tenebricideASValue=[[0]]}}'); + } + + if (isMeurtrier) { firstExec.push('{{tMeurtrierValue=[[0]]}}'); } + if (isDestructeur) { firstExec.push('{{tDestructeurValue=[[0]]}}'); } + if (isFureur) { firstExec.push('{{tFureurValue=[[0]]}}'); } + if (isUltraviolence) { firstExec.push('{{tUltraviolenceValue=[[0]]}}'); } + } + if (autresEffets.length > 0) { autresEffets.sort(); exec.push(`{{effets=${autresEffets.join(' / ')}}}`); @@ -583,7 +561,7 @@ rollCombatDistancePNJ.forEach((button) => { isUltraviolence, }; - const computed = updateRoll(finalRoll, tDegats, rDegats, bDegats, tViolence, rViolence, bViolence, conditions); + const computed = updateRoll(finalRoll, tDegats, rDegats, [bDegats], tViolence, rViolence, [bViolence], conditions); const finalComputed = { jet: tJet + tBonus,