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);
+ }
}
}