From c5e27d43aa2f2e6c96482eda9ff0f7a8d2928ea6 Mon Sep 17 00:00:00 2001 From: Cmdr McDonald Date: Fri, 27 Jan 2017 08:14:22 +0000 Subject: [PATCH] Do not apply dropoff twice when calculating weapon effectiveness --- src/app/components/DamageDealt.jsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/app/components/DamageDealt.jsx b/src/app/components/DamageDealt.jsx index 3f06f87d..17bbc9b1 100644 --- a/src/app/components/DamageDealt.jsx +++ b/src/app/components/DamageDealt.jsx @@ -138,17 +138,18 @@ export default class DamageDealt extends TranslatedComponent { } const classRating = `${m.class}${m.rating}${m.missile ? '/' + m.missile : ''}`; const effectivenessShields = dropoff; - const effectiveDpsShields = m.getDps() * effectivenessShields * dropoff; - const effectiveSDpsShields = (m.getClip() ? (m.getClip() * m.getDps() / m.getRoF()) / ((m.getClip() / m.getRoF()) + m.getReload()) * effectivenessShields : effectiveDpsShields) * dropoff; + const effectiveDpsShields = m.getDps() * effectivenessShields; + const effectiveSDpsShields = (m.getClip() ? (m.getClip() * m.getDps() / m.getRoF()) / ((m.getClip() / m.getRoF()) + m.getReload()) * effectivenessShields : effectiveDpsShields); const effectivenessHull = (m.getPiercing() >= against.properties.hardness ? 1 : m.getPiercing() / against.properties.hardness) * dropoff; - const effectiveDpsHull = m.getDps() * effectivenessHull * dropoff; - const effectiveSDpsHull = (m.getClip() ? (m.getClip() * m.getDps() / m.getRoF()) / ((m.getClip() / m.getRoF()) + m.getReload()) * effectivenessHull : effectiveDpsHull) * dropoff; + const effectiveDpsHull = m.getDps() * effectivenessHull; + const effectiveSDpsHull = (m.getClip() ? (m.getClip() * m.getDps() / m.getRoF()) / ((m.getClip() / m.getRoF()) + m.getReload()) * effectivenessHull : effectiveDpsHull); totals.effectiveDpsShields += effectiveDpsShields; totals.effectiveSDpsShields += effectiveSDpsShields; totals.effectiveDpsHull += effectiveDpsHull; totals.effectiveSDpsHull += effectiveSDpsHull; totalDps += m.getDps(); + weapons.push({ id: i, mount: m.mount, name: m.name || m.grp, @@ -162,7 +163,9 @@ export default class DamageDealt extends TranslatedComponent { } } } +console.log('total dps is ' + totalDps); totals.effectivenessShields = totalDps == 0 ? 0 : totals.effectiveDpsShields / totalDps; +console.log('total effective dps shields is ' + totals.effectiveDpsShields); totals.effectivenessHull = totalDps == 0 ? 0 : totals.effectiveDpsHull / totalDps; return { weapons, totals };