diff --git a/ChangeLog.md b/ChangeLog.md index c62b6398..ebeeb54a 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -8,6 +8,7 @@ * Add engagement range to damage received panel * Handle burst rate of fire as an absolute number rather than a perentage modification * Ensure that clip values are always rounded up + * Ensure that focused weapon mod uses range modifier to increase falloff as well #2.2.10 * Fix detailed export of module reinforcement packages diff --git a/src/app/components/HardpointSlot.jsx b/src/app/components/HardpointSlot.jsx index ef6f913f..826bc7c2 100644 --- a/src/app/components/HardpointSlot.jsx +++ b/src/app/components/HardpointSlot.jsx @@ -75,7 +75,7 @@ export default class HardpointSlot extends Slot { { m.getDps() && m.getEps() ?
{translate('DPE')}: {formats.f1(m.getDps() / m.getEps())}
: null } { m.getRoF() ?
{translate('ROF')}: {formats.f1(m.getRoF())}{u.ps}
: null } { m.getRange() ?
{translate('range')} {formats.f1(m.getRange() / 1000)}{u.km}
: null } - { m.getFalloff() ?
{translate('falloff')} {formats.f1(m.getFalloff() / 1000)}{u.km}
: null } + { m.getFalloff() ?
{translate('falloff')} {formats.round(m.getFalloff() / 1000)}{u.km}
: null } { m.getShieldBoost() ?
+{formats.pct1(m.getShieldBoost())}
: null } { m.getAmmo() ?
{translate('ammunition')}: {formats.int(m.getClip())}/{formats.int(m.getAmmo())}
: null } { m.getShotSpeed() ?
{translate('shotspeed')}: {formats.int(m.getShotSpeed())}{u.mps}
: null } diff --git a/src/app/shipyard/Module.js b/src/app/shipyard/Module.js index 4e7d5805..a92a5757 100755 --- a/src/app/shipyard/Module.js +++ b/src/app/shipyard/Module.js @@ -293,11 +293,19 @@ export default class Module { */ getFalloff() { if (this.getModValue('fallofffromrange')) { + // Falloff from range means what it says, so use range instead of falloff return this.getRange(); } else { - const falloff = this._getModifiedValue('falloff'); - const range = this.getRange(); - return (falloff > range ? range : falloff); + // Need to find out if we have a focused modification, in which case our falloff is scaled to range + if (this.blueprint && this.blueprint.name === 'Focused') { + const rangeMod = this.getModValue('range') / 10000; + return this.falloff * (1 + rangeMod); + } else { + // Standard falloff calculation + const range = this.getRange(); + const falloff = this._getModifiedValue('falloff'); + return (falloff > range ? range : falloff); + } } }