diff --git a/eos/effects/remoteguidancedisruptfalloff.py b/eos/effects/remoteguidancedisruptfalloff.py new file mode 100644 index 000000000..9a21fdb6a --- /dev/null +++ b/eos/effects/remoteguidancedisruptfalloff.py @@ -0,0 +1,17 @@ +# targetMissileDisruptorHostile +# +# Used by: +# Variations of module: Guidance Disruptor I (6 of 6) +type = "active", "projected" + +def handler(fit, src, context): + if "projected" in context: + for srcAttr, tgtAttr in ( + ("aoeCloudSizeBonus", "aoeCloudSize"), + ("aoeVelocityBonus", "aoeVelocity"), + ("missileVelocityBonus", "maxVelocity"), + ("explosionDelayBonus", "explosionDelay"), + ): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), + tgtAttr, src.getModifiedItemAttr(srcAttr), + stackingPenalties=True) diff --git a/eos/effects/remotetrackingdisruptfalloff.py b/eos/effects/remotetrackingdisruptfalloff.py new file mode 100644 index 000000000..fa4092ecb --- /dev/null +++ b/eos/effects/remotetrackingdisruptfalloff.py @@ -0,0 +1,16 @@ +# targetGunneryMaxRangeAndTrackingSpeedAndFalloffBonusHostile +# +# Used by: +# Variations of module: Tracking Disruptor I (6 of 6) +type= "projected", "active" +def handler(fit, module, context): + if "projected" in context: + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"), + "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"), + stackingPenalties = True) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"), + "maxRange", module.getModifiedItemAttr("maxRangeBonus"), + stackingPenalties = True) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"), + "falloff", module.getModifiedItemAttr("falloffBonus"), + stackingPenalties = True)