diff --git a/.appveyor.yml b/.appveyor.yml
index 821bbe7d3..65d78d226 100644
--- a/.appveyor.yml
+++ b/.appveyor.yml
@@ -119,7 +119,7 @@ artifacts:
- path: pyfa*-win.exe
#- path: pyfa_debug.zip
# name: Pyfa_debug
-
+
deploy:
tag: $(pyfa_version)
release: pyfa $(pyfa_version)
@@ -132,4 +132,4 @@ deploy:
APPVEYOR_REPO_TAG: true # deploy on tag push only
#on_success:
# - TODO: upload the content of dist/*.whl to a public wheelhouse
-#
\ No newline at end of file
+#
diff --git a/config.py b/config.py
index 371adf8e2..6a4e2e95c 100644
--- a/config.py
+++ b/config.py
@@ -171,9 +171,6 @@ def defPaths(customSavePath=None):
eos.config.saveddata_connectionstring = "sqlite:///" + saveDB + "?check_same_thread=False"
eos.config.gamedata_connectionstring = "sqlite:///" + gameDB + "?check_same_thread=False"
- print(eos.config.saveddata_connectionstring)
- print(eos.config.gamedata_connectionstring)
-
# initialize the settings
from service.settings import EOSSettings
eos.config.settings = EOSSettings.getInstance().EOSSettings # this is kind of confusing, but whatever
diff --git a/dist_assets/mac/pyfa.spec b/dist_assets/mac/pyfa.spec
index 1e1f35711..a461774de 100644
--- a/dist_assets/mac/pyfa.spec
+++ b/dist_assets/mac/pyfa.spec
@@ -35,7 +35,7 @@ import_these = [
icon = os.path.join(os.getcwd(), "dist_assets", "mac", "pyfa.icns")
# Walk directories that do dynamic importing
-paths = ('eos/effects', 'eos/db/migrations', 'service/conversions')
+paths = ('eos/db/migrations', 'service/conversions')
for root, folders, files in chain.from_iterable(os.walk(path) for path in paths):
for file_ in files:
if file_.endswith(".py") and not file_.startswith("_"):
diff --git a/dist_assets/win/pyfa.spec b/dist_assets/win/pyfa.spec
index 1bdf820f0..09fac9e28 100644
--- a/dist_assets/win/pyfa.spec
+++ b/dist_assets/win/pyfa.spec
@@ -33,7 +33,7 @@ import_these = [
]
# Walk directories that do dynamic importing
-paths = ('eos/effects', 'eos/db/migrations', 'service/conversions')
+paths = ('eos/db/migrations', 'service/conversions')
for root, folders, files in chain.from_iterable(os.walk(path) for path in paths):
for file_ in files:
if file_.endswith(".py") and not file_.startswith("_"):
diff --git a/eos/effects.py b/eos/effects.py
new file mode 100644
index 000000000..eff818e59
--- /dev/null
+++ b/eos/effects.py
@@ -0,0 +1,35599 @@
+# ===============================================================================
+# Copyright (C) 2010 Diego Duclos
+#
+# This file is part of eos.
+#
+# eos is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# eos is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with eos. If not, see .
+# ===============================================================================
+
+
+import eos.config
+from eos.const import FittingModuleState
+from eos.utils.spoolSupport import SpoolType, SpoolOptions, calculateSpoolup, resolveSpoolOptions
+
+
+class BaseEffect:
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ pass
+
+
+class DummyEffect(BaseEffect):
+ pass
+
+
+class Effect4(BaseEffect):
+ """
+ shieldBoosting
+
+ Used by:
+ Modules from group: Shield Booster (97 of 97)
+ """
+
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ amount = module.getModifiedItemAttr('shieldBonus')
+ speed = module.getModifiedItemAttr('duration') / 1000.0
+ fit.extraAttributes.increase('shieldRepair', amount / speed)
+
+
+class Effect10(BaseEffect):
+ """
+ targetAttack
+
+ Used by:
+ Drones from group: Combat Drone (75 of 75)
+ Modules from group: Energy Weapon (212 of 214)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # Set reload time to 1 second
+ module.reloadTime = 1000
+
+
+class Effect17(BaseEffect):
+ """
+ mining
+
+ Used by:
+ Drones from group: Mining Drone (10 of 10)
+ """
+
+ grouped = True
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ miningDroneAmountPercent = container.getModifiedItemAttr('miningDroneAmountPercent')
+ if (miningDroneAmountPercent is None) or (miningDroneAmountPercent == 0):
+ pass
+ else:
+ container.multiplyItemAttr('miningAmount', miningDroneAmountPercent / 100)
+
+
+class Effect21(BaseEffect):
+ """
+ shieldCapacityBonusOnline
+
+ Used by:
+ Modules from group: Shield Extender (36 of 36)
+ Modules from group: Shield Resistance Amplifier (88 of 88)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('shieldCapacity', module.getModifiedItemAttr('capacityBonus'))
+
+
+class Effect25(BaseEffect):
+ """
+ capacitorCapacityBonus
+
+ Used by:
+ Modules from group: Capacitor Battery (30 of 30)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.increaseItemAttr('capacitorCapacity', ship.getModifiedItemAttr('capacitorBonus'))
+
+
+class Effect26(BaseEffect):
+ """
+ structureRepair
+
+ Used by:
+ Modules from group: Hull Repair Unit (25 of 25)
+ """
+
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ amount = module.getModifiedItemAttr('structureDamageAmount')
+ speed = module.getModifiedItemAttr('duration') / 1000.0
+ fit.extraAttributes.increase('hullRepair', amount / speed)
+
+
+class Effect27(BaseEffect):
+ """
+ armorRepair
+
+ Used by:
+ Modules from group: Armor Repair Unit (108 of 108)
+ """
+
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ amount = module.getModifiedItemAttr('armorDamageAmount')
+ speed = module.getModifiedItemAttr('duration') / 1000.0
+ rps = amount / speed
+ fit.extraAttributes.increase('armorRepair', rps)
+ fit.extraAttributes.increase('armorRepairPreSpool', rps)
+ fit.extraAttributes.increase('armorRepairFullSpool', rps)
+
+
+class Effect34(BaseEffect):
+ """
+ projectileFired
+
+ Used by:
+ Modules from group: Hybrid Weapon (221 of 221)
+ Modules from group: Projectile Weapon (165 of 165)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ rt = module.getModifiedItemAttr('reloadTime')
+ if not rt:
+ # Set reload time to 10 seconds
+ module.reloadTime = 10000
+ else:
+ module.reloadTime = rt
+
+
+class Effect38(BaseEffect):
+ """
+ empWave
+
+ Used by:
+ Modules from group: Smart Bomb (118 of 118)
+ """
+
+ type = 'active'
+
+
+class Effect39(BaseEffect):
+ """
+ warpDisrupt
+
+ Used by:
+ Modules named like: Warp Disruptor (28 of 28)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ if 'projected' in context:
+ fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'))
+
+
+class Effect48(BaseEffect):
+ """
+ powerBooster
+
+ Used by:
+ Modules from group: Capacitor Booster (59 of 59)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # Set reload time to 10 seconds
+ module.reloadTime = 10000
+ # Make so that reloads are always taken into account during clculations
+ module.forceReload = True
+
+ if module.charge is None:
+ return
+ capAmount = module.getModifiedChargeAttr('capacitorBonus') or 0
+ module.itemModifiedAttributes['capacitorNeed'] = -capAmount
+
+
+class Effect50(BaseEffect):
+ """
+ modifyShieldRechargeRate
+
+ Used by:
+ Modules from group: Capacitor Power Relay (20 of 20)
+ Modules from group: Power Diagnostic System (23 of 23)
+ Modules from group: Reactor Control Unit (22 of 22)
+ Modules from group: Shield Recharger (4 of 4)
+ Modules named like: Flux Coil (12 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('shieldRechargeRate', module.getModifiedItemAttr('shieldRechargeRateMultiplier') or 1)
+
+
+class Effect51(BaseEffect):
+ """
+ modifyPowerRechargeRate
+
+ Used by:
+ Modules from group: Capacitor Flux Coil (6 of 6)
+ Modules from group: Capacitor Power Relay (20 of 20)
+ Modules from group: Capacitor Recharger (18 of 18)
+ Modules from group: Power Diagnostic System (23 of 23)
+ Modules from group: Reactor Control Unit (22 of 22)
+ Modules from group: Shield Power Relay (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('rechargeRate', module.getModifiedItemAttr('capacitorRechargeRateMultiplier'))
+
+
+class Effect55(BaseEffect):
+ """
+ targetHostiles
+
+ Used by:
+ Modules from group: Automated Targeting System (6 of 6)
+ """
+
+ type = 'active'
+
+
+class Effect56(BaseEffect):
+ """
+ powerOutputMultiply
+
+ Used by:
+ Modules from group: Capacitor Flux Coil (6 of 6)
+ Modules from group: Capacitor Power Relay (20 of 20)
+ Modules from group: Power Diagnostic System (23 of 23)
+ Modules from group: Reactor Control Unit (22 of 22)
+ Variations of structure module: Standup Reactor Control Unit I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # We default this to None as there are times when the source attribute doesn't exist (for example, Cap Power Relay).
+ # It will return 0 as it doesn't exist, which would nullify whatever the target attribute is
+ fit.ship.multiplyItemAttr('powerOutput', module.getModifiedItemAttr('powerOutputMultiplier', None))
+
+
+class Effect57(BaseEffect):
+ """
+ shieldCapacityMultiply
+
+ Used by:
+ Modules from group: Capacitor Power Relay (20 of 20)
+ Modules from group: Power Diagnostic System (23 of 23)
+ Modules from group: Reactor Control Unit (22 of 22)
+ Modules named like: Flux Coil (12 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # We default this to None as there are times when the source attribute doesn't exist (for example, Cap Power Relay).
+ # It will return 0 as it doesn't exist, which would nullify whatever the target attribute is
+ fit.ship.multiplyItemAttr('shieldCapacity', module.getModifiedItemAttr('shieldCapacityMultiplier', None))
+
+
+class Effect58(BaseEffect):
+ """
+ capacitorCapacityMultiply
+
+ Used by:
+ Modules from group: Capacitor Flux Coil (6 of 6)
+ Modules from group: Capacitor Power Relay (20 of 20)
+ Modules from group: Power Diagnostic System (23 of 23)
+ Modules from group: Propulsion Module (68 of 133)
+ Modules from group: Reactor Control Unit (22 of 22)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # We default this to None as there are times when the source attribute doesn't exist (for example, Cap Power Relay).
+ # It will return 0 as it doesn't exist, which would nullify whatever the target attribute is
+ fit.ship.multiplyItemAttr('capacitorCapacity', module.getModifiedItemAttr('capacitorCapacityMultiplier', None))
+
+
+class Effect59(BaseEffect):
+ """
+ cargoCapacityMultiply
+
+ Used by:
+ Modules from group: Expanded Cargohold (7 of 7)
+ Modules from group: Overdrive Injector System (7 of 7)
+ Modules from group: Reinforced Bulkhead (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('capacity', module.getModifiedItemAttr('cargoCapacityMultiplier'))
+
+
+class Effect60(BaseEffect):
+ """
+ structureHPMultiply
+
+ Used by:
+ Modules from group: Nanofiber Internal Structure (7 of 7)
+ Modules from group: Reinforced Bulkhead (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('hp', module.getModifiedItemAttr('structureHPMultiplier'))
+
+
+class Effect61(BaseEffect):
+ """
+ agilityBonus
+
+ Used by:
+ Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('agility', src.getModifiedItemAttr('agilityBonusAdd'))
+
+
+class Effect63(BaseEffect):
+ """
+ armorHPMultiply
+
+ Used by:
+ Modules from group: Armor Coating (202 of 202)
+ Modules from group: Armor Plating Energized (187 of 187)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('armorHP', module.getModifiedItemAttr('armorHPMultiplier'))
+
+
+class Effect67(BaseEffect):
+ """
+ miningLaser
+
+ Used by:
+ Modules from group: Frequency Mining Laser (3 of 3)
+ Modules from group: Mining Laser (15 of 15)
+ Modules from group: Strip Miner (5 of 5)
+ Module: Citizen Miner
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # Set reload time to 1 second
+ module.reloadTime = 1000
+
+
+class Effect89(BaseEffect):
+ """
+ projectileWeaponSpeedMultiply
+
+ Used by:
+ Modules from group: Gyrostabilizer (14 of 14)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Projectile Weapon',
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect91(BaseEffect):
+ """
+ energyWeaponDamageMultiply
+
+ Used by:
+ Modules from group: Heat Sink (19 of 19)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect92(BaseEffect):
+ """
+ projectileWeaponDamageMultiply
+
+ Used by:
+ Modules from group: Gyrostabilizer (14 of 14)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Projectile Weapon',
+ 'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect93(BaseEffect):
+ """
+ hybridWeaponDamageMultiply
+
+ Used by:
+ Modules from group: Magnetic Field Stabilizer (15 of 15)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect95(BaseEffect):
+ """
+ energyWeaponSpeedMultiply
+
+ Used by:
+ Modules from group: Heat Sink (19 of 19)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect96(BaseEffect):
+ """
+ hybridWeaponSpeedMultiply
+
+ Used by:
+ Modules from group: Magnetic Field Stabilizer (15 of 15)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect101(BaseEffect):
+ """
+ useMissiles
+
+ Used by:
+ Modules from group: Missile Launcher Heavy (12 of 12)
+ Modules from group: Missile Launcher Rocket (15 of 15)
+ Modules named like: Launcher (154 of 154)
+ Structure Modules named like: Standup Launcher (7 of 7)
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, src, context):
+ # Set reload time to 10 seconds
+ src.reloadTime = 10000
+
+ if 'projected' in context:
+ if src.item.group.name == 'Missile Launcher Bomb':
+ # Bomb Launcher Cooldown Timer
+ moduleReactivationDelay = src.getModifiedItemAttr('moduleReactivationDelay')
+ speed = src.getModifiedItemAttr('speed')
+
+ # Void and Focused Void Bombs
+ neutAmount = src.getModifiedChargeAttr('energyNeutralizerAmount')
+
+ if moduleReactivationDelay and neutAmount and speed:
+ fit.addDrain(src, speed + moduleReactivationDelay, neutAmount, 0)
+
+ # Lockbreaker Bombs
+ ecmStrengthBonus = src.getModifiedChargeAttr('scan{0}StrengthBonus'.format(fit.scanType))
+
+ if ecmStrengthBonus:
+ strModifier = 1 - ecmStrengthBonus / fit.scanStrength
+ fit.ecmProjectedStr *= strModifier
+
+
+class Effect118(BaseEffect):
+ """
+ electronicAttributeModifyOnline
+
+ Used by:
+ Modules from group: Automated Targeting System (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('maxLockedTargets', module.getModifiedItemAttr('maxLockedTargetsBonus'))
+
+
+class Effect157(BaseEffect):
+ """
+ largeHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeHybridTurret
+
+ Used by:
+ Implants named like: Zainou 'Deadeye' Large Hybrid Turret LH (6 of 6)
+ Skill: Large Hybrid Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect159(BaseEffect):
+ """
+ mediumEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumEnergyTurret
+
+ Used by:
+ Implants named like: Inherent Implants 'Lancer' Medium Energy Turret ME (6 of 6)
+ Skill: Medium Energy Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect160(BaseEffect):
+ """
+ mediumHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumHybridTurret
+
+ Used by:
+ Implants named like: Zainou 'Deadeye' Medium Hybrid Turret MH (6 of 6)
+ Skill: Medium Hybrid Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect161(BaseEffect):
+ """
+ mediumProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumProjectileTurret
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Gunslinger' Medium Projectile Turret MP (6 of 6)
+ Skill: Medium Projectile Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect162(BaseEffect):
+ """
+ largeEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeEnergyTurret
+
+ Used by:
+ Implants named like: Inherent Implants 'Lancer' Large Energy Turret LE (6 of 6)
+ Implant: Pashan's Turret Handling Mindlink
+ Skill: Large Energy Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect172(BaseEffect):
+ """
+ smallEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallEnergyTurret
+
+ Used by:
+ Implants named like: Inherent Implants 'Lancer' Small Energy Turret SE (6 of 6)
+ Skill: Small Energy Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect173(BaseEffect):
+ """
+ smallHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallHybridTurret
+
+ Used by:
+ Implants named like: Zainou 'Deadeye' Small Hybrid Turret SH (6 of 6)
+ Skill: Small Hybrid Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect174(BaseEffect):
+ """
+ smallProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallProjectileTurret
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Gunslinger' Small Projectile Turret SP (6 of 6)
+ Skill: Small Projectile Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect212(BaseEffect):
+ """
+ sensorUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringSensorUpgrades
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' Electronics Upgrades EU (6 of 6)
+ Modules named like: Liquid Cooled Electronics (8 of 8)
+ Skill: Electronics Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Electronics Upgrades'),
+ 'cpu', container.getModifiedItemAttr('cpuNeedBonus') * level)
+
+
+class Effect214(BaseEffect):
+ """
+ targetingMaxTargetBonusModAddMaxLockedTargetsLocationChar
+
+ Used by:
+ Skills named like: Target Management (2 of 2)
+ """
+
+ type = 'passive', 'structure'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ amount = skill.getModifiedItemAttr('maxTargetBonus') * skill.level
+ fit.extraAttributes.increase('maxTargetsLockedFromSkills', amount)
+
+
+class Effect223(BaseEffect):
+ """
+ navigationVelocityBonusPostPercentMaxVelocityLocationShip
+
+ Used by:
+ Implant: Low-grade Snake Alpha
+ Implant: Mid-grade Snake Alpha
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.boostItemAttr('maxVelocity', implant.getModifiedItemAttr('velocityBonus'))
+
+
+class Effect227(BaseEffect):
+ """
+ accerationControlCapNeedBonusPostPercentCapacitorNeedLocationShipGroupAfterburner
+
+ Used by:
+ Modules named like: Dynamic Fuel Valve (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus'))
+
+
+class Effect230(BaseEffect):
+ """
+ afterburnerDurationBonusPostPercentDurationLocationShipModulesRequiringAfterburner
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Rogue' Afterburner AB (6 of 6)
+ Implant: Zor's Custom Navigation Link
+ Skill: Afterburner
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'duration', container.getModifiedItemAttr('durationBonus') * level)
+
+
+class Effect235(BaseEffect):
+ """
+ warpdriveoperationWarpCapacitorNeedBonusPostPercentWarpCapacitorNeedLocationShip
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Rogue' Warp Drive Operation WD (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.boostItemAttr('warpCapacitorNeed', implant.getModifiedItemAttr('warpCapacitorNeedBonus'))
+
+
+class Effect242(BaseEffect):
+ """
+ accerationControlSpeedFBonusPostPercentSpeedFactorLocationShipGroupAfterburner
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Rogue' Acceleration Control AC (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',
+ 'speedFactor', implant.getModifiedItemAttr('speedFBonus'))
+
+
+class Effect244(BaseEffect):
+ """
+ highSpeedManuveringCapacitorNeedMultiplierPostPercentCapacitorNeedLocationShipModulesRequiringHighSpeedManuvering
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Rogue' High Speed Maneuvering HS (6 of 6)
+ Skill: High Speed Maneuvering
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect271(BaseEffect):
+ """
+ hullUpgradesArmorHpBonusPostPercentHpLocationShip
+
+ Used by:
+ Implants named like: grade Slave (15 of 18)
+ Modules named like: Trimark Armor Pump (8 of 8)
+ Implant: Low-grade Snake Epsilon
+ Implant: Mid-grade Snake Epsilon
+ Skill: Hull Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('armorHP', (container.getModifiedItemAttr('armorHpBonus') or 0) * level)
+
+
+class Effect272(BaseEffect):
+ """
+ repairSystemsDurationBonusPostPercentDurationLocationShipModulesRequiringRepairSystems
+
+ Used by:
+ Implants named like: Inherent Implants 'Noble' Repair Systems RS (6 of 6)
+ Modules named like: Nanobot Accelerator (8 of 8)
+ Implant: Numon Family Heirloom
+ Skill: Repair Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'duration', container.getModifiedItemAttr('durationSkillBonus') * level)
+
+
+class Effect273(BaseEffect):
+ """
+ shieldUpgradesPowerNeedBonusPostPercentPowerLocationShipModulesRequiringShieldUpgrades
+
+ Used by:
+ Implants named like: Zainou 'Gnome' Shield Upgrades SU (6 of 6)
+ Modules named like: Core Defense Charge Economizer (8 of 8)
+ Skill: Shield Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Upgrades'),
+ 'power', container.getModifiedItemAttr('powerNeedBonus') * level)
+
+
+class Effect277(BaseEffect):
+ """
+ tacticalshieldManipulationSkillBoostUniformityBonus
+
+ Used by:
+ Skill: Tactical Shield Manipulation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.ship.increaseItemAttr('shieldUniformity', skill.getModifiedItemAttr('uniformityBonus') * skill.level)
+
+
+class Effect279(BaseEffect):
+ """
+ shieldEmmisionSystemsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringShieldEmmisionSystems
+
+ Used by:
+ Implants named like: Zainou 'Gnome' Shield Emission Systems SE (6 of 6)
+ Skill: Shield Emission Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect287(BaseEffect):
+ """
+ controlledBurstsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringGunnery
+
+ Used by:
+ Implants named like: Inherent Implants 'Lancer' Controlled Bursts CB (6 of 6)
+ Skill: Controlled Bursts
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect290(BaseEffect):
+ """
+ sharpshooterRangeSkillBonusPostPercentMaxRangeLocationShipModulesRequiringGunnery
+
+ Used by:
+ Implants named like: Frentix Booster (4 of 4)
+ Implants named like: Zainou 'Deadeye' Sharpshooter ST (6 of 6)
+ Skill: Sharpshooter
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level)
+
+
+class Effect298(BaseEffect):
+ """
+ surgicalStrikeFalloffBonusPostPercentFalloffLocationShipModulesRequiringGunnery
+
+ Used by:
+ Implants named like: Sooth Sayer Booster (4 of 4)
+ Implants named like: Zainou 'Deadeye' Trajectory Analysis TA (6 of 6)
+ Skill: Trajectory Analysis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'falloff', container.getModifiedItemAttr('falloffBonus') * level)
+
+
+class Effect315(BaseEffect):
+ """
+ dronesSkillBoostMaxActiveDroneBonus
+
+ Used by:
+ Skill: Drones
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ amount = skill.getModifiedItemAttr('maxActiveDroneBonus') * skill.level
+ fit.extraAttributes.increase('maxActiveDrones', amount)
+
+
+class Effect391(BaseEffect):
+ """
+ astrogeologyMiningAmountBonusPostPercentMiningAmountLocationShipModulesRequiringMining
+
+ Used by:
+ Implants named like: Inherent Implants 'Highwall' Mining MX (3 of 3)
+ Implant: Michi's Excavation Augmentor
+ Skill: Astrogeology
+ Skill: Mining
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),
+ 'miningAmount', container.getModifiedItemAttr('miningAmountBonus') * level)
+
+
+class Effect392(BaseEffect):
+ """
+ mechanicHullHpBonusPostPercentHpShip
+
+ Used by:
+ Implants named like: Inherent Implants 'Noble' Mechanic MC (6 of 6)
+ Modules named like: Transverse Bulkhead (8 of 8)
+ Skill: Mechanics
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('hp', container.getModifiedItemAttr('hullHpBonus') * level)
+
+
+class Effect394(BaseEffect):
+ """
+ navigationVelocityBonusPostPercentMaxVelocityShip
+
+ Used by:
+ Modules from group: Rig Anchor (4 of 4)
+ Implants named like: Agency 'Overclocker' SB Dose (4 of 4)
+ Implants named like: grade Snake (16 of 18)
+ Modules named like: Auxiliary Thrusters (8 of 8)
+ Implant: Quafe Zero
+ Skill: Navigation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ amount = container.getModifiedItemAttr('velocityBonus') or 0
+ fit.ship.boostItemAttr('maxVelocity', amount * level,
+ stackingPenalties='skill' not in context and 'implant' not in context and 'booster' not in context)
+
+
+class Effect395(BaseEffect):
+ """
+ evasiveManeuveringAgilityBonusPostPercentAgilityShip
+
+ Used by:
+ Modules from group: Rig Anchor (4 of 4)
+ Implants named like: Eifyr and Co. 'Rogue' Evasive Maneuvering EM (6 of 6)
+ Implants named like: grade Nomad (10 of 12)
+ Modules named like: Low Friction Nozzle Joints (8 of 8)
+ Implant: Genolution Core Augmentation CA-4
+ Skill: Evasive Maneuvering
+ Skill: Spaceship Command
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('agility', container.getModifiedItemAttr('agilityBonus') * level,
+ stackingPenalties='skill' not in context and 'implant' not in context)
+
+
+class Effect396(BaseEffect):
+ """
+ energyGridUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringEnergyGridUpgrades
+
+ Used by:
+ Implants named like: Inherent Implants 'Squire' Energy Grid Upgrades EU (6 of 6)
+ Modules named like: Powergrid Subroutine Maximizer (8 of 8)
+ Skill: Energy Grid Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Energy Grid Upgrades'),
+ 'cpu', container.getModifiedItemAttr('cpuNeedBonus') * level)
+
+
+class Effect397(BaseEffect):
+ """
+ electronicsCpuOutputBonusPostPercentCpuOutputLocationShipGroupComputer
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' CPU Management EE (6 of 6)
+ Modules named like: Processor Overclocking Unit (8 of 8)
+ Subsystems named like: Core Electronic Efficiency Gate (2 of 2)
+ Implant: Genolution Core Augmentation CA-2
+ Skill: CPU Management
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('cpuOutput', container.getModifiedItemAttr('cpuOutputBonus2') * level)
+
+
+class Effect408(BaseEffect):
+ """
+ largeProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeProjectileTurret
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Gunslinger' Large Projectile Turret LP (6 of 6)
+ Skill: Large Projectile Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect414(BaseEffect):
+ """
+ gunneryTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringGunnery
+
+ Used by:
+ Implants named like: Inherent Implants 'Lancer' Gunnery RF (6 of 6)
+ Implant: Pashan's Turret Customization Mindlink
+ Skill: Gunnery
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'speed', container.getModifiedItemAttr('turretSpeeBonus') * level)
+
+
+class Effect446(BaseEffect):
+ """
+ shieldManagementShieldCapacityBonusPostPercentCapacityLocationShipGroupShield
+
+ Used by:
+ Implants named like: Zainou 'Gnome' Shield Management SM (6 of 6)
+ Modules named like: Core Defense Field Extender (8 of 8)
+ Implant: Genolution Core Augmentation CA-3
+ Implant: Sansha Modified 'Gnome' Implant
+ Skill: Shield Management
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('shieldCapacity', container.getModifiedItemAttr('shieldCapacityBonus') * level)
+
+
+class Effect485(BaseEffect):
+ """
+ energysystemsoperationCapRechargeBonusPostPercentRechargeRateLocationShipGroupCapacitor
+
+ Used by:
+ Implants named like: Inherent Implants 'Squire' Capacitor Systems Operation EO (6 of 6)
+ Modules named like: Capacitor Control Circuit (8 of 8)
+ Implant: Genolution Core Augmentation CA-2
+ Skill: Capacitor Systems Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('rechargeRate', container.getModifiedItemAttr('capRechargeBonus') * level)
+
+
+class Effect486(BaseEffect):
+ """
+ shieldOperationRechargeratebonusPostPercentRechargeRateLocationShipGroupShield
+
+ Used by:
+ Implants named like: Zainou 'Gnome' Shield Operation SP (6 of 6)
+ Modules named like: Core Defense Field Purger (8 of 8)
+ Implant: Sansha Modified 'Gnome' Implant
+ Skill: Shield Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('shieldRechargeRate', container.getModifiedItemAttr('rechargeratebonus') * level)
+
+
+class Effect490(BaseEffect):
+ """
+ engineeringPowerEngineeringOutputBonusPostPercentPowerOutputLocationShipGroupPowerCore
+
+ Used by:
+ Implants named like: Inherent Implants 'Squire' Power Grid Management EG (6 of 6)
+ Modules named like: Ancillary Current Router (8 of 8)
+ Subsystems named like: Core Augmented Reactor (4 of 4)
+ Implant: Genolution Core Augmentation CA-1
+ Skill: Power Grid Management
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('powerOutput', container.getModifiedItemAttr('powerEngineeringOutputBonus') * level)
+
+
+class Effect494(BaseEffect):
+ """
+ warpDriveOperationWarpCapacitorNeedBonusPostPercentWarpCapacitorNeedLocationShipGroupPropulsion
+
+ Used by:
+ Modules named like: Warp Core Optimizer (8 of 8)
+ Skill: Warp Drive Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('warpCapacitorNeed', container.getModifiedItemAttr('warpCapacitorNeedBonus') * level,
+ stackingPenalties='skill' not in context)
+
+
+class Effect504(BaseEffect):
+ """
+ scoutDroneOperationDroneRangeBonusModAddDroneControlDistanceChar
+
+ Used by:
+ Modules named like: Drone Control Range Augmentor (8 of 8)
+ Skills named like: Drone Avionics (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ amount = container.getModifiedItemAttr('droneRangeBonus') * level
+ fit.extraAttributes.increase('droneControlRange', amount)
+
+
+class Effect506(BaseEffect):
+ """
+ fuelConservationCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringAfterburner
+
+ Used by:
+ Skill: Afterburner
+ Skill: Fuel Conservation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'capacitorNeed', skill.getModifiedItemAttr('capNeedBonus') * skill.level)
+
+
+class Effect507(BaseEffect):
+ """
+ longRangeTargetingMaxTargetRangeBonusPostPercentMaxTargetRangeLocationShipGroupElectronic
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' Long Range Targeting LT (6 of 6)
+ Skill: Long Range Targeting
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('maxTargetRange', container.getModifiedItemAttr('maxTargetRangeBonus') * level)
+
+
+class Effect508(BaseEffect):
+ """
+ shipPDmgBonusMF
+
+ Used by:
+ Ship: Cheetah
+ Ship: Freki
+ Ship: Republic Fleet Firetail
+ Ship: Rifter
+ Ship: Slasher
+ Ship: Stiletto
+ Ship: Wolf
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect511(BaseEffect):
+ """
+ shipEnergyTCapNeedBonusAF
+
+ Used by:
+ Ship: Crusader
+ Ship: Executioner
+ Ship: Gold Magnate
+ Ship: Punisher
+ Ship: Retribution
+ Ship: Silver Magnate
+ Ship: Tormentor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect512(BaseEffect):
+ """
+ shipSHTDmgBonusGF
+
+ Used by:
+ Variations of ship: Incursus (3 of 3)
+ Ship: Atron
+ Ship: Federation Navy Comet
+ Ship: Helios
+ Ship: Pacifier
+ Ship: Taranis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect514(BaseEffect):
+ """
+ shipSETDmgBonusAF
+
+ Used by:
+ Ship: Executioner
+ Ship: Gold Magnate
+ Ship: Silver Magnate
+ Ship: Tormentor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect516(BaseEffect):
+ """
+ shipTCapNeedBonusAC
+
+ Used by:
+ Ship: Devoter
+ Ship: Omen
+ Ship: Zealot
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect521(BaseEffect):
+ """
+ shipHRangeBonusCC
+
+ Used by:
+ Ship: Eagle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect527(BaseEffect):
+ """
+ shipVelocityBonusMI
+
+ Used by:
+ Variations of ship: Mammoth (2 of 2)
+ Ship: Hoarder
+ Ship: Prowler
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('shipBonusMI'), skill='Minmatar Industrial')
+
+
+class Effect529(BaseEffect):
+ """
+ shipCargoBonusAI
+
+ Used by:
+ Variations of ship: Sigil (2 of 2)
+ Ship: Bestower
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('shipBonusAI'), skill='Amarr Industrial')
+
+
+class Effect536(BaseEffect):
+ """
+ cpuMultiplierPostMulCpuOutputShip
+
+ Used by:
+ Modules from group: CPU Enhancer (19 of 19)
+ Variations of structure module: Standup Co-Processor Array I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('cpuOutput', module.getModifiedItemAttr('cpuMultiplier'))
+
+
+class Effect542(BaseEffect):
+ """
+ shipCapNeedBonusAB
+
+ Used by:
+ Variations of ship: Armageddon (3 of 5)
+ Ship: Apocalypse Imperial Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship')
+
+
+class Effect549(BaseEffect):
+ """
+ shipPTDmgBonusMB
+
+ Used by:
+ Variations of ship: Tempest (3 of 4)
+ Ship: Machariel
+ Ship: Panther
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect550(BaseEffect):
+ """
+ shipHTDmgBonusGB
+
+ Used by:
+ Ship: Dominix Navy Issue
+ Ship: Hyperion
+ Ship: Kronos
+ Ship: Marshal
+ Ship: Megathron Federate Issue
+ Ship: Sin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGB'),
+ skill='Gallente Battleship')
+
+
+class Effect553(BaseEffect):
+ """
+ shipHTTrackingBonusGB
+
+ Used by:
+ Ship: Vindicator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship')
+
+
+class Effect562(BaseEffect):
+ """
+ shipHTDmgBonusfixedGC
+
+ Used by:
+ Ship: Adrestia
+ Ship: Arazu
+ Ship: Deimos
+ Ship: Enforcer
+ Ship: Exequror Navy Issue
+ Ship: Guardian-Vexor
+ Ship: Thorax
+ Ship: Vexor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect581(BaseEffect):
+ """
+ weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringGunnery
+
+ Used by:
+ Implants named like: Zainou 'Gnome' Weapon Upgrades WU (6 of 6)
+ Skill: Weapon Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'cpu', container.getModifiedItemAttr('cpuNeedBonus') * level)
+
+
+class Effect582(BaseEffect):
+ """
+ rapidFiringRofBonusPostPercentSpeedLocationShipModulesRequiringGunnery
+
+ Used by:
+ Skill: Rapid Firing
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'speed', skill.getModifiedItemAttr('rofBonus') * skill.level)
+
+
+class Effect584(BaseEffect):
+ """
+ surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringGunnery
+
+ Used by:
+ Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
+ Implants named like: Eifyr and Co. 'Gunslinger' Surgical Strike SS (6 of 6)
+ Implant: Standard Cerebral Accelerator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'damageMultiplier', implant.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect587(BaseEffect):
+ """
+ surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupEnergyWeapon
+
+ Used by:
+ Skill: Surgical Strike
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect588(BaseEffect):
+ """
+ surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupProjectileWeapon
+
+ Used by:
+ Skill: Surgical Strike
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect589(BaseEffect):
+ """
+ surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupHybridWeapon
+
+ Used by:
+ Skill: Surgical Strike
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect590(BaseEffect):
+ """
+ energyPulseWeaponsDurationBonusPostPercentDurationLocationShipModulesRequiringEnergyPulseWeapons
+
+ Used by:
+ Implants named like: Inherent Implants 'Squire' Energy Pulse Weapons EP (6 of 6)
+ Skill: Energy Pulse Weapons
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Energy Pulse Weapons'),
+ 'duration', container.getModifiedItemAttr('durationBonus') * level)
+
+
+class Effect596(BaseEffect):
+ """
+ ammoInfluenceRange
+
+ Used by:
+ Items from category: Charge (587 of 949)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.multiplyItemAttr('maxRange', module.getModifiedChargeAttr('weaponRangeMultiplier'))
+
+
+class Effect598(BaseEffect):
+ """
+ ammoSpeedMultiplier
+
+ Used by:
+ Charges from group: Festival Charges (26 of 26)
+ Charges from group: Interdiction Probe (2 of 2)
+ Items from market group: Special Edition Assets > Special Edition Festival Assets (30 of 33)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.multiplyItemAttr('speed', module.getModifiedChargeAttr('speedMultiplier') or 1)
+
+
+class Effect599(BaseEffect):
+ """
+ ammoFallofMultiplier
+
+ Used by:
+ Charges from group: Advanced Artillery Ammo (8 of 8)
+ Charges from group: Advanced Autocannon Ammo (8 of 8)
+ Charges from group: Advanced Beam Laser Crystal (8 of 8)
+ Charges from group: Advanced Blaster Charge (8 of 8)
+ Charges from group: Advanced Pulse Laser Crystal (8 of 8)
+ Charges from group: Advanced Railgun Charge (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.multiplyItemAttr('falloff', module.getModifiedChargeAttr('fallofMultiplier') or 1)
+
+
+class Effect600(BaseEffect):
+ """
+ ammoTrackingMultiplier
+
+ Used by:
+ Items from category: Charge (182 of 949)
+ Charges from group: Projectile Ammo (128 of 128)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.multiplyItemAttr('trackingSpeed', module.getModifiedChargeAttr('trackingSpeedMultiplier'))
+
+
+class Effect602(BaseEffect):
+ """
+ shipPTurretSpeedBonusMC
+
+ Used by:
+ Variations of ship: Rupture (3 of 3)
+ Variations of ship: Stabber (3 of 3)
+ Ship: Enforcer
+ Ship: Huginn
+ Ship: Scythe Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser')
+
+
+class Effect604(BaseEffect):
+ """
+ shipPTspeedBonusMB2
+
+ Used by:
+ Variations of ship: Tempest (4 of 4)
+ Ship: Maelstrom
+ Ship: Marshal
+ Ship: Panther
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusMB2'), skill='Minmatar Battleship')
+
+
+class Effect607(BaseEffect):
+ """
+ cloaking
+
+ Used by:
+ Modules from group: Cloaking Device (10 of 14)
+ """
+
+ runTime = 'early'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # Set flag which is used to determine if ship is cloaked or not
+ # This is used to apply cloak-only bonuses, like Black Ops' speed bonus
+ # Doesn't apply to covops cloaks
+ fit.extraAttributes['cloaked'] = True
+ # Apply speed penalty
+ fit.ship.multiplyItemAttr('maxVelocity', module.getModifiedItemAttr('maxVelocityModifier'))
+
+
+class Effect623(BaseEffect):
+ """
+ miningDroneOperationMiningAmountBonusPostPercentMiningDroneAmountPercentChar
+
+ Used by:
+ Modules named like: Drone Mining Augmentor (8 of 8)
+ Skill: Mining Drone Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),
+ 'miningAmount',
+ container.getModifiedItemAttr('miningAmountBonus') * level)
+
+
+class Effect627(BaseEffect):
+ """
+ powerIncrease
+
+ Used by:
+ Modules from group: Auxiliary Power Core (5 of 5)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('powerOutput', module.getModifiedItemAttr('powerIncrease'))
+
+
+class Effect657(BaseEffect):
+ """
+ agilityMultiplierEffect
+
+ Used by:
+ Modules from group: Inertial Stabilizer (7 of 7)
+ Modules from group: Nanofiber Internal Structure (7 of 7)
+ Modules from group: Reinforced Bulkhead (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('agility',
+ module.getModifiedItemAttr('agilityMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect660(BaseEffect):
+ """
+ missileEMDmgBonus
+
+ Used by:
+ Skills named like: Missiles (5 of 7)
+ Skill: Rockets
+ Skill: Torpedoes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),
+ 'emDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect661(BaseEffect):
+ """
+ missileExplosiveDmgBonus
+
+ Used by:
+ Skills named like: Missiles (5 of 7)
+ Skill: Rockets
+ Skill: Torpedoes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),
+ 'explosiveDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect662(BaseEffect):
+ """
+ missileThermalDmgBonus
+
+ Used by:
+ Skills named like: Missiles (5 of 7)
+ Skill: Rockets
+ Skill: Torpedoes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),
+ 'thermalDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect668(BaseEffect):
+ """
+ missileKineticDmgBonus2
+
+ Used by:
+ Skills named like: Missiles (5 of 7)
+ Skill: Rockets
+ Skill: Torpedoes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),
+ 'kineticDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect670(BaseEffect):
+ """
+ antiWarpScramblingPassive
+
+ Used by:
+ Modules from group: Warp Core Stabilizer (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'))
+
+
+class Effect675(BaseEffect):
+ """
+ weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringEnergyPulseWeapons
+
+ Used by:
+ Skill: Weapon Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Energy Pulse Weapons'),
+ 'cpu', skill.getModifiedItemAttr('cpuNeedBonus') * skill.level)
+
+
+class Effect677(BaseEffect):
+ """
+ weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringMissileLauncherOperation
+
+ Used by:
+ Implants named like: Zainou 'Gnome' Launcher CPU Efficiency LE (6 of 6)
+ Skill: Weapon Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'cpu', container.getModifiedItemAttr('cpuNeedBonus') * level)
+
+
+class Effect699(BaseEffect):
+ """
+ signatureAnalysisScanResolutionBonusPostPercentScanResolutionShip
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' Signature Analysis SA (6 of 6)
+ Modules named like: Targeting System Subcontroller (8 of 8)
+ Implant: Quafe Zero
+ Skill: Signature Analysis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ penalized = False if 'skill' in context or 'implant' in context or 'booster' in context else True
+ fit.ship.boostItemAttr('scanResolution', container.getModifiedItemAttr('scanResolutionBonus') * level,
+ stackingPenalties=penalized)
+
+
+class Effect706(BaseEffect):
+ """
+ covertOpsWarpResistance
+
+ Used by:
+ Ships from group: Covert Ops (5 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpFactor', src.getModifiedItemAttr('eliteBonusCovertOps1'), skill='Covert Ops')
+
+
+class Effect726(BaseEffect):
+ """
+ shipBonusCargo2GI
+
+ Used by:
+ Variations of ship: Miasmos (3 of 4)
+ Variations of ship: Nereus (2 of 2)
+ Ship: Iteron Mark V
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ # TODO: investigate if we can live without such ifs or hardcoding
+ # Viator doesn't have GI bonus
+ if 'shipBonusGI' in fit.ship.item.attributes:
+ bonusAttr = 'shipBonusGI'
+ else:
+ bonusAttr = 'shipBonusGI2'
+ fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr(bonusAttr), skill='Gallente Industrial')
+
+
+class Effect727(BaseEffect):
+ """
+ shipBonusCargoCI
+
+ Used by:
+ Variations of ship: Badger (2 of 2)
+ Ship: Tayra
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('shipBonusCI'), skill='Caldari Industrial')
+
+
+class Effect728(BaseEffect):
+ """
+ shipBonusCargoMI
+
+ Used by:
+ Variations of ship: Wreathe (2 of 2)
+ Ship: Mammoth
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('shipBonusMI'), skill='Minmatar Industrial')
+
+
+class Effect729(BaseEffect):
+ """
+ shipBonusVelocityGI
+
+ Used by:
+ Variations of ship: Epithal (2 of 2)
+ Variations of ship: Miasmos (4 of 4)
+ Ship: Iteron Mark V
+ Ship: Kryos
+ Ship: Viator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ # TODO: investigate if we can live without such ifs or hardcoding
+ # Viator doesn't have GI bonus
+ if 'shipBonusGI' in fit.ship.item.attributes:
+ bonusAttr = 'shipBonusGI'
+ else:
+ bonusAttr = 'shipBonusGI2'
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr(bonusAttr), skill='Gallente Industrial')
+
+
+class Effect730(BaseEffect):
+ """
+ shipBonusVelocityCI
+
+ Used by:
+ Variations of ship: Tayra (2 of 2)
+ Ship: Crane
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('shipBonusCI'), skill='Caldari Industrial')
+
+
+class Effect732(BaseEffect):
+ """
+ shipVelocityBonusAI
+
+ Used by:
+ Variations of ship: Bestower (2 of 2)
+ Ship: Prorator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('shipBonusAI'), skill='Amarr Industrial')
+
+
+class Effect736(BaseEffect):
+ """
+ shipBonusCapCapAB
+
+ Used by:
+ Ship: Apocalypse Imperial Issue
+ Ship: Paladin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('capacitorCapacity', ship.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship')
+
+
+class Effect744(BaseEffect):
+ """
+ surveyScanspeedBonusPostPercentDurationLocationShipModulesRequiringElectronics
+
+ Used by:
+ Modules named like: Signal Focusing Kit (8 of 8)
+ Skill: Survey
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('CPU Management'),
+ 'duration', container.getModifiedItemAttr('scanspeedBonus') * level)
+
+
+class Effect754(BaseEffect):
+ """
+ shipHybridDamageBonusCF
+
+ Used by:
+ Ship: Raptor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect757(BaseEffect):
+ """
+ shipETDamageAF
+
+ Used by:
+ Ship: Crucifier Navy Issue
+ Ship: Crusader
+ Ship: Imperial Navy Slicer
+ Ship: Pacifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect760(BaseEffect):
+ """
+ shipBonusSmallMissileRoFCF2
+
+ Used by:
+ Ship: Buzzard
+ Ship: Hawk
+ Ship: Pacifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'speed', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect763(BaseEffect):
+ """
+ missileDMGBonus
+
+ Used by:
+ Modules from group: Ballistic Control system (22 of 22)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ '%sDamage' % dmgType,
+ container.getModifiedItemAttr('missileDamageMultiplierBonus'),
+ stackingPenalties=True)
+
+
+class Effect784(BaseEffect):
+ """
+ missileBombardmentMaxFlightTimeBonusPostPercentExplosionDelayOwnerCharModulesRequiringMissileLauncherOperation
+
+ Used by:
+ Implants named like: Zainou 'Deadeye' Missile Bombardment MB (6 of 6)
+ Modules named like: Rocket Fuel Cache Partition (8 of 8)
+ Implant: Antipharmakon Toxot
+ Skill: Missile Bombardment
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ penalized = False if 'skill' in context or 'implant' in context or 'booster' in context else True
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosionDelay', container.getModifiedItemAttr('maxFlightTimeBonus') * level,
+ stackingPenalties=penalized)
+
+
+class Effect804(BaseEffect):
+ """
+ ammoInfluenceCapNeed
+
+ Used by:
+ Items from category: Charge (493 of 949)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # Dirty hack to work around cap charges setting cap booster
+ # injection amount to zero
+ rawAttr = module.item.getAttribute('capacitorNeed')
+ if rawAttr is not None and rawAttr >= 0:
+ module.boostItemAttr('capacitorNeed', module.getModifiedChargeAttr('capNeedBonus') or 0)
+
+
+class Effect836(BaseEffect):
+ """
+ skillFreightBonus
+
+ Used by:
+ Modules named like: Cargohold Optimization (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('capacity', module.getModifiedItemAttr('cargoCapacityBonus'))
+
+
+class Effect848(BaseEffect):
+ """
+ cloakingTargetingDelayBonusPostPercentCloakingTargetingDelayBonusForShipModulesRequiringCloaking
+
+ Used by:
+ Skill: Cloaking
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'),
+ 'cloakingTargetingDelay',
+ skill.getModifiedItemAttr('cloakingTargetingDelayBonus') * skill.level)
+
+
+class Effect854(BaseEffect):
+ """
+ cloakingScanResolutionMultiplier
+
+ Used by:
+ Modules from group: Cloaking Device (12 of 14)
+ """
+
+ type = 'offline'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('scanResolution',
+ module.getModifiedItemAttr('scanResolutionMultiplier'),
+ stackingPenalties=True, penaltyGroup='cloakingScanResolutionMultiplier')
+
+
+class Effect856(BaseEffect):
+ """
+ warpSkillSpeed
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Rogue' Warp Drive Speed WS (6 of 6)
+ Implants named like: grade Ascendancy (10 of 12)
+ Modules named like: Hyperspatial Velocity Optimizer (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ penalized = False if 'skill' in context or 'implant' in context else True
+ fit.ship.boostItemAttr('baseWarpSpeed', container.getModifiedItemAttr('WarpSBonus'),
+ stackingPenalties=penalized)
+
+
+class Effect874(BaseEffect):
+ """
+ shipProjectileOptimalBonuseMF2
+
+ Used by:
+ Ship: Cheetah
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+
+
+class Effect882(BaseEffect):
+ """
+ shipHybridRangeBonusCF2
+
+ Used by:
+ Ship: Harpy
+ Ship: Raptor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect887(BaseEffect):
+ """
+ shipETspeedBonusAB2
+
+ Used by:
+ Variations of ship: Armageddon (3 of 5)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship')
+
+
+class Effect889(BaseEffect):
+ """
+ missileLauncherSpeedMultiplier
+
+ Used by:
+ Modules from group: Ballistic Control system (22 of 22)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect891(BaseEffect):
+ """
+ shipCruiseMissileVelocityBonusCB3
+
+ Used by:
+ Variations of ship: Raven (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCB3'), skill='Caldari Battleship')
+
+
+class Effect892(BaseEffect):
+ """
+ shipTorpedosVelocityBonusCB3
+
+ Used by:
+ Variations of ship: Raven (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCB3'), skill='Caldari Battleship')
+
+
+class Effect896(BaseEffect):
+ """
+ covertOpsCpuBonus1
+
+ Used by:
+ Ships from group: Stealth Bomber (4 of 5)
+ Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cloaking Device',
+ 'cpu', container.getModifiedItemAttr('cloakingCpuNeedBonus'))
+
+
+class Effect898(BaseEffect):
+ """
+ shipMissileKineticDamageCF
+
+ Used by:
+ Ship: Buzzard
+ Ship: Condor
+ Ship: Hawk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect899(BaseEffect):
+ """
+ shipMissileKineticDamageCC
+
+ Used by:
+ Ship: Cerberus
+ Ship: Onyx
+ Ship: Orthrus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect900(BaseEffect):
+ """
+ shipDroneScoutThermalDamageGF2
+
+ Used by:
+ Ship: Helios
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Light Drone Operation'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect907(BaseEffect):
+ """
+ shipLaserRofAC2
+
+ Used by:
+ Ship: Omen
+ Ship: Zealot
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect909(BaseEffect):
+ """
+ shipArmorHpAC2
+
+ Used by:
+ Ship: Augoror Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorHP', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect912(BaseEffect):
+ """
+ shipMissileLauncherRofCC2
+
+ Used by:
+ Ship: Onyx
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'speed', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect918(BaseEffect):
+ """
+ shipDronesMaxGC2
+
+ Used by:
+ Ship: Guardian-Vexor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.extraAttributes.increase('maxActiveDrones', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect919(BaseEffect):
+ """
+ shipHybridTrackingGC2
+
+ Used by:
+ Ship: Enforcer
+ Ship: Thorax
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect958(BaseEffect):
+ """
+ shipArmorEmResistanceAC2
+
+ Used by:
+ Ship: Maller
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect959(BaseEffect):
+ """
+ shipArmorExplosiveResistanceAC2
+
+ Used by:
+ Ship: Maller
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusAC2'),
+ skill='Amarr Cruiser')
+
+
+class Effect960(BaseEffect):
+ """
+ shipArmorKineticResistanceAC2
+
+ Used by:
+ Ship: Maller
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusAC2'),
+ skill='Amarr Cruiser')
+
+
+class Effect961(BaseEffect):
+ """
+ shipArmorThermalResistanceAC2
+
+ Used by:
+ Ship: Maller
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusAC2'),
+ skill='Amarr Cruiser')
+
+
+class Effect968(BaseEffect):
+ """
+ shipProjectileDmgMC2
+
+ Used by:
+ Variations of ship: Rupture (3 of 3)
+ Ship: Cynabal
+ Ship: Moracha
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusMC2'),
+ skill='Minmatar Cruiser')
+
+
+class Effect980(BaseEffect):
+ """
+ cloakingWarpSafe
+
+ Used by:
+ Modules named like: Covert Ops Cloaking Device II (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.extraAttributes['cloaked'] = True
+ # TODO: Implement
+
+
+class Effect989(BaseEffect):
+ """
+ eliteBonusGunshipHybridOptimal1
+
+ Used by:
+ Ship: Enyo
+ Ship: Harpy
+ Ship: Ishkur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates')
+
+
+class Effect991(BaseEffect):
+ """
+ eliteBonusGunshipLaserOptimal1
+
+ Used by:
+ Ship: Retribution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates')
+
+
+class Effect996(BaseEffect):
+ """
+ eliteBonusGunshipHybridTracking2
+
+ Used by:
+ Ship: Enyo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusGunship2'),
+ skill='Assault Frigates')
+
+
+class Effect998(BaseEffect):
+ """
+ eliteBonusGunshipProjectileFalloff2
+
+ Used by:
+ Ship: Wolf
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates')
+
+
+class Effect999(BaseEffect):
+ """
+ eliteBonusGunshipShieldBoost2
+
+ Used by:
+ Ship: Hawk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', ship.getModifiedItemAttr('eliteBonusGunship2'),
+ skill='Assault Frigates')
+
+
+class Effect1001(BaseEffect):
+ """
+ eliteBonusGunshipCapRecharge2
+
+ Used by:
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('rechargeRate', ship.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates')
+
+
+class Effect1003(BaseEffect):
+ """
+ selfT2SmallLaserPulseDamageBonus
+
+ Used by:
+ Skill: Small Pulse Laser Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Pulse Laser Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1004(BaseEffect):
+ """
+ selfT2SmallLaserBeamDamageBonus
+
+ Used by:
+ Skill: Small Beam Laser Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Beam Laser Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1005(BaseEffect):
+ """
+ selfT2SmallHybridBlasterDamageBonus
+
+ Used by:
+ Skill: Small Blaster Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Blaster Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1006(BaseEffect):
+ """
+ selfT2SmallHybridRailDamageBonus
+
+ Used by:
+ Skill: Small Railgun Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Railgun Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1007(BaseEffect):
+ """
+ selfT2SmallProjectileACDamageBonus
+
+ Used by:
+ Skill: Small Autocannon Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Autocannon Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1008(BaseEffect):
+ """
+ selfT2SmallProjectileArtyDamageBonus
+
+ Used by:
+ Skill: Small Artillery Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Artillery Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1009(BaseEffect):
+ """
+ selfT2MediumLaserPulseDamageBonus
+
+ Used by:
+ Skill: Medium Pulse Laser Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Pulse Laser Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1010(BaseEffect):
+ """
+ selfT2MediumLaserBeamDamageBonus
+
+ Used by:
+ Skill: Medium Beam Laser Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Beam Laser Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1011(BaseEffect):
+ """
+ selfT2MediumHybridBlasterDamageBonus
+
+ Used by:
+ Skill: Medium Blaster Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Blaster Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1012(BaseEffect):
+ """
+ selfT2MediumHybridRailDamageBonus
+
+ Used by:
+ Skill: Medium Railgun Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Railgun Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1013(BaseEffect):
+ """
+ selfT2MediumProjectileACDamageBonus
+
+ Used by:
+ Skill: Medium Autocannon Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Autocannon Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1014(BaseEffect):
+ """
+ selfT2MediumProjectileArtyDamageBonus
+
+ Used by:
+ Skill: Medium Artillery Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Artillery Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1015(BaseEffect):
+ """
+ selfT2LargeLaserPulseDamageBonus
+
+ Used by:
+ Skill: Large Pulse Laser Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Pulse Laser Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1016(BaseEffect):
+ """
+ selfT2LargeLaserBeamDamageBonus
+
+ Used by:
+ Skill: Large Beam Laser Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Beam Laser Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1017(BaseEffect):
+ """
+ selfT2LargeHybridBlasterDamageBonus
+
+ Used by:
+ Skill: Large Blaster Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Blaster Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1018(BaseEffect):
+ """
+ selfT2LargeHybridRailDamageBonus
+
+ Used by:
+ Skill: Large Railgun Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Railgun Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1019(BaseEffect):
+ """
+ selfT2LargeProjectileACDamageBonus
+
+ Used by:
+ Skill: Large Autocannon Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Autocannon Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1020(BaseEffect):
+ """
+ selfT2LargeProjectileArtyDamageBonus
+
+ Used by:
+ Skill: Large Artillery Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Artillery Specialization'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1021(BaseEffect):
+ """
+ eliteBonusGunshipHybridDmg2
+
+ Used by:
+ Ship: Harpy
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusGunship2'),
+ skill='Assault Frigates')
+
+
+class Effect1024(BaseEffect):
+ """
+ shipMissileHeavyVelocityBonusCC2
+
+ Used by:
+ Ship: Caracal
+ Ship: Osprey Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect1025(BaseEffect):
+ """
+ shipMissileLightVelocityBonusCC2
+
+ Used by:
+ Ship: Caracal
+ Ship: Osprey Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect1030(BaseEffect):
+ """
+ remoteArmorSystemsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringRemoteArmorSystems
+
+ Used by:
+ Implants named like: Inherent Implants 'Noble' Remote Armor Repair Systems RA (6 of 6)
+ Modules named like: Remote Repair Augmentor (6 of 8)
+ Skill: Remote Armor Repair Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect1033(BaseEffect):
+ """
+ eliteBonusLogisticRemoteArmorRepairCapNeed1
+
+ Used by:
+ Ship: Oneiros
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('eliteBonusLogistics1'), skill='Logistics Cruisers')
+
+
+class Effect1034(BaseEffect):
+ """
+ eliteBonusLogisticRemoteArmorRepairCapNeed2
+
+ Used by:
+ Ship: Guardian
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('eliteBonusLogistics2'), skill='Logistics Cruisers')
+
+
+class Effect1035(BaseEffect):
+ """
+ eliteBonusLogisticShieldTransferCapNeed2
+
+ Used by:
+ Ship: Scimitar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('eliteBonusLogistics2'), skill='Logistics Cruisers')
+
+
+class Effect1036(BaseEffect):
+ """
+ eliteBonusLogisticShieldTransferCapNeed1
+
+ Used by:
+ Ship: Basilisk
+ Ship: Etana
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('eliteBonusLogistics1'), skill='Logistics Cruisers')
+
+
+class Effect1046(BaseEffect):
+ """
+ shipRemoteArmorRangeGC1
+
+ Used by:
+ Ship: Oneiros
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'maxRange',
+ src.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect1047(BaseEffect):
+ """
+ shipRemoteArmorRangeAC2
+
+ Used by:
+ Ship: Guardian
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'maxRange',
+ src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect1048(BaseEffect):
+ """
+ shipShieldTransferRangeCC1
+
+ Used by:
+ Ship: Basilisk
+ Ship: Etana
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'maxRange',
+ src.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect1049(BaseEffect):
+ """
+ shipShieldTransferRangeMC2
+
+ Used by:
+ Ship: Scimitar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'maxRange',
+ src.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect1056(BaseEffect):
+ """
+ eliteBonusHeavyGunshipHybridOptimal1
+
+ Used by:
+ Ship: Eagle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1057(BaseEffect):
+ """
+ eliteBonusHeavyGunshipProjectileOptimal1
+
+ Used by:
+ Ship: Muninn
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1058(BaseEffect):
+ """
+ eliteBonusHeavyGunshipLaserOptimal1
+
+ Used by:
+ Ship: Zealot
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1060(BaseEffect):
+ """
+ eliteBonusHeavyGunshipProjectileFallOff1
+
+ Used by:
+ Ship: Vagabond
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1061(BaseEffect):
+ """
+ eliteBonusHeavyGunshipHybridDmg2
+
+ Used by:
+ Ship: Deimos
+ Ship: Eagle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1062(BaseEffect):
+ """
+ eliteBonusHeavyGunshipLaserDmg2
+
+ Used by:
+ Ship: Zealot
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1063(BaseEffect):
+ """
+ eliteBonusHeavyGunshipProjectileTracking2
+
+ Used by:
+ Ship: Muninn
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1080(BaseEffect):
+ """
+ eliteBonusHeavyGunshipHybridFallOff1
+
+ Used by:
+ Ship: Deimos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'falloff', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1081(BaseEffect):
+ """
+ eliteBonusHeavyGunshipHeavyMissileFlightTime1
+
+ Used by:
+ Ship: Cerberus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'explosionDelay', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1082(BaseEffect):
+ """
+ eliteBonusHeavyGunshipLightMissileFlightTime1
+
+ Used by:
+ Ship: Cerberus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'explosionDelay', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1084(BaseEffect):
+ """
+ eliteBonusHeavyGunshipDroneControlRange1
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.extraAttributes.increase('droneControlRange', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1087(BaseEffect):
+ """
+ eliteBonusHeavyGunshipProjectileDmg2
+
+ Used by:
+ Ship: Vagabond
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect1099(BaseEffect):
+ """
+ shipProjectileTrackingMF2
+
+ Used by:
+ Variations of ship: Slasher (3 of 3)
+ Ship: Republic Fleet Firetail
+ Ship: Wolf
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+
+
+class Effect1176(BaseEffect):
+ """
+ accerationControlSkillAb&MwdSpeedBoost
+
+ Used by:
+ Implant: Zor's Custom Navigation Hyper-Link
+ Skill: Acceleration Control
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',
+ 'speedFactor', container.getModifiedItemAttr('speedFBonus') * level)
+
+
+class Effect1179(BaseEffect):
+ """
+ eliteBonusGunshipLaserDamage2
+
+ Used by:
+ Ship: Retribution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusGunship2'),
+ skill='Assault Frigates')
+
+
+class Effect1181(BaseEffect):
+ """
+ eliteBonusLogisticEnergyTransferCapNeed1
+
+ Used by:
+ Ship: Guardian
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',
+ 'capacitorNeed', ship.getModifiedItemAttr('eliteBonusLogistics1'),
+ skill='Logistics Cruisers')
+
+
+class Effect1182(BaseEffect):
+ """
+ shipEnergyTransferRange1
+
+ Used by:
+ Ship: Guardian
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect1183(BaseEffect):
+ """
+ eliteBonusLogisticEnergyTransferCapNeed2
+
+ Used by:
+ Ship: Basilisk
+ Ship: Etana
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',
+ 'capacitorNeed', ship.getModifiedItemAttr('eliteBonusLogistics2'),
+ skill='Logistics Cruisers')
+
+
+class Effect1184(BaseEffect):
+ """
+ shipEnergyTransferRange2
+
+ Used by:
+ Ship: Basilisk
+ Ship: Etana
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect1185(BaseEffect):
+ """
+ structureStealthEmitterArraySigDecrease
+
+ Used by:
+ Implants named like: X Instinct Booster (4 of 4)
+ Implants named like: grade Halo (15 of 18)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.boostItemAttr('signatureRadius', implant.getModifiedItemAttr('signatureRadiusBonus'))
+
+
+class Effect1190(BaseEffect):
+ """
+ iceHarvestCycleTimeModulesRequiringIceHarvesting
+
+ Used by:
+ Implants named like: Inherent Implants 'Yeti' Ice Harvesting IH (3 of 3)
+ Module: Medium Ice Harvester Accelerator I
+ Skill: Ice Harvesting
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'),
+ 'duration', container.getModifiedItemAttr('iceHarvestCycleBonus') * level)
+
+
+class Effect1200(BaseEffect):
+ """
+ miningInfoMultiplier
+
+ Used by:
+ Charges from group: Mining Crystal (40 of 40)
+ Charges named like: Mining Crystal (42 of 42)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.multiplyItemAttr('specialtyMiningAmount',
+ module.getModifiedChargeAttr('specialisationAsteroidYieldMultiplier'))
+ # module.multiplyItemAttr('miningAmount', module.getModifiedChargeAttr('specialisationAsteroidYieldMultiplier'))
+
+
+class Effect1212(BaseEffect):
+ """
+ crystalMiningamountInfo2
+
+ Used by:
+ Modules from group: Frequency Mining Laser (3 of 3)
+ """
+
+ runTime = 'late'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.preAssignItemAttr('specialtyMiningAmount', module.getModifiedItemAttr('miningAmount'))
+
+
+class Effect1215(BaseEffect):
+ """
+ shipEnergyDrainAmountAF1
+
+ Used by:
+ Ship: Caedes
+ Ship: Cruor
+ Ship: Sentinel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect1218(BaseEffect):
+ """
+ shipBonusPirateSmallHybridDmg
+
+ Used by:
+ Ship: Daredevil
+ Ship: Hecate
+ Ship: Sunesis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect1219(BaseEffect):
+ """
+ shipEnergyVampireTransferAmountBonusAB
+
+ Used by:
+ Ship: Bhaalgorn
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount', ship.getModifiedItemAttr('shipBonusAB'),
+ skill='Amarr Battleship')
+
+
+class Effect1220(BaseEffect):
+ """
+ shipEnergyVampireTransferAmountBonusAc
+
+ Used by:
+ Ship: Ashimmu
+ Ship: Rabisu
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect1221(BaseEffect):
+ """
+ shipStasisWebRangeBonusMB
+
+ Used by:
+ Ship: Bhaalgorn
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect1222(BaseEffect):
+ """
+ shipStasisWebRangeBonusMC2
+
+ Used by:
+ Ship: Ashimmu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect1228(BaseEffect):
+ """
+ shipProjectileTrackingGF
+
+ Used by:
+ Ship: Chremoas
+ Ship: Dramiel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect1230(BaseEffect):
+ """
+ shipMissileVelocityPirateFactionFrigate
+
+ Used by:
+ Ship: Barghest
+ Ship: Garmur
+ Ship: Orthrus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect1232(BaseEffect):
+ """
+ shipProjectileRofPirateCruiser
+
+ Used by:
+ Ship: Cynabal
+ Ship: Moracha
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect1233(BaseEffect):
+ """
+ shipHybridDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ Ship: Vigilant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect1234(BaseEffect):
+ """
+ shipMissileVelocityPirateFactionLight
+
+ Used by:
+ Ship: Corax
+ Ship: Talwar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect1239(BaseEffect):
+ """
+ shipProjectileRofPirateBattleship
+
+ Used by:
+ Ship: Machariel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect1240(BaseEffect):
+ """
+ shipHybridDmgPirateBattleship
+
+ Used by:
+ Ship: Vindicator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect1255(BaseEffect):
+ """
+ setBonusBloodraider
+
+ Used by:
+ Implants named like: grade Talisman (18 of 18)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',
+ 'durationBonus', implant.getModifiedItemAttr('implantSetBloodraider'))
+
+
+class Effect1256(BaseEffect):
+ """
+ setBonusBloodraiderNosferatu
+
+ Used by:
+ Implants named like: grade Talisman (15 of 18)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capacitor Emission Systems'),
+ 'duration', implant.getModifiedItemAttr('durationBonus'))
+
+
+class Effect1261(BaseEffect):
+ """
+ setBonusSerpentis
+
+ Used by:
+ Implants named like: grade Snake (18 of 18)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',
+ 'velocityBonus', implant.getModifiedItemAttr('implantSetSerpentis'))
+
+
+class Effect1264(BaseEffect):
+ """
+ interceptor2HybridTracking
+
+ Used by:
+ Ship: Taranis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusInterceptor2'),
+ skill='Interceptors')
+
+
+class Effect1268(BaseEffect):
+ """
+ interceptor2LaserTracking
+
+ Used by:
+ Ship: Crusader
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusInterceptor2'),
+ skill='Interceptors')
+
+
+class Effect1281(BaseEffect):
+ """
+ structuralAnalysisEffect
+
+ Used by:
+ Implants named like: Inherent Implants 'Noble' Repair Proficiency RP (6 of 6)
+ Modules named like: Auxiliary Nano Pump (8 of 8)
+ Implant: Imperial Navy Modified 'Noble' Implant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ penalized = 'implant' not in context
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', container.getModifiedItemAttr('repairBonus'),
+ stackingPenalties=penalized)
+
+
+class Effect1318(BaseEffect):
+ """
+ ewSkillScanStrengthBonus
+
+ Used by:
+ Modules named like: Particle Dispersion Augmentor (8 of 8)
+ Skill: Signal Dispersion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ groups = ('ECM', 'Burst Jammer')
+ level = container.level if 'skill' in context else 1
+ for scanType in ('Gravimetric', 'Ladar', 'Magnetometric', 'Radar'):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'scan{0}StrengthBonus'.format(scanType),
+ container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level,
+ stackingPenalties=False if 'skill' in context else True)
+
+
+class Effect1360(BaseEffect):
+ """
+ ewSkillRsdCapNeedBonusSkillLevel
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' Sensor Linking SL (6 of 6)
+ Skill: Sensor Linking
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Sensor Linking'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect1361(BaseEffect):
+ """
+ ewSkillTdCapNeedBonusSkillLevel
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' Weapon Disruption WD (6 of 6)
+ Skill: Weapon Disruption
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect1370(BaseEffect):
+ """
+ ewSkillTpCapNeedBonusSkillLevel
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' Target Painting TG (6 of 6)
+ Skill: Target Painting
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Target Painting'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect1372(BaseEffect):
+ """
+ ewSkillEwCapNeedSkillLevel
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' Electronic Warfare EW (6 of 6)
+ Modules named like: Signal Disruption Amplifier (8 of 8)
+ Skill: Electronic Warfare
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect1395(BaseEffect):
+ """
+ shieldBoostAmplifierPassive
+
+ Used by:
+ Implants named like: grade Crystal (15 of 18)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', container.getModifiedItemAttr('shieldBoostMultiplier'))
+
+
+class Effect1397(BaseEffect):
+ """
+ setBonusGuristas
+
+ Used by:
+ Implants named like: grade Crystal (18 of 18)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',
+ 'shieldBoostMultiplier', implant.getModifiedItemAttr('implantSetGuristas'))
+
+
+class Effect1409(BaseEffect):
+ """
+ systemScanDurationSkillAstrometrics
+
+ Used by:
+ Implants named like: Poteque 'Prospector' Astrometric Acquisition AQ (3 of 3)
+ Skill: Astrometric Acquisition
+ Skill: Astrometrics
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Astrometrics'),
+ 'duration', container.getModifiedItemAttr('durationBonus') * level)
+
+
+class Effect1410(BaseEffect):
+ """
+ propulsionSkillCapNeedBonusSkillLevel
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' Propulsion Jamming PJ (6 of 6)
+ Skill: Propulsion Jamming
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+
+ level = container.level if 'skill' in context else 1
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Propulsion Jamming'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect1412(BaseEffect):
+ """
+ shipBonusHybridOptimalCB
+
+ Used by:
+ Ship: Rokh
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship')
+
+
+class Effect1434(BaseEffect):
+ """
+ caldariShipEwStrengthCB
+
+ Used by:
+ Ship: Scorpion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for sensorType in ('Gravimetric', 'Ladar', 'Magnetometric', 'Radar'):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Electronic Warfare'),
+ 'scan{0}StrengthBonus'.format(sensorType),
+ ship.getModifiedItemAttr('shipBonusCB'), stackingPenalties=True,
+ skill='Caldari Battleship')
+
+
+class Effect1441(BaseEffect):
+ """
+ caldariShipEwOptimalRangeCB3
+
+ Used by:
+ Ship: Scorpion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusCB3'), skill='Caldari Battleship')
+
+
+class Effect1442(BaseEffect):
+ """
+ caldariShipEwOptimalRangeCC2
+
+ Used by:
+ Ship: Blackbird
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect1443(BaseEffect):
+ """
+ caldariShipEwCapacitorNeedCC
+
+ Used by:
+ Ship: Chameleon
+ Ship: Falcon
+ Ship: Rook
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect1445(BaseEffect):
+ """
+ ewSkillRsdMaxRangeBonus
+
+ Used by:
+ Modules named like: Particle Dispersion Projector (8 of 8)
+ Skill: Long Distance Jamming
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Sensor Linking'),
+ 'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level,
+ stackingPenalties='skill' not in context)
+
+
+class Effect1446(BaseEffect):
+ """
+ ewSkillTpMaxRangeBonus
+
+ Used by:
+ Modules named like: Particle Dispersion Projector (8 of 8)
+ Skill: Long Distance Jamming
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',
+ 'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level,
+ stackingPenalties='skill' not in context)
+
+
+class Effect1448(BaseEffect):
+ """
+ ewSkillTdMaxRangeBonus
+
+ Used by:
+ Modules named like: Particle Dispersion Projector (8 of 8)
+ Skill: Long Distance Jamming
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Weapon Disruptor',
+ 'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level,
+ stackingPenalties='skill' not in context)
+
+
+class Effect1449(BaseEffect):
+ """
+ ewSkillRsdFallOffBonus
+
+ Used by:
+ Skill: Frequency Modulation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Sensor Linking'),
+ 'falloffEffectiveness', skill.getModifiedItemAttr('falloffBonus') * skill.level)
+
+
+class Effect1450(BaseEffect):
+ """
+ ewSkillTpFallOffBonus
+
+ Used by:
+ Skill: Frequency Modulation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',
+ 'falloffEffectiveness', skill.getModifiedItemAttr('falloffBonus') * skill.level)
+
+
+class Effect1451(BaseEffect):
+ """
+ ewSkillTdFallOffBonus
+
+ Used by:
+ Skill: Frequency Modulation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Weapon Disruptor',
+ 'falloffEffectiveness', skill.getModifiedItemAttr('falloffBonus') * skill.level)
+
+
+class Effect1452(BaseEffect):
+ """
+ ewSkillEwMaxRangeBonus
+
+ Used by:
+ Implants named like: grade Centurion (10 of 12)
+ Modules named like: Particle Dispersion Projector (8 of 8)
+ Skill: Long Distance Jamming
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'maxRange', container.getModifiedItemAttr('rangeSkillBonus') * level,
+ stackingPenalties='skill' not in context and 'implant' not in context)
+
+
+class Effect1453(BaseEffect):
+ """
+ ewSkillEwFallOffBonus
+
+ Used by:
+ Skill: Frequency Modulation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'falloffEffectiveness', skill.getModifiedItemAttr('falloffBonus') * skill.level)
+
+
+class Effect1472(BaseEffect):
+ """
+ missileSkillAoeCloudSizeBonus
+
+ Used by:
+ Implants named like: Zainou 'Deadeye' Guided Missile Precision GP (6 of 6)
+ Modules named like: Warhead Rigor Catalyst (8 of 8)
+ Skill: Guided Missile Precision
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ penalize = False if 'skill' in context or 'implant' in context else True
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeCloudSize', container.getModifiedItemAttr('aoeCloudSizeBonus') * level,
+ stackingPenalties=penalize)
+
+
+class Effect1500(BaseEffect):
+ """
+ shieldOperationSkillBoostCapacitorNeedBonus
+
+ Used by:
+ Modules named like: Core Defense Capacitor Safeguard (8 of 8)
+ Skill: Shield Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'capacitorNeed', container.getModifiedItemAttr('shieldBoostCapacitorBonus') * level)
+
+
+class Effect1550(BaseEffect):
+ """
+ ewSkillTargetPaintingStrengthBonus
+
+ Used by:
+ Skill: Signature Focusing
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',
+ 'signatureRadiusBonus',
+ skill.getModifiedItemAttr('scanSkillTargetPaintStrengthBonus') * skill.level)
+
+
+class Effect1551(BaseEffect):
+ """
+ minmatarShipEwTargetPainterMF2
+
+ Used by:
+ Ship: Hyena
+ Ship: Vigil
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',
+ 'signatureRadiusBonus', ship.getModifiedItemAttr('shipBonusMF2'),
+ skill='Minmatar Frigate')
+
+
+class Effect1577(BaseEffect):
+ """
+ angelsetbonus
+
+ Used by:
+ Implants named like: grade Halo (18 of 18)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(
+ lambda implant: 'signatureRadiusBonus' in implant.itemModifiedAttributes and
+ 'implantSetAngel' in implant.itemModifiedAttributes,
+ 'signatureRadiusBonus',
+ implant.getModifiedItemAttr('implantSetAngel'))
+
+
+class Effect1579(BaseEffect):
+ """
+ setBonusSansha
+
+ Used by:
+ Implants named like: grade Slave (18 of 18)
+ Implant: High-grade Halo Omega
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),
+ 'armorHpBonus', implant.getModifiedItemAttr('implantSetSansha') or 1)
+
+
+class Effect1581(BaseEffect):
+ """
+ jumpDriveSkillsRangeBonus
+
+ Used by:
+ Skill: Jump Drive Calibration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.ship.boostItemAttr('jumpDriveRange', skill.getModifiedItemAttr('jumpDriveRangeBonus') * skill.level)
+
+
+class Effect1585(BaseEffect):
+ """
+ capitalTurretSkillLaserDamage
+
+ Used by:
+ Skill: Capital Energy Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1586(BaseEffect):
+ """
+ capitalTurretSkillProjectileDamage
+
+ Used by:
+ Skill: Capital Projectile Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1587(BaseEffect):
+ """
+ capitalTurretSkillHybridDamage
+
+ Used by:
+ Skill: Capital Hybrid Turret
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1588(BaseEffect):
+ """
+ capitalLauncherSkillCitadelKineticDamage
+
+ Used by:
+ Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
+ Skill: XL Torpedoes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'),
+ 'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect1590(BaseEffect):
+ """
+ missileSkillAoeVelocityBonus
+
+ Used by:
+ Implants named like: Zainou 'Deadeye' Target Navigation Prediction TN (6 of 6)
+ Modules named like: Warhead Flare Catalyst (8 of 8)
+ Skill: Target Navigation Prediction
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ penalize = False if 'skill' in context or 'implant' in context else True
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeVelocity', container.getModifiedItemAttr('aoeVelocityBonus') * level,
+ stackingPenalties=penalize)
+
+
+class Effect1592(BaseEffect):
+ """
+ capitalLauncherSkillCitadelEmDamage
+
+ Used by:
+ Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
+ Skill: XL Torpedoes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'),
+ 'emDamage', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect1593(BaseEffect):
+ """
+ capitalLauncherSkillCitadelExplosiveDamage
+
+ Used by:
+ Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
+ Skill: XL Torpedoes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'),
+ 'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect1594(BaseEffect):
+ """
+ capitalLauncherSkillCitadelThermalDamage
+
+ Used by:
+ Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
+ Skill: XL Torpedoes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'),
+ 'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect1595(BaseEffect):
+ """
+ missileSkillWarheadUpgradesEmDamageBonus
+
+ Used by:
+ Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
+ Skill: Warhead Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ mod = src.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'emDamage', src.getModifiedItemAttr('damageMultiplierBonus') * mod)
+
+
+class Effect1596(BaseEffect):
+ """
+ missileSkillWarheadUpgradesExplosiveDamageBonus
+
+ Used by:
+ Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
+ Skill: Warhead Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ mod = src.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosiveDamage', src.getModifiedItemAttr('damageMultiplierBonus') * mod)
+
+
+class Effect1597(BaseEffect):
+ """
+ missileSkillWarheadUpgradesKineticDamageBonus
+
+ Used by:
+ Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
+ Skill: Warhead Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ mod = src.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', src.getModifiedItemAttr('damageMultiplierBonus') * mod)
+
+
+class Effect1615(BaseEffect):
+ """
+ shipAdvancedSpaceshipCommandAgilityBonus
+
+ Used by:
+ Items from market group: Ships > Capital Ships (40 of 40)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ skillName = 'Advanced Spaceship Command'
+ skill = fit.character.getSkill(skillName)
+ fit.ship.boostItemAttr('agility', skill.getModifiedItemAttr('agilityBonus'), skill=skillName)
+
+
+class Effect1616(BaseEffect):
+ """
+ skillCapitalShipsAdvancedAgility
+
+ Used by:
+ Skill: Capital Ships
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ if fit.ship.item.requiresSkill('Capital Ships'):
+ fit.ship.boostItemAttr('agility', skill.getModifiedItemAttr('agilityBonus') * skill.level)
+
+
+class Effect1617(BaseEffect):
+ """
+ shipCapitalAgilityBonus
+
+ Used by:
+ Items from market group: Ships > Capital Ships (31 of 40)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.multiplyItemAttr('agility', src.getModifiedItemAttr('advancedCapitalAgility'), stackingPenalties=True)
+
+
+class Effect1634(BaseEffect):
+ """
+ capitalShieldOperationSkillCapacitorNeedBonus
+
+ Used by:
+ Modules named like: Core Defense Capacitor Safeguard (8 of 8)
+ Skill: Capital Shield Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'),
+ 'capacitorNeed', container.getModifiedItemAttr('shieldBoostCapacitorBonus') * level)
+
+
+class Effect1635(BaseEffect):
+ """
+ capitalRepairSystemsSkillDurationBonus
+
+ Used by:
+ Modules named like: Nanobot Accelerator (8 of 8)
+ Skill: Capital Repair Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'),
+ 'duration', container.getModifiedItemAttr('durationSkillBonus') * level,
+ stackingPenalties='skill' not in context)
+
+
+class Effect1638(BaseEffect):
+ """
+ skillAdvancedWeaponUpgradesPowerNeedBonus
+
+ Used by:
+ Skill: Advanced Weapon Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Gunnery') or mod.item.requiresSkill('Missile Launcher Operation'),
+ 'power', skill.getModifiedItemAttr('powerNeedBonus') * skill.level)
+
+
+class Effect1643(BaseEffect):
+ """
+ armoredCommandMindlink
+
+ Used by:
+ Implant: Armored Command Mindlink
+ Implant: Federation Navy Command Mindlink
+ Implant: Imperial Navy Command Mindlink
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'buffDuration',
+ src.getModifiedItemAttr('mindlinkBonus'))
+
+
+class Effect1644(BaseEffect):
+ """
+ skirmishCommandMindlink
+
+ Used by:
+ Implant: Federation Navy Command Mindlink
+ Implant: Republic Fleet Command Mindlink
+ Implant: Skirmish Command Mindlink
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'buffDuration',
+ src.getModifiedItemAttr('mindlinkBonus'))
+
+
+class Effect1645(BaseEffect):
+ """
+ shieldCommandMindlink
+
+ Used by:
+ Implants from group: Cyber Leadership (4 of 10)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',
+ src.getModifiedItemAttr('mindlinkBonus'))
+
+
+class Effect1646(BaseEffect):
+ """
+ informationCommandMindlink
+
+ Used by:
+ Implant: Caldari Navy Command Mindlink
+ Implant: Imperial Navy Command Mindlink
+ Implant: Information Command Mindlink
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'buffDuration',
+ src.getModifiedItemAttr('mindlinkBonus'))
+
+
+class Effect1650(BaseEffect):
+ """
+ skillSiegeModuleConsumptionQuantityBonus
+
+ Used by:
+ Skill: Tactical Weapon Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ amount = -skill.getModifiedItemAttr('consumptionQuantityBonus')
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),
+ 'consumptionQuantity', amount * skill.level)
+
+
+class Effect1657(BaseEffect):
+ """
+ missileSkillWarheadUpgradesThermalDamageBonus
+
+ Used by:
+ Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
+ Skill: Warhead Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ mod = src.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'thermalDamage', src.getModifiedItemAttr('damageMultiplierBonus') * mod)
+
+
+class Effect1668(BaseEffect):
+ """
+ freighterCargoBonusA2
+
+ Used by:
+ Variations of ship: Providence (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('freighterBonusA2'), skill='Amarr Freighter')
+
+
+class Effect1669(BaseEffect):
+ """
+ freighterCargoBonusC2
+
+ Used by:
+ Variations of ship: Charon (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('freighterBonusC2'), skill='Caldari Freighter')
+
+
+class Effect1670(BaseEffect):
+ """
+ freighterCargoBonusG2
+
+ Used by:
+ Variations of ship: Obelisk (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('freighterBonusG2'), skill='Gallente Freighter')
+
+
+class Effect1671(BaseEffect):
+ """
+ freighterCargoBonusM2
+
+ Used by:
+ Variations of ship: Fenrir (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('capacity', ship.getModifiedItemAttr('freighterBonusM2'), skill='Minmatar Freighter')
+
+
+class Effect1672(BaseEffect):
+ """
+ freighterMaxVelocityBonusA1
+
+ Used by:
+ Ship: Providence
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('freighterBonusA1'), skill='Amarr Freighter')
+
+
+class Effect1673(BaseEffect):
+ """
+ freighterMaxVelocityBonusC1
+
+ Used by:
+ Ship: Charon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('freighterBonusC1'), skill='Caldari Freighter')
+
+
+class Effect1674(BaseEffect):
+ """
+ freighterMaxVelocityBonusG1
+
+ Used by:
+ Ship: Obelisk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('freighterBonusG1'), skill='Gallente Freighter')
+
+
+class Effect1675(BaseEffect):
+ """
+ freighterMaxVelocityBonusM1
+
+ Used by:
+ Ship: Fenrir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('freighterBonusM1'), skill='Minmatar Freighter')
+
+
+class Effect1720(BaseEffect):
+ """
+ shieldBoostAmplifier
+
+ Used by:
+ Modules from group: Capacitor Power Relay (20 of 20)
+ Modules from group: Shield Boost Amplifier (25 of 25)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Operation') or mod.item.requiresSkill('Capital Shield Operation'),
+ 'shieldBonus', module.getModifiedItemAttr('shieldBoostMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect1722(BaseEffect):
+ """
+ jumpDriveSkillsCapacitorNeedBonus
+
+ Used by:
+ Skill: Jump Drive Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.ship.boostItemAttr('jumpDriveCapacitorNeed',
+ skill.getModifiedItemAttr('jumpDriveCapacitorNeedBonus') * skill.level)
+
+
+class Effect1730(BaseEffect):
+ """
+ droneDmgBonus
+
+ Used by:
+ Skills from group: Drones (8 of 26)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill(skill),
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect1738(BaseEffect):
+ """
+ doHacking
+
+ Used by:
+ Modules from group: Data Miners (10 of 10)
+ """
+
+ type = 'active'
+
+
+class Effect1763(BaseEffect):
+ """
+ missileSkillRapidLauncherRoF
+
+ Used by:
+ Implants named like: Zainou 'Deadeye' Rapid Launch RL (6 of 6)
+ Implant: Standard Cerebral Accelerator
+ Implant: Whelan Machorin's Ballistic Smartlink
+ Skill: Missile Launcher Operation
+ Skill: Rapid Launch
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'speed', container.getModifiedItemAttr('rofBonus') * level)
+
+
+class Effect1764(BaseEffect):
+ """
+ missileSkillMissileProjectileVelocityBonus
+
+ Used by:
+ Implants named like: Zainou 'Deadeye' Missile Projection MP (6 of 6)
+ Modules named like: Hydraulic Bay Thrusters (8 of 8)
+ Skill: Missile Projection
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ penalized = False if 'skill' in context or 'implant' in context else True
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', container.getModifiedItemAttr('speedFactor') * level,
+ stackingPenalties=penalized)
+
+
+class Effect1773(BaseEffect):
+ """
+ shipBonusSHTFalloffGF2
+
+ Used by:
+ Ship: Atron
+ Ship: Daredevil
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect1804(BaseEffect):
+ """
+ shipArmorEMResistanceAF1
+
+ Used by:
+ Ship: Astero
+ Ship: Malice
+ Ship: Punisher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect1805(BaseEffect):
+ """
+ shipArmorTHResistanceAF1
+
+ Used by:
+ Ship: Astero
+ Ship: Malice
+ Ship: Punisher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusAF'),
+ skill='Amarr Frigate')
+
+
+class Effect1806(BaseEffect):
+ """
+ shipArmorKNResistanceAF1
+
+ Used by:
+ Ship: Astero
+ Ship: Malice
+ Ship: Punisher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusAF'),
+ skill='Amarr Frigate')
+
+
+class Effect1807(BaseEffect):
+ """
+ shipArmorEXResistanceAF1
+
+ Used by:
+ Ship: Astero
+ Ship: Malice
+ Ship: Punisher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusAF'),
+ skill='Amarr Frigate')
+
+
+class Effect1812(BaseEffect):
+ """
+ shipShieldEMResistanceCC2
+
+ Used by:
+ Variations of ship: Moa (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect1813(BaseEffect):
+ """
+ shipShieldThermalResistanceCC2
+
+ Used by:
+ Variations of ship: Moa (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('shipBonusCC2'),
+ skill='Caldari Cruiser')
+
+
+class Effect1814(BaseEffect):
+ """
+ shipShieldKineticResistanceCC2
+
+ Used by:
+ Variations of ship: Moa (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('shipBonusCC2'),
+ skill='Caldari Cruiser')
+
+
+class Effect1815(BaseEffect):
+ """
+ shipShieldExplosiveResistanceCC2
+
+ Used by:
+ Variations of ship: Moa (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusCC2'),
+ skill='Caldari Cruiser')
+
+
+class Effect1816(BaseEffect):
+ """
+ shipShieldEMResistanceCF2
+
+ Used by:
+ Variations of ship: Merlin (3 of 4)
+ Ship: Cambion
+ Ship: Whiptail
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect1817(BaseEffect):
+ """
+ shipShieldThermalResistanceCF2
+
+ Used by:
+ Variations of ship: Merlin (3 of 4)
+ Ship: Cambion
+ Ship: Whiptail
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('shipBonusCF'),
+ skill='Caldari Frigate')
+
+
+class Effect1819(BaseEffect):
+ """
+ shipShieldKineticResistanceCF2
+
+ Used by:
+ Variations of ship: Merlin (3 of 4)
+ Ship: Cambion
+ Ship: Whiptail
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('shipBonusCF'),
+ skill='Caldari Frigate')
+
+
+class Effect1820(BaseEffect):
+ """
+ shipShieldExplosiveResistanceCF2
+
+ Used by:
+ Variations of ship: Merlin (3 of 4)
+ Ship: Cambion
+ Ship: Whiptail
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusCF'),
+ skill='Caldari Frigate')
+
+
+class Effect1848(BaseEffect):
+ """
+ miningForemanMindlink
+
+ Used by:
+ Implant: Mining Foreman Mindlink
+ Implant: ORE Mining Director Mindlink
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('mindlinkBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'buffDuration',
+ src.getModifiedItemAttr('mindlinkBonus'))
+
+
+class Effect1851(BaseEffect):
+ """
+ selfRof
+
+ Used by:
+ Skills named like: Missile Specialization (4 of 5)
+ Skill: Rocket Specialization
+ Skill: Torpedo Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill),
+ 'speed', skill.getModifiedItemAttr('rofBonus') * skill.level)
+
+
+class Effect1862(BaseEffect):
+ """
+ shipMissileEMDamageCF2
+
+ Used by:
+ Ship: Garmur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect1863(BaseEffect):
+ """
+ shipMissileThermalDamageCF2
+
+ Used by:
+ Ship: Garmur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect1864(BaseEffect):
+ """
+ shipMissileExplosiveDamageCF2
+
+ Used by:
+ Ship: Garmur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusCF2'),
+ skill='Caldari Frigate')
+
+
+class Effect1882(BaseEffect):
+ """
+ miningYieldMultiplyPercent
+
+ Used by:
+ Variations of module: Mining Laser Upgrade I (5 of 5)
+ Module: Frostline 'Omnivore' Harvester Upgrade
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),
+ 'miningAmount', module.getModifiedItemAttr('miningAmountBonus'))
+
+
+class Effect1885(BaseEffect):
+ """
+ shipCruiseLauncherROFBonus2CB
+
+ Used by:
+ Ship: Raven
+ Ship: Raven State Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Cruise',
+ 'speed', ship.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship')
+
+
+class Effect1886(BaseEffect):
+ """
+ shipSiegeLauncherROFBonus2CB
+
+ Used by:
+ Ship: Raven
+ Ship: Raven State Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo',
+ 'speed', ship.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship')
+
+
+class Effect1896(BaseEffect):
+ """
+ eliteBargeBonusIceHarvestingCycleTimeBarge3
+
+ Used by:
+ Ships from group: Exhumer (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'),
+ 'duration', ship.getModifiedItemAttr('eliteBonusBarge2'), skill='Exhumers')
+
+
+class Effect1910(BaseEffect):
+ """
+ eliteBonusVampireDrainAmount2
+
+ Used by:
+ Ship: Curse
+ Ship: Pilgrim
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount', ship.getModifiedItemAttr('eliteBonusReconShip2'),
+ skill='Recon Ships')
+
+
+class Effect1911(BaseEffect):
+ """
+ eliteReconBonusGravimetricStrength2
+
+ Used by:
+ Ship: Chameleon
+ Ship: Falcon
+ Ship: Rook
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scanGravimetricStrengthBonus', ship.getModifiedItemAttr('eliteBonusReconShip2'),
+ skill='Recon Ships')
+
+
+class Effect1912(BaseEffect):
+ """
+ eliteReconBonusMagnetometricStrength2
+
+ Used by:
+ Ship: Chameleon
+ Ship: Falcon
+ Ship: Rook
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scanMagnetometricStrengthBonus', ship.getModifiedItemAttr('eliteBonusReconShip2'),
+ skill='Recon Ships')
+
+
+class Effect1913(BaseEffect):
+ """
+ eliteReconBonusRadarStrength2
+
+ Used by:
+ Ship: Chameleon
+ Ship: Falcon
+ Ship: Rook
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scanRadarStrengthBonus', ship.getModifiedItemAttr('eliteBonusReconShip2'),
+ skill='Recon Ships')
+
+
+class Effect1914(BaseEffect):
+ """
+ eliteReconBonusLadarStrength2
+
+ Used by:
+ Ship: Chameleon
+ Ship: Falcon
+ Ship: Rook
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scanLadarStrengthBonus', ship.getModifiedItemAttr('eliteBonusReconShip2'),
+ skill='Recon Ships')
+
+
+class Effect1921(BaseEffect):
+ """
+ eliteReconStasisWebBonus2
+
+ Used by:
+ Ship: Huginn
+ Ship: Moracha
+ Ship: Rapier
+ Ship: Victor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusReconShip2'), skill='Recon Ships')
+
+
+class Effect1922(BaseEffect):
+ """
+ eliteReconScramblerRangeBonus2
+
+ Used by:
+ Ship: Arazu
+ Ship: Enforcer
+ Ship: Lachesis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusReconShip2'), skill='Recon Ships')
+
+
+class Effect1959(BaseEffect):
+ """
+ armorReinforcerMassAdd
+
+ Used by:
+ Modules from group: Armor Reinforcer (51 of 51)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('mass', module.getModifiedItemAttr('massAddition'))
+
+
+class Effect1964(BaseEffect):
+ """
+ shipBonusShieldTransferCapneed1
+
+ Used by:
+ Ship: Osprey
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect1969(BaseEffect):
+ """
+ shipBonusRemoteArmorRepairCapNeedGC1
+
+ Used by:
+ Ship: Exequror
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect1996(BaseEffect):
+ """
+ caldariShipEwCapacitorNeedCF2
+
+ Used by:
+ Ship: Griffin
+ Ship: Kitsune
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect2000(BaseEffect):
+ """
+ droneRangeBonusAdd
+
+ Used by:
+ Modules from group: Drone Control Range Module (7 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ amount = module.getModifiedItemAttr('droneRangeBonus')
+ fit.extraAttributes.increase('droneControlRange', amount)
+
+
+class Effect2008(BaseEffect):
+ """
+ cynosuralDurationBonus
+
+ Used by:
+ Ships from group: Force Recon Ship (8 of 9)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Cynosural Field Generator',
+ 'duration', ship.getModifiedItemAttr('durationBonus'))
+
+
+class Effect2013(BaseEffect):
+ """
+ droneMaxVelocityBonus
+
+ Used by:
+ Modules named like: Drone Speed Augmentor (6 of 8)
+ Implant: Overmind 'Goliath' Drone Tuner T25-10S
+ Implant: Overmind 'Hawkmoth' Drone Tuner S10-25T
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'maxVelocity', container.getModifiedItemAttr('droneMaxVelocityBonus') * level, stackingPenalties=True)
+
+
+class Effect2014(BaseEffect):
+ """
+ droneMaxRangeBonus
+
+ Used by:
+ Modules named like: Drone Scope Chip (6 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ stacking = False if 'skill' in context else True
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'maxRange',
+ container.getModifiedItemAttr('rangeSkillBonus') * level,
+ stackingPenalties=stacking)
+
+
+class Effect2015(BaseEffect):
+ """
+ droneDurabilityShieldCapBonus
+
+ Used by:
+ Modules named like: Drone Durability Enhancer (6 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'shieldCapacity', module.getModifiedItemAttr('hullHpBonus'))
+
+
+class Effect2016(BaseEffect):
+ """
+ droneDurabilityArmorHPBonus
+
+ Used by:
+ Modules named like: Drone Durability Enhancer (6 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'armorHP', module.getModifiedItemAttr('hullHpBonus'))
+
+
+class Effect2017(BaseEffect):
+ """
+ droneDurabilityHPBonus
+
+ Used by:
+ Modules named like: Drone Durability Enhancer (6 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'hp', container.getModifiedItemAttr('hullHpBonus') * level)
+
+
+class Effect2019(BaseEffect):
+ """
+ repairDroneShieldBonusBonus
+
+ Used by:
+ Modules named like: Drone Repair Augmentor (8 of 8)
+ Skill: Repair Drone Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',
+ 'shieldBonus', container.getModifiedItemAttr('damageHP') * level)
+
+
+class Effect2020(BaseEffect):
+ """
+ repairDroneArmorDamageAmountBonus
+
+ Used by:
+ Modules named like: Drone Repair Augmentor (8 of 8)
+ Skill: Repair Drone Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',
+ 'armorDamageAmount', container.getModifiedItemAttr('damageHP') * level,
+ stackingPenalties=True)
+
+
+class Effect2029(BaseEffect):
+ """
+ addToSignatureRadius2
+
+ Used by:
+ Modules from group: Missile Launcher Bomb (2 of 2)
+ Modules from group: Shield Extender (36 of 36)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusAdd'))
+
+
+class Effect2041(BaseEffect):
+ """
+ modifyArmorResonancePostPercent
+
+ Used by:
+ Modules from group: Armor Coating (202 of 202)
+ Modules from group: Armor Plating Energized (187 of 187)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for type in ('kinetic', 'thermal', 'explosive', 'em'):
+ fit.ship.boostItemAttr('armor%sDamageResonance' % type.capitalize(),
+ module.getModifiedItemAttr('%sDamageResistanceBonus' % type),
+ stackingPenalties=True)
+
+
+class Effect2052(BaseEffect):
+ """
+ modifyShieldResonancePostPercent
+
+ Used by:
+ Modules from group: Shield Resistance Amplifier (88 of 88)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for type in ('kinetic', 'thermal', 'explosive', 'em'):
+ fit.ship.boostItemAttr('shield%sDamageResonance' % type.capitalize(),
+ module.getModifiedItemAttr('%sDamageResistanceBonus' % type),
+ stackingPenalties=True)
+
+
+class Effect2053(BaseEffect):
+ """
+ emShieldCompensationHardeningBonusGroupShieldAmp
+
+ Used by:
+ Skill: EM Shield Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Shield Resistance Amplifier',
+ 'emDamageResistanceBonus', skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2054(BaseEffect):
+ """
+ explosiveShieldCompensationHardeningBonusGroupShieldAmp
+
+ Used by:
+ Skill: Explosive Shield Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Shield Resistance Amplifier',
+ 'explosiveDamageResistanceBonus',
+ skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2055(BaseEffect):
+ """
+ kineticShieldCompensationHardeningBonusGroupShieldAmp
+
+ Used by:
+ Skill: Kinetic Shield Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Shield Resistance Amplifier',
+ 'kineticDamageResistanceBonus',
+ skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2056(BaseEffect):
+ """
+ thermalShieldCompensationHardeningBonusGroupShieldAmp
+
+ Used by:
+ Skill: Thermal Shield Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Shield Resistance Amplifier',
+ 'thermalDamageResistanceBonus',
+ skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2105(BaseEffect):
+ """
+ emArmorCompensationHardeningBonusGroupArmorCoating
+
+ Used by:
+ Skill: EM Armor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Coating',
+ 'emDamageResistanceBonus', skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2106(BaseEffect):
+ """
+ explosiveArmorCompensationHardeningBonusGroupArmorCoating
+
+ Used by:
+ Skill: Explosive Armor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Coating',
+ 'explosiveDamageResistanceBonus',
+ skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2107(BaseEffect):
+ """
+ kineticArmorCompensationHardeningBonusGroupArmorCoating
+
+ Used by:
+ Skill: Kinetic Armor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Coating',
+ 'kineticDamageResistanceBonus',
+ skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2108(BaseEffect):
+ """
+ thermicArmorCompensationHardeningBonusGroupArmorCoating
+
+ Used by:
+ Skill: Thermal Armor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Coating',
+ 'thermalDamageResistanceBonus',
+ skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2109(BaseEffect):
+ """
+ emArmorCompensationHardeningBonusGroupEnergized
+
+ Used by:
+ Skill: EM Armor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plating Energized',
+ 'emDamageResistanceBonus', skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2110(BaseEffect):
+ """
+ explosiveArmorCompensationHardeningBonusGroupEnergized
+
+ Used by:
+ Skill: Explosive Armor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plating Energized',
+ 'explosiveDamageResistanceBonus',
+ skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2111(BaseEffect):
+ """
+ kineticArmorCompensationHardeningBonusGroupEnergized
+
+ Used by:
+ Skill: Kinetic Armor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plating Energized',
+ 'kineticDamageResistanceBonus',
+ skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2112(BaseEffect):
+ """
+ thermicArmorCompensationHardeningBonusGroupEnergized
+
+ Used by:
+ Skill: Thermal Armor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Plating Energized',
+ 'thermalDamageResistanceBonus',
+ skill.getModifiedItemAttr('hardeningBonus') * skill.level)
+
+
+class Effect2130(BaseEffect):
+ """
+ smallHybridMaxRangeBonus
+
+ Used by:
+ Ship: Catalyst
+ Ship: Cormorant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect2131(BaseEffect):
+ """
+ smallEnergyMaxRangeBonus
+
+ Used by:
+ Ship: Coercer
+ Ship: Gold Magnate
+ Ship: Silver Magnate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect2132(BaseEffect):
+ """
+ smallProjectileMaxRangeBonus
+
+ Used by:
+ Ship: Thrasher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'maxRange', ship.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect2133(BaseEffect):
+ """
+ energyTransferArrayMaxRangeBonus
+
+ Used by:
+ Ship: Augoror
+ Ship: Osprey
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',
+ 'maxRange', ship.getModifiedItemAttr('maxRangeBonus2'))
+
+
+class Effect2134(BaseEffect):
+ """
+ shieldTransporterMaxRangeBonus
+
+ Used by:
+ Ships from group: Industrial Command Ship (2 of 2)
+ Ship: Osprey
+ Ship: Rorqual
+ Ship: Scythe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Shield Booster', 'maxRange',
+ ship.getModifiedItemAttr('maxRangeBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Ancillary Remote Shield Booster', 'maxRange',
+ ship.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect2135(BaseEffect):
+ """
+ armorRepairProjectorMaxRangeBonus
+
+ Used by:
+ Variations of ship: Navitas (2 of 2)
+ Ship: Augoror
+ Ship: Deacon
+ Ship: Exequror
+ Ship: Inquisitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Armor Repairer', 'maxRange',
+ src.getModifiedItemAttr('maxRangeBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Ancillary Remote Armor Repairer', 'maxRange',
+ src.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect2143(BaseEffect):
+ """
+ minmatarShipEwTargetPainterMC2
+
+ Used by:
+ Ship: Huginn
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',
+ 'signatureRadiusBonus', ship.getModifiedItemAttr('shipBonusMC2'),
+ skill='Minmatar Cruiser')
+
+
+class Effect2155(BaseEffect):
+ """
+ eliteBonusCommandShipProjectileDamageCS1
+
+ Used by:
+ Ship: Sleipnir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusCommandShips1'),
+ skill='Command Ships')
+
+
+class Effect2156(BaseEffect):
+ """
+ eliteBonusCommandShipProjectileFalloffCS2
+
+ Used by:
+ Ship: Sleipnir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('eliteBonusCommandShips2'), skill='Command Ships')
+
+
+class Effect2157(BaseEffect):
+ """
+ eliteBonusCommandShipLaserDamageCS1
+
+ Used by:
+ Ship: Absolution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusCommandShips1'),
+ skill='Command Ships')
+
+
+class Effect2158(BaseEffect):
+ """
+ eliteBonusCommandShipLaserROFCS2
+
+ Used by:
+ Ship: Absolution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'speed', ship.getModifiedItemAttr('eliteBonusCommandShips2'), skill='Command Ships')
+
+
+class Effect2160(BaseEffect):
+ """
+ eliteBonusCommandShipHybridFalloffCS2
+
+ Used by:
+ Ship: Astarte
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'falloff', ship.getModifiedItemAttr('eliteBonusCommandShips2'), skill='Command Ships')
+
+
+class Effect2161(BaseEffect):
+ """
+ eliteBonusCommandShipHybridOptimalCS1
+
+ Used by:
+ Ship: Vulture
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusCommandShips1'),
+ skill='Command Ships')
+
+
+class Effect2179(BaseEffect):
+ """
+ shipBonusDroneHitpointsGC2
+
+ Used by:
+ Ships named like: Stratios (2 of 2)
+ Ship: Vexor
+ Ship: Vexor Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for type in ('shieldCapacity', 'armorHP', 'hp'):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ type, ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect2181(BaseEffect):
+ """
+ shipBonusDroneHitpointsFixedAC2
+
+ Used by:
+ Variations of ship: Arbitrator (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for type in ('shieldCapacity', 'armorHP', 'hp'):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ type, ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect2186(BaseEffect):
+ """
+ shipBonusDroneHitpointsGB2
+
+ Used by:
+ Variations of ship: Dominix (3 of 3)
+ Ship: Nestor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for type in ('shieldCapacity', 'armorHP', 'hp'):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ type, ship.getModifiedItemAttr('shipBonusGB2'), skill='Gallente Battleship')
+
+
+class Effect2187(BaseEffect):
+ """
+ shipBonusDroneDamageMultiplierGB2
+
+ Used by:
+ Variations of ship: Dominix (3 of 3)
+ Ship: Nestor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGB2'),
+ skill='Gallente Battleship')
+
+
+class Effect2188(BaseEffect):
+ """
+ shipBonusDroneDamageMultiplierGC2
+
+ Used by:
+ Ships named like: Stratios (2 of 2)
+ Ship: Vexor
+ Ship: Vexor Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect2189(BaseEffect):
+ """
+ shipBonusDroneDamageMultiplierAC2
+
+ Used by:
+ Variations of ship: Arbitrator (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect2200(BaseEffect):
+ """
+ eliteBonusInterdictorsMissileKineticDamage1
+
+ Used by:
+ Ship: Flycatcher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Light Missiles') or mod.charge.requiresSkill('Rockets'),
+ 'kineticDamage', ship.getModifiedItemAttr('eliteBonusInterdictors1'), skill='Interdictors')
+
+
+class Effect2201(BaseEffect):
+ """
+ eliteBonusInterdictorsProjectileFalloff1
+
+ Used by:
+ Ship: Sabre
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('eliteBonusInterdictors1'), skill='Interdictors')
+
+
+class Effect2215(BaseEffect):
+ """
+ shipBonusPirateFrigateProjDamage
+
+ Used by:
+ Ship: Chremoas
+ Ship: Dramiel
+ Ship: Sunesis
+ Ship: Svipul
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect2232(BaseEffect):
+ """
+ scanStrengthBonusPercentOnline
+
+ Used by:
+ Modules from group: Signal Amplifier (7 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for type in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):
+ fit.ship.boostItemAttr('scan%sStrength' % type,
+ module.getModifiedItemAttr('scan%sStrengthPercent' % type),
+ stackingPenalties=True)
+
+
+class Effect2249(BaseEffect):
+ """
+ shipBonusDroneMiningAmountAC2
+
+ Used by:
+ Ship: Arbitrator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'miningAmount', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect2250(BaseEffect):
+ """
+ shipBonusDroneMiningAmountGC2
+
+ Used by:
+ Ship: Vexor
+ Ship: Vexor Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),
+ 'miningAmount', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect2251(BaseEffect):
+ """
+ commandshipMultiRelayEffect
+
+ Used by:
+ Ships from group: Command Ship (8 of 8)
+ Ships from group: Industrial Command Ship (2 of 2)
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',
+ src.getModifiedItemAttr('maxGangModules'))
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupOnline',
+ src.getModifiedItemAttr('maxGangModules'))
+
+
+class Effect2252(BaseEffect):
+ """
+ covertOpsAndReconOpsCloakModuleDelayBonus
+
+ Used by:
+ Ships from group: Black Ops (5 of 5)
+ Ships from group: Blockade Runner (4 of 4)
+ Ships from group: Covert Ops (8 of 8)
+ Ships from group: Expedition Frigate (2 of 2)
+ Ships from group: Force Recon Ship (9 of 9)
+ Ships from group: Stealth Bomber (5 of 5)
+ Ships named like: Stratios (2 of 2)
+ Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
+ Ship: Astero
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredItemForce(lambda mod: mod.item.requiresSkill('Cloaking'),
+ 'moduleReactivationDelay',
+ container.getModifiedItemAttr('covertOpsAndReconOpsCloakModuleDelay'))
+
+
+class Effect2253(BaseEffect):
+ """
+ covertOpsStealthBomberTargettingDelayBonus
+
+ Used by:
+ Ships from group: Black Ops (5 of 5)
+ Ships from group: Stealth Bomber (5 of 5)
+ Ship: Caedes
+ Ship: Chremoas
+ Ship: Endurance
+ Ship: Etana
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemForce(lambda mod: mod.item.group.name == 'Cloaking Device',
+ 'cloakingTargetingDelay',
+ ship.getModifiedItemAttr('covertOpsStealthBomberTargettingDelay'))
+
+
+class Effect2255(BaseEffect):
+ """
+ tractorBeamCan
+
+ Used by:
+ Deployables from group: Mobile Tractor Unit (3 of 3)
+ Modules from group: Tractor Beam (4 of 4)
+ """
+
+ type = 'active'
+
+
+class Effect2298(BaseEffect):
+ """
+ scanStrengthBonusPercentPassive
+
+ Used by:
+ Implants named like: High grade (20 of 66)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ for type in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):
+ sensorType = 'scan{0}Strength'.format(type)
+ sensorBoost = 'scan{0}StrengthPercent'.format(type)
+ if sensorBoost in implant.item.attributes:
+ fit.ship.boostItemAttr(sensorType, implant.getModifiedItemAttr(sensorBoost))
+
+
+class Effect2302(BaseEffect):
+ """
+ damageControl
+
+ Used by:
+ Modules from group: Damage Control (22 of 27)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):
+ for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):
+ bonus = '%s%sDamageResonance' % (attrPrefix, damageType)
+ bonus = '%s%s' % (bonus[0].lower(), bonus[1:])
+ booster = '%s%sDamageResonance' % (layer, damageType)
+ fit.ship.multiplyItemAttr(bonus, module.getModifiedItemAttr(booster),
+ stackingPenalties=True, penaltyGroup='preMul')
+
+
+class Effect2305(BaseEffect):
+ """
+ eliteReconBonusEnergyNeutAmount2
+
+ Used by:
+ Ship: Curse
+ Ship: Pilgrim
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',
+ 'energyNeutralizerAmount', ship.getModifiedItemAttr('eliteBonusReconShip2'),
+ skill='Recon Ships')
+
+
+class Effect2354(BaseEffect):
+ """
+ capitalRemoteArmorRepairerCapNeedBonusSkill
+
+ Used by:
+ Variations of module: Capital Remote Repair Augmentor I (2 of 2)
+ Skill: Capital Remote Armor Repair Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Remote Armor Repair Systems'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect2355(BaseEffect):
+ """
+ capitalRemoteShieldTransferCapNeedBonusSkill
+
+ Used by:
+ Skill: Capital Shield Emission Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect2356(BaseEffect):
+ """
+ capitalRemoteEnergyTransferCapNeedBonusSkill
+
+ Used by:
+ Skill: Capital Capacitor Emission Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Capacitor Emission Systems'),
+ 'capacitorNeed', skill.getModifiedItemAttr('capNeedBonus') * skill.level)
+
+
+class Effect2402(BaseEffect):
+ """
+ skillSuperWeaponDmgBonus
+
+ Used by:
+ Skill: Doomsday Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ damageTypes = ('em', 'explosive', 'kinetic', 'thermal')
+ for dmgType in damageTypes:
+ dmgAttr = '{0}Damage'.format(dmgType)
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.group.name == 'Super Weapon' and dmgAttr in mod.itemModifiedAttributes,
+ dmgAttr, skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect2422(BaseEffect):
+ """
+ implantVelocityBonus
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Rogue' Navigation NN (6 of 6)
+ Implant: Genolution Core Augmentation CA-3
+ Implant: Shaqil's Speed Enhancer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.boostItemAttr('maxVelocity', implant.getModifiedItemAttr('implantBonusVelocity'))
+
+
+class Effect2432(BaseEffect):
+ """
+ energyManagementCapacitorBonusPostPercentCapacityLocationShipGroupCapacitorCapacityBonus
+
+ Used by:
+ Implants named like: Inherent Implants 'Squire' Capacitor Management EM (6 of 6)
+ Implants named like: Mindflood Booster (4 of 4)
+ Modules named like: Semiconductor Memory Cell (8 of 8)
+ Implant: Antipharmakon Aeolis
+ Implant: Genolution Core Augmentation CA-1
+ Skill: Capacitor Management
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.ship.boostItemAttr('capacitorCapacity', container.getModifiedItemAttr('capacitorCapacityBonus') * level)
+
+
+class Effect2444(BaseEffect):
+ """
+ minerCpuUsageMultiplyPercent2
+
+ Used by:
+ Variations of module: Mining Laser Upgrade I (5 of 5)
+ Module: Frostline 'Omnivore' Harvester Upgrade
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),
+ 'cpu', module.getModifiedItemAttr('cpuPenaltyPercent'))
+
+
+class Effect2445(BaseEffect):
+ """
+ iceMinerCpuUsagePercent
+
+ Used by:
+ Variations of module: Ice Harvester Upgrade I (5 of 5)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'),
+ 'cpu', module.getModifiedItemAttr('cpuPenaltyPercent'))
+
+
+class Effect2456(BaseEffect):
+ """
+ miningUpgradeCPUPenaltyReductionModulesRequiringMiningUpgradePercent
+
+ Used by:
+ Implants named like: Inherent Implants 'Highwall' Mining Upgrades MU (3 of 3)
+ Skill: Mining Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Upgrades'),
+ 'cpuPenaltyPercent',
+ container.getModifiedItemAttr('miningUpgradeCPUReductionBonus') * level)
+
+
+class Effect2465(BaseEffect):
+ """
+ shipBonusArmorResistAB
+
+ Used by:
+ Ship: Abaddon
+ Ship: Nestor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for type in ('Em', 'Explosive', 'Kinetic', 'Thermal'):
+ fit.ship.boostItemAttr('armor{0}DamageResonance'.format(type), ship.getModifiedItemAttr('shipBonusAB'),
+ skill='Amarr Battleship')
+
+
+class Effect2479(BaseEffect):
+ """
+ iceHarvestCycleTimeModulesRequiringIceHarvestingOnline
+
+ Used by:
+ Variations of module: Ice Harvester Upgrade I (5 of 5)
+ Module: Frostline 'Omnivore' Harvester Upgrade
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'),
+ 'duration', module.getModifiedItemAttr('iceHarvestCycleBonus'))
+
+
+class Effect2485(BaseEffect):
+ """
+ implantArmorHpBonus2
+
+ Used by:
+ Implants named like: Inherent Implants 'Noble' Hull Upgrades HG (7 of 7)
+ Implant: Genolution Core Augmentation CA-4
+ Implant: Imperial Navy Modified 'Noble' Implant
+ Implant: Imperial Special Ops Field Enhancer - Standard
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.boostItemAttr('armorHP', implant.getModifiedItemAttr('armorHpBonus2'))
+
+
+class Effect2488(BaseEffect):
+ """
+ implantVelocityBonus2
+
+ Used by:
+ Implant: Republic Special Ops Field Enhancer - Gamma
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.boostItemAttr('maxVelocity', implant.getModifiedItemAttr('velocityBonus2'))
+
+
+class Effect2489(BaseEffect):
+ """
+ shipBonusRemoteTrackingComputerFalloffMC
+
+ Used by:
+ Ship: Scimitar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',
+ 'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusMC'),
+ skill='Minmatar Cruiser')
+
+
+class Effect2490(BaseEffect):
+ """
+ shipBonusRemoteTrackingComputerFalloffGC2
+
+ Used by:
+ Ship: Oneiros
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',
+ 'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusGC2'),
+ skill='Gallente Cruiser')
+
+
+class Effect2491(BaseEffect):
+ """
+ ewSkillEcmBurstRangeBonus
+
+ Used by:
+ Modules named like: Particle Dispersion Projector (8 of 8)
+ Skill: Long Distance Jamming
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Jammer',
+ 'ecmBurstRange', container.getModifiedItemAttr('rangeSkillBonus') * level,
+ stackingPenalties=False if 'skill' in context else True)
+
+
+class Effect2492(BaseEffect):
+ """
+ ewSkillEcmBurstCapNeedBonus
+
+ Used by:
+ Implants named like: Zainou 'Gypsy' Electronic Warfare EW (6 of 6)
+ Modules named like: Signal Disruption Amplifier (8 of 8)
+ Skill: Electronic Warfare
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Jammer',
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect2503(BaseEffect):
+ """
+ shipHTTrackingBonusGB2
+
+ Used by:
+ Ships named like: Megathron (3 of 3)
+ Ship: Marshal
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGB2'),
+ skill='Gallente Battleship')
+
+
+class Effect2504(BaseEffect):
+ """
+ shipBonusHybridTrackingGF2
+
+ Used by:
+ Ship: Ares
+ Ship: Federation Navy Comet
+ Ship: Pacifier
+ Ship: Tristan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect2561(BaseEffect):
+ """
+ eliteBonusAssaultShipMissileVelocity1
+
+ Used by:
+ Ship: Hawk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', ship.getModifiedItemAttr('eliteBonusGunship1'),
+ skill='Assault Frigates')
+
+
+class Effect2589(BaseEffect):
+ """
+ modifyBoosterEffectChanceWithBoosterChanceBonusPostPercent
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Recovery NR (2 of 2)
+ Skill: Neurotoxin Recovery
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ for i in range(5):
+ attr = 'boosterEffectChance{0}'.format(i + 1)
+ fit.boosters.filteredItemBoost(lambda booster: attr in booster.itemModifiedAttributes,
+ attr, container.getModifiedItemAttr('boosterChanceBonus') * level)
+
+
+class Effect2602(BaseEffect):
+ """
+ shipBonusEmShieldResistanceCB2
+
+ Used by:
+ Ship: Rattlesnake
+ Ship: Rokh
+ Ship: Scorpion Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('shipBonus2CB'),
+ skill='Caldari Battleship')
+
+
+class Effect2603(BaseEffect):
+ """
+ shipBonusExplosiveShieldResistanceCB2
+
+ Used by:
+ Ship: Rattlesnake
+ Ship: Rokh
+ Ship: Scorpion Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonus2CB'),
+ skill='Caldari Battleship')
+
+
+class Effect2604(BaseEffect):
+ """
+ shipBonusKineticShieldResistanceCB2
+
+ Used by:
+ Ship: Rattlesnake
+ Ship: Rokh
+ Ship: Scorpion Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('shipBonus2CB'),
+ skill='Caldari Battleship')
+
+
+class Effect2605(BaseEffect):
+ """
+ shipBonusThermicShieldResistanceCB2
+
+ Used by:
+ Ship: Rattlesnake
+ Ship: Rokh
+ Ship: Scorpion Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('shipBonus2CB'),
+ skill='Caldari Battleship')
+
+
+class Effect2611(BaseEffect):
+ """
+ eliteBonusGunshipProjectileDamage1
+
+ Used by:
+ Ship: Wolf
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusGunship1'),
+ skill='Assault Frigates')
+
+
+class Effect2644(BaseEffect):
+ """
+ increaseSignatureRadiusOnline
+
+ Used by:
+ Modules from group: Inertial Stabilizer (7 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonus'), stackingPenalties=True)
+
+
+class Effect2645(BaseEffect):
+ """
+ scanResolutionMultiplierOnline
+
+ Used by:
+ Modules from group: Warp Core Stabilizer (8 of 8)
+ Module: Target Spectrum Breaker
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect2646(BaseEffect):
+ """
+ maxTargetRangeBonus
+
+ Used by:
+ Modules from group: Warp Core Stabilizer (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect2647(BaseEffect):
+ """
+ eliteBonusHeavyGunshipHeavyMissileLaunhcerRof2
+
+ Used by:
+ Ship: Cerberus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy',
+ 'speed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect2648(BaseEffect):
+ """
+ eliteBonusHeavyGunshipHeavyAssaultMissileLaunhcerRof2
+
+ Used by:
+ Ship: Cerberus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy Assault',
+ 'speed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect2649(BaseEffect):
+ """
+ eliteBonusHeavyGunshipAssaultMissileLaunhcerRof2
+
+ Used by:
+ Ship: Cerberus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Light',
+ 'speed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect2670(BaseEffect):
+ """
+ sensorBoosterActivePercentage
+
+ Used by:
+ Modules from group: Sensor Booster (16 of 16)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),
+ stackingPenalties=True)
+ fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),
+ stackingPenalties=True)
+
+ for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):
+ fit.ship.boostItemAttr(
+ 'scan{}Strength'.format(scanType),
+ module.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType)),
+ stackingPenalties=True
+ )
+
+
+class Effect2688(BaseEffect):
+ """
+ capNeedBonusEffectLasers
+
+ Used by:
+ Modules named like: Energy Discharge Elutriation (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'capacitorNeed', module.getModifiedItemAttr('capNeedBonus'))
+
+
+class Effect2689(BaseEffect):
+ """
+ capNeedBonusEffectHybrids
+
+ Used by:
+ Modules named like: Hybrid Discharge Elutriation (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'capacitorNeed', module.getModifiedItemAttr('capNeedBonus'))
+
+
+class Effect2690(BaseEffect):
+ """
+ cpuNeedBonusEffectLasers
+
+ Used by:
+ Modules named like: Algid Energy Administrations Unit (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'cpu', module.getModifiedItemAttr('cpuNeedBonus'))
+
+
+class Effect2691(BaseEffect):
+ """
+ cpuNeedBonusEffectHybrid
+
+ Used by:
+ Modules named like: Algid Hybrid Administrations Unit (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'cpu', module.getModifiedItemAttr('cpuNeedBonus'))
+
+
+class Effect2693(BaseEffect):
+ """
+ falloffBonusEffectLasers
+
+ Used by:
+ Modules named like: Energy Ambit Extension (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'falloff', module.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True)
+
+
+class Effect2694(BaseEffect):
+ """
+ falloffBonusEffectHybrids
+
+ Used by:
+ Modules named like: Hybrid Ambit Extension (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'falloff', module.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True)
+
+
+class Effect2695(BaseEffect):
+ """
+ falloffBonusEffectProjectiles
+
+ Used by:
+ Modules named like: Projectile Ambit Extension (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',
+ 'falloff', module.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True)
+
+
+class Effect2696(BaseEffect):
+ """
+ maxRangeBonusEffectLasers
+
+ Used by:
+ Modules named like: Energy Locus Coordinator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'maxRange', module.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect2697(BaseEffect):
+ """
+ maxRangeBonusEffectHybrids
+
+ Used by:
+ Modules named like: Hybrid Locus Coordinator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'maxRange', module.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect2698(BaseEffect):
+ """
+ maxRangeBonusEffectProjectiles
+
+ Used by:
+ Modules named like: Projectile Locus Coordinator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',
+ 'maxRange', module.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect2706(BaseEffect):
+ """
+ drawbackPowerNeedLasers
+
+ Used by:
+ Modules from group: Rig Energy Weapon (56 of 56)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'power', module.getModifiedItemAttr('drawback'))
+
+
+class Effect2707(BaseEffect):
+ """
+ drawbackPowerNeedHybrids
+
+ Used by:
+ Modules from group: Rig Hybrid Weapon (56 of 56)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'power', module.getModifiedItemAttr('drawback'))
+
+
+class Effect2708(BaseEffect):
+ """
+ drawbackPowerNeedProjectiles
+
+ Used by:
+ Modules from group: Rig Projectile Weapon (40 of 40)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',
+ 'power', module.getModifiedItemAttr('drawback'))
+
+
+class Effect2712(BaseEffect):
+ """
+ drawbackArmorHP
+
+ Used by:
+ Modules from group: Rig Navigation (48 of 64)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('armorHP', module.getModifiedItemAttr('drawback'))
+
+
+class Effect2713(BaseEffect):
+ """
+ drawbackCPUOutput
+
+ Used by:
+ Modules from group: Rig Drones (58 of 64)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('cpuOutput', module.getModifiedItemAttr('drawback'))
+
+
+class Effect2714(BaseEffect):
+ """
+ drawbackCPUNeedLaunchers
+
+ Used by:
+ Modules from group: Rig Launcher (48 of 48)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'cpu', module.getModifiedItemAttr('drawback'))
+
+
+class Effect2716(BaseEffect):
+ """
+ drawbackSigRad
+
+ Used by:
+ Modules from group: Rig Shield (72 of 72)
+ Modules named like: Optimizer (16 of 16)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('drawback'), stackingPenalties=True)
+
+
+class Effect2717(BaseEffect):
+ """
+ drawbackMaxVelocity
+
+ Used by:
+ Modules from group: Rig Armor (48 of 72)
+ Modules from group: Rig Resource Processing (8 of 10)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('drawback'),
+ stackingPenalties=True)
+
+
+class Effect2718(BaseEffect):
+ """
+ drawbackShieldCapacity
+
+ Used by:
+ Modules from group: Rig Electronic Systems (40 of 48)
+ Modules from group: Rig Targeting (16 of 16)
+ Modules named like: Signal Focusing Kit (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('shieldCapacity', module.getModifiedItemAttr('drawback'))
+
+
+class Effect2726(BaseEffect):
+ """
+ miningClouds
+
+ Used by:
+ Modules from group: Gas Cloud Harvester (5 of 5)
+ """
+
+ type = 'active'
+
+
+class Effect2727(BaseEffect):
+ """
+ gasCloudHarvestingMaxGroupSkillLevel
+
+ Used by:
+ Skill: Gas Cloud Harvesting
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == 'Gas Cloud Harvester',
+ 'maxGroupActive', skill.level)
+
+
+class Effect2734(BaseEffect):
+ """
+ shipECMScanStrengthBonusCF
+
+ Used by:
+ Variations of ship: Griffin (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for type in ('Gravimetric', 'Ladar', 'Radar', 'Magnetometric'):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scan{0}StrengthBonus'.format(type),
+ ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect2735(BaseEffect):
+ """
+ boosterArmorHpPenalty
+
+ Used by:
+ Implants named like: Booster (12 of 35)
+ """
+
+ attr = 'boosterArmorHPPenalty'
+ displayName = 'Armor Capacity'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.ship.boostItemAttr('armorHP', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2736(BaseEffect):
+ """
+ boosterArmorRepairAmountPenalty
+
+ Used by:
+ Implants named like: Drop Booster (3 of 4)
+ Implants named like: Mindflood Booster (3 of 4)
+ Implants named like: Sooth Sayer Booster (3 of 4)
+ """
+
+ attr = 'boosterArmorRepairAmountPenalty'
+ displayName = 'Armor Repair Amount'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Repair Unit',
+ 'armorDamageAmount', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2737(BaseEffect):
+ """
+ boosterShieldCapacityPenalty
+
+ Used by:
+ Implants from group: Booster (12 of 70)
+ """
+
+ attr = 'boosterShieldCapacityPenalty'
+ displayName = 'Shield Capacity'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.ship.boostItemAttr('shieldCapacity', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2739(BaseEffect):
+ """
+ boosterTurretOptimalRangePenalty
+
+ Used by:
+ Implants named like: Blue Pill Booster (3 of 5)
+ Implants named like: Mindflood Booster (3 of 4)
+ Implants named like: Sooth Sayer Booster (3 of 4)
+ """
+
+ attr = 'boosterTurretOptimalRangePenalty'
+ displayName = 'Turret Optimal Range'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'maxRange', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2741(BaseEffect):
+ """
+ boosterTurretFalloffPenalty
+
+ Used by:
+ Implants named like: Drop Booster (3 of 4)
+ Implants named like: X Instinct Booster (3 of 4)
+ """
+
+ attr = 'boosterTurretFalloffPenalty'
+ displayName = 'Turret Falloff'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'falloff', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2745(BaseEffect):
+ """
+ boosterCapacitorCapacityPenalty
+
+ Used by:
+ Implants named like: Blue Pill Booster (3 of 5)
+ Implants named like: Exile Booster (3 of 4)
+ """
+
+ attr = 'boosterCapacitorCapacityPenalty'
+ displayName = 'Cap Capacity'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.ship.boostItemAttr('capacitorCapacity', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2746(BaseEffect):
+ """
+ boosterMaxVelocityPenalty
+
+ Used by:
+ Implants named like: Crash Booster (3 of 4)
+ Items from market group: Implants & Boosters > Booster > Booster Slot 02 (9 of 13)
+ """
+
+ attr = 'boosterMaxVelocityPenalty'
+ displayName = 'Velocity'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.ship.boostItemAttr('maxVelocity', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2747(BaseEffect):
+ """
+ boosterTurretTrackingPenalty
+
+ Used by:
+ Implants named like: Exile Booster (3 of 4)
+ Implants named like: Frentix Booster (3 of 4)
+ """
+
+ attr = 'boosterTurretTrackingPenalty'
+ displayName = 'Turret Tracking'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'trackingSpeed', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2748(BaseEffect):
+ """
+ boosterMissileVelocityPenalty
+
+ Used by:
+ Implants named like: Crash Booster (3 of 4)
+ Implants named like: X Instinct Booster (3 of 4)
+ """
+
+ attr = 'boosterMissileVelocityPenalty'
+ displayName = 'Missile Velocity'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2749(BaseEffect):
+ """
+ boosterMissileExplosionVelocityPenalty
+
+ Used by:
+ Implants named like: Blue Pill Booster (3 of 5)
+ """
+
+ attr = 'boosterAOEVelocityPenalty'
+ displayName = 'Missile Explosion Velocity'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeVelocity', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2756(BaseEffect):
+ """
+ shipBonusECMStrengthBonusCC
+
+ Used by:
+ Ship: Blackbird
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for type in ('Gravimetric', 'Magnetometric', 'Ladar', 'Radar'):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scan{0}StrengthBonus'.format(type), ship.getModifiedItemAttr('shipBonusCC'),
+ skill='Caldari Cruiser')
+
+
+class Effect2757(BaseEffect):
+ """
+ salvaging
+
+ Used by:
+ Modules from group: Salvager (3 of 3)
+ """
+
+ type = 'active'
+
+
+class Effect2760(BaseEffect):
+ """
+ boosterModifyBoosterArmorPenalties
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
+ Implants named like: grade Edge (10 of 12)
+ Skill: Neurotoxin Control
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ attrs = ('boosterArmorHPPenalty', 'boosterArmorRepairAmountPenalty')
+ for attr in attrs:
+ fit.boosters.filteredItemBoost(lambda booster: True, attr,
+ container.getModifiedItemAttr('boosterAttributeModifier') * level)
+
+
+class Effect2763(BaseEffect):
+ """
+ boosterModifyBoosterShieldPenalty
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
+ Implants named like: grade Edge (10 of 12)
+ Skill: Neurotoxin Control
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ attrs = ('boosterShieldBoostAmountPenalty', 'boosterShieldCapacityPenalty', 'shieldBoostMultiplier')
+ for attr in attrs:
+ # shieldBoostMultiplier can be positive (Blue Pill) and negative value (other boosters)
+ # We're interested in decreasing only side-effects
+ fit.boosters.filteredItemBoost(lambda booster: booster.getModifiedItemAttr(attr) < 0,
+ attr, container.getModifiedItemAttr('boosterAttributeModifier') * level)
+
+
+class Effect2766(BaseEffect):
+ """
+ boosterModifyBoosterMaxVelocityAndCapacitorPenalty
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
+ Implants named like: grade Edge (10 of 12)
+ Skill: Neurotoxin Control
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ attrs = ('boosterCapacitorCapacityPenalty', 'boosterMaxVelocityPenalty')
+ for attr in attrs:
+ fit.boosters.filteredItemBoost(lambda booster: True, attr,
+ container.getModifiedItemAttr('boosterAttributeModifier') * level)
+
+
+class Effect2776(BaseEffect):
+ """
+ boosterModifyBoosterMissilePenalty
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
+ Implants named like: grade Edge (10 of 12)
+ Skill: Neurotoxin Control
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ attrs = ('boosterAOEVelocityPenalty', 'boosterMissileAOECloudPenalty', 'boosterMissileVelocityPenalty')
+ for attr in attrs:
+ fit.boosters.filteredItemBoost(lambda booster: True, attr,
+ container.getModifiedItemAttr('boosterAttributeModifier') * level)
+
+
+class Effect2778(BaseEffect):
+ """
+ boosterModifyBoosterTurretPenalty
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
+ Implants named like: grade Edge (10 of 12)
+ Skill: Neurotoxin Control
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ attrs = ('boosterTurretFalloffPenalty', 'boosterTurretOptimalRangePenalty', 'boosterTurretTrackingPenalty')
+ for attr in attrs:
+ fit.boosters.filteredItemBoost(lambda booster: True, attr,
+ container.getModifiedItemAttr('boosterAttributeModifier') * level)
+
+
+class Effect2791(BaseEffect):
+ """
+ boosterMissileExplosionCloudPenaltyFixed
+
+ Used by:
+ Implants named like: Exile Booster (3 of 4)
+ Implants named like: Mindflood Booster (3 of 4)
+ """
+
+ attr = 'boosterMissileAOECloudPenalty'
+ displayName = 'Missile Explosion Radius'
+ type = 'boosterSideEffect'
+
+ @classmethod
+ def handler(cls, fit, booster, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeCloudSize', booster.getModifiedItemAttr(cls.attr))
+
+
+class Effect2792(BaseEffect):
+ """
+ modifyArmorResonancePostPercentPassive
+
+ Used by:
+ Modules named like: Anti Pump (32 of 32)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for type in ('kinetic', 'thermal', 'explosive', 'em'):
+ fit.ship.boostItemAttr('armor' + type.capitalize() + 'DamageResonance',
+ module.getModifiedItemAttr(type + 'DamageResistanceBonus') or 0,
+ stackingPenalties=True)
+
+
+class Effect2794(BaseEffect):
+ """
+ salvagingAccessDifficultyBonusEffectPassive
+
+ Used by:
+ Modules from group: Rig Resource Processing (8 of 10)
+ Implant: Poteque 'Prospector' Salvaging SV-905
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Salvaging'),
+ 'accessDifficultyBonus', container.getModifiedItemAttr('accessDifficultyBonus'),
+ position='post')
+
+
+class Effect2795(BaseEffect):
+ """
+ modifyShieldResonancePostPercentPassive
+
+ Used by:
+ Modules named like: Anti Screen Reinforcer (32 of 32)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for type in ('kinetic', 'thermal', 'explosive', 'em'):
+ fit.ship.boostItemAttr('shield' + type.capitalize() + 'DamageResonance',
+ module.getModifiedItemAttr(type + 'DamageResistanceBonus') or 0,
+ stackingPenalties=True)
+
+
+class Effect2796(BaseEffect):
+ """
+ massReductionBonusPassive
+
+ Used by:
+ Modules from group: Rig Anchor (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('mass', module.getModifiedItemAttr('massBonusPercentage'), stackingPenalties=True)
+
+
+class Effect2797(BaseEffect):
+ """
+ projectileWeaponSpeedMultiplyPassive
+
+ Used by:
+ Modules named like: Projectile Burst Aerator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Projectile Weapon',
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect2798(BaseEffect):
+ """
+ projectileWeaponDamageMultiplyPassive
+
+ Used by:
+ Modules named like: Projectile Collision Accelerator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Projectile Weapon',
+ 'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect2799(BaseEffect):
+ """
+ missileLauncherSpeedMultiplierPassive
+
+ Used by:
+ Modules named like: Bay Loading Accelerator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect2801(BaseEffect):
+ """
+ energyWeaponSpeedMultiplyPassive
+
+ Used by:
+ Modules named like: Energy Burst Aerator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect2802(BaseEffect):
+ """
+ hybridWeaponDamageMultiplyPassive
+
+ Used by:
+ Modules named like: Hybrid Collision Accelerator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect2803(BaseEffect):
+ """
+ energyWeaponDamageMultiplyPassive
+
+ Used by:
+ Modules named like: Energy Collision Accelerator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect2804(BaseEffect):
+ """
+ hybridWeaponSpeedMultiplyPassive
+
+ Used by:
+ Modules named like: Hybrid Burst Aerator (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect2805(BaseEffect):
+ """
+ shipBonusLargeEnergyWeaponDamageAB2
+
+ Used by:
+ Ship: Abaddon
+ Ship: Marshal
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusAB2'),
+ skill='Amarr Battleship')
+
+
+class Effect2809(BaseEffect):
+ """
+ shipMissileAssaultMissileVelocityBonusCC2
+
+ Used by:
+ Ship: Caracal
+ Ship: Osprey Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect2810(BaseEffect):
+ """
+ eliteBonusHeavyGunshipAssaultMissileFlightTime1
+
+ Used by:
+ Ship: Cerberus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'explosionDelay', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect2812(BaseEffect):
+ """
+ caldariShipECMBurstOptimalRangeCB3
+
+ Used by:
+ Ship: Scorpion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Jammer',
+ 'ecmBurstRange', ship.getModifiedItemAttr('shipBonusCB3'), skill='Caldari Battleship')
+
+
+class Effect2837(BaseEffect):
+ """
+ armorHPBonusAdd
+
+ Used by:
+ Modules from group: Armor Reinforcer (51 of 51)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('armorHP', module.getModifiedItemAttr('armorHPBonusAdd'))
+
+
+class Effect2847(BaseEffect):
+ """
+ trackingSpeedBonusPassiveRequiringGunneryTrackingSpeedBonus
+
+ Used by:
+ Implants named like: Drop Booster (4 of 4)
+ Implants named like: Eifyr and Co. 'Gunslinger' Motion Prediction MR (6 of 6)
+ Implant: Antipharmakon Iokira
+ Implant: Ogdin's Eye Coordination Enhancer
+ Skill: Motion Prediction
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'trackingSpeed', container.getModifiedItemAttr('trackingSpeedBonus') * level)
+
+
+class Effect2848(BaseEffect):
+ """
+ accessDifficultyBonusModifierRequiringArchaelogy
+
+ Used by:
+ Modules named like: Emission Scope Sharpener (8 of 8)
+ Implant: Poteque 'Prospector' Archaeology AC-905
+ Implant: Poteque 'Prospector' Environmental Analysis EY-1005
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredItemIncrease(lambda module: module.item.requiresSkill('Archaeology'),
+ 'accessDifficultyBonus',
+ container.getModifiedItemAttr('accessDifficultyBonusModifier'), position='post')
+
+
+class Effect2849(BaseEffect):
+ """
+ accessDifficultyBonusModifierRequiringHacking
+
+ Used by:
+ Modules named like: Memetic Algorithm Bank (8 of 8)
+ Implant: Neural Lace 'Blackglass' Net Intrusion 920-40
+ Implant: Poteque 'Prospector' Environmental Analysis EY-1005
+ Implant: Poteque 'Prospector' Hacking HC-905
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredItemIncrease(lambda c: c.item.requiresSkill('Hacking'),
+ 'accessDifficultyBonus',
+ container.getModifiedItemAttr('accessDifficultyBonusModifier'), position='post')
+
+
+class Effect2850(BaseEffect):
+ """
+ durationBonusForGroupAfterburner
+
+ Used by:
+ Modules named like: Engine Thermal Shielding (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',
+ 'duration', module.getModifiedItemAttr('durationBonus'))
+
+
+class Effect2851(BaseEffect):
+ """
+ missileDMGBonusPassive
+
+ Used by:
+ Modules named like: Warhead Calefaction Catalyst (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ '%sDamage' % dmgType,
+ container.getModifiedItemAttr('missileDamageMultiplierBonus'),
+ stackingPenalties=True)
+
+
+class Effect2853(BaseEffect):
+ """
+ cloakingTargetingDelayBonusLRSMCloakingPassive
+
+ Used by:
+ Modules named like: Targeting Systems Stabilizer (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda module: module.item.requiresSkill('Cloaking'),
+ 'cloakingTargetingDelay', module.getModifiedItemAttr('cloakingTargetingDelayBonus'))
+
+
+class Effect2857(BaseEffect):
+ """
+ cynosuralGeneration
+
+ Used by:
+ Modules from group: Cynosural Field Generator (2 of 2)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('speedFactor'))
+
+
+class Effect2865(BaseEffect):
+ """
+ velocityBonusOnline
+
+ Used by:
+ Modules from group: Entosis Link (6 of 6)
+ Modules from group: Nanofiber Internal Structure (7 of 7)
+ Modules from group: Overdrive Injector System (7 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('implantBonusVelocity'),
+ stackingPenalties=True)
+
+
+class Effect2866(BaseEffect):
+ """
+ biologyTimeBonusFixed
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Alchemist' Biology BY (2 of 2)
+ Skill: Biology
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.boosters.filteredItemBoost(lambda bst: True, 'boosterDuration',
+ container.getModifiedItemAttr('durationBonus') * level)
+
+
+class Effect2867(BaseEffect):
+ """
+ sentryDroneDamageBonus
+
+ Used by:
+ Modules named like: Sentry Damage Augmentor (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'damageMultiplier', module.getModifiedItemAttr('damageMultiplierBonus'),
+ stackingPenalties=True)
+
+
+class Effect2868(BaseEffect):
+ """
+ armorDamageAmountBonusCapitalArmorRepairers
+
+ Used by:
+ Modules named like: Auxiliary Nano Pump (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'),
+ 'armorDamageAmount', implant.getModifiedItemAttr('repairBonus'),
+ stackingPenalties=True)
+
+
+class Effect2872(BaseEffect):
+ """
+ missileVelocityBonusDefender
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Defender Missiles DM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Defender Missiles'),
+ 'maxVelocity', container.getModifiedItemAttr('missileVelocityBonus'))
+
+
+class Effect2881(BaseEffect):
+ """
+ missileEMDmgBonusCruise3
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2882(BaseEffect):
+ """
+ missileExplosiveDmgBonusCruise3
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2883(BaseEffect):
+ """
+ missileKineticDmgBonusCruise3
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2884(BaseEffect):
+ """
+ missileThermalDmgBonusCruise3
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2885(BaseEffect):
+ """
+ gasHarvestingCycleTimeModulesRequiringGasCloudHarvesting
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Alchemist' Gas Harvesting GH (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gas Cloud Harvesting'),
+ 'duration', implant.getModifiedItemAttr('durationBonus'))
+
+
+class Effect2887(BaseEffect):
+ """
+ missileEMDmgBonusRocket
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2888(BaseEffect):
+ """
+ missileExplosiveDmgBonusRocket
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2889(BaseEffect):
+ """
+ missileKineticDmgBonusRocket
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2890(BaseEffect):
+ """
+ missileThermalDmgBonusRocket
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2891(BaseEffect):
+ """
+ missileEMDmgBonusStandard
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2892(BaseEffect):
+ """
+ missileExplosiveDmgBonusStandard
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2893(BaseEffect):
+ """
+ missileKineticDmgBonusStandard
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2894(BaseEffect):
+ """
+ missileThermalDmgBonusStandard
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2899(BaseEffect):
+ """
+ missileEMDmgBonusHeavy
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2900(BaseEffect):
+ """
+ missileExplosiveDmgBonusHeavy
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2901(BaseEffect):
+ """
+ missileKineticDmgBonusHeavy
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2902(BaseEffect):
+ """
+ missileThermalDmgBonusHeavy
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2903(BaseEffect):
+ """
+ missileEMDmgBonusHAM
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2904(BaseEffect):
+ """
+ missileExplosiveDmgBonusHAM
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2905(BaseEffect):
+ """
+ missileKineticDmgBonusHAM
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2906(BaseEffect):
+ """
+ missileThermalDmgBonusHAM
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2907(BaseEffect):
+ """
+ missileEMDmgBonusTorpedo
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'emDamage', implant.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2908(BaseEffect):
+ """
+ missileExplosiveDmgBonusTorpedo
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'explosiveDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2909(BaseEffect):
+ """
+ missileKineticDmgBonusTorpedo
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'kineticDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2910(BaseEffect):
+ """
+ missileThermalDmgBonusTorpedo
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'thermalDamage', container.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect2911(BaseEffect):
+ """
+ dataminerModuleDurationReduction
+
+ Used by:
+ Implant: Poteque 'Prospector' Environmental Analysis EY-1005
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Data Miners',
+ 'duration', implant.getModifiedItemAttr('durationBonus'))
+
+
+class Effect2967(BaseEffect):
+ """
+ skillTriageModuleConsumptionQuantityBonus
+
+ Used by:
+ Skill: Tactical Logistics Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ amount = -skill.getModifiedItemAttr('consumptionQuantityBonus')
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),
+ 'consumptionQuantity', amount * skill.level)
+
+
+class Effect2979(BaseEffect):
+ """
+ skillRemoteHullRepairSystemsCapNeedBonus
+
+ Used by:
+ Skill: Remote Hull Repair Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Hull Repair Systems'),
+ 'capacitorNeed', skill.getModifiedItemAttr('capNeedBonus') * skill.level)
+
+
+class Effect2980(BaseEffect):
+ """
+ skillCapitalRemoteHullRepairSystemsCapNeedBonus
+
+ Used by:
+ Skill: Capital Remote Hull Repair Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Remote Hull Repair Systems'),
+ 'capacitorNeed', skill.getModifiedItemAttr('capNeedBonus') * skill.level)
+
+
+class Effect2982(BaseEffect):
+ """
+ skillRemoteECMDurationBonus
+
+ Used by:
+ Skill: Burst Projector Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ # We need to make sure that the attribute exists, otherwise we add attributes that don't belong. See #927
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and
+ mod.item.getAttribute('duration'),
+ 'duration',
+ skill.getModifiedItemAttr('projECMDurationBonus') * skill.level)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and
+ mod.item.getAttribute('durationECMJammerBurstProjector'),
+ 'durationECMJammerBurstProjector',
+ skill.getModifiedItemAttr('projECMDurationBonus') * skill.level)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and
+ mod.item.getAttribute('durationTargetIlluminationBurstProjector'),
+ 'durationTargetIlluminationBurstProjector',
+ skill.getModifiedItemAttr('projECMDurationBonus') * skill.level)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and
+ mod.item.getAttribute('durationSensorDampeningBurstProjector'),
+ 'durationSensorDampeningBurstProjector',
+ skill.getModifiedItemAttr('projECMDurationBonus') * skill.level)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation') and
+ mod.item.getAttribute('durationWeaponDisruptionBurstProjector'),
+ 'durationWeaponDisruptionBurstProjector',
+ skill.getModifiedItemAttr('projECMDurationBonus') * skill.level)
+
+
+class Effect3001(BaseEffect):
+ """
+ overloadRofBonus
+
+ Used by:
+ Modules from group: Missile Launcher Torpedo (22 of 22)
+ Items from market group: Ship Equipment > Turrets & Bays (429 of 883)
+ Module: Interdiction Sphere Launcher I
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('speed', module.getModifiedItemAttr('overloadRofBonus'))
+
+
+class Effect3002(BaseEffect):
+ """
+ overloadSelfDurationBonus
+
+ Used by:
+ Modules from group: Ancillary Remote Shield Booster (4 of 4)
+ Modules from group: Capacitor Booster (59 of 59)
+ Modules from group: Energy Neutralizer (54 of 54)
+ Modules from group: Energy Nosferatu (54 of 54)
+ Modules from group: Hull Repair Unit (25 of 25)
+ Modules from group: Remote Armor Repairer (39 of 39)
+ Modules from group: Remote Capacitor Transmitter (41 of 41)
+ Modules from group: Remote Shield Booster (38 of 38)
+ Modules from group: Smart Bomb (118 of 118)
+ Modules from group: Warp Disrupt Field Generator (7 of 7)
+ Modules named like: Remote Repairer (56 of 56)
+ Module: Reactive Armor Hardener
+ Module: Target Spectrum Breaker
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('duration', module.getModifiedItemAttr('overloadSelfDurationBonus') or 0)
+
+
+class Effect3024(BaseEffect):
+ """
+ eliteBonusCoverOpsBombExplosiveDmg1
+
+ Used by:
+ Ship: Hound
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'explosiveDamage', ship.getModifiedItemAttr('eliteBonusCovertOps1'),
+ skill='Covert Ops')
+
+
+class Effect3025(BaseEffect):
+ """
+ overloadSelfDamageBonus
+
+ Used by:
+ Modules from group: Energy Weapon (101 of 214)
+ Modules from group: Hybrid Weapon (105 of 221)
+ Modules from group: Precursor Weapon (15 of 15)
+ Modules from group: Projectile Weapon (99 of 165)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('damageMultiplier', module.getModifiedItemAttr('overloadDamageModifier'))
+
+
+class Effect3026(BaseEffect):
+ """
+ eliteBonusCoverOpsBombKineticDmg1
+
+ Used by:
+ Ship: Manticore
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'kineticDamage', ship.getModifiedItemAttr('eliteBonusCovertOps1'),
+ skill='Covert Ops')
+
+
+class Effect3027(BaseEffect):
+ """
+ eliteBonusCoverOpsBombThermalDmg1
+
+ Used by:
+ Ship: Nemesis
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'thermalDamage', ship.getModifiedItemAttr('eliteBonusCovertOps1'),
+ skill='Covert Ops')
+
+
+class Effect3028(BaseEffect):
+ """
+ eliteBonusCoverOpsBombEmDmg1
+
+ Used by:
+ Ship: Purifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'emDamage', ship.getModifiedItemAttr('eliteBonusCovertOps1'), skill='Covert Ops')
+
+
+class Effect3029(BaseEffect):
+ """
+ overloadSelfEmHardeningBonus
+
+ Used by:
+ Variations of module: Armor EM Hardener I (39 of 39)
+ Variations of module: EM Ward Field I (19 of 19)
+ Module: Civilian EM Ward Field
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('emDamageResistanceBonus', module.getModifiedItemAttr('overloadHardeningBonus'))
+
+
+class Effect3030(BaseEffect):
+ """
+ overloadSelfThermalHardeningBonus
+
+ Used by:
+ Variations of module: Armor Thermal Hardener I (39 of 39)
+ Variations of module: Thermal Dissipation Field I (19 of 19)
+ Module: Civilian Thermal Dissipation Field
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('thermalDamageResistanceBonus', module.getModifiedItemAttr('overloadHardeningBonus'))
+
+
+class Effect3031(BaseEffect):
+ """
+ overloadSelfExplosiveHardeningBonus
+
+ Used by:
+ Variations of module: Armor Explosive Hardener I (39 of 39)
+ Variations of module: Explosive Deflection Field I (19 of 19)
+ Module: Civilian Explosive Deflection Field
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('explosiveDamageResistanceBonus', module.getModifiedItemAttr('overloadHardeningBonus'))
+
+
+class Effect3032(BaseEffect):
+ """
+ overloadSelfKineticHardeningBonus
+
+ Used by:
+ Variations of module: Armor Kinetic Hardener I (39 of 39)
+ Variations of module: Kinetic Deflection Field I (19 of 19)
+ Module: Civilian Kinetic Deflection Field
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('kineticDamageResistanceBonus', module.getModifiedItemAttr('overloadHardeningBonus'))
+
+
+class Effect3035(BaseEffect):
+ """
+ overloadSelfHardeningInvulnerabilityBonus
+
+ Used by:
+ Modules named like: Capital Flex Hardener (9 of 9)
+ Variations of module: Adaptive Invulnerability Field I (17 of 17)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for type in ('kinetic', 'thermal', 'explosive', 'em'):
+ module.boostItemAttr('%sDamageResistanceBonus' % type,
+ module.getModifiedItemAttr('overloadHardeningBonus'))
+
+
+class Effect3036(BaseEffect):
+ """
+ skillBombDeploymentModuleReactivationDelayBonus
+
+ Used by:
+ Skill: Bomb Deployment
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Bomb',
+ 'moduleReactivationDelay', skill.getModifiedItemAttr('reactivationDelayBonus') * skill.level)
+
+
+class Effect3046(BaseEffect):
+ """
+ modifyMaxVelocityOfShipPassive
+
+ Used by:
+ Modules from group: Expanded Cargohold (7 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('maxVelocity', module.getModifiedItemAttr('maxVelocityModifier'), stackingPenalties=True)
+
+
+class Effect3047(BaseEffect):
+ """
+ structureHPMultiplyPassive
+
+ Used by:
+ Modules from group: Expanded Cargohold (7 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('hp', module.getModifiedItemAttr('structureHPMultiplier'))
+
+
+class Effect3061(BaseEffect):
+ """
+ heatDamageBonus
+
+ Used by:
+ Modules from group: Shield Boost Amplifier (25 of 25)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'heatDamage', module.getModifiedItemAttr('heatDamageBonus'))
+
+
+class Effect3169(BaseEffect):
+ """
+ shieldTransportCpuNeedBonusEffect
+
+ Used by:
+ Ships from group: Logistics (3 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'cpu',
+ src.getModifiedItemAttr('shieldTransportCpuNeedBonus'))
+
+
+class Effect3172(BaseEffect):
+ """
+ droneArmorDamageBonusEffect
+
+ Used by:
+ Ships from group: Logistics (6 of 7)
+ Ship: Exequror
+ Ship: Scythe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ # This is actually level-less bonus, anyway you have to train cruisers 5
+ # and will get 100% (20%/lvl as stated by description)
+ fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',
+ 'armorDamageAmount', ship.getModifiedItemAttr('droneArmorDamageAmountBonus'))
+
+
+class Effect3173(BaseEffect):
+ """
+ droneShieldBonusBonusEffect
+
+ Used by:
+ Ships from group: Logistics (6 of 7)
+ Ship: Exequror
+ Ship: Scythe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ # This is actually level-less bonus, anyway you have to train cruisers 5
+ # and will get 100% (20%/lvl as stated by description)
+ fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',
+ 'shieldBonus', ship.getModifiedItemAttr('droneShieldBonusBonus'))
+
+
+class Effect3174(BaseEffect):
+ """
+ overloadSelfRangeBonus
+
+ Used by:
+ Modules from group: Stasis Grappler (7 of 7)
+ Modules from group: Stasis Web (19 of 19)
+ Modules from group: Warp Scrambler (54 of 55)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('maxRange', module.getModifiedItemAttr('overloadRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect3175(BaseEffect):
+ """
+ overloadSelfSpeedBonus
+
+ Used by:
+ Modules from group: Propulsion Module (133 of 133)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('speedFactor', module.getModifiedItemAttr('overloadSpeedFactorBonus'),
+ stackingPenalties=True)
+
+
+class Effect3182(BaseEffect):
+ """
+ overloadSelfECMStrenghtBonus
+
+ Used by:
+ Modules from group: Burst Jammer (11 of 11)
+ Modules from group: ECM (39 of 39)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ if 'projected' not in context:
+ for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):
+ module.boostItemAttr('scan{0}StrengthBonus'.format(scanType),
+ module.getModifiedItemAttr('overloadECMStrengthBonus'),
+ stackingPenalties=True)
+
+
+class Effect3196(BaseEffect):
+ """
+ thermodynamicsSkillDamageBonus
+
+ Used by:
+ Skill: Thermodynamics
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: 'heatDamage' in mod.item.attributes, 'heatDamage',
+ skill.getModifiedItemAttr('thermodynamicsHeatDamage') * skill.level)
+
+
+class Effect3200(BaseEffect):
+ """
+ overloadSelfArmorDamageAmountDurationBonus
+
+ Used by:
+ Modules from group: Ancillary Armor Repairer (7 of 7)
+ Modules from group: Armor Repair Unit (108 of 108)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('duration', module.getModifiedItemAttr('overloadSelfDurationBonus'))
+ module.boostItemAttr('armorDamageAmount', module.getModifiedItemAttr('overloadArmorDamageAmount'),
+ stackingPenalties=True)
+
+
+class Effect3201(BaseEffect):
+ """
+ overloadSelfShieldBonusDurationBonus
+
+ Used by:
+ Modules from group: Ancillary Shield Booster (8 of 8)
+ Modules from group: Shield Booster (97 of 97)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('duration', module.getModifiedItemAttr('overloadSelfDurationBonus'))
+ module.boostItemAttr('shieldBonus', module.getModifiedItemAttr('overloadShieldBonus'), stackingPenalties=True)
+
+
+class Effect3212(BaseEffect):
+ """
+ missileSkillFoFAoeCloudSizeBonus
+
+ Used by:
+ Implants named like: Zainou 'Snapshot' Auto Targeting Explosion Radius FR (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('FoF Missiles'),
+ 'aoeCloudSize', container.getModifiedItemAttr('aoeCloudSizeBonus') * level)
+
+
+class Effect3234(BaseEffect):
+ """
+ shipRocketExplosiveDmgAF
+
+ Used by:
+ Ship: Anathema
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect3235(BaseEffect):
+ """
+ shipRocketKineticDmgAF
+
+ Used by:
+ Ship: Anathema
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect3236(BaseEffect):
+ """
+ shipRocketThermalDmgAF
+
+ Used by:
+ Ship: Anathema
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect3237(BaseEffect):
+ """
+ shipRocketEmDmgAF
+
+ Used by:
+ Ship: Anathema
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect3241(BaseEffect):
+ """
+ eliteBonusGunshipArmorEmResistance1
+
+ Used by:
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('eliteBonusGunship1'),
+ skill='Assault Frigates')
+
+
+class Effect3242(BaseEffect):
+ """
+ eliteBonusGunshipArmorThermalResistance1
+
+ Used by:
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('eliteBonusGunship1'),
+ skill='Assault Frigates')
+
+
+class Effect3243(BaseEffect):
+ """
+ eliteBonusGunshipArmorKineticResistance1
+
+ Used by:
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('eliteBonusGunship1'),
+ skill='Assault Frigates')
+
+
+class Effect3244(BaseEffect):
+ """
+ eliteBonusGunshipArmorExplosiveResistance1
+
+ Used by:
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('eliteBonusGunship1'),
+ skill='Assault Frigates')
+
+
+class Effect3249(BaseEffect):
+ """
+ shipCapRecharge2AF
+
+ Used by:
+ Ship: Anathema
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('rechargeRate', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect3264(BaseEffect):
+ """
+ skillIndustrialReconfigurationConsumptionQuantityBonus
+
+ Used by:
+ Skill: Industrial Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ amount = -skill.getModifiedItemAttr('consumptionQuantityBonus')
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),
+ 'consumptionQuantity', amount * skill.level)
+
+
+class Effect3267(BaseEffect):
+ """
+ shipConsumptionQuantityBonusIndustrialReconfigurationORECapital1
+
+ Used by:
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Industrial Reconfiguration'),
+ 'consumptionQuantity', ship.getModifiedItemAttr('shipBonusORECapital1'),
+ skill='Capital Industrial Ships')
+
+
+class Effect3297(BaseEffect):
+ """
+ shipEnergyNeutralizerTransferAmountBonusAB
+
+ Used by:
+ Ship: Bhaalgorn
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',
+ 'energyNeutralizerAmount', ship.getModifiedItemAttr('shipBonusAB'),
+ skill='Amarr Battleship')
+
+
+class Effect3298(BaseEffect):
+ """
+ shipEnergyNeutralizerTransferAmountBonusAC
+
+ Used by:
+ Ship: Ashimmu
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',
+ 'energyNeutralizerAmount', ship.getModifiedItemAttr('shipBonusAC'),
+ skill='Amarr Cruiser')
+
+
+class Effect3299(BaseEffect):
+ """
+ shipEnergyNeutralizerTransferAmountBonusAF
+
+ Used by:
+ Ship: Caedes
+ Ship: Cruor
+ Ship: Sentinel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',
+ 'energyNeutralizerAmount', ship.getModifiedItemAttr('shipBonusAF'),
+ skill='Amarr Frigate')
+
+
+class Effect3313(BaseEffect):
+ """
+ cloneVatMaxJumpCloneBonusSkillNew
+
+ Used by:
+ Skill: Cloning Facility Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.ship.boostItemAttr('maxJumpClones', skill.getModifiedItemAttr('maxJumpClonesBonus') * skill.level)
+
+
+class Effect3331(BaseEffect):
+ """
+ eliteBonusCommandShipArmorHP1
+
+ Used by:
+ Ship: Damnation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorHP', ship.getModifiedItemAttr('eliteBonusCommandShips1'), skill='Command Ships')
+
+
+class Effect3335(BaseEffect):
+ """
+ shipArmorEmResistanceMC2
+
+ Used by:
+ Ship: Mimir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect3336(BaseEffect):
+ """
+ shipArmorExplosiveResistanceMC2
+
+ Used by:
+ Ship: Mimir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusMC2'),
+ skill='Minmatar Cruiser')
+
+
+class Effect3339(BaseEffect):
+ """
+ shipArmorKineticResistanceMC2
+
+ Used by:
+ Ship: Mimir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusMC2'),
+ skill='Minmatar Cruiser')
+
+
+class Effect3340(BaseEffect):
+ """
+ shipArmorThermalResistanceMC2
+
+ Used by:
+ Ship: Mimir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusMC2'),
+ skill='Minmatar Cruiser')
+
+
+class Effect3343(BaseEffect):
+ """
+ eliteBonusHeavyInterdictorsProjectileFalloff1
+
+ Used by:
+ Ship: Broadsword
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),
+ skill='Heavy Interdiction Cruisers')
+
+
+class Effect3355(BaseEffect):
+ """
+ eliteBonusHeavyInterdictorHeavyMissileVelocityBonus1
+
+ Used by:
+ Ship: Onyx
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),
+ skill='Heavy Interdiction Cruisers')
+
+
+class Effect3356(BaseEffect):
+ """
+ eliteBonusHeavyInterdictorHeavyAssaultMissileVelocityBonus
+
+ Used by:
+ Ship: Onyx
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),
+ skill='Heavy Interdiction Cruisers')
+
+
+class Effect3357(BaseEffect):
+ """
+ eliteBonusHeavyInterdictorLightMissileVelocityBonus
+
+ Used by:
+ Ship: Onyx
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),
+ skill='Heavy Interdiction Cruisers')
+
+
+class Effect3366(BaseEffect):
+ """
+ shipRemoteSensorDampenerCapNeedGF
+
+ Used by:
+ Ship: Keres
+ Ship: Maulus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect3367(BaseEffect):
+ """
+ eliteBonusElectronicAttackShipWarpScramblerMaxRange1
+
+ Used by:
+ Ship: Keres
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),
+ skill='Electronic Attack Ships')
+
+
+class Effect3369(BaseEffect):
+ """
+ eliteBonusElectronicAttackShipECMOptimalRange1
+
+ Used by:
+ Ship: Kitsune
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),
+ skill='Electronic Attack Ships')
+
+
+class Effect3370(BaseEffect):
+ """
+ eliteBonusElectronicAttackShipStasisWebMaxRange1
+
+ Used by:
+ Ship: Hyena
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),
+ skill='Electronic Attack Ships')
+
+
+class Effect3371(BaseEffect):
+ """
+ eliteBonusElectronicAttackShipWarpScramblerCapNeed2
+
+ Used by:
+ Ship: Keres
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',
+ 'capacitorNeed', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip2'),
+ skill='Electronic Attack Ships')
+
+
+class Effect3374(BaseEffect):
+ """
+ eliteBonusElectronicAttackShipSignatureRadius2
+
+ Used by:
+ Ship: Hyena
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('signatureRadius', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip2'),
+ skill='Electronic Attack Ships')
+
+
+class Effect3379(BaseEffect):
+ """
+ implantHardwiringABcapacitorNeed
+
+ Used by:
+ Implants named like: Eifyr and Co. 'Rogue' Fuel Conservation FC (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'capacitorNeed', implant.getModifiedItemAttr('capNeedBonus'))
+
+
+class Effect3380(BaseEffect):
+ """
+ warpDisruptSphere
+
+ Used by:
+ Modules from group: Warp Disrupt Field Generator (7 of 7)
+ """
+
+ runTime = 'early'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+
+ if 'projected' in context:
+ fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'))
+ if module.charge is not None and module.charge.ID == 45010:
+ for mod in fit.modules:
+ if not mod.isEmpty and mod.item.requiresSkill('High Speed Maneuvering') and mod.state > FittingModuleState.ONLINE:
+ mod.state = FittingModuleState.ONLINE
+ if not mod.isEmpty and mod.item.requiresSkill('Micro Jump Drive Operation') and mod.state > FittingModuleState.ONLINE:
+ mod.state = FittingModuleState.ONLINE
+ else:
+ if module.charge is None:
+ fit.ship.boostItemAttr('mass', module.getModifiedItemAttr('massBonusPercentage'))
+ fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',
+ 'speedBoostFactor', module.getModifiedItemAttr('speedBoostFactorBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',
+ 'speedFactor', module.getModifiedItemAttr('speedFactorBonus'))
+
+ fit.ship.forceItemAttr('disallowAssistance', 1)
+
+
+class Effect3392(BaseEffect):
+ """
+ eliteBonusBlackOpsLargeEnergyTurretTracking1
+
+ Used by:
+ Ship: Redeemer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops')
+
+
+class Effect3403(BaseEffect):
+ """
+ eliteBonusBlackOpsCloakVelocity2
+
+ Used by:
+ Ships from group: Black Ops (5 of 5)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ if fit.extraAttributes['cloaked']:
+ fit.ship.multiplyItemAttr('maxVelocity', ship.getModifiedItemAttr('eliteBonusBlackOps2'), skill='Black Ops')
+
+
+class Effect3406(BaseEffect):
+ """
+ eliteBonusBlackOpsMaxVelocity1
+
+ Used by:
+ Ship: Panther
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops')
+
+
+class Effect3415(BaseEffect):
+ """
+ eliteBonusViolatorsLargeEnergyTurretDamageRole1
+
+ Used by:
+ Ship: Paladin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'))
+
+
+class Effect3416(BaseEffect):
+ """
+ eliteBonusViolatorsLargeHybridTurretDamageRole1
+
+ Used by:
+ Ship: Kronos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'))
+
+
+class Effect3417(BaseEffect):
+ """
+ eliteBonusViolatorsLargeProjectileTurretDamageRole1
+
+ Used by:
+ Ship: Vargur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'))
+
+
+class Effect3424(BaseEffect):
+ """
+ eliteBonusViolatorsLargeHybridTurretTracking1
+
+ Used by:
+ Ship: Kronos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusViolators1'), skill='Marauders')
+
+
+class Effect3425(BaseEffect):
+ """
+ eliteBonusViolatorsLargeProjectileTurretTracking1
+
+ Used by:
+ Ship: Vargur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusViolators1'), skill='Marauders')
+
+
+class Effect3427(BaseEffect):
+ """
+ eliteBonusViolatorsTractorBeamMaxRangeRole2
+
+ Used by:
+ Ships from group: Marauder (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusViolatorsRole2'))
+
+
+class Effect3439(BaseEffect):
+ """
+ eliteBonusViolatorsEwTargetPainting1
+
+ Used by:
+ Ship: Golem
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',
+ 'signatureRadiusBonus', ship.getModifiedItemAttr('eliteBonusViolators1'),
+ skill='Marauders')
+
+
+class Effect3447(BaseEffect):
+ """
+ shipBonusPTFalloffMB1
+
+ Used by:
+ Ship: Marshal
+ Ship: Vargur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect3466(BaseEffect):
+ """
+ eliteBonusElectronicAttackShipRechargeRate2
+
+ Used by:
+ Ship: Sentinel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('rechargeRate', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip2'),
+ skill='Electronic Attack Ships')
+
+
+class Effect3467(BaseEffect):
+ """
+ eliteBonusElectronicAttackShipCapacitorCapacity2
+
+ Used by:
+ Ship: Kitsune
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('capacitorCapacity', ship.getModifiedItemAttr('eliteBonusElectronicAttackShip2'),
+ skill='Electronic Attack Ships')
+
+
+class Effect3468(BaseEffect):
+ """
+ eliteBonusHeavyInterdictorsWarpDisruptFieldGeneratorWarpScrambleRange2
+
+ Used by:
+ Ships from group: Heavy Interdiction Cruiser (5 of 5)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Disrupt Field Generator',
+ 'warpScrambleRange', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors2'),
+ skill='Heavy Interdiction Cruisers')
+
+
+class Effect3473(BaseEffect):
+ """
+ eliteBonusViolatorsTractorBeamMaxTractorVelocityRole3
+
+ Used by:
+ Ships from group: Marauder (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',
+ 'maxTractorVelocity', ship.getModifiedItemAttr('eliteBonusViolatorsRole3'))
+
+
+class Effect3478(BaseEffect):
+ """
+ shipLaserDamagePirateBattleship
+
+ Used by:
+ Ship: Bhaalgorn
+ Ship: Nightmare
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect3480(BaseEffect):
+ """
+ shipTrackingBonusAB
+
+ Used by:
+ Ship: Nightmare
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship')
+
+
+class Effect3483(BaseEffect):
+ """
+ shipBonusMediumEnergyTurretDamagePirateFaction
+
+ Used by:
+ Ship: Ashimmu
+ Ship: Fiend
+ Ship: Gnosis
+ Ship: Phantasm
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect3484(BaseEffect):
+ """
+ shipBonusMediumEnergyTurretTrackingAC2
+
+ Used by:
+ Ship: Fiend
+ Ship: Phantasm
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect3487(BaseEffect):
+ """
+ shipBonusSmallEnergyTurretDamagePirateFaction
+
+ Used by:
+ Ship: Caedes
+ Ship: Confessor
+ Ship: Cruor
+ Ship: Imp
+ Ship: Succubus
+ Ship: Sunesis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect3489(BaseEffect):
+ """
+ shipBonusSmallEnergyTurretTracking2AF
+
+ Used by:
+ Ship: Imp
+ Ship: Succubus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect3493(BaseEffect):
+ """
+ rorqualCargoScanRangeBonus
+
+ Used by:
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Cargo Scanner',
+ 'cargoScanRange', ship.getModifiedItemAttr('cargoScannerRangeBonus'))
+
+
+class Effect3494(BaseEffect):
+ """
+ rorqualSurveyScannerRangeBonus
+
+ Used by:
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Survey Scanner',
+ 'surveyScanRange', ship.getModifiedItemAttr('surveyScannerRangeBonus'))
+
+
+class Effect3495(BaseEffect):
+ """
+ shipCapPropulsionJamming
+
+ Used by:
+ Ships from group: Interceptor (10 of 10)
+ Ship: Atron
+ Ship: Condor
+ Ship: Executioner
+ Ship: Slasher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ groups = ('Stasis Web', 'Warp Scrambler')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'capacitorNeed', ship.getModifiedItemAttr('eliteBonusInterceptorRole'))
+
+
+class Effect3496(BaseEffect):
+ """
+ setBonusThukker
+
+ Used by:
+ Implants named like: grade Nomad (12 of 12)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',
+ 'agilityBonus', implant.getModifiedItemAttr('implantSetThukker'))
+
+
+class Effect3498(BaseEffect):
+ """
+ setBonusSisters
+
+ Used by:
+ Implants named like: grade Virtue (12 of 12)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',
+ 'scanStrengthBonus', implant.getModifiedItemAttr('implantSetSisters'))
+
+
+class Effect3499(BaseEffect):
+ """
+ setBonusSyndicate
+
+ Used by:
+ Implants named like: grade Edge (12 of 12)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',
+ 'boosterAttributeModifier',
+ implant.getModifiedItemAttr('implantSetSyndicate'))
+
+
+class Effect3513(BaseEffect):
+ """
+ setBonusMordus
+
+ Used by:
+ Implants named like: grade Centurion (12 of 12)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',
+ 'rangeSkillBonus', implant.getModifiedItemAttr('implantSetMordus'))
+
+
+class Effect3514(BaseEffect):
+ """
+ Interceptor2WarpScrambleRange
+
+ Used by:
+ Ships from group: Interceptor (6 of 10)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusInterceptor2'), skill='Interceptors')
+
+
+class Effect3519(BaseEffect):
+ """
+ weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringBombLauncher
+
+ Used by:
+ Skill: Weapon Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Bomb Deployment'),
+ 'cpu', skill.getModifiedItemAttr('cpuNeedBonus') * skill.level)
+
+
+class Effect3520(BaseEffect):
+ """
+ skillAdvancedWeaponUpgradesPowerNeedBonusBombLaunchers
+
+ Used by:
+ Skill: Advanced Weapon Upgrades
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Bomb Deployment'),
+ 'power', skill.getModifiedItemAttr('powerNeedBonus') * skill.level)
+
+
+class Effect3526(BaseEffect):
+ """
+ cynosuralTheoryConsumptionBonus
+
+ Used by:
+ Ships from group: Force Recon Ship (8 of 9)
+ Skill: Cynosural Field Theory
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Cynosural Field Generator',
+ 'consumptionQuantity',
+ container.getModifiedItemAttr('consumptionQuantityBonusPercentage') * level)
+
+
+class Effect3530(BaseEffect):
+ """
+ eliteBonusBlackOpsAgiliy1
+
+ Used by:
+ Ship: Sin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops')
+
+
+class Effect3532(BaseEffect):
+ """
+ skillJumpDriveConsumptionAmountBonusPercentage
+
+ Used by:
+ Skill: Jump Fuel Conservation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.ship.boostItemAttr('jumpDriveConsumptionAmount',
+ skill.getModifiedItemAttr('consumptionQuantityBonusPercentage') * skill.level)
+
+
+class Effect3561(BaseEffect):
+ """
+ ewSkillTrackingDisruptionTrackingSpeedBonus
+
+ Used by:
+ Modules named like: Tracking Diagnostic Subroutines (8 of 8)
+ Skill: Weapon Destabilization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Weapon Disruptor',
+ 'trackingSpeedBonus',
+ container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level)
+
+
+class Effect3568(BaseEffect):
+ """
+ eliteBonusLogisticsTrackingLinkMaxRangeBonus1
+
+ Used by:
+ Ship: Scimitar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',
+ 'maxRangeBonus', ship.getModifiedItemAttr('eliteBonusLogistics1'),
+ skill='Logistics Cruisers')
+
+
+class Effect3569(BaseEffect):
+ """
+ eliteBonusLogisticsTrackingLinkMaxRangeBonus2
+
+ Used by:
+ Ship: Oneiros
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',
+ 'maxRangeBonus', ship.getModifiedItemAttr('eliteBonusLogistics2'),
+ skill='Logistics Cruisers')
+
+
+class Effect3570(BaseEffect):
+ """
+ eliteBonusLogisticsTrackingLinkTrackingSpeedBonus2
+
+ Used by:
+ Ship: Oneiros
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',
+ 'trackingSpeedBonus', ship.getModifiedItemAttr('eliteBonusLogistics2'),
+ skill='Logistics Cruisers')
+
+
+class Effect3571(BaseEffect):
+ """
+ eliteBonusLogisticsTrackingLinkTrackingSpeedBonus1
+
+ Used by:
+ Ship: Scimitar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',
+ 'trackingSpeedBonus', ship.getModifiedItemAttr('eliteBonusLogistics1'),
+ skill='Logistics Cruisers')
+
+
+class Effect3586(BaseEffect):
+ """
+ ewSkillSignalSuppressionScanResolutionBonus
+
+ Used by:
+ Modules named like: Inverted Signal Field Projector (8 of 8)
+ Skill: Signal Suppression
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ penalized = False if 'skill' in context else True
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'scanResolutionBonus',
+ container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level,
+ stackingPenalties=penalized)
+
+
+class Effect3587(BaseEffect):
+ """
+ shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusGC2
+
+ Used by:
+ Variations of ship: Celestis (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'maxTargetRangeBonus', ship.getModifiedItemAttr('shipBonusGC2'),
+ skill='Gallente Cruiser')
+
+
+class Effect3588(BaseEffect):
+ """
+ shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusGF2
+
+ Used by:
+ Ship: Keres
+ Ship: Maulus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'maxTargetRangeBonus', ship.getModifiedItemAttr('shipBonusGF2'),
+ skill='Gallente Frigate')
+
+
+class Effect3589(BaseEffect):
+ """
+ shipBonusEwRemoteSensorDampenerScanResolutionBonusGF2
+
+ Used by:
+ Ship: Keres
+ Ship: Maulus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'scanResolutionBonus', ship.getModifiedItemAttr('shipBonusGF2'),
+ skill='Gallente Frigate')
+
+
+class Effect3590(BaseEffect):
+ """
+ shipBonusEwRemoteSensorDampenerScanResolutionBonusGC2
+
+ Used by:
+ Variations of ship: Celestis (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'scanResolutionBonus', ship.getModifiedItemAttr('shipBonusGC2'),
+ skill='Gallente Cruiser')
+
+
+class Effect3591(BaseEffect):
+ """
+ ewSkillSignalSuppressionMaxTargetRangeBonus
+
+ Used by:
+ Modules named like: Inverted Signal Field Projector (8 of 8)
+ Skill: Signal Suppression
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'maxTargetRangeBonus',
+ container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level)
+
+
+class Effect3592(BaseEffect):
+ """
+ eliteBonusJumpFreighterHullHP1
+
+ Used by:
+ Ships from group: Jump Freighter (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('hp', ship.getModifiedItemAttr('eliteBonusJumpFreighter1'), skill='Jump Freighters')
+
+
+class Effect3593(BaseEffect):
+ """
+ eliteBonusJumpFreighterJumpDriveConsumptionAmount2
+
+ Used by:
+ Ships from group: Jump Freighter (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('jumpDriveConsumptionAmount', ship.getModifiedItemAttr('eliteBonusJumpFreighter2'),
+ skill='Jump Freighters')
+
+
+class Effect3597(BaseEffect):
+ """
+ scriptSensorBoosterScanResolutionBonusBonus
+
+ Used by:
+ Charges from group: Sensor Booster Script (3 of 3)
+ Charges from group: Sensor Dampener Script (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('scanResolutionBonus', module.getModifiedChargeAttr('scanResolutionBonusBonus'))
+
+
+class Effect3598(BaseEffect):
+ """
+ scriptSensorBoosterMaxTargetRangeBonusBonus
+
+ Used by:
+ Charges from group: Sensor Booster Script (3 of 3)
+ Charges from group: Sensor Dampener Script (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('maxTargetRangeBonus', module.getModifiedChargeAttr('maxTargetRangeBonusBonus'))
+
+
+class Effect3599(BaseEffect):
+ """
+ scriptTrackingComputerTrackingSpeedBonusBonus
+
+ Used by:
+ Charges from group: Tracking Disruption Script (2 of 2)
+ Charges from group: Tracking Script (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('trackingSpeedBonus', module.getModifiedChargeAttr('trackingSpeedBonusBonus'))
+
+
+class Effect3600(BaseEffect):
+ """
+ scriptTrackingComputerMaxRangeBonusBonus
+
+ Used by:
+ Charges from group: Tracking Disruption Script (2 of 2)
+ Charges from group: Tracking Script (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('maxRangeBonus', module.getModifiedChargeAttr('maxRangeBonusBonus'))
+
+
+class Effect3601(BaseEffect):
+ """
+ scriptWarpDisruptionFieldGeneratorSetDisallowInEmpireSpace
+
+ Used by:
+ Charges from group: Warp Disruption Script (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.forceItemAttr('disallowInEmpireSpace', module.getModifiedChargeAttr('disallowInEmpireSpace'))
+
+
+class Effect3602(BaseEffect):
+ """
+ scriptDurationBonus
+
+ Used by:
+ Charges from group: Warp Disruption Script (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('duration', module.getModifiedChargeAttr('durationBonus'))
+
+
+class Effect3617(BaseEffect):
+ """
+ scriptSignatureRadiusBonusBonus
+
+ Used by:
+ Charges from group: Warp Disruption Script (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('signatureRadiusBonus', module.getModifiedChargeAttr('signatureRadiusBonusBonus'))
+
+
+class Effect3618(BaseEffect):
+ """
+ scriptMassBonusPercentageBonus
+
+ Used by:
+ Charges from group: Warp Disruption Script (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('massBonusPercentage', module.getModifiedChargeAttr('massBonusPercentageBonus'))
+
+
+class Effect3619(BaseEffect):
+ """
+ scriptSpeedBoostFactorBonusBonus
+
+ Used by:
+ Charges from group: Warp Disruption Script (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('speedBoostFactorBonus', module.getModifiedChargeAttr('speedBoostFactorBonusBonus'))
+
+
+class Effect3620(BaseEffect):
+ """
+ scriptSpeedFactorBonusBonus
+
+ Used by:
+ Charges from group: Warp Disruption Script (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('speedFactorBonus', module.getModifiedChargeAttr('speedFactorBonusBonus'))
+
+
+class Effect3648(BaseEffect):
+ """
+ scriptWarpScrambleRangeBonus
+
+ Used by:
+ Charges from group: Warp Disruption Script (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('warpScrambleRange', module.getModifiedChargeAttr('warpScrambleRangeBonus'))
+
+
+class Effect3649(BaseEffect):
+ """
+ eliteBonusViolatorsLargeEnergyTurretDamage1
+
+ Used by:
+ Ship: Paladin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusViolators1'),
+ skill='Marauders')
+
+
+class Effect3650(BaseEffect):
+ """
+ ewGroupRsdMaxRangeBonus
+
+ Used by:
+ Implants named like: grade Centurion (10 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'maxRange', implant.getModifiedItemAttr('rangeSkillBonus'))
+
+
+class Effect3651(BaseEffect):
+ """
+ ewGroupTpMaxRangeBonus
+
+ Used by:
+ Implants named like: grade Centurion (10 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',
+ 'maxRange', implant.getModifiedItemAttr('rangeSkillBonus'))
+
+
+class Effect3652(BaseEffect):
+ """
+ ewGroupTdMaxRangeBonus
+
+ Used by:
+ Implants named like: grade Centurion (10 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Weapon Disruptor',
+ 'maxRange', implant.getModifiedItemAttr('rangeSkillBonus'))
+
+
+class Effect3653(BaseEffect):
+ """
+ ewGroupEcmBurstMaxRangeBonus
+
+ Used by:
+ Implants named like: grade Centurion (10 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Projectors',
+ 'maxRange', implant.getModifiedItemAttr('rangeSkillBonus'))
+
+
+class Effect3655(BaseEffect):
+ """
+ gunneryMaxRangeBonusOnline
+
+ Used by:
+ Modules from group: Tracking Enhancer (10 of 10)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'maxRange', module.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect3656(BaseEffect):
+ """
+ gunneryTrackingSpeedBonusOnline
+
+ Used by:
+ Modules from group: Tracking Enhancer (10 of 10)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),
+ stackingPenalties=True)
+
+
+class Effect3657(BaseEffect):
+ """
+ shipScanResolutionBonusOnline
+
+ Used by:
+ Modules from group: Signal Amplifier (7 of 7)
+ Structure Modules from group: Structure Signal Amplifier (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),
+ stackingPenalties=True)
+
+
+class Effect3659(BaseEffect):
+ """
+ shipMaxTargetRangeBonusOnline
+
+ Used by:
+ Modules from group: Signal Amplifier (7 of 7)
+ Structure Modules from group: Structure Signal Amplifier (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect3660(BaseEffect):
+ """
+ shipMaxLockedTargetsBonusAddOnline
+
+ Used by:
+ Modules from group: Signal Amplifier (7 of 7)
+ Structure Modules from group: Structure Signal Amplifier (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('maxLockedTargets', module.getModifiedItemAttr('maxLockedTargetsBonus'))
+
+
+class Effect3668(BaseEffect):
+ """
+ miningLaserRangeBonus
+
+ Used by:
+ Implants named like: grade Harvest (10 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mining Laser',
+ 'maxRange', implant.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect3669(BaseEffect):
+ """
+ frequencyMiningLaserMaxRangeBonus
+
+ Used by:
+ Implants named like: grade Harvest (10 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Frequency Mining Laser',
+ 'maxRange', implant.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect3670(BaseEffect):
+ """
+ stripMinerMaxRangeBonus
+
+ Used by:
+ Implants named like: grade Harvest (10 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Strip Miner',
+ 'maxRange', implant.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect3671(BaseEffect):
+ """
+ gasHarvesterMaxRangeBonus
+
+ Used by:
+ Implants named like: grade Harvest (10 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Gas Cloud Harvester',
+ 'maxRange', implant.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect3672(BaseEffect):
+ """
+ setBonusOre
+
+ Used by:
+ Implants named like: grade Harvest (12 of 12)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',
+ 'maxRangeBonus', implant.getModifiedItemAttr('implantSetORE'))
+
+
+class Effect3677(BaseEffect):
+ """
+ shipBonusLargeEnergyTurretMaxRangeAB2
+
+ Used by:
+ Ship: Apocalypse
+ Ship: Apocalypse Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship')
+
+
+class Effect3678(BaseEffect):
+ """
+ eliteBonusJumpFreighterShieldHP1
+
+ Used by:
+ Ship: Nomad
+ Ship: Rhea
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldCapacity', ship.getModifiedItemAttr('eliteBonusJumpFreighter1'),
+ skill='Jump Freighters')
+
+
+class Effect3679(BaseEffect):
+ """
+ eliteBonusJumpFreighterArmorHP1
+
+ Used by:
+ Ship: Anshar
+ Ship: Ark
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorHP', ship.getModifiedItemAttr('eliteBonusJumpFreighter1'), skill='Jump Freighters')
+
+
+class Effect3680(BaseEffect):
+ """
+ freighterAgilityBonusC1
+
+ Used by:
+ Ship: Rhea
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusC1'), skill='Caldari Freighter')
+
+
+class Effect3681(BaseEffect):
+ """
+ freighterAgilityBonusM1
+
+ Used by:
+ Ship: Nomad
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusM1'), skill='Minmatar Freighter')
+
+
+class Effect3682(BaseEffect):
+ """
+ freighterAgilityBonusG1
+
+ Used by:
+ Ship: Anshar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusG1'), skill='Gallente Freighter')
+
+
+class Effect3683(BaseEffect):
+ """
+ freighterAgilityBonusA1
+
+ Used by:
+ Ship: Ark
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusA1'), skill='Amarr Freighter')
+
+
+class Effect3686(BaseEffect):
+ """
+ scriptTrackingComputerFalloffBonusBonus
+
+ Used by:
+ Charges from group: Tracking Disruption Script (2 of 2)
+ Charges from group: Tracking Script (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('falloffBonus', module.getModifiedChargeAttr('falloffBonusBonus'))
+
+
+class Effect3703(BaseEffect):
+ """
+ shipMissileLauncherSpeedBonusMC2
+
+ Used by:
+ Ship: Bellicose
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ groups = ('Missile Launcher Rapid Light', 'Missile Launcher Heavy', 'Missile Launcher Heavy Assault')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'speed', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect3705(BaseEffect):
+ """
+ shipHybridTurretROFBonusGC2
+
+ Used by:
+ Ship: Exequror Navy Issue
+ Ship: Phobos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect3706(BaseEffect):
+ """
+ shipBonusProjectileTrackingMC2
+
+ Used by:
+ Ship: Stabber Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect3726(BaseEffect):
+ """
+ agilityMultiplierEffectPassive
+
+ Used by:
+ Modules named like: Polycarbon Engine Housing (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('agility', module.getModifiedItemAttr('agilityBonus'), stackingPenalties=True)
+
+
+class Effect3727(BaseEffect):
+ """
+ velocityBonusPassive
+
+ Used by:
+ Modules named like: Polycarbon Engine Housing (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('implantBonusVelocity'),
+ stackingPenalties=True)
+
+
+class Effect3739(BaseEffect):
+ """
+ zColinOrcaTractorRangeBonus
+
+ Used by:
+ Ships from group: Industrial Command Ship (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam', 'maxRange',
+ src.getModifiedItemAttr('roleBonusTractorBeamRange'))
+
+
+class Effect3740(BaseEffect):
+ """
+ zColinOrcaTractorVelocityBonus
+
+ Used by:
+ Ships from group: Industrial Command Ship (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam', 'maxTractorVelocity',
+ ship.getModifiedItemAttr('roleBonusTractorBeamVelocity'))
+
+
+class Effect3742(BaseEffect):
+ """
+ cargoAndOreHoldCapacityBonusICS1
+
+ Used by:
+ Ships from group: Industrial Command Ship (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('specialOreHoldCapacity',
+ src.getModifiedItemAttr('shipBonusICS1'),
+ skill='Industrial Command Ships')
+
+ fit.ship.boostItemAttr('capacity',
+ src.getModifiedItemAttr('shipBonusICS1'),
+ skill='Industrial Command Ships')
+
+
+class Effect3744(BaseEffect):
+ """
+ miningForemanBurstBonusICS2
+
+ Used by:
+ Ships from group: Industrial Command Ship (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'buffDuration',
+ src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('shipBonusICS2'), skill='Industrial Command Ships')
+
+
+class Effect3745(BaseEffect):
+ """
+ zColinOrcaSurveyScannerBonus
+
+ Used by:
+ Ships from group: Industrial Command Ship (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Survey Scanner', 'surveyScanRange',
+ src.getModifiedItemAttr('roleBonusSurveyScannerRange'))
+
+
+class Effect3765(BaseEffect):
+ """
+ covertOpsStealthBomberSiegeMissileLauncherPowerNeedBonus
+
+ Used by:
+ Ships from group: Stealth Bomber (5 of 5)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo',
+ 'power', ship.getModifiedItemAttr('stealthBomberLauncherPower'))
+
+
+class Effect3766(BaseEffect):
+ """
+ interceptorMWDSignatureRadiusBonus
+
+ Used by:
+ Ships from group: Interceptor (10 of 10)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'signatureRadiusBonus', ship.getModifiedItemAttr('eliteBonusInterceptor'),
+ skill='Interceptors')
+
+
+class Effect3767(BaseEffect):
+ """
+ eliteBonusCommandShipsHeavyMissileExplosionVelocityCS2
+
+ Used by:
+ Ship: Claymore
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'aoeVelocity', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
+ skill='Command Ships')
+
+
+class Effect3771(BaseEffect):
+ """
+ armorHPBonusAddPassive
+
+ Used by:
+ Subsystems from group: Defensive Systems (9 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('armorHP', module.getModifiedItemAttr('armorHPBonusAdd') or 0)
+
+
+class Effect3773(BaseEffect):
+ """
+ hardPointModifierEffect
+
+ Used by:
+ Subsystems from group: Offensive Systems (12 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('turretSlotsLeft', module.getModifiedItemAttr('turretHardPointModifier'))
+ fit.ship.increaseItemAttr('launcherSlotsLeft', module.getModifiedItemAttr('launcherHardPointModifier'))
+
+
+class Effect3774(BaseEffect):
+ """
+ slotModifier
+
+ Used by:
+ Items from category: Subsystem (48 of 48)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('hiSlots', module.getModifiedItemAttr('hiSlotModifier'))
+ fit.ship.increaseItemAttr('medSlots', module.getModifiedItemAttr('medSlotModifier'))
+ fit.ship.increaseItemAttr('lowSlots', module.getModifiedItemAttr('lowSlotModifier'))
+
+
+class Effect3782(BaseEffect):
+ """
+ powerOutputAddPassive
+
+ Used by:
+ Subsystems from group: Offensive Systems (8 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('powerOutput', module.getModifiedItemAttr('powerOutput'))
+
+
+class Effect3783(BaseEffect):
+ """
+ cpuOutputAddCpuOutputPassive
+
+ Used by:
+ Subsystems from group: Offensive Systems (8 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('cpuOutput', module.getModifiedItemAttr('cpuOutput'))
+
+
+class Effect3797(BaseEffect):
+ """
+ droneBandwidthAddPassive
+
+ Used by:
+ Subsystems from group: Offensive Systems (12 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('droneBandwidth', module.getModifiedItemAttr('droneBandwidth'))
+
+
+class Effect3799(BaseEffect):
+ """
+ droneCapacityAdddroneCapacityPassive
+
+ Used by:
+ Subsystems from group: Offensive Systems (12 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('droneCapacity', module.getModifiedItemAttr('droneCapacity'))
+
+
+class Effect3807(BaseEffect):
+ """
+ maxTargetRangeAddPassive
+
+ Used by:
+ Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRange'))
+
+
+class Effect3808(BaseEffect):
+ """
+ signatureRadiusAddPassive
+
+ Used by:
+ Subsystems from group: Defensive Systems (8 of 12)
+ Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadius'))
+
+
+class Effect3810(BaseEffect):
+ """
+ capacityAddPassive
+
+ Used by:
+ Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
+ Subsystem: Legion Defensive - Nanobot Injector
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, subsystem, context):
+ fit.ship.increaseItemAttr('capacity', subsystem.getModifiedItemAttr('cargoCapacityAdd') or 0)
+
+
+class Effect3811(BaseEffect):
+ """
+ capacitorCapacityAddPassive
+
+ Used by:
+ Items from category: Subsystem (20 of 48)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('capacitorCapacity', module.getModifiedItemAttr('capacitorCapacity') or 0)
+
+
+class Effect3831(BaseEffect):
+ """
+ shieldCapacityAddPassive
+
+ Used by:
+ Subsystems from group: Defensive Systems (8 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('shieldCapacity', module.getModifiedItemAttr('shieldCapacity'))
+
+
+class Effect3857(BaseEffect):
+ """
+ subsystemBonusAmarrPropulsionMaxVelocity
+
+ Used by:
+ Subsystem: Legion Propulsion - Intercalated Nanofibers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('subsystemBonusAmarrPropulsion'),
+ skill='Amarr Propulsion Systems')
+
+
+class Effect3859(BaseEffect):
+ """
+ subsystemBonusCaldariPropulsionMaxVelocity
+
+ Used by:
+ Subsystem: Tengu Propulsion - Chassis Optimization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion'),
+ skill='Caldari Propulsion Systems')
+
+
+class Effect3860(BaseEffect):
+ """
+ subsystemBonusMinmatarPropulsionMaxVelocity
+
+ Used by:
+ Subsystem: Loki Propulsion - Intercalated Nanofibers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('subsystemBonusMinmatarPropulsion'),
+ skill='Minmatar Propulsion Systems')
+
+
+class Effect3861(BaseEffect):
+ """
+ subsystemBonusMinmatarPropulsionAfterburnerSpeedFactor
+
+ Used by:
+ Subsystem: Loki Propulsion - Wake Limiter
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'speedFactor', module.getModifiedItemAttr('subsystemBonusMinmatarPropulsion'),
+ skill='Minmatar Propulsion Systems')
+
+
+class Effect3863(BaseEffect):
+ """
+ subsystemBonusCaldariPropulsionAfterburnerSpeedFactor
+
+ Used by:
+ Subsystem: Tengu Propulsion - Fuel Catalyst
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'speedFactor', module.getModifiedItemAttr('subsystemBonusCaldariPropulsion'),
+ skill='Caldari Propulsion Systems')
+
+
+class Effect3864(BaseEffect):
+ """
+ subsystemBonusAmarrPropulsionAfterburnerSpeedFactor
+
+ Used by:
+ Subsystem: Legion Propulsion - Wake Limiter
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'speedFactor', module.getModifiedItemAttr('subsystemBonusAmarrPropulsion'),
+ skill='Amarr Propulsion Systems')
+
+
+class Effect3865(BaseEffect):
+ """
+ subsystemBonusAmarrPropulsion2Agility
+
+ Used by:
+ Subsystem: Legion Propulsion - Intercalated Nanofibers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('subsystemBonusAmarrPropulsion2'),
+ skill='Amarr Propulsion Systems')
+
+
+class Effect3866(BaseEffect):
+ """
+ subsystemBonusCaldariPropulsion2Agility
+
+ Used by:
+ Subsystem: Tengu Propulsion - Chassis Optimization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion2'),
+ skill='Caldari Propulsion Systems')
+
+
+class Effect3867(BaseEffect):
+ """
+ subsystemBonusGallentePropulsion2Agility
+
+ Used by:
+ Subsystem: Proteus Propulsion - Hyperspatial Optimization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('subsystemBonusGallentePropulsion2'),
+ skill='Gallente Propulsion Systems')
+
+
+class Effect3868(BaseEffect):
+ """
+ subsystemBonusMinmatarPropulsion2Agility
+
+ Used by:
+ Subsystem: Loki Propulsion - Intercalated Nanofibers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('subsystemBonusMinmatarPropulsion2'),
+ skill='Minmatar Propulsion Systems')
+
+
+class Effect3869(BaseEffect):
+ """
+ subsystemBonusMinmatarPropulsion2MWDPenalty
+
+ Used by:
+ Subsystem: Loki Propulsion - Wake Limiter
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'signatureRadiusBonus', src.getModifiedItemAttr('subsystemBonusMinmatarPropulsion2'),
+ skill='Minmatar Propulsion Systems')
+
+
+class Effect3872(BaseEffect):
+ """
+ subsystemBonusAmarrPropulsion2MWDPenalty
+
+ Used by:
+ Subsystem: Legion Propulsion - Wake Limiter
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'signatureRadiusBonus', src.getModifiedItemAttr('subsystemBonusAmarrPropulsion2'),
+ skill='Amarr Propulsion Systems')
+
+
+class Effect3875(BaseEffect):
+ """
+ subsystemBonusGallentePropulsionABMWDCapNeed
+
+ Used by:
+ Subsystem: Proteus Propulsion - Localized Injectors
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',
+ 'capacitorNeed', module.getModifiedItemAttr('subsystemBonusGallentePropulsion'),
+ skill='Gallente Propulsion Systems')
+
+
+class Effect3893(BaseEffect):
+ """
+ subsystemBonusMinmatarCoreScanStrengthLADAR
+
+ Used by:
+ Subsystem: Loki Core - Dissolution Sequencer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('scanLadarStrength', src.getModifiedItemAttr('subsystemBonusMinmatarCore'),
+ skill='Minmatar Core Systems')
+
+
+class Effect3895(BaseEffect):
+ """
+ subsystemBonusGallenteCoreScanStrengthMagnetometric
+
+ Used by:
+ Subsystem: Proteus Core - Electronic Efficiency Gate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('scanMagnetometricStrength', src.getModifiedItemAttr('subsystemBonusGallenteCore'),
+ skill='Gallente Core Systems')
+
+
+class Effect3897(BaseEffect):
+ """
+ subsystemBonusCaldariCoreScanStrengthGravimetric
+
+ Used by:
+ Subsystem: Tengu Core - Electronic Efficiency Gate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('scanGravimetricStrength', src.getModifiedItemAttr('subsystemBonusCaldariCore'), skill='Caldari Core Systems')
+
+
+class Effect3900(BaseEffect):
+ """
+ subsystemBonusAmarrCoreScanStrengthRADAR
+
+ Used by:
+ Subsystem: Legion Core - Dissolution Sequencer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('scanRadarStrength', src.getModifiedItemAttr('subsystemBonusAmarrCore'),
+ skill='Amarr Core Systems')
+
+
+class Effect3959(BaseEffect):
+ """
+ subsystemBonusAmarrDefensiveArmorRepairAmount
+
+ Used by:
+ Subsystem: Legion Defensive - Covert Reconfiguration
+ Subsystem: Legion Defensive - Nanobot Injector
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', module.getModifiedItemAttr('subsystemBonusAmarrDefensive'),
+ skill='Amarr Defensive Systems')
+
+
+class Effect3961(BaseEffect):
+ """
+ subsystemBonusGallenteDefensiveArmorRepairAmount
+
+ Used by:
+ Subsystem: Proteus Defensive - Covert Reconfiguration
+ Subsystem: Proteus Defensive - Nanobot Injector
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', module.getModifiedItemAttr('subsystemBonusGallenteDefensive'),
+ skill='Gallente Defensive Systems')
+
+
+class Effect3962(BaseEffect):
+ """
+ subsystemBonusMinmatarDefensiveShieldArmorRepairAmount
+
+ Used by:
+ Subsystem: Loki Defensive - Adaptive Defense Node
+ Subsystem: Loki Defensive - Covert Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive'),
+ skill='Minmatar Defensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive'),
+ skill='Minmatar Defensive Systems')
+
+
+class Effect3964(BaseEffect):
+ """
+ subsystemBonusCaldariDefensiveShieldBoostAmount
+
+ Used by:
+ Subsystem: Tengu Defensive - Amplification Node
+ Subsystem: Tengu Defensive - Covert Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', module.getModifiedItemAttr('subsystemBonusCaldariDefensive'),
+ skill='Caldari Defensive Systems')
+
+
+class Effect3976(BaseEffect):
+ """
+ subsystemBonusCaldariDefensiveShieldHP
+
+ Used by:
+ Subsystem: Tengu Defensive - Supplemental Screening
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('shieldCapacity', module.getModifiedItemAttr('subsystemBonusCaldariDefensive'),
+ skill='Caldari Defensive Systems')
+
+
+class Effect3979(BaseEffect):
+ """
+ subsystemBonusMinmatarDefensiveShieldArmorHP
+
+ Used by:
+ Subsystem: Loki Defensive - Augmented Durability
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldCapacity', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive'),
+ skill='Minmatar Defensive Systems')
+ fit.ship.boostItemAttr('armorHP', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive'),
+ skill='Minmatar Defensive Systems')
+
+
+class Effect3980(BaseEffect):
+ """
+ subsystemBonusGallenteDefensiveArmorHP
+
+ Used by:
+ Subsystem: Proteus Defensive - Augmented Plating
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('armorHP', module.getModifiedItemAttr('subsystemBonusGallenteDefensive'),
+ skill='Gallente Defensive Systems')
+
+
+class Effect3982(BaseEffect):
+ """
+ subsystemBonusAmarrDefensiveArmorHP
+
+ Used by:
+ Subsystem: Legion Defensive - Augmented Plating
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('armorHP', module.getModifiedItemAttr('subsystemBonusAmarrDefensive'),
+ skill='Amarr Defensive Systems')
+
+
+class Effect3992(BaseEffect):
+ """
+ systemShieldHP
+
+ Used by:
+ Celestials named like: Pulsar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.multiplyItemAttr('shieldCapacity', beacon.getModifiedItemAttr('shieldCapacityMultiplier'))
+
+
+class Effect3993(BaseEffect):
+ """
+ systemTargetingRange
+
+ Used by:
+ Celestials named like: Black Hole Effect Beacon Class (6 of 6)
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.multiplyItemAttr('maxTargetRange', beacon.getModifiedItemAttr('maxTargetRangeMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect3995(BaseEffect):
+ """
+ systemSignatureRadius
+
+ Used by:
+ Celestials named like: Pulsar Effect Beacon Class (6 of 6)
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.multiplyItemAttr('signatureRadius', beacon.getModifiedItemAttr('signatureRadiusMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect3996(BaseEffect):
+ """
+ systemArmorEmResistance
+
+ Used by:
+ Celestials named like: Incursion Effect (2 of 2)
+ Celestials named like: Pulsar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', beacon.getModifiedItemAttr('armorEmDamageResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect3997(BaseEffect):
+ """
+ systemArmorExplosiveResistance
+
+ Used by:
+ Celestials named like: Incursion Effect (2 of 2)
+ Celestials named like: Pulsar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance',
+ beacon.getModifiedItemAttr('armorExplosiveDamageResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect3998(BaseEffect):
+ """
+ systemArmorKineticResistance
+
+ Used by:
+ Celestials named like: Incursion Effect (2 of 2)
+ Celestials named like: Pulsar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance',
+ beacon.getModifiedItemAttr('armorKineticDamageResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect3999(BaseEffect):
+ """
+ systemArmorThermalResistance
+
+ Used by:
+ Celestials named like: Incursion Effect (2 of 2)
+ Celestials named like: Pulsar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance',
+ beacon.getModifiedItemAttr('armorThermalDamageResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect4002(BaseEffect):
+ """
+ systemMissileVelocity
+
+ Used by:
+ Celestials named like: Black Hole Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', beacon.getModifiedItemAttr('missileVelocityMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4003(BaseEffect):
+ """
+ systemMaxVelocity
+
+ Used by:
+ Celestials named like: Black Hole Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.multiplyItemAttr('maxVelocity', beacon.getModifiedItemAttr('maxVelocityMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4016(BaseEffect):
+ """
+ systemDamageMultiplierGunnery
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect4017(BaseEffect):
+ """
+ systemDamageThermalMissiles
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'thermalDamage', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4018(BaseEffect):
+ """
+ systemDamageEmMissiles
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'emDamage', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4019(BaseEffect):
+ """
+ systemDamageExplosiveMissiles
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosiveDamage', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4020(BaseEffect):
+ """
+ systemDamageKineticMissiles
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4021(BaseEffect):
+ """
+ systemDamageDrones
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4022(BaseEffect):
+ """
+ systemTracking
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4023(BaseEffect):
+ """
+ systemAoeVelocity
+
+ Used by:
+ Celestials named like: Black Hole Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeVelocity', beacon.getModifiedItemAttr('aoeVelocityMultiplier'))
+
+
+class Effect4033(BaseEffect):
+ """
+ systemHeatDamage
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'heatDamage' in mod.itemModifiedAttributes,
+ 'heatDamage', module.getModifiedItemAttr('heatDamageMultiplier'))
+
+
+class Effect4034(BaseEffect):
+ """
+ systemOverloadArmor
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadArmorDamageAmount' in mod.itemModifiedAttributes,
+ 'overloadArmorDamageAmount', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4035(BaseEffect):
+ """
+ systemOverloadDamageModifier
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadDamageModifier' in mod.itemModifiedAttributes,
+ 'overloadDamageModifier', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4036(BaseEffect):
+ """
+ systemOverloadDurationBonus
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadDurationBonus' in mod.itemModifiedAttributes,
+ 'overloadDurationBonus', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4037(BaseEffect):
+ """
+ systemOverloadEccmStrength
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadECCMStrenghtBonus' in mod.itemModifiedAttributes,
+ 'overloadECCMStrenghtBonus', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4038(BaseEffect):
+ """
+ systemOverloadEcmStrength
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadECMStrenghtBonus' in mod.itemModifiedAttributes,
+ 'overloadECMStrenghtBonus', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4039(BaseEffect):
+ """
+ systemOverloadHardening
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadHardeningBonus' in mod.itemModifiedAttributes,
+ 'overloadHardeningBonus', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4040(BaseEffect):
+ """
+ systemOverloadRange
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadRangeBonus' in mod.itemModifiedAttributes,
+ 'overloadRangeBonus', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4041(BaseEffect):
+ """
+ systemOverloadRof
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadRofBonus' in mod.itemModifiedAttributes,
+ 'overloadRofBonus', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4042(BaseEffect):
+ """
+ systemOverloadSelfDuration
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadSelfDurationBonus' in mod.itemModifiedAttributes,
+ 'overloadSelfDurationBonus', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4043(BaseEffect):
+ """
+ systemOverloadShieldBonus
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadShieldBonus' in mod.itemModifiedAttributes,
+ 'overloadShieldBonus', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4044(BaseEffect):
+ """
+ systemOverloadSpeedFactor
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: 'overloadSpeedFactorBonus' in mod.itemModifiedAttributes,
+ 'overloadSpeedFactorBonus', module.getModifiedItemAttr('overloadBonusMultiplier'))
+
+
+class Effect4045(BaseEffect):
+ """
+ systemSmartBombRange
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',
+ 'empFieldRange', module.getModifiedItemAttr('empFieldRangeMultiplier'))
+
+
+class Effect4046(BaseEffect):
+ """
+ systemSmartBombEmDamage
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',
+ 'emDamage', module.getModifiedItemAttr('smartbombDamageMultiplier'))
+
+
+class Effect4047(BaseEffect):
+ """
+ systemSmartBombThermalDamage
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',
+ 'thermalDamage', module.getModifiedItemAttr('smartbombDamageMultiplier'))
+
+
+class Effect4048(BaseEffect):
+ """
+ systemSmartBombKineticDamage
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',
+ 'kineticDamage', module.getModifiedItemAttr('smartbombDamageMultiplier'))
+
+
+class Effect4049(BaseEffect):
+ """
+ systemSmartBombExplosiveDamage
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Smart Bomb',
+ 'explosiveDamage', module.getModifiedItemAttr('smartbombDamageMultiplier'))
+
+
+class Effect4054(BaseEffect):
+ """
+ systemSmallEnergyDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'damageMultiplier', module.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect4055(BaseEffect):
+ """
+ systemSmallProjectileDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier', module.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect4056(BaseEffect):
+ """
+ systemSmallHybridDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'damageMultiplier', module.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect4057(BaseEffect):
+ """
+ systemRocketEmDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'emDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4058(BaseEffect):
+ """
+ systemRocketExplosiveDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'explosiveDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4059(BaseEffect):
+ """
+ systemRocketKineticDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'kineticDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4060(BaseEffect):
+ """
+ systemRocketThermalDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'thermalDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4061(BaseEffect):
+ """
+ systemStandardMissileThermalDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'thermalDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4062(BaseEffect):
+ """
+ systemStandardMissileEmDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'emDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4063(BaseEffect):
+ """
+ systemStandardMissileExplosiveDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'explosiveDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4086(BaseEffect):
+ """
+ systemArmorRepairAmount
+
+ Used by:
+ Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Repair Systems') or
+ mod.item.requiresSkill('Capital Repair Systems'),
+ 'armorDamageAmount', module.getModifiedItemAttr('armorDamageAmountMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4088(BaseEffect):
+ """
+ systemArmorRemoteRepairAmount
+
+ Used by:
+ Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'armorDamageAmount',
+ module.getModifiedItemAttr('armorDamageAmountMultiplierRemote'),
+ stackingPenalties=True)
+
+
+class Effect4089(BaseEffect):
+ """
+ systemShieldRemoteRepairAmount
+
+ Used by:
+ Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'shieldBonus', module.getModifiedItemAttr('shieldBonusMultiplierRemote'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4090(BaseEffect):
+ """
+ systemCapacitorCapacity
+
+ Used by:
+ Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.multiplyItemAttr('capacitorCapacity', beacon.getModifiedItemAttr('capacitorCapacityMultiplierSystem'))
+
+
+class Effect4091(BaseEffect):
+ """
+ systemCapacitorRecharge
+
+ Used by:
+ Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
+ Celestials named like: Pulsar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.multiplyItemAttr('rechargeRate', beacon.getModifiedItemAttr('rechargeRateMultiplier'))
+
+
+class Effect4093(BaseEffect):
+ """
+ subsystemBonusAmarrOffensiveEnergyWeaponDamageMultiplier
+
+ Used by:
+ Subsystem: Legion Offensive - Liquid Crystal Magnifiers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'damageMultiplier', module.getModifiedItemAttr('subsystemBonusAmarrOffensive'),
+ skill='Amarr Offensive Systems')
+
+
+class Effect4104(BaseEffect):
+ """
+ subsystemBonusCaldariOffensiveHybridWeaponMaxRange
+
+ Used by:
+ Subsystem: Tengu Offensive - Magnetic Infusion Basin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'maxRange', module.getModifiedItemAttr('subsystemBonusCaldariOffensive'),
+ skill='Caldari Offensive Systems')
+
+
+class Effect4106(BaseEffect):
+ """
+ subsystemBonusGallenteOffensiveHybridWeaponFalloff
+
+ Used by:
+ Subsystem: Proteus Offensive - Hybrid Encoding Platform
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'falloff', module.getModifiedItemAttr('subsystemBonusGallenteOffensive'),
+ skill='Gallente Offensive Systems')
+
+
+class Effect4114(BaseEffect):
+ """
+ subsystemBonusMinmatarOffensiveProjectileWeaponFalloff
+
+ Used by:
+ Subsystem: Loki Offensive - Projectile Scoping Array
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'falloff', module.getModifiedItemAttr('subsystemBonusMinmatarOffensive'),
+ skill='Minmatar Offensive Systems')
+
+
+class Effect4115(BaseEffect):
+ """
+ subsystemBonusMinmatarOffensiveProjectileWeaponMaxRange
+
+ Used by:
+ Subsystem: Loki Offensive - Projectile Scoping Array
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'maxRange', module.getModifiedItemAttr('subsystemBonusMinmatarOffensive'),
+ skill='Minmatar Offensive Systems')
+
+
+class Effect4122(BaseEffect):
+ """
+ subsystemBonusCaldariOffensive1LauncherROF
+
+ Used by:
+ Subsystem: Tengu Offensive - Accelerated Ejection Bay
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'speed', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+
+
+class Effect4135(BaseEffect):
+ """
+ systemShieldEmResistance
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.boostItemAttr('shieldEmDamageResonance', beacon.getModifiedItemAttr('shieldEmDamageResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect4136(BaseEffect):
+ """
+ systemShieldExplosiveResistance
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance',
+ beacon.getModifiedItemAttr('shieldExplosiveDamageResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect4137(BaseEffect):
+ """
+ systemShieldKineticResistance
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.boostItemAttr('shieldKineticDamageResonance',
+ beacon.getModifiedItemAttr('shieldKineticDamageResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect4138(BaseEffect):
+ """
+ systemShieldThermalResistance
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance',
+ beacon.getModifiedItemAttr('shieldThermalDamageResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect4152(BaseEffect):
+ """
+ subsystemBonusAmarrEngineeringHeatDamageReduction
+
+ Used by:
+ Subsystem: Legion Core - Energy Parasitic Complex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ module.getModifiedItemAttr('subsystemBonusAmarrCore'),
+ skill='Amarr Core Systems')
+
+
+class Effect4153(BaseEffect):
+ """
+ subsystemBonusCaldariEngineeringHeatDamageReduction
+
+ Used by:
+ Subsystem: Tengu Core - Obfuscation Manifold
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ module.getModifiedItemAttr('subsystemBonusCaldariCore'),
+ skill='Caldari Core Systems')
+
+
+class Effect4154(BaseEffect):
+ """
+ subsystemBonusGallenteEngineeringHeatDamageReduction
+
+ Used by:
+ Subsystem: Proteus Core - Friction Extension Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ module.getModifiedItemAttr('subsystemBonusGallenteCore'),
+ skill='Gallente Core Systems')
+
+
+class Effect4155(BaseEffect):
+ """
+ subsystemBonusMinmatarEngineeringHeatDamageReduction
+
+ Used by:
+ Subsystem: Loki Core - Immobility Drivers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ module.getModifiedItemAttr('subsystemBonusMinmatarCore'),
+ skill='Minmatar Core Systems')
+
+
+class Effect4158(BaseEffect):
+ """
+ subsystemBonusCaldariCoreCapacitorCapacity
+
+ Used by:
+ Subsystem: Tengu Core - Augmented Graviton Reactor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('capacitorCapacity', src.getModifiedItemAttr('subsystemBonusCaldariCore'),
+ skill='Caldari Core Systems')
+
+
+class Effect4159(BaseEffect):
+ """
+ subsystemBonusAmarrCoreCapacitorCapacity
+
+ Used by:
+ Subsystem: Legion Core - Augmented Antimatter Reactor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('capacitorCapacity', src.getModifiedItemAttr('subsystemBonusAmarrCore'), skill='Amarr Core Systems')
+
+
+class Effect4161(BaseEffect):
+ """
+ baseMaxScanDeviationModifierRequiringAstrometrics
+
+ Used by:
+ Implants named like: Poteque 'Prospector' Astrometric Pinpointing AP (3 of 3)
+ Skill: Astrometric Pinpointing
+ Skill: Astrometrics
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),
+ 'baseMaxScanDeviation',
+ container.getModifiedItemAttr('maxScanDeviationModifier') * level)
+
+
+class Effect4162(BaseEffect):
+ """
+ baseSensorStrengthModifierRequiringAstrometrics
+
+ Used by:
+ Modules from group: Scan Probe Launcher (4 of 7)
+ Implants named like: Poteque 'Prospector' Astrometric Rangefinding AR (3 of 3)
+ Implants named like: grade Virtue (10 of 12)
+ Modules named like: Gravity Capacitor Upgrade (8 of 8)
+ Skill: Astrometric Rangefinding
+ Skill: Astrometrics
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ penalized = False if 'skill' in context or 'implant' in context else True
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),
+ 'baseSensorStrength', container.getModifiedItemAttr('scanStrengthBonus') * level,
+ stackingPenalties=penalized)
+
+
+class Effect4165(BaseEffect):
+ """
+ shipBonusScanProbeStrengthCF
+
+ Used by:
+ Ship: Heron
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',
+ 'baseSensorStrength', ship.getModifiedItemAttr('shipBonusCF2'),
+ skill='Caldari Frigate')
+
+
+class Effect4166(BaseEffect):
+ """
+ shipBonusScanProbeStrengthMF
+
+ Used by:
+ Ship: Probe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',
+ 'baseSensorStrength', ship.getModifiedItemAttr('shipBonusMF2'),
+ skill='Minmatar Frigate')
+
+
+class Effect4167(BaseEffect):
+ """
+ shipBonusScanProbeStrengthGF
+
+ Used by:
+ Ship: Imicus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',
+ 'baseSensorStrength', ship.getModifiedItemAttr('shipBonusGF2'),
+ skill='Gallente Frigate')
+
+
+class Effect4168(BaseEffect):
+ """
+ eliteBonusCoverOpsScanProbeStrength2
+
+ Used by:
+ Ships from group: Covert Ops (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',
+ 'baseSensorStrength', ship.getModifiedItemAttr('eliteBonusCovertOps2'),
+ skill='Covert Ops')
+
+
+class Effect4187(BaseEffect):
+ """
+ shipBonusStrategicCruiserAmarrHeatDamage
+
+ Used by:
+ Ship: Legion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ ship.getModifiedItemAttr('shipBonusStrategicCruiserAmarr1'),
+ skill='Amarr Strategic Cruiser')
+
+
+class Effect4188(BaseEffect):
+ """
+ shipBonusStrategicCruiserCaldariHeatDamage
+
+ Used by:
+ Ship: Tengu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ ship.getModifiedItemAttr('shipBonusStrategicCruiserCaldari1'),
+ skill='Caldari Strategic Cruiser')
+
+
+class Effect4189(BaseEffect):
+ """
+ shipBonusStrategicCruiserGallenteHeatDamage
+
+ Used by:
+ Ship: Proteus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ ship.getModifiedItemAttr('shipBonusStrategicCruiserGallente1'),
+ skill='Gallente Strategic Cruiser')
+
+
+class Effect4190(BaseEffect):
+ """
+ shipBonusStrategicCruiserMinmatarHeatDamage
+
+ Used by:
+ Ship: Loki
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ ship.getModifiedItemAttr('shipBonusStrategicCruiserMinmatar1'),
+ skill='Minmatar Strategic Cruiser')
+
+
+class Effect4215(BaseEffect):
+ """
+ subsystemBonusAmarrOffensive2EnergyWeaponCapacitorNeed
+
+ Used by:
+ Subsystem: Legion Offensive - Liquid Crystal Magnifiers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'capacitorNeed', module.getModifiedItemAttr('subsystemBonusAmarrOffensive2'),
+ skill='Amarr Offensive Systems')
+
+
+class Effect4216(BaseEffect):
+ """
+ subsystemBonusAmarrCore2EnergyVampireAmount
+
+ Used by:
+ Subsystem: Legion Core - Energy Parasitic Complex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'powerTransferAmount',
+ src.getModifiedItemAttr('subsystemBonusAmarrCore2'), skill='Amarr Core Systems')
+
+
+class Effect4217(BaseEffect):
+ """
+ subsystemBonusAmarrCore2EnergyDestabilizerAmount
+
+ Used by:
+ Subsystem: Legion Core - Energy Parasitic Complex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'energyNeutralizerAmount',
+ src.getModifiedItemAttr('subsystemBonusAmarrCore2'), skill='Amarr Core Systems')
+
+
+class Effect4248(BaseEffect):
+ """
+ subsystemBonusCaldariOffensive2MissileLauncherKineticDamage
+
+ Used by:
+ Subsystem: Tengu Offensive - Accelerated Ejection Bay
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'kineticDamage', src.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),
+ skill='Caldari Offensive Systems')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'kineticDamage', src.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),
+ skill='Caldari Offensive Systems')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'kineticDamage', src.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),
+ skill='Caldari Offensive Systems')
+
+
+class Effect4250(BaseEffect):
+ """
+ subsystemBonusGallenteOffensiveDroneDamageHP
+
+ Used by:
+ Subsystem: Proteus Offensive - Drone Synthesis Projector
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'armorHP', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'),
+ skill='Gallente Offensive Systems')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'hp', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'),
+ skill='Gallente Offensive Systems')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'damageMultiplier', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'),
+ skill='Gallente Offensive Systems')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'shieldCapacity', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'),
+ skill='Gallente Offensive Systems')
+
+
+class Effect4251(BaseEffect):
+ """
+ subsystemBonusMinmatarOffensive2ProjectileWeaponDamageMultiplier
+
+ Used by:
+ Subsystem: Loki Offensive - Projectile Scoping Array
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', module.getModifiedItemAttr('subsystemBonusMinmatarOffensive2'),
+ skill='Minmatar Offensive Systems')
+
+
+class Effect4256(BaseEffect):
+ """
+ subsystemBonusMinmatarOffensive2MissileLauncherROF
+
+ Used by:
+ Subsystem: Loki Offensive - Launcher Efficiency Configuration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'speed', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive2'),
+ skill='Minmatar Offensive Systems')
+
+
+class Effect4264(BaseEffect):
+ """
+ subsystemBonusMinmatarCoreCapacitorRecharge
+
+ Used by:
+ Subsystem: Loki Core - Augmented Nuclear Reactor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('rechargeRate', src.getModifiedItemAttr('subsystemBonusMinmatarCore'),
+ skill='Minmatar Core Systems')
+
+
+class Effect4265(BaseEffect):
+ """
+ subsystemBonusGallenteCoreCapacitorRecharge
+
+ Used by:
+ Subsystem: Proteus Core - Augmented Fusion Reactor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('rechargeRate', src.getModifiedItemAttr('subsystemBonusGallenteCore'),
+ skill='Gallente Core Systems')
+
+
+class Effect4269(BaseEffect):
+ """
+ subsystemBonusAmarrCore3ScanResolution
+
+ Used by:
+ Subsystem: Legion Core - Dissolution Sequencer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('subsystemBonusAmarrCore3'),
+ skill='Amarr Core Systems')
+
+
+class Effect4270(BaseEffect):
+ """
+ subsystemBonusMinmatarCore3ScanResolution
+
+ Used by:
+ Subsystem: Loki Core - Dissolution Sequencer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('subsystemBonusMinmatarCore3'),
+ skill='Minmatar Core Systems')
+
+
+class Effect4271(BaseEffect):
+ """
+ subsystemBonusCaldariCore2MaxTargetingRange
+
+ Used by:
+ Subsystem: Tengu Core - Electronic Efficiency Gate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems')
+
+
+class Effect4272(BaseEffect):
+ """
+ subsystemBonusGallenteCore2MaxTargetingRange
+
+ Used by:
+ Subsystem: Proteus Core - Electronic Efficiency Gate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('subsystemBonusGallenteCore2'),
+ skill='Gallente Core Systems')
+
+
+class Effect4273(BaseEffect):
+ """
+ subsystemBonusGallenteCore2WarpScrambleRange
+
+ Used by:
+ Subsystem: Proteus Core - Friction Extension Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler', 'maxRange',
+ src.getModifiedItemAttr('subsystemBonusGallenteCore2'), skill='Gallente Core Systems')
+
+
+class Effect4274(BaseEffect):
+ """
+ subsystemBonusMinmatarCore2StasisWebifierRange
+
+ Used by:
+ Subsystem: Loki Core - Immobility Drivers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'maxRange', src.getModifiedItemAttr('subsystemBonusMinmatarCore2'), skill='Minmatar Core Systems')
+
+
+class Effect4275(BaseEffect):
+ """
+ subsystemBonusCaldariPropulsion2WarpSpeed
+
+ Used by:
+ Subsystem: Tengu Propulsion - Interdiction Nullifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion2'),
+ skill='Caldari Propulsion Systems')
+
+
+class Effect4277(BaseEffect):
+ """
+ subsystemBonusGallentePropulsionWarpCapacitor
+
+ Used by:
+ Subsystem: Proteus Propulsion - Interdiction Nullifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpCapacitorNeed', src.getModifiedItemAttr('subsystemBonusGallentePropulsion'),
+ skill='Gallente Propulsion Systems')
+
+
+class Effect4278(BaseEffect):
+ """
+ subsystemBonusGallentePropulsion2WarpSpeed
+
+ Used by:
+ Subsystem: Proteus Propulsion - Interdiction Nullifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('subsystemBonusGallentePropulsion2'),
+ skill='Gallente Propulsion Systems')
+
+
+class Effect4280(BaseEffect):
+ """
+ systemAgility
+
+ Used by:
+ Celestials named like: Black Hole Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.multiplyItemAttr('agility', beacon.getModifiedItemAttr('agilityMultiplier'), stackingPenalties=True)
+
+
+class Effect4282(BaseEffect):
+ """
+ subsystemBonusGallenteOffensive2HybridWeaponDamageMultiplier
+
+ Used by:
+ Subsystem: Proteus Offensive - Hybrid Encoding Platform
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', module.getModifiedItemAttr('subsystemBonusGallenteOffensive2'),
+ skill='Gallente Offensive Systems')
+
+
+class Effect4283(BaseEffect):
+ """
+ subsystemBonusCaldariOffensive2HybridWeaponDamageMultiplier
+
+ Used by:
+ Subsystem: Tengu Offensive - Magnetic Infusion Basin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', module.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),
+ skill='Caldari Offensive Systems')
+
+
+class Effect4286(BaseEffect):
+ """
+ subsystemBonusAmarrOffensive2RemoteArmorRepairCapUse
+
+ Used by:
+ Subsystem: Legion Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems')
+
+
+class Effect4288(BaseEffect):
+ """
+ subsystemBonusGallenteOffensive2RemoteArmorRepairCapUse
+
+ Used by:
+ Subsystem: Proteus Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('subsystemBonusGallenteOffensive2'), skill='Gallente Offensive Systems')
+
+
+class Effect4290(BaseEffect):
+ """
+ subsystemBonusMinmatarOffensive2RemoteRepCapUse
+
+ Used by:
+ Subsystem: Loki Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems') or mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'capacitorNeed', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive2'),
+ skill='Minmatar Offensive Systems')
+
+
+class Effect4292(BaseEffect):
+ """
+ subsystemBonusCaldariOffensive2RemoteShieldBoosterCapUse
+
+ Used by:
+ Subsystem: Tengu Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'capacitorNeed', src.getModifiedItemAttr('subsystemBonusCaldariOffensive2'),
+ skill='Caldari Offensive Systems')
+
+
+class Effect4321(BaseEffect):
+ """
+ subsystemBonusCaldariCore2ECMStrengthRange
+
+ Used by:
+ Subsystem: Tengu Core - Obfuscation Manifold
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scanLadarStrengthBonus',
+ src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scanRadarStrengthBonus',
+ src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'maxRange',
+ src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scanGravimetricStrengthBonus',
+ src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scanMagnetometricStrengthBonus',
+ src.getModifiedItemAttr('subsystemBonusCaldariCore2'), skill='Caldari Core Systems')
+
+
+class Effect4327(BaseEffect):
+ """
+ subsystemBonusAmarrOffensive3DroneDamageHP
+
+ Used by:
+ Subsystem: Legion Offensive - Assault Optimization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'hp', src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'armorHP', src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'shieldCapacity', src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'damageMultiplier', src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems')
+
+
+class Effect4330(BaseEffect):
+ """
+ subsystemBonusAmarrOffensive3EnergyWeaponMaxRange
+
+ Used by:
+ Subsystem: Legion Offensive - Liquid Crystal Magnifiers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'maxRange', module.getModifiedItemAttr('subsystemBonusAmarrOffensive3'),
+ skill='Amarr Offensive Systems')
+
+
+class Effect4331(BaseEffect):
+ """
+ subsystemBonusCaldariOffensive3HMLHAMVelocity
+
+ Used by:
+ Subsystem: Tengu Offensive - Accelerated Ejection Bay
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles') or mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'maxVelocity', src.getModifiedItemAttr('subsystemBonusCaldariOffensive3'),
+ skill='Caldari Offensive Systems')
+
+
+class Effect4342(BaseEffect):
+ """
+ subsystemBonusMinmatarCore2MaxTargetingRange
+
+ Used by:
+ Subsystem: Loki Core - Dissolution Sequencer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('subsystemBonusMinmatarCore2'),
+ skill='Minmatar Core Systems')
+
+
+class Effect4343(BaseEffect):
+ """
+ subsystemBonusAmarrCore2MaxTargetingRange
+
+ Used by:
+ Subsystem: Legion Core - Dissolution Sequencer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('subsystemBonusAmarrCore2'),
+ skill='Amarr Core Systems')
+
+
+class Effect4347(BaseEffect):
+ """
+ subsystemBonusGallenteOffensive3TurretTracking
+
+ Used by:
+ Subsystem: Proteus Offensive - Drone Synthesis Projector
+ Subsystem: Proteus Offensive - Hybrid Encoding Platform
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'trackingSpeed', module.getModifiedItemAttr('subsystemBonusGallenteOffensive3'),
+ skill='Gallente Offensive Systems')
+
+
+class Effect4351(BaseEffect):
+ """
+ subsystemBonusMinmatarOffensive3TurretTracking
+
+ Used by:
+ Subsystem: Loki Offensive - Projectile Scoping Array
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'trackingSpeed', module.getModifiedItemAttr('subsystemBonusMinmatarOffensive3'),
+ skill='Minmatar Offensive Systems')
+
+
+class Effect4358(BaseEffect):
+ """
+ ecmRangeBonusModuleEffect
+
+ Used by:
+ Modules from group: ECM Stabilizer (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'maxRange', module.getModifiedItemAttr('ecmRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect4360(BaseEffect):
+ """
+ subsystemBonusAmarrOffensiveMissileLauncherROF
+
+ Used by:
+ Subsystem: Legion Offensive - Assault Optimization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'speed', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+
+
+class Effect4362(BaseEffect):
+ """
+ subsystemBonusAmarrOffensive2MissileDamage
+
+ Used by:
+ Subsystem: Legion Offensive - Assault Optimization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'explosiveDamage', src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'emDamage', src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'thermalDamage', src.getModifiedItemAttr('subsystemBonusAmarrOffensive2'), skill='Amarr Offensive Systems')
+
+
+class Effect4366(BaseEffect):
+ """
+ shipBonusMediumHybridDmgCC2
+
+ Used by:
+ Ship: Falcon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect4369(BaseEffect):
+ """
+ subsystemBonusWarpBubbleImmune
+
+ Used by:
+ Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.forceItemAttr('warpBubbleImmune', module.getModifiedItemAttr('warpBubbleImmuneModifier'))
+
+
+class Effect4370(BaseEffect):
+ """
+ caldariShipEwFalloffRangeCC2
+
+ Used by:
+ Ship: Blackbird
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusCC2'),
+ skill='Caldari Cruiser')
+
+
+class Effect4372(BaseEffect):
+ """
+ caldariShipEwFalloffRangeCB3
+
+ Used by:
+ Ship: Scorpion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusCB3'),
+ skill='Caldari Battleship')
+
+
+class Effect4373(BaseEffect):
+ """
+ subSystemBonusAmarrOffensiveCommandBursts
+
+ Used by:
+ Subsystem: Legion Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusAmarrOffensive'), skill='Amarr Offensive Systems')
+
+
+class Effect4377(BaseEffect):
+ """
+ shipBonusTorpedoVelocityGF2
+
+ Used by:
+ Ship: Nemesis
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect4378(BaseEffect):
+ """
+ shipBonusTorpedoVelocityMF2
+
+ Used by:
+ Ship: Hound
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+
+
+class Effect4379(BaseEffect):
+ """
+ shipBonusTorpedoVelocity2AF
+
+ Used by:
+ Ship: Purifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect4380(BaseEffect):
+ """
+ shipBonusTorpedoVelocityCF2
+
+ Used by:
+ Ship: Manticore
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect4384(BaseEffect):
+ """
+ eliteReconBonusHeavyMissileVelocity
+
+ Used by:
+ Ship: Rook
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('eliteBonusReconShip1'),
+ skill='Recon Ships')
+
+
+class Effect4385(BaseEffect):
+ """
+ eliteReconBonusHeavyAssaultMissileVelocity
+
+ Used by:
+ Ship: Rook
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('eliteBonusReconShip1'),
+ skill='Recon Ships')
+
+
+class Effect4393(BaseEffect):
+ """
+ shipBonusEliteCover2TorpedoThermalDamage
+
+ Used by:
+ Ship: Nemesis
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'thermalDamage', ship.getModifiedItemAttr('eliteBonusCovertOps2'),
+ skill='Covert Ops')
+
+
+class Effect4394(BaseEffect):
+ """
+ shipBonusEliteCover2TorpedoEMDamage
+
+ Used by:
+ Ship: Purifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'emDamage', ship.getModifiedItemAttr('eliteBonusCovertOps2'), skill='Covert Ops')
+
+
+class Effect4395(BaseEffect):
+ """
+ shipBonusEliteCover2TorpedoExplosiveDamage
+
+ Used by:
+ Ship: Hound
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'explosiveDamage', ship.getModifiedItemAttr('eliteBonusCovertOps2'),
+ skill='Covert Ops')
+
+
+class Effect4396(BaseEffect):
+ """
+ shipBonusEliteCover2TorpedoKineticDamage
+
+ Used by:
+ Ship: Manticore
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'kineticDamage', ship.getModifiedItemAttr('eliteBonusCovertOps2'),
+ skill='Covert Ops')
+
+
+class Effect4397(BaseEffect):
+ """
+ shipBonusGFTorpedoExplosionVelocity
+
+ Used by:
+ Ship: Nemesis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'aoeVelocity', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect4398(BaseEffect):
+ """
+ shipBonusMF1TorpedoExplosionVelocity
+
+ Used by:
+ Ship: Hound
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'aoeVelocity', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect4399(BaseEffect):
+ """
+ shipBonusCF1TorpedoExplosionVelocity
+
+ Used by:
+ Ship: Manticore
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'aoeVelocity', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect4400(BaseEffect):
+ """
+ shipBonusAF1TorpedoExplosionVelocity
+
+ Used by:
+ Ship: Purifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'aoeVelocity', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect4413(BaseEffect):
+ """
+ shipBonusGF1TorpedoFlightTime
+
+ Used by:
+ Ship: Nemesis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'explosionDelay', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect4415(BaseEffect):
+ """
+ shipBonusMF1TorpedoFlightTime
+
+ Used by:
+ Ship: Hound
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'explosionDelay', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect4416(BaseEffect):
+ """
+ shipBonusCF1TorpedoFlightTime
+
+ Used by:
+ Ship: Manticore
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'explosionDelay', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect4417(BaseEffect):
+ """
+ shipBonusAF1TorpedoFlightTime
+
+ Used by:
+ Ship: Purifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'explosionDelay', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect4451(BaseEffect):
+ """
+ ScanRadarStrengthModifierEffect
+
+ Used by:
+ Implants named like: Low grade Grail (5 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.increaseItemAttr('scanRadarStrength', implant.getModifiedItemAttr('scanRadarStrengthModifier'))
+
+
+class Effect4452(BaseEffect):
+ """
+ ScanLadarStrengthModifierEffect
+
+ Used by:
+ Implants named like: Low grade Jackal (5 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.increaseItemAttr('scanLadarStrength', implant.getModifiedItemAttr('scanLadarStrengthModifier'))
+
+
+class Effect4453(BaseEffect):
+ """
+ ScanGravimetricStrengthModifierEffect
+
+ Used by:
+ Implants named like: Low grade Talon (5 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.increaseItemAttr('scanGravimetricStrength', implant.getModifiedItemAttr('scanGravimetricStrengthModifier'))
+
+
+class Effect4454(BaseEffect):
+ """
+ ScanMagnetometricStrengthModifierEffect
+
+ Used by:
+ Implants named like: Low grade Spur (5 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.ship.increaseItemAttr('scanMagnetometricStrength',
+ implant.getModifiedItemAttr('scanMagnetometricStrengthModifier'))
+
+
+class Effect4456(BaseEffect):
+ """
+ federationsetbonus3
+
+ Used by:
+ Implants named like: High grade Spur (6 of 6)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),
+ 'scanMagnetometricStrengthPercent',
+ implant.getModifiedItemAttr('implantSetFederationNavy'))
+
+
+class Effect4457(BaseEffect):
+ """
+ imperialsetbonus3
+
+ Used by:
+ Implants named like: High grade Grail (6 of 6)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),
+ 'scanRadarStrengthPercent',
+ implant.getModifiedItemAttr('implantSetImperialNavy'))
+
+
+class Effect4458(BaseEffect):
+ """
+ republicsetbonus3
+
+ Used by:
+ Implants named like: High grade Jackal (6 of 6)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),
+ 'scanLadarStrengthPercent',
+ implant.getModifiedItemAttr('implantSetRepublicFleet'))
+
+
+class Effect4459(BaseEffect):
+ """
+ caldarisetbonus3
+
+ Used by:
+ Implants named like: High grade Talon (6 of 6)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),
+ 'scanGravimetricStrengthPercent',
+ implant.getModifiedItemAttr('implantSetCaldariNavy'))
+
+
+class Effect4460(BaseEffect):
+ """
+ imperialsetLGbonus
+
+ Used by:
+ Implants named like: Low grade Grail (6 of 6)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),
+ 'scanRadarStrengthModifier',
+ implant.getModifiedItemAttr('implantSetLGImperialNavy'))
+
+
+class Effect4461(BaseEffect):
+ """
+ federationsetLGbonus
+
+ Used by:
+ Implants named like: Low grade Spur (6 of 6)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),
+ 'scanMagnetometricStrengthModifier',
+ implant.getModifiedItemAttr('implantSetLGFederationNavy'))
+
+
+class Effect4462(BaseEffect):
+ """
+ caldarisetLGbonus
+
+ Used by:
+ Implants named like: Low grade Talon (6 of 6)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),
+ 'scanGravimetricStrengthModifier',
+ implant.getModifiedItemAttr('implantSetLGCaldariNavy'))
+
+
+class Effect4463(BaseEffect):
+ """
+ republicsetLGbonus
+
+ Used by:
+ Implants named like: Low grade Jackal (6 of 6)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill('Cybernetics'),
+ 'scanLadarStrengthModifier',
+ implant.getModifiedItemAttr('implantSetLGRepublicFleet'))
+
+
+class Effect4464(BaseEffect):
+ """
+ shipProjectileRofMF
+
+ Used by:
+ Ship: Claw
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'), 'speed',
+ src.getModifiedItemAttr('shipBonusMF'), stackingPenalties=True, skill='Minmatar Frigate')
+
+
+class Effect4471(BaseEffect):
+ """
+ shipBonusStasisMF2
+
+ Used by:
+ Ship: Caedes
+ Ship: Cruor
+ Ship: Freki
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+
+
+class Effect4472(BaseEffect):
+ """
+ shipProjectileDmgMC
+
+ Used by:
+ Ship: Mimir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser')
+
+
+class Effect4473(BaseEffect):
+ """
+ shipVelocityBonusATC1
+
+ Used by:
+ Ship: Adrestia
+ Ship: Mimir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('shipBonusATC1'))
+
+
+class Effect4474(BaseEffect):
+ """
+ shipMTMaxRangeBonusATC
+
+ Used by:
+ Ship: Mimir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusATC2'))
+
+
+class Effect4475(BaseEffect):
+ """
+ shipMTFalloffBonusATC
+
+ Used by:
+ Ship: Mimir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusATC2'))
+
+
+class Effect4476(BaseEffect):
+ """
+ shipMTFalloffBonusATF
+
+ Used by:
+ Ship: Freki
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusATF2'))
+
+
+class Effect4477(BaseEffect):
+ """
+ shipMTMaxRangeBonusATF
+
+ Used by:
+ Ship: Freki
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusATF2'))
+
+
+class Effect4478(BaseEffect):
+ """
+ shipBonusAfterburnerCapNeedATF
+
+ Used by:
+ Ship: Freki
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Propulsion Module',
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusATF1'))
+
+
+class Effect4479(BaseEffect):
+ """
+ shipBonusSurveyProbeExplosionDelaySkillSurveyCovertOps3
+
+ Used by:
+ Ships from group: Covert Ops (5 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Survey Probe',
+ 'explosionDelay', ship.getModifiedItemAttr('eliteBonusCovertOps3'),
+ skill='Covert Ops')
+
+
+class Effect4482(BaseEffect):
+ """
+ shipETOptimalRange2AF
+
+ Used by:
+ Ship: Imperial Navy Slicer
+ Ship: Pacifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect4484(BaseEffect):
+ """
+ shipPTurretFalloffBonusGB
+
+ Used by:
+ Ship: Machariel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship')
+
+
+class Effect4485(BaseEffect):
+ """
+ shipBonusStasisWebSpeedFactorMB
+
+ Used by:
+ Ship: Vindicator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'speedFactor', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect4489(BaseEffect):
+ """
+ superWeaponAmarr
+
+ Used by:
+ Module: 'Judgment' Electromagnetic Doomsday
+ """
+
+ type = 'active'
+
+
+class Effect4490(BaseEffect):
+ """
+ superWeaponCaldari
+
+ Used by:
+ Module: 'Oblivion' Kinetic Doomsday
+ """
+
+ type = 'active'
+
+
+class Effect4491(BaseEffect):
+ """
+ superWeaponGallente
+
+ Used by:
+ Module: 'Aurora Ominae' Thermal Doomsday
+ """
+
+ type = 'active'
+
+
+class Effect4492(BaseEffect):
+ """
+ superWeaponMinmatar
+
+ Used by:
+ Module: 'Gjallarhorn' Explosive Doomsday
+ """
+
+ type = 'active'
+
+
+class Effect4510(BaseEffect):
+ """
+ shipStasisWebStrengthBonusMC2
+
+ Used by:
+ Ship: Victor
+ Ship: Vigilant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'speedFactor', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect4512(BaseEffect):
+ """
+ shipPTurretFalloffBonusGC
+
+ Used by:
+ Ship: Cynabal
+ Ship: Moracha
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect4513(BaseEffect):
+ """
+ shipStasisWebStrengthBonusMF2
+
+ Used by:
+ Ship: Daredevil
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'speedFactor', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+
+
+class Effect4515(BaseEffect):
+ """
+ shipFalloffBonusMF
+
+ Used by:
+ Ship: Chremoas
+ Ship: Dramiel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect4516(BaseEffect):
+ """
+ shipHTurretFalloffBonusGC
+
+ Used by:
+ Ship: Victor
+ Ship: Vigilant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect4527(BaseEffect):
+ """
+ gunneryFalloffBonusOnline
+
+ Used by:
+ Modules from group: Tracking Enhancer (10 of 10)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'falloff', module.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True)
+
+
+class Effect4555(BaseEffect):
+ """
+ capitalLauncherSkillCruiseCitadelEmDamage1
+
+ Used by:
+ Skill: XL Cruise Missiles
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'),
+ 'emDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect4556(BaseEffect):
+ """
+ capitalLauncherSkillCruiseCitadelExplosiveDamage1
+
+ Used by:
+ Skill: XL Cruise Missiles
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'),
+ 'explosiveDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect4557(BaseEffect):
+ """
+ capitalLauncherSkillCruiseCitadelKineticDamage1
+
+ Used by:
+ Skill: XL Cruise Missiles
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'),
+ 'kineticDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect4558(BaseEffect):
+ """
+ capitalLauncherSkillCruiseCitadelThermalDamage1
+
+ Used by:
+ Skill: XL Cruise Missiles
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'),
+ 'thermalDamage', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect4559(BaseEffect):
+ """
+ gunneryMaxRangeFalloffTrackingSpeedBonus
+
+ Used by:
+ Modules from group: Tracking Computer (11 of 11)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for attr in ('maxRange', 'falloff', 'trackingSpeed'):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ attr, module.getModifiedItemAttr('%sBonus' % attr),
+ stackingPenalties=True)
+
+
+class Effect4575(BaseEffect):
+ """
+ industrialCoreEffect2
+
+ Used by:
+ Variations of module: Industrial Core I (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.extraAttributes['siege'] = True
+ fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'), stackingPenalties=True)
+ fit.ship.multiplyItemAttr('mass', src.getModifiedItemAttr('siegeMassMultiplier'))
+ fit.ship.multiplyItemAttr('scanResolution',
+ src.getModifiedItemAttr('scanResolutionMultiplier'),
+ stackingPenalties=True)
+
+ # Remote Shield Repper Bonuses
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),
+ 'duration',
+ src.getModifiedItemAttr('industrialCoreRemoteLogisticsDurationBonus'),
+ )
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),
+ 'maxRange',
+ src.getModifiedItemAttr('industrialCoreRemoteLogisticsRangeBonus'),
+ stackingPenalties=True
+ )
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),
+ 'capacitorNeed',
+ src.getModifiedItemAttr('industrialCoreRemoteLogisticsDurationBonus')
+ )
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'),
+ 'falloffEffectiveness',
+ src.getModifiedItemAttr('industrialCoreRemoteLogisticsRangeBonus'),
+ stackingPenalties=True
+ )
+
+ # Local Shield Repper Bonuses
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'),
+ 'duration',
+ src.getModifiedItemAttr('industrialCoreLocalLogisticsDurationBonus'),
+ )
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'),
+ 'shieldBonus',
+ src.getModifiedItemAttr('industrialCoreLocalLogisticsAmountBonus'),
+ stackingPenalties=True
+ )
+
+ # Mining Burst Bonuses
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),
+ 'warfareBuff1Value',
+ src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'),
+ )
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),
+ 'warfareBuff2Value',
+ src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'),
+ )
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),
+ 'warfareBuff3Value',
+ src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'),
+ )
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'),
+ 'warfareBuff4Value',
+ src.getModifiedItemAttr('industrialCoreBonusMiningBurstStrength'),
+ )
+
+ # Command Burst Range Bonus
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'),
+ 'maxRange',
+ src.getModifiedItemAttr('industrialCoreBonusCommandBurstRange'),
+ stackingPenalties=True
+ )
+
+ # Drone Bonuses
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Ice Harvesting Drone Operation'),
+ 'duration',
+ src.getModifiedItemAttr('industrialCoreBonusDroneIceHarvesting'),
+ )
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),
+ 'miningAmount',
+ src.getModifiedItemAttr('industrialCoreBonusDroneMining'),
+ )
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'maxVelocity',
+ src.getModifiedItemAttr('industrialCoreBonusDroneVelocity'),
+ )
+
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier',
+ src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'),
+ stackingPenalties=True
+ )
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'shieldCapacity',
+ src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'),
+ )
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'armorHP',
+ src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'),
+ )
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'hp',
+ src.getModifiedItemAttr('industrialCoreBonusDroneDamageHP'),
+ )
+
+ # Todo: remote impedance (no reps, etc)
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('siegeModeWarpStatus'))
+ fit.ship.boostItemAttr('remoteRepairImpedance', src.getModifiedItemAttr('remoteRepairImpedanceBonus'))
+ fit.ship.increaseItemAttr('disallowTethering', src.getModifiedItemAttr('disallowTethering'))
+ fit.ship.boostItemAttr('sensorDampenerResistance', src.getModifiedItemAttr('sensorDampenerResistanceBonus'))
+ fit.ship.boostItemAttr('remoteAssistanceImpedance', src.getModifiedItemAttr('remoteAssistanceImpedanceBonus'))
+ fit.ship.increaseItemAttr('disallowDocking', src.getModifiedItemAttr('disallowDocking'))
+
+
+class Effect4576(BaseEffect):
+ """
+ eliteBonusLogisticsTrackingLinkFalloffBonus1
+
+ Used by:
+ Ship: Scimitar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',
+ 'falloffBonus', ship.getModifiedItemAttr('eliteBonusLogistics1'),
+ skill='Logistics Cruisers')
+
+
+class Effect4577(BaseEffect):
+ """
+ eliteBonusLogisticsTrackingLinkFalloffBonus2
+
+ Used by:
+ Ship: Oneiros
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Tracking Computer',
+ 'falloffBonus', ship.getModifiedItemAttr('eliteBonusLogistics2'),
+ skill='Logistics Cruisers')
+
+
+class Effect4579(BaseEffect):
+ """
+ droneRigStasisWebSpeedFactorBonus
+
+ Used by:
+ Modules named like: Stasis Drone Augmentor (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Stasis Webifying Drone',
+ 'speedFactor', module.getModifiedItemAttr('webSpeedFactorBonus'))
+
+
+class Effect4619(BaseEffect):
+ """
+ shipBonusDroneDamageGF2
+
+ Used by:
+ Ship: Utu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect4620(BaseEffect):
+ """
+ shipBonusWarpScramblerMaxRangeGF2
+
+ Used by:
+ Ship: Garmur
+ Ship: Utu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect4621(BaseEffect):
+ """
+ shipBonusHeatDamageATF1
+
+ Used by:
+ Ship: Cambion
+ Ship: Etana
+ Ship: Utu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ ship.getModifiedItemAttr('shipBonusATF1'))
+
+
+class Effect4622(BaseEffect):
+ """
+ shipBonusSmallHybridMaxRangeATF2
+
+ Used by:
+ Ship: Utu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusATF2'))
+
+
+class Effect4623(BaseEffect):
+ """
+ shipBonusSmallHybridTrackingSpeedATF2
+
+ Used by:
+ Ship: Utu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusATF2'))
+
+
+class Effect4624(BaseEffect):
+ """
+ shipBonusHybridTrackingATC2
+
+ Used by:
+ Ship: Adrestia
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusATC2'))
+
+
+class Effect4625(BaseEffect):
+ """
+ shipBonusHybridFalloffATC2
+
+ Used by:
+ Ship: Adrestia
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusATC2'))
+
+
+class Effect4626(BaseEffect):
+ """
+ shipBonusWarpScramblerMaxRangeGC2
+
+ Used by:
+ Ship: Adrestia
+ Ship: Orthrus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect4635(BaseEffect):
+ """
+ eliteBonusMaraudersCruiseAndTorpedoDamageRole1
+
+ Used by:
+ Ship: Golem
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ damageTypes = ('em', 'explosive', 'kinetic', 'thermal')
+ for damageType in damageTypes:
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Cruise Missiles') or mod.charge.requiresSkill('Torpedoes'),
+ '{0}Damage'.format(damageType), ship.getModifiedItemAttr('eliteBonusViolatorsRole1'))
+
+
+class Effect4636(BaseEffect):
+ """
+ shipBonusAoeVelocityCruiseAndTorpedoCB2
+
+ Used by:
+ Ship: Golem
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Cruise Missiles') or mod.charge.requiresSkill('Torpedoes'),
+ 'aoeVelocity', ship.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship')
+
+
+class Effect4637(BaseEffect):
+ """
+ shipCruiseAndTorpedoVelocityBonusCB3
+
+ Used by:
+ Ship: Golem
+ Ship: Widow
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Cruise Missiles') or mod.charge.requiresSkill('Torpedoes'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCB3'), skill='Caldari Battleship')
+
+
+class Effect4640(BaseEffect):
+ """
+ shipArmorEMAndExpAndkinAndThmResistanceAC2
+
+ Used by:
+ Ships named like: Stratios (2 of 2)
+ Ship: Sacrilege
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')
+ for damageType in damageTypes:
+ fit.ship.boostItemAttr('armor{0}DamageResonance'.format(damageType), ship.getModifiedItemAttr('shipBonusAC2'),
+ skill='Amarr Cruiser')
+
+
+class Effect4643(BaseEffect):
+ """
+ shipHeavyAssaultMissileEMAndExpAndKinAndThmDmgAC1
+
+ Used by:
+ Ship: Sacrilege
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ damageTypes = ('em', 'explosive', 'kinetic', 'thermal')
+ for damageType in damageTypes:
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusAC'),
+ skill='Amarr Cruiser')
+
+
+class Effect4645(BaseEffect):
+ """
+ eliteBonusHeavyGunshipHeavyAndHeavyAssaultAndAssaultMissileLauncherROF
+
+ Used by:
+ Ship: Sacrilege
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ groups = ('Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault', 'Missile Launcher Heavy')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'speed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect4648(BaseEffect):
+ """
+ eliteBonusBlackOpsECMGravAndLadarAndMagnetometricAndRadarStrength1
+
+ Used by:
+ Ship: Widow
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ sensorTypes = ('Gravimetric', 'Ladar', 'Magnetometric', 'Radar')
+ for type in sensorTypes:
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'scan{0}StrengthBonus'.format(type),
+ ship.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops')
+
+
+class Effect4649(BaseEffect):
+ """
+ shipCruiseAndSiegeLauncherROFBonus2CB
+
+ Used by:
+ Ship: Widow
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ affectedGroups = ('Missile Launcher Cruise', 'Missile Launcher Torpedo')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in affectedGroups,
+ 'speed', ship.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship')
+
+
+class Effect4667(BaseEffect):
+ """
+ shipBonusNoctisSalvageCycle
+
+ Used by:
+ Ship: Noctis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),
+ 'duration', ship.getModifiedItemAttr('shipBonusOreIndustrial1'),
+ skill='ORE Industrial')
+
+
+class Effect4668(BaseEffect):
+ """
+ shipBonusNoctisTractorCycle
+
+ Used by:
+ Ship: Noctis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',
+ 'duration', ship.getModifiedItemAttr('shipBonusOreIndustrial1'),
+ skill='ORE Industrial')
+
+
+class Effect4669(BaseEffect):
+ """
+ shipBonusNoctisTractorVelocity
+
+ Used by:
+ Ship: Noctis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',
+ 'maxTractorVelocity', ship.getModifiedItemAttr('shipBonusOreIndustrial2'),
+ skill='ORE Industrial')
+
+
+class Effect4670(BaseEffect):
+ """
+ shipBonusNoctisTractorRange
+
+ Used by:
+ Ship: Noctis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Tractor Beam',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusOreIndustrial2'),
+ skill='ORE Industrial')
+
+
+class Effect4728(BaseEffect):
+ """
+ OffensiveDefensiveReduction
+
+ Used by:
+ Celestials named like: Drifter Incursion (6 of 6)
+ Celestials named like: Incursion ship attributes effects (3 of 3)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ damages = ('em', 'thermal', 'kinetic', 'explosive')
+ for damage in damages:
+ # Nerf missile damage
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ '{0}Damage'.format(damage),
+ beacon.getModifiedItemAttr('systemEffectDamageReduction'))
+ # Nerf smartbomb damage
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Smart Bomb',
+ '{0}Damage'.format(damage),
+ beacon.getModifiedItemAttr('systemEffectDamageReduction'))
+ # Nerf armor resistances
+ fit.ship.boostItemAttr('armor{0}DamageResonance'.format(damage.capitalize()),
+ beacon.getModifiedItemAttr('armor{0}DamageResistanceBonus'.format(damage.capitalize())))
+ # Nerf shield resistances
+ fit.ship.boostItemAttr('shield{0}DamageResonance'.format(damage.capitalize()),
+ beacon.getModifiedItemAttr('shield{0}DamageResistanceBonus'.format(damage.capitalize())))
+ # Nerf drone damage output
+ fit.drones.filteredItemBoost(lambda drone: True,
+ 'damageMultiplier', beacon.getModifiedItemAttr('systemEffectDamageReduction'))
+ # Nerf turret damage output
+ fit.modules.filteredItemBoost(lambda module: module.item.requiresSkill('Gunnery'),
+ 'damageMultiplier', beacon.getModifiedItemAttr('systemEffectDamageReduction'))
+
+
+class Effect4760(BaseEffect):
+ """
+ subsystemBonusCaldariPropulsionWarpCapacitor
+
+ Used by:
+ Subsystem: Tengu Propulsion - Interdiction Nullifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpCapacitorNeed', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion'),
+ skill='Caldari Propulsion Systems')
+
+
+class Effect4775(BaseEffect):
+ """
+ shipEnergyNeutralizerTransferAmountBonusAF2
+
+ Used by:
+ Ship: Malice
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',
+ 'energyNeutralizerAmount', ship.getModifiedItemAttr('shipBonus2AF'),
+ skill='Amarr Frigate')
+
+
+class Effect4782(BaseEffect):
+ """
+ shipBonusSmallEnergyWeaponOptimalRangeATF2
+
+ Used by:
+ Ship: Malice
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusATF2'))
+
+
+class Effect4789(BaseEffect):
+ """
+ shipBonusSmallEnergyTurretDamageATF1
+
+ Used by:
+ Ship: Malice
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusATF1'))
+
+
+class Effect4793(BaseEffect):
+ """
+ shipBonusMissileLauncherHeavyROFATC1
+
+ Used by:
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy',
+ 'speed', ship.getModifiedItemAttr('shipBonusATC1'))
+
+
+class Effect4794(BaseEffect):
+ """
+ shipBonusMissileLauncherAssaultROFATC1
+
+ Used by:
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Light',
+ 'speed', ship.getModifiedItemAttr('shipBonusATC1'))
+
+
+class Effect4795(BaseEffect):
+ """
+ shipBonusMissileLauncherHeavyAssaultROFATC1
+
+ Used by:
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy Assault',
+ 'speed', ship.getModifiedItemAttr('shipBonusATC1'))
+
+
+class Effect4799(BaseEffect):
+ """
+ eliteBonusBlackOpsECMBurstGravAndLadarAndMagnetoAndRadar
+
+ Used by:
+ Ship: Widow
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ sensorTypes = ('Gravimetric', 'Ladar', 'Magnetometric', 'Radar')
+ for type in sensorTypes:
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Burst Jammer',
+ 'scan{0}StrengthBonus'.format(type),
+ ship.getModifiedItemAttr('eliteBonusBlackOps1'), skill='Black Ops')
+
+
+class Effect4804(BaseEffect):
+ """
+ dataMiningSkillBoostAccessDifficultyBonusAbsolutePercent
+
+ Used by:
+ Skill: Archaeology
+ Skill: Hacking
+ Skill: Salvaging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill(skill), 'accessDifficultyBonus',
+ skill.getModifiedItemAttr('accessDifficultyBonusAbsolutePercent') * skill.level)
+
+
+class Effect4809(BaseEffect):
+ """
+ ecmGravimetricStrengthBonusPercent
+
+ Used by:
+ Modules from group: ECM Stabilizer (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scanGravimetricStrengthBonus', module.getModifiedItemAttr('ecmStrengthBonusPercent'),
+ stackingPenalties=True)
+
+
+class Effect4810(BaseEffect):
+ """
+ ecmLadarStrengthBonusPercent
+
+ Used by:
+ Modules from group: ECM Stabilizer (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scanLadarStrengthBonus', module.getModifiedItemAttr('ecmStrengthBonusPercent'),
+ stackingPenalties=True)
+
+
+class Effect4811(BaseEffect):
+ """
+ ecmMagnetometricStrengthBonusPercent
+
+ Used by:
+ Modules from group: ECM Stabilizer (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scanMagnetometricStrengthBonus',
+ module.getModifiedItemAttr('ecmStrengthBonusPercent'),
+ stackingPenalties=True)
+
+
+class Effect4812(BaseEffect):
+ """
+ ecmRadarStrengthBonusPercent
+
+ Used by:
+ Modules from group: ECM Stabilizer (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scanRadarStrengthBonus', module.getModifiedItemAttr('ecmStrengthBonusPercent'),
+ stackingPenalties=True)
+
+
+class Effect4814(BaseEffect):
+ """
+ jumpPortalConsumptionBonusPercentSkill
+
+ Used by:
+ Skill: Jump Portal Generation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'consumptionQuantity',
+ skill.getModifiedItemAttr('consumptionQuantityBonusPercent') * skill.level)
+
+
+class Effect4817(BaseEffect):
+ """
+ salvagerModuleDurationReduction
+
+ Used by:
+ Implant: Poteque 'Prospector' Environmental Analysis EY-1005
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Salvager',
+ 'duration', implant.getModifiedItemAttr('durationBonus'))
+
+
+class Effect4820(BaseEffect):
+ """
+ bcLargeEnergyTurretPowerNeedBonus
+
+ Used by:
+ Ship: Oracle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'power', ship.getModifiedItemAttr('bcLargeTurretPower'))
+
+
+class Effect4821(BaseEffect):
+ """
+ bcLargeHybridTurretPowerNeedBonus
+
+ Used by:
+ Ship: Naga
+ Ship: Talos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'power', ship.getModifiedItemAttr('bcLargeTurretPower'))
+
+
+class Effect4822(BaseEffect):
+ """
+ bcLargeProjectileTurretPowerNeedBonus
+
+ Used by:
+ Ship: Tornado
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'power', ship.getModifiedItemAttr('bcLargeTurretPower'))
+
+
+class Effect4823(BaseEffect):
+ """
+ bcLargeEnergyTurretCPUNeedBonus
+
+ Used by:
+ Ship: Oracle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'cpu', ship.getModifiedItemAttr('bcLargeTurretCPU'))
+
+
+class Effect4824(BaseEffect):
+ """
+ bcLargeHybridTurretCPUNeedBonus
+
+ Used by:
+ Ship: Naga
+ Ship: Talos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'cpu', ship.getModifiedItemAttr('bcLargeTurretCPU'))
+
+
+class Effect4825(BaseEffect):
+ """
+ bcLargeProjectileTurretCPUNeedBonus
+
+ Used by:
+ Ship: Tornado
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'cpu', ship.getModifiedItemAttr('bcLargeTurretCPU'))
+
+
+class Effect4826(BaseEffect):
+ """
+ bcLargeEnergyTurretCapacitorNeedBonus
+
+ Used by:
+ Ship: Oracle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('bcLargeTurretCap'))
+
+
+class Effect4827(BaseEffect):
+ """
+ bcLargeHybridTurretCapacitorNeedBonus
+
+ Used by:
+ Ship: Naga
+ Ship: Talos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('bcLargeTurretCap'))
+
+
+class Effect4867(BaseEffect):
+ """
+ setBonusChristmasPowergrid
+
+ Used by:
+ Implants named like: Genolution Core Augmentation CA (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',
+ 'powerEngineeringOutputBonus',
+ implant.getModifiedItemAttr('implantSetChristmas'))
+
+
+class Effect4868(BaseEffect):
+ """
+ setBonusChristmasCapacitorCapacity
+
+ Used by:
+ Implants named like: Genolution Core Augmentation CA (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',
+ 'capacitorCapacityBonus',
+ implant.getModifiedItemAttr('implantSetChristmas'))
+
+
+class Effect4869(BaseEffect):
+ """
+ setBonusChristmasCPUOutput
+
+ Used by:
+ Implants named like: Genolution Core Augmentation CA (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',
+ 'cpuOutputBonus2', implant.getModifiedItemAttr('implantSetChristmas'))
+
+
+class Effect4871(BaseEffect):
+ """
+ setBonusChristmasCapacitorRecharge2
+
+ Used by:
+ Implants named like: Genolution Core Augmentation CA (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',
+ 'capRechargeBonus', implant.getModifiedItemAttr('implantSetChristmas'))
+
+
+class Effect4896(BaseEffect):
+ """
+ shipBonusDroneHitpointsGF2
+
+ Used by:
+ Ship: Ishkur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'hp', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect4897(BaseEffect):
+ """
+ shipBonusDroneArmorHitpointsGF2
+
+ Used by:
+ Ship: Ishkur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect4898(BaseEffect):
+ """
+ shipBonusDroneShieldHitpointsGF2
+
+ Used by:
+ Ship: Ishkur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect4901(BaseEffect):
+ """
+ shipMissileSpeedBonusAF
+
+ Used by:
+ Ship: Vengeance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'speed', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect4902(BaseEffect):
+ """
+ MWDSignatureRadiusRoleBonus
+
+ Used by:
+ Ships from group: Assault Frigate (8 of 12)
+ Ships from group: Command Destroyer (4 of 4)
+ Ships from group: Heavy Assault Cruiser (8 of 11)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'signatureRadiusBonus', ship.getModifiedItemAttr('MWDSignatureRadiusBonus'))
+
+
+class Effect4906(BaseEffect):
+ """
+ systemDamageFighters
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Fighters'),
+ 'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4911(BaseEffect):
+ """
+ modifyShieldRechargeRatePassive
+
+ Used by:
+ Modules named like: Processor Overclocking Unit (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('shieldRechargeRate', module.getModifiedItemAttr('shieldRechargeRateMultiplier'))
+
+
+class Effect4921(BaseEffect):
+ """
+ microJumpDrive
+
+ Used by:
+ Modules from group: Micro Jump Drive (2 of 2)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonusPercent'))
+
+
+class Effect4923(BaseEffect):
+ """
+ skillMJDdurationBonus
+
+ Used by:
+ Skill: Micro Jump Drive Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Micro Jump Drive Operation'),
+ 'duration', skill.getModifiedItemAttr('durationBonus') * skill.level)
+
+
+class Effect4928(BaseEffect):
+ """
+ adaptiveArmorHardener
+
+ Used by:
+ Module: Reactive Armor Hardener
+ """
+
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # pyfalog = Logger(__name__)
+
+ damagePattern = fit.damagePattern
+ # pyfalog.debug('==============================')
+
+ static_adaptive_behavior = eos.config.settings['useStaticAdaptiveArmorHardener']
+
+ if (damagePattern.emAmount == damagePattern.thermalAmount == damagePattern.kineticAmount == damagePattern.explosiveAmount) and static_adaptive_behavior:
+ # pyfalog.debug('Setting adaptivearmorhardener resists to uniform profile.')
+ for attr in ('armorEmDamageResonance', 'armorThermalDamageResonance', 'armorKineticDamageResonance', 'armorExplosiveDamageResonance'):
+ fit.ship.multiplyItemAttr(attr, module.getModifiedItemAttr(attr), stackingPenalties=True, penaltyGroup='preMul')
+ return
+
+ # Skip if there is no damage pattern. Example: projected ships or fleet boosters
+ if damagePattern:
+
+ # Populate a tuple with the damage profile modified by current armor resists.
+ baseDamageTaken = (
+ damagePattern.emAmount * fit.ship.getModifiedItemAttr('armorEmDamageResonance'),
+ damagePattern.thermalAmount * fit.ship.getModifiedItemAttr('armorThermalDamageResonance'),
+ damagePattern.kineticAmount * fit.ship.getModifiedItemAttr('armorKineticDamageResonance'),
+ damagePattern.explosiveAmount * fit.ship.getModifiedItemAttr('armorExplosiveDamageResonance'),
+ )
+ # pyfalog.debug('Damage Adjusted for Armor Resists: %f/%f/%f/%f' % (baseDamageTaken[0], baseDamageTaken[1], baseDamageTaken[2], baseDamageTaken[3]))
+
+ resistanceShiftAmount = module.getModifiedItemAttr(
+ 'resistanceShiftAmount') / 100 # The attribute is in percent and we want a fraction
+ RAHResistance = [
+ module.getModifiedItemAttr('armorEmDamageResonance'),
+ module.getModifiedItemAttr('armorThermalDamageResonance'),
+ module.getModifiedItemAttr('armorKineticDamageResonance'),
+ module.getModifiedItemAttr('armorExplosiveDamageResonance'),
+ ]
+
+ # Simulate RAH cycles until the RAH either stops changing or enters a loop.
+ # The number of iterations is limited to prevent an infinite loop if something goes wrong.
+ cycleList = []
+ loopStart = -20
+ for num in range(50):
+ # pyfalog.debug('Starting cycle %d.' % num)
+ # The strange order is to emulate the ingame sorting when different types have taken the same amount of damage.
+ # This doesn't take into account stacking penalties. In a few cases fitting a Damage Control causes an inaccurate result.
+ damagePattern_tuples = [
+ (0, baseDamageTaken[0] * RAHResistance[0], RAHResistance[0]),
+ (3, baseDamageTaken[3] * RAHResistance[3], RAHResistance[3]),
+ (2, baseDamageTaken[2] * RAHResistance[2], RAHResistance[2]),
+ (1, baseDamageTaken[1] * RAHResistance[1], RAHResistance[1]),
+ ]
+
+ # Sort the tuple to drop the highest damage value to the bottom
+ sortedDamagePattern_tuples = sorted(damagePattern_tuples, key=lambda damagePattern: damagePattern[1])
+
+ if sortedDamagePattern_tuples[2][1] == 0:
+ # One damage type: the top damage type takes from the other three
+ # Since the resistances not taking damage will end up going to the type taking damage we just do the whole thing at once.
+ change0 = 1 - sortedDamagePattern_tuples[0][2]
+ change1 = 1 - sortedDamagePattern_tuples[1][2]
+ change2 = 1 - sortedDamagePattern_tuples[2][2]
+ change3 = -(change0 + change1 + change2)
+ elif sortedDamagePattern_tuples[1][1] == 0:
+ # Two damage types: the top two damage types take from the other two
+ # Since the resistances not taking damage will end up going equally to the types taking damage we just do the whole thing at once.
+ change0 = 1 - sortedDamagePattern_tuples[0][2]
+ change1 = 1 - sortedDamagePattern_tuples[1][2]
+ change2 = -(change0 + change1) / 2
+ change3 = -(change0 + change1) / 2
+ else:
+ # Three or four damage types: the top two damage types take from the other two
+ change0 = min(resistanceShiftAmount, 1 - sortedDamagePattern_tuples[0][2])
+ change1 = min(resistanceShiftAmount, 1 - sortedDamagePattern_tuples[1][2])
+ change2 = -(change0 + change1) / 2
+ change3 = -(change0 + change1) / 2
+
+ RAHResistance[sortedDamagePattern_tuples[0][0]] = sortedDamagePattern_tuples[0][2] + change0
+ RAHResistance[sortedDamagePattern_tuples[1][0]] = sortedDamagePattern_tuples[1][2] + change1
+ RAHResistance[sortedDamagePattern_tuples[2][0]] = sortedDamagePattern_tuples[2][2] + change2
+ RAHResistance[sortedDamagePattern_tuples[3][0]] = sortedDamagePattern_tuples[3][2] + change3
+ # pyfalog.debug('Resistances shifted to %f/%f/%f/%f' % ( RAHResistance[0], RAHResistance[1], RAHResistance[2], RAHResistance[3]))
+
+ # See if the current RAH profile has been encountered before, indicating a loop.
+ for i, val in enumerate(cycleList):
+ tolerance = 1e-06
+ if abs(RAHResistance[0] - val[0]) <= tolerance and \
+ abs(RAHResistance[1] - val[1]) <= tolerance and \
+ abs(RAHResistance[2] - val[2]) <= tolerance and \
+ abs(RAHResistance[3] - val[3]) <= tolerance:
+ loopStart = i
+ # pyfalog.debug('Loop found: %d-%d' % (loopStart, num))
+ break
+ if loopStart >= 0:
+ break
+
+ cycleList.append(list(RAHResistance))
+
+ # if loopStart < 0:
+ # pyfalog.error('Reactive Armor Hardener failed to find equilibrium. Damage profile after armor: {0}/{1}/{2}/{3}'.format(
+ # baseDamageTaken[0], baseDamageTaken[1], baseDamageTaken[2], baseDamageTaken[3]))
+
+ # Average the profiles in the RAH loop, or the last 20 if it didn't find a loop.
+ loopCycles = cycleList[loopStart:]
+ numCycles = len(loopCycles)
+ average = [0, 0, 0, 0]
+ for cycle in loopCycles:
+ for i in range(4):
+ average[i] += cycle[i]
+
+ for i in range(4):
+ average[i] = round(average[i] / numCycles, 3)
+
+ # Set the new resistances
+ # pyfalog.debug('Setting new resist profile: %f/%f/%f/%f' % ( average[0], average[1], average[2],average[3]))
+ for i, attr in enumerate((
+ 'armorEmDamageResonance', 'armorThermalDamageResonance', 'armorKineticDamageResonance',
+ 'armorExplosiveDamageResonance')):
+ module.increaseItemAttr(attr, average[i] - module.getModifiedItemAttr(attr))
+ fit.ship.multiplyItemAttr(attr, average[i], stackingPenalties=True, penaltyGroup='preMul')
+
+
+class Effect4934(BaseEffect):
+ """
+ shipArmorRepairingGF2
+
+ Used by:
+ Ship: Incursus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGF2'),
+ skill='Gallente Frigate')
+
+
+class Effect4936(BaseEffect):
+ """
+ fueledShieldBoosting
+
+ Used by:
+ Modules from group: Ancillary Shield Booster (8 of 8)
+ """
+
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ amount = module.getModifiedItemAttr('shieldBonus')
+ speed = module.getModifiedItemAttr('duration') / 1000.0
+ fit.extraAttributes.increase('shieldRepair', amount / speed)
+
+
+class Effect4941(BaseEffect):
+ """
+ shipHybridDamageBonusCF2
+
+ Used by:
+ Ship: Griffin Navy Issue
+ Ship: Merlin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect4942(BaseEffect):
+ """
+ targetBreaker
+
+ Used by:
+ Module: Target Spectrum Breaker
+ """
+
+ type = 'active'
+
+
+class Effect4945(BaseEffect):
+ """
+ skillTargetBreakerDurationBonus2
+
+ Used by:
+ Skill: Target Breaker Amplification
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Breaker',
+ 'duration', skill.getModifiedItemAttr('durationBonus') * skill.level)
+
+
+class Effect4946(BaseEffect):
+ """
+ skillTargetBreakerCapNeedBonus2
+
+ Used by:
+ Skill: Target Breaker Amplification
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Breaker',
+ 'capacitorNeed', skill.getModifiedItemAttr('capNeedBonus') * skill.level)
+
+
+class Effect4950(BaseEffect):
+ """
+ shipBonusShieldBoosterMB1a
+
+ Used by:
+ Ship: Maelstrom
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect4951(BaseEffect):
+ """
+ shieldBoostAmplifierPassiveBooster
+
+ Used by:
+ Implants named like: Agency 'Hardshell' TB Dose (4 of 4)
+ Implants named like: Blue Pill Booster (5 of 5)
+ Implant: Antipharmakon Thureo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Operation') or mod.item.requiresSkill('Capital Shield Operation'),
+ 'shieldBonus', container.getModifiedItemAttr('shieldBoostMultiplier'))
+
+
+class Effect4961(BaseEffect):
+ """
+ systemShieldRepairAmountShieldSkills
+
+ Used by:
+ Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Shield Operation') or
+ mod.item.requiresSkill('Capital Shield Operation'),
+ 'shieldBonus', module.getModifiedItemAttr('shieldBonusMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect4967(BaseEffect):
+ """
+ shieldBoosterDurationBonusShieldSkills
+
+ Used by:
+ Modules named like: Core Defense Operational Solidifier (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Operation') or mod.item.requiresSkill('Capital Shield Operation'),
+ 'duration', module.getModifiedItemAttr('durationSkillBonus'))
+
+
+class Effect4970(BaseEffect):
+ """
+ boosterShieldBoostAmountPenaltyShieldSkills
+
+ Used by:
+ Implants named like: Crash Booster (3 of 4)
+ Implants named like: Frentix Booster (3 of 4)
+ Implants named like: Mindflood Booster (3 of 4)
+ """
+
+ attr = 'boosterShieldBoostAmountPenalty'
+ displayName = 'Shield Boost'
+ type = 'boosterSideEffect'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',
+ src.getModifiedItemAttr('boosterShieldBoostAmountPenalty'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'), 'shieldBonus',
+ src.getModifiedItemAttr('boosterShieldBoostAmountPenalty'))
+
+
+class Effect4972(BaseEffect):
+ """
+ eliteBonusAssaultShipLightMissileROF
+
+ Used by:
+ Ship: Cambion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Light',
+ 'speed', ship.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates')
+
+
+class Effect4973(BaseEffect):
+ """
+ eliteBonusAssaultShipRocketROF
+
+ Used by:
+ Ship: Cambion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rocket',
+ 'speed', ship.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates')
+
+
+class Effect4974(BaseEffect):
+ """
+ eliteBonusMarauderShieldBonus2a
+
+ Used by:
+ Ship: Golem
+ Ship: Vargur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', ship.getModifiedItemAttr('eliteBonusViolators2'), skill='Marauders')
+
+
+class Effect4975(BaseEffect):
+ """
+ shipBonusMissileKineticlATF2
+
+ Used by:
+ Ship: Cambion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusATF2'))
+
+
+class Effect4976(BaseEffect):
+ """
+ skillReactiveArmorHardenerDurationBonus
+
+ Used by:
+ Skill: Resistance Phasing
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Resistance Shift Hardener', 'duration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Resistance Phasing'), 'duration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+
+
+class Effect4989(BaseEffect):
+ """
+ missileSkillAoeCloudSizeBonusAllIncludingCapitals
+
+ Used by:
+ Implants named like: Crash Booster (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeCloudSize', implant.getModifiedItemAttr('aoeCloudSizeBonus'))
+
+
+class Effect4990(BaseEffect):
+ """
+ shipEnergyTCapNeedBonusRookie
+
+ Used by:
+ Ship: Hematos
+ Ship: Impairor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('rookieSETCapBonus'))
+
+
+class Effect4991(BaseEffect):
+ """
+ shipSETDmgBonusRookie
+
+ Used by:
+ Ship: Hematos
+ Ship: Immolator
+ Ship: Impairor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('rookieSETDamageBonus'))
+
+
+class Effect4994(BaseEffect):
+ """
+ shipArmorEMResistanceRookie
+
+ Used by:
+ Ship: Devoter
+ Ship: Gold Magnate
+ Ship: Impairor
+ Ship: Phobos
+ Ship: Silver Magnate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('rookieArmorResistanceBonus'))
+
+
+class Effect4995(BaseEffect):
+ """
+ shipArmorEXResistanceRookie
+
+ Used by:
+ Ship: Devoter
+ Ship: Gold Magnate
+ Ship: Impairor
+ Ship: Phobos
+ Ship: Silver Magnate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('rookieArmorResistanceBonus'))
+
+
+class Effect4996(BaseEffect):
+ """
+ shipArmorKNResistanceRookie
+
+ Used by:
+ Ship: Devoter
+ Ship: Gold Magnate
+ Ship: Impairor
+ Ship: Phobos
+ Ship: Silver Magnate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('rookieArmorResistanceBonus'))
+
+
+class Effect4997(BaseEffect):
+ """
+ shipArmorTHResistanceRookie
+
+ Used by:
+ Ship: Devoter
+ Ship: Gold Magnate
+ Ship: Impairor
+ Ship: Phobos
+ Ship: Silver Magnate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('rookieArmorResistanceBonus'))
+
+
+class Effect4999(BaseEffect):
+ """
+ shipHybridRangeBonusRookie
+
+ Used by:
+ Ship: Ibis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('rookieSHTOptimalBonus'))
+
+
+class Effect5000(BaseEffect):
+ """
+ shipMissileKineticDamageRookie
+
+ Used by:
+ Ship: Ibis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('rookieMissileKinDamageBonus'))
+
+
+class Effect5008(BaseEffect):
+ """
+ shipShieldEMResistanceRookie
+
+ Used by:
+ Ships from group: Heavy Interdiction Cruiser (3 of 5)
+ Ship: Ibis
+ Ship: Taipan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('rookieShieldResistBonus'))
+
+
+class Effect5009(BaseEffect):
+ """
+ shipShieldExplosiveResistanceRookie
+
+ Used by:
+ Ships from group: Heavy Interdiction Cruiser (3 of 5)
+ Ship: Ibis
+ Ship: Taipan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('rookieShieldResistBonus'))
+
+
+class Effect5011(BaseEffect):
+ """
+ shipShieldKineticResistanceRookie
+
+ Used by:
+ Ships from group: Heavy Interdiction Cruiser (3 of 5)
+ Ship: Ibis
+ Ship: Taipan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('rookieShieldResistBonus'))
+
+
+class Effect5012(BaseEffect):
+ """
+ shipShieldThermalResistanceRookie
+
+ Used by:
+ Ships from group: Heavy Interdiction Cruiser (3 of 5)
+ Ship: Ibis
+ Ship: Taipan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('rookieShieldResistBonus'))
+
+
+class Effect5013(BaseEffect):
+ """
+ shipSHTDmgBonusRookie
+
+ Used by:
+ Ship: Velator
+ Ship: Violator
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('rookieSHTDamageBonus'))
+
+
+class Effect5014(BaseEffect):
+ """
+ shipBonusDroneDamageMultiplierRookie
+
+ Used by:
+ Ship: Gnosis
+ Ship: Praxis
+ Ship: Sunesis
+ Ship: Taipan
+ Ship: Velator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier', ship.getModifiedItemAttr('rookieDroneBonus'))
+
+
+class Effect5015(BaseEffect):
+ """
+ shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusRookie
+
+ Used by:
+ Ship: Velator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'maxTargetRangeBonus', ship.getModifiedItemAttr('rookieDampStrengthBonus'))
+
+
+class Effect5016(BaseEffect):
+ """
+ shipBonusEwRemoteSensorDampenerScanResolutionBonusRookie
+
+ Used by:
+ Ship: Velator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'scanResolutionBonus', ship.getModifiedItemAttr('rookieDampStrengthBonus'))
+
+
+class Effect5017(BaseEffect):
+ """
+ shipArmorRepairingRookie
+
+ Used by:
+ Ship: Velator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('rookieArmorRepBonus'))
+
+
+class Effect5018(BaseEffect):
+ """
+ shipVelocityBonusRookie
+
+ Used by:
+ Ship: Reaper
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('maxVelocity', ship.getModifiedItemAttr('rookieShipVelocityBonus'))
+
+
+class Effect5019(BaseEffect):
+ """
+ minmatarShipEwTargetPainterRookie
+
+ Used by:
+ Ship: Reaper
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',
+ 'signatureRadiusBonus', ship.getModifiedItemAttr('rookieTargetPainterStrengthBonus'))
+
+
+class Effect5020(BaseEffect):
+ """
+ shipSPTDmgBonusRookie
+
+ Used by:
+ Ship: Echo
+ Ship: Reaper
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('rookieSPTDamageBonus'))
+
+
+class Effect5021(BaseEffect):
+ """
+ shipShieldBoostRookie
+
+ Used by:
+ Ship: Immolator
+ Ship: Reaper
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', ship.getModifiedItemAttr('rookieShieldBoostBonus'))
+
+
+class Effect5028(BaseEffect):
+ """
+ shipECMScanStrengthBonusRookie
+
+ Used by:
+ Ship: Ibis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for type in ('Gravimetric', 'Ladar', 'Radar', 'Magnetometric'):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM',
+ 'scan{0}StrengthBonus'.format(type),
+ ship.getModifiedItemAttr('rookieECMStrengthBonus'))
+
+
+class Effect5029(BaseEffect):
+ """
+ shipBonusDroneMiningAmountRole
+
+ Used by:
+ Ships from group: Industrial Command Ship (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),
+ 'miningAmount',
+ src.getModifiedItemAttr('roleBonusDroneMiningYield'),
+ )
+
+
+class Effect5030(BaseEffect):
+ """
+ shipBonusMiningDroneAmountPercentRookie
+
+ Used by:
+ Ship: Gnosis
+ Ship: Praxis
+ Ship: Taipan
+ Ship: Velator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),
+ 'miningAmount', container.getModifiedItemAttr('rookieDroneBonus'))
+
+
+class Effect5035(BaseEffect):
+ """
+ shipBonusDroneHitpointsRookie
+
+ Used by:
+ Variations of ship: Procurer (2 of 2)
+ Ship: Gnosis
+ Ship: Praxis
+ Ship: Sunesis
+ Ship: Taipan
+ Ship: Velator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for type in ('shieldCapacity', 'armorHP', 'hp'):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ type, ship.getModifiedItemAttr('rookieDroneBonus'))
+
+
+class Effect5036(BaseEffect):
+ """
+ shipBonusSalvageCycleAF
+
+ Used by:
+ Ship: Magnate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),
+ 'duration', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect5045(BaseEffect):
+ """
+ shipBonusSalvageCycleCF
+
+ Used by:
+ Ship: Heron
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),
+ 'duration', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect5048(BaseEffect):
+ """
+ shipBonusSalvageCycleGF
+
+ Used by:
+ Ship: Imicus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),
+ 'duration', ship.getModifiedItemAttr('shipBonusGF'), skill='Amarr Frigate')
+
+
+class Effect5051(BaseEffect):
+ """
+ shipBonusSalvageCycleMF
+
+ Used by:
+ Ship: Probe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Salvaging'),
+ 'duration', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect5055(BaseEffect):
+ """
+ iceHarvesterDurationMultiplier
+
+ Used by:
+ Ship: Endurance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Ice Harvesting'),
+ 'duration', ship.getModifiedItemAttr('iceHarvestCycleBonus'))
+
+
+class Effect5058(BaseEffect):
+ """
+ miningYieldMultiplyPassive
+
+ Used by:
+ Variations of ship: Venture (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Mining'),
+ 'miningAmount', module.getModifiedItemAttr('miningAmountMultiplier'))
+
+
+class Effect5059(BaseEffect):
+ """
+ shipBonusIceHarvesterDurationORE3
+
+ Used by:
+ Ships from group: Exhumer (3 of 3)
+ Ships from group: Mining Barge (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'),
+ 'duration', container.getModifiedItemAttr('shipBonusORE3'), skill='Mining Barge')
+
+
+class Effect5066(BaseEffect):
+ """
+ shipBonusTargetPainterOptimalMF1
+
+ Used by:
+ Ship: Hyena
+ Ship: Vigil
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Target Painting'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect5067(BaseEffect):
+ """
+ shipBonusOreHoldORE2
+
+ Used by:
+ Variations of ship: Retriever (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('specialOreHoldCapacity', ship.getModifiedItemAttr('shipBonusORE2'), skill='Mining Barge')
+
+
+class Effect5068(BaseEffect):
+ """
+ shipBonusShieldCapacityORE2
+
+ Used by:
+ Variations of ship: Procurer (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldCapacity', ship.getModifiedItemAttr('shipBonusORE2'), skill='Mining Barge')
+
+
+class Effect5069(BaseEffect):
+ """
+ mercoxitCrystalBonus
+
+ Used by:
+ Module: Medium Mercoxit Mining Crystal Optimization I
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Mercoxit Processing'),
+ 'specialisationAsteroidYieldMultiplier',
+ module.getModifiedItemAttr('miningAmountBonus'))
+
+
+class Effect5079(BaseEffect):
+ """
+ shipMissileKineticDamageCF2
+
+ Used by:
+ Ship: Garmur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect5080(BaseEffect):
+ """
+ shipMissileVelocityCF
+
+ Used by:
+ Ship: Caldari Navy Hookbill
+ Ship: Crow
+ Ship: Kestrel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect5081(BaseEffect):
+ """
+ maxTargetingRangeBonusPostPercentPassive
+
+ Used by:
+ Modules named like: Ionic Field Projector (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect5087(BaseEffect):
+ """
+ shipBonusDroneHitpointsGF
+
+ Used by:
+ Ship: Astero
+ Ship: Maulus Navy Issue
+ Ship: Tristan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for layer in ('shieldCapacity', 'armorHP', 'hp'):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ layer, ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect5090(BaseEffect):
+ """
+ shipShieldBoostMF
+
+ Used by:
+ Ship: Breacher
+ Ship: Jaguar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect5103(BaseEffect):
+ """
+ shipBonusShieldTransferCapNeedCF
+
+ Used by:
+ Variations of ship: Bantam (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect5104(BaseEffect):
+ """
+ shipBonusShieldTransferBoostAmountCF2
+
+ Used by:
+ Variations of ship: Bantam (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect5105(BaseEffect):
+ """
+ shipBonusShieldTransferCapNeedMF
+
+ Used by:
+ Variations of ship: Burst (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect5106(BaseEffect):
+ """
+ shipBonusShieldTransferBoostAmountMF2
+
+ Used by:
+ Variations of ship: Burst (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+
+
+class Effect5107(BaseEffect):
+ """
+ shipBonusRemoteArmorRepairCapNeedGF
+
+ Used by:
+ Variations of ship: Navitas (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect5108(BaseEffect):
+ """
+ shipBonusRemoteArmorRepairAmountGF2
+
+ Used by:
+ Variations of ship: Navitas (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('shipBonusGF2'),
+ skill='Gallente Frigate')
+
+
+class Effect5109(BaseEffect):
+ """
+ shipBonusRemoteArmorRepairCapNeedAF
+
+ Used by:
+ Ship: Deacon
+ Ship: Inquisitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect5110(BaseEffect):
+ """
+ shipBonusRemoteArmorRepairAmount2AF
+
+ Used by:
+ Ship: Deacon
+ Ship: Inquisitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect5111(BaseEffect):
+ """
+ shipBonusDroneTrackingGF
+
+ Used by:
+ Ship: Maulus Navy Issue
+ Ship: Tristan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect5119(BaseEffect):
+ """
+ shipBonusScanProbeStrength2AF
+
+ Used by:
+ Ship: Magnate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Scanner Probe',
+ 'baseSensorStrength', ship.getModifiedItemAttr('shipBonus2AF'),
+ skill='Amarr Frigate')
+
+
+class Effect5121(BaseEffect):
+ """
+ energyTransferArrayTransferAmountBonus
+
+ Used by:
+ Ship: Augoror
+ Ship: Osprey
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',
+ 'powerTransferAmount', ship.getModifiedItemAttr('energyTransferAmountBonus'))
+
+
+class Effect5122(BaseEffect):
+ """
+ shipBonusShieldTransferCapneedMC1
+
+ Used by:
+ Ship: Scythe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser')
+
+
+class Effect5123(BaseEffect):
+ """
+ shipBonusRemoteArmorRepairCapNeedAC1
+
+ Used by:
+ Ship: Augoror
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect5124(BaseEffect):
+ """
+ shipBonusRemoteArmorRepairAmountAC2
+
+ Used by:
+ Ship: Augoror
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect5125(BaseEffect):
+ """
+ shipBonusRemoteArmorRepairAmountGC2
+
+ Used by:
+ Ship: Exequror
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('shipBonusGC2'),
+ skill='Gallente Cruiser')
+
+
+class Effect5126(BaseEffect):
+ """
+ shipBonusShieldTransferBoostAmountCC2
+
+ Used by:
+ Ship: Osprey
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect5127(BaseEffect):
+ """
+ shipBonusShieldTransferBoostAmountMC2
+
+ Used by:
+ Ship: Scythe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect5128(BaseEffect):
+ """
+ shipBonusEwRemoteSensorDampenerOptimalBonusGC1
+
+ Used by:
+ Ship: Celestis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect5129(BaseEffect):
+ """
+ minmatarShipEwTargetPainterMC1
+
+ Used by:
+ Ship: Bellicose
+ Ship: Rapier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter',
+ 'signatureRadiusBonus', ship.getModifiedItemAttr('shipBonusMC'),
+ skill='Minmatar Cruiser')
+
+
+class Effect5131(BaseEffect):
+ """
+ shipMissileRofCC
+
+ Used by:
+ Ships named like: Caracal (2 of 2)
+ Ship: Enforcer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'speed', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect5132(BaseEffect):
+ """
+ shipPTurretFalloffBonusMC2
+
+ Used by:
+ Ship: Enforcer
+ Ship: Stabber
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect5133(BaseEffect):
+ """
+ shipHTDamageBonusCC
+
+ Used by:
+ Ship: Moa
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect5136(BaseEffect):
+ """
+ shipMETCDamageBonusAC
+
+ Used by:
+ Ship: Augoror Navy Issue
+ Ship: Enforcer
+ Ship: Maller
+ Ship: Omen Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect5139(BaseEffect):
+ """
+ shipMiningBonusOREfrig1
+
+ Used by:
+ Variations of ship: Venture (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),
+ 'miningAmount', module.getModifiedItemAttr('shipBonusOREfrig1'),
+ skill='Mining Frigate')
+
+
+class Effect5142(BaseEffect):
+ """
+ GCHYieldMultiplyPassive
+
+ Used by:
+ Ship: Prospect
+ Ship: Venture
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Gas Cloud Harvester',
+ 'miningAmount', module.getModifiedItemAttr('miningAmountMultiplier'))
+
+
+class Effect5153(BaseEffect):
+ """
+ shipMissileVelocityPirateFactionRocket
+
+ Used by:
+ Ship: Corax
+ Ship: Talwar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5156(BaseEffect):
+ """
+ shipGCHYieldBonusOREfrig2
+
+ Used by:
+ Ship: Prospect
+ Ship: Venture
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Gas Cloud Harvester',
+ 'duration', module.getModifiedItemAttr('shipBonusOREfrig2'), skill='Mining Frigate')
+
+
+class Effect5162(BaseEffect):
+ """
+ skillReactiveArmorHardenerCapNeedBonus
+
+ Used by:
+ Skill: Resistance Phasing
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Resistance Shift Hardener', 'capacitorNeed',
+ src.getModifiedItemAttr('capNeedBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Resistance Phasing'), 'capacitorNeed',
+ src.getModifiedItemAttr('capNeedBonus') * lvl)
+
+
+class Effect5165(BaseEffect):
+ """
+ shipBonusDroneMWDboostrole
+
+ Used by:
+ Ship: Algos
+ Ship: Dragoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5168(BaseEffect):
+ """
+ droneSalvageBonus
+
+ Used by:
+ Skill: Salvage Drone Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.drones.filteredItemIncrease(lambda drone: drone.item.requiresSkill('Salvage Drone Operation'),
+ 'accessDifficultyBonus',
+ container.getModifiedItemAttr('accessDifficultyBonus') * container.level)
+
+
+class Effect5180(BaseEffect):
+ """
+ sensorCompensationSensorStrengthBonusGravimetric
+
+ Used by:
+ Skill: Gravimetric Sensor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.ship.boostItemAttr('scanGravimetricStrength',
+ container.getModifiedItemAttr('sensorStrengthBonus') * container.level)
+
+
+class Effect5181(BaseEffect):
+ """
+ sensorCompensationSensorStrengthBonusLadar
+
+ Used by:
+ Skill: Ladar Sensor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.ship.boostItemAttr('scanLadarStrength', container.getModifiedItemAttr('sensorStrengthBonus') * container.level)
+
+
+class Effect5182(BaseEffect):
+ """
+ sensorCompensationSensorStrengthBonusMagnetometric
+
+ Used by:
+ Skill: Magnetometric Sensor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.ship.boostItemAttr('scanMagnetometricStrength',
+ container.getModifiedItemAttr('sensorStrengthBonus') * container.level)
+
+
+class Effect5183(BaseEffect):
+ """
+ sensorCompensationSensorStrengthBonusRadar
+
+ Used by:
+ Skill: Radar Sensor Compensation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.ship.boostItemAttr('scanRadarStrength', container.getModifiedItemAttr('sensorStrengthBonus') * container.level)
+
+
+class Effect5185(BaseEffect):
+ """
+ shipEnergyVampireAmountBonusFixedAF2
+
+ Used by:
+ Ship: Malice
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount', ship.getModifiedItemAttr('shipBonus2AF'),
+ skill='Amarr Frigate')
+
+
+class Effect5187(BaseEffect):
+ """
+ shipBonusEwRemoteSensorDampenerFalloffBonusGC1
+
+ Used by:
+ Ship: Celestis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Sensor Dampener',
+ 'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusGC'),
+ skill='Gallente Cruiser')
+
+
+class Effect5188(BaseEffect):
+ """
+ trackingSpeedBonusEffectHybrids
+
+ Used by:
+ Modules named like: Hybrid Metastasis Adjuster (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Hybrid Weapon',
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),
+ stackingPenalties=True)
+
+
+class Effect5189(BaseEffect):
+ """
+ trackingSpeedBonusEffectLasers
+
+ Used by:
+ Modules named like: Energy Metastasis Adjuster (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Weapon',
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),
+ stackingPenalties=True)
+
+
+class Effect5190(BaseEffect):
+ """
+ trackingSpeedBonusEffectProjectiles
+
+ Used by:
+ Modules named like: Projectile Metastasis Adjuster (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Projectile Weapon',
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),
+ stackingPenalties=True)
+
+
+class Effect5201(BaseEffect):
+ """
+ armorUpgradesMassPenaltyReductionBonus
+
+ Used by:
+ Skill: Armor Layering
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Armor Reinforcer',
+ 'massAddition', container.getModifiedItemAttr('massPenaltyReduction') * level)
+
+
+class Effect5205(BaseEffect):
+ """
+ shipSETTrackingBonusRookie
+
+ Used by:
+ Ship: Immolator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('rookieSETTracking'))
+
+
+class Effect5206(BaseEffect):
+ """
+ shipSETOptimalBonusRookie
+
+ Used by:
+ Ship: Immolator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('rookieSETOptimal'))
+
+
+class Effect5207(BaseEffect):
+ """
+ shipNOSTransferAmountBonusRookie
+
+ Used by:
+ Ship: Hematos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount', ship.getModifiedItemAttr('rookieNosDrain'))
+
+
+class Effect5208(BaseEffect):
+ """
+ shipNeutDestabilizationAmountBonusRookie
+
+ Used by:
+ Ship: Hematos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',
+ 'energyNeutralizerAmount', ship.getModifiedItemAttr('rookieNeutDrain'))
+
+
+class Effect5209(BaseEffect):
+ """
+ shipWebVelocityBonusRookie
+
+ Used by:
+ Ship: Hematos
+ Ship: Violator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'speedFactor', ship.getModifiedItemAttr('rookieWebAmount'))
+
+
+class Effect5212(BaseEffect):
+ """
+ shipDroneMWDSpeedBonusRookie
+
+ Used by:
+ Ship: Taipan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda mod: True,
+ 'maxVelocity', ship.getModifiedItemAttr('rookieDroneMWDspeed'))
+
+
+class Effect5213(BaseEffect):
+ """
+ shipRocketMaxVelocityBonusRookie
+
+ Used by:
+ Ship: Taipan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'maxVelocity', ship.getModifiedItemAttr('rookieRocketVelocity'))
+
+
+class Effect5214(BaseEffect):
+ """
+ shipLightMissileMaxVelocityBonusRookie
+
+ Used by:
+ Ship: Taipan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('rookieLightMissileVelocity'))
+
+
+class Effect5215(BaseEffect):
+ """
+ shipSHTTrackingSpeedBonusRookie
+
+ Used by:
+ Ship: Violator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('rookieSHTTracking'))
+
+
+class Effect5216(BaseEffect):
+ """
+ shipSHTFalloffBonusRookie
+
+ Used by:
+ Ship: Violator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'falloff', ship.getModifiedItemAttr('rookieSHTFalloff'))
+
+
+class Effect5217(BaseEffect):
+ """
+ shipSPTTrackingSpeedBonusRookie
+
+ Used by:
+ Ship: Echo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('rookieSPTTracking'))
+
+
+class Effect5218(BaseEffect):
+ """
+ shipSPTFalloffBonusRookie
+
+ Used by:
+ Ship: Echo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('rookieSPTFalloff'))
+
+
+class Effect5219(BaseEffect):
+ """
+ shipSPTOptimalRangeBonusRookie
+
+ Used by:
+ Ship: Echo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'maxRange', ship.getModifiedItemAttr('rookieSPTOptimal'))
+
+
+class Effect5220(BaseEffect):
+ """
+ shipProjectileDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5221(BaseEffect):
+ """
+ shipHeavyAssaultMissileEMDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5222(BaseEffect):
+ """
+ shipHeavyAssaultMissileKinDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5223(BaseEffect):
+ """
+ shipHeavyAssaultMissileThermDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5224(BaseEffect):
+ """
+ shipHeavyAssaultMissileExpDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5225(BaseEffect):
+ """
+ shipHeavyMissileEMDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5226(BaseEffect):
+ """
+ shipHeavyMissileExpDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5227(BaseEffect):
+ """
+ shipHeavyMissileKinDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5228(BaseEffect):
+ """
+ shipHeavyMissileThermDmgPirateCruiser
+
+ Used by:
+ Ship: Gnosis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5229(BaseEffect):
+ """
+ shipScanProbeStrengthBonusPirateCruiser
+
+ Used by:
+ Ships named like: Stratios (2 of 2)
+ Ship: Astero
+ Ship: Gnosis
+ Ship: Praxis
+ Ship: Sunesis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),
+ 'baseSensorStrength', container.getModifiedItemAttr('shipBonusRole8'))
+
+
+class Effect5230(BaseEffect):
+ """
+ modifyActiveShieldResonancePostPercent
+
+ Used by:
+ Modules from group: Flex Shield Hardener (5 of 5)
+ Modules from group: Shield Hardener (97 of 97)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for damageType in ('kinetic', 'thermal', 'explosive', 'em'):
+ fit.ship.boostItemAttr('shield' + damageType.capitalize() + 'DamageResonance',
+ module.getModifiedItemAttr(damageType + 'DamageResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect5231(BaseEffect):
+ """
+ modifyActiveArmorResonancePostPercent
+
+ Used by:
+ Modules from group: Armor Hardener (156 of 156)
+ Modules from group: Flex Armor Hardener (4 of 4)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for damageType in ('kinetic', 'thermal', 'explosive', 'em'):
+ fit.ship.boostItemAttr('armor%sDamageResonance' % damageType.capitalize(),
+ module.getModifiedItemAttr('%sDamageResistanceBonus' % damageType),
+ stackingPenalties=True)
+
+
+class Effect5234(BaseEffect):
+ """
+ shipSmallMissileExpDmgCF2
+
+ Used by:
+ Ship: Caldari Navy Hookbill
+ Ship: Kestrel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect5237(BaseEffect):
+ """
+ shipSmallMissileKinDmgCF2
+
+ Used by:
+ Ship: Kestrel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect5240(BaseEffect):
+ """
+ shipSmallMissileThermDmgCF2
+
+ Used by:
+ Ship: Caldari Navy Hookbill
+ Ship: Kestrel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect5243(BaseEffect):
+ """
+ shipSmallMissileEMDmgCF2
+
+ Used by:
+ Ship: Caldari Navy Hookbill
+ Ship: Kestrel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect5259(BaseEffect):
+ """
+ reconShipCloakCpuBonus1
+
+ Used by:
+ Ships from group: Force Recon Ship (7 of 9)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Cloaking Device',
+ 'cpu', ship.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships')
+
+
+class Effect5260(BaseEffect):
+ """
+ covertOpsCloakCpuPercentBonus1
+
+ Used by:
+ Ships from group: Covert Ops (6 of 8)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'),
+ 'cpu', ship.getModifiedItemAttr('eliteBonusCovertOps1'), skill='Covert Ops')
+
+
+class Effect5261(BaseEffect):
+ """
+ CovertCloakCPUAddition
+
+ Used by:
+ Modules named like: Covert Ops Cloaking Device II (2 of 2)
+ Module: Covert Cynosural Field Generator I
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.increaseItemAttr('cpu', module.getModifiedItemAttr('covertCloakCPUAdd') or 0)
+
+
+class Effect5262(BaseEffect):
+ """
+ covertOpsCloakCpuPenalty
+
+ Used by:
+ Subsystems from group: Defensive Systems (8 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Cloaking'),
+ 'covertCloakCPUAdd', module.getModifiedItemAttr('covertCloakCPUPenalty'))
+
+
+class Effect5263(BaseEffect):
+ """
+ covertCynoCpuPenalty
+
+ Used by:
+ Subsystems from group: Defensive Systems (8 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Cynosural Field Theory'),
+ 'covertCloakCPUAdd', module.getModifiedItemAttr('covertCloakCPUPenalty'))
+
+
+class Effect5264(BaseEffect):
+ """
+ warfareLinkCPUAddition
+
+ Used by:
+ Modules from group: Command Burst (10 of 10)
+ Modules from group: Gang Coordinator (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.increaseItemAttr('cpu', module.getModifiedItemAttr('warfareLinkCPUAdd') or 0)
+
+
+class Effect5265(BaseEffect):
+ """
+ warfareLinkCpuPenalty
+
+ Used by:
+ Subsystems from group: Offensive Systems (8 of 12)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'),
+ 'warfareLinkCPUAdd', module.getModifiedItemAttr('warfareLinkCPUPenalty'))
+
+
+class Effect5266(BaseEffect):
+ """
+ blockadeRunnerCloakCpuPercentBonus
+
+ Used by:
+ Ships from group: Blockade Runner (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Cloaking Device',
+ 'cpu', ship.getModifiedItemAttr('eliteIndustrialCovertCloakBonus'),
+ skill='Transport Ships')
+
+
+class Effect5267(BaseEffect):
+ """
+ drawbackRepairSystemsPGNeed
+
+ Used by:
+ Modules named like: Auxiliary Nano Pump (6 of 8)
+ Modules named like: Nanobot Accelerator (6 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'power', module.getModifiedItemAttr('drawback'))
+
+
+class Effect5268(BaseEffect):
+ """
+ drawbackCapRepPGNeed
+
+ Used by:
+ Variations of module: Capital Auxiliary Nano Pump I (2 of 2)
+ Variations of module: Capital Nanobot Accelerator I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'),
+ 'power', module.getModifiedItemAttr('drawback'))
+
+
+class Effect5275(BaseEffect):
+ """
+ fueledArmorRepair
+
+ Used by:
+ Modules from group: Ancillary Armor Repairer (7 of 7)
+ """
+
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ if module.charge and module.charge.name == 'Nanite Repair Paste':
+ multiplier = 3
+ else:
+ multiplier = 1
+
+ amount = module.getModifiedItemAttr('armorDamageAmount') * multiplier
+ speed = module.getModifiedItemAttr('duration') / 1000.0
+ rps = amount / speed
+ fit.extraAttributes.increase('armorRepair', rps)
+ fit.extraAttributes.increase('armorRepairPreSpool', rps)
+ fit.extraAttributes.increase('armorRepairFullSpool', rps)
+
+
+class Effect5293(BaseEffect):
+ """
+ shipLaserCapNeed2AD1
+
+ Used by:
+ Ship: Coercer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer')
+
+
+class Effect5294(BaseEffect):
+ """
+ shipLaserTracking2AD2
+
+ Used by:
+ Ship: Coercer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusAD2'), skill='Amarr Destroyer')
+
+
+class Effect5295(BaseEffect):
+ """
+ shipBonusDroneDamageMultiplierAD1
+
+ Used by:
+ Variations of ship: Dragoon (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer')
+
+
+class Effect5300(BaseEffect):
+ """
+ shipBonusDroneHitpointsAD1
+
+ Used by:
+ Variations of ship: Dragoon (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',
+ src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',
+ src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',
+ src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer')
+
+
+class Effect5303(BaseEffect):
+ """
+ shipHybridRange1CD1
+
+ Used by:
+ Ship: Cormorant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer')
+
+
+class Effect5304(BaseEffect):
+ """
+ shipHybridTrackingCD2
+
+ Used by:
+ Ship: Cormorant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusCD2'), skill='Caldari Destroyer')
+
+
+class Effect5305(BaseEffect):
+ """
+ shipBonusFrigateSizedMissileKineticDamageCD1
+
+ Used by:
+ Ship: Corax
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCD1'),
+ skill='Caldari Destroyer')
+
+
+class Effect5306(BaseEffect):
+ """
+ shipRocketKineticDmgCD1
+
+ Used by:
+ Ship: Corax
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCD1'),
+ skill='Caldari Destroyer')
+
+
+class Effect5307(BaseEffect):
+ """
+ shipBonusAoeVelocityRocketsCD2
+
+ Used by:
+ Ship: Corax
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'aoeVelocity', ship.getModifiedItemAttr('shipBonusCD2'), skill='Caldari Destroyer')
+
+
+class Effect5308(BaseEffect):
+ """
+ shipBonusAoeVelocityStandardMissilesCD2
+
+ Used by:
+ Ship: Corax
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'aoeVelocity', ship.getModifiedItemAttr('shipBonusCD2'), skill='Caldari Destroyer')
+
+
+class Effect5309(BaseEffect):
+ """
+ shipHybridFallOff1GD1
+
+ Used by:
+ Ship: Catalyst
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer')
+
+
+class Effect5310(BaseEffect):
+ """
+ shipHybridTracking1GD2
+
+ Used by:
+ Variations of ship: Catalyst (2 of 2)
+ Ship: Algos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGD2'), skill='Gallente Destroyer')
+
+
+class Effect5311(BaseEffect):
+ """
+ shipBonusDroneDamageMultiplierGD1
+
+ Used by:
+ Variations of ship: Algos (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer')
+
+
+class Effect5316(BaseEffect):
+ """
+ shipBonusDroneHitpointsGD1
+
+ Used by:
+ Variations of ship: Algos (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',
+ src.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',
+ src.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',
+ src.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer')
+
+
+class Effect5317(BaseEffect):
+ """
+ shipProjectileDamageMD1
+
+ Used by:
+ Variations of ship: Thrasher (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusMD1'),
+ skill='Minmatar Destroyer')
+
+
+class Effect5318(BaseEffect):
+ """
+ shipProjectileTracking1MD2
+
+ Used by:
+ Variations of ship: Thrasher (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusMD2'), skill='Minmatar Destroyer')
+
+
+class Effect5319(BaseEffect):
+ """
+ shipBonusFrigateSizedLightMissileExplosiveDamageMD1
+
+ Used by:
+ Ship: Talwar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusMD1'),
+ skill='Minmatar Destroyer')
+
+
+class Effect5320(BaseEffect):
+ """
+ shipRocketExplosiveDmgMD1
+
+ Used by:
+ Ship: Talwar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusMD1'),
+ skill='Minmatar Destroyer')
+
+
+class Effect5321(BaseEffect):
+ """
+ shipBonusMWDSignatureRadiusMD2
+
+ Used by:
+ Ship: Talwar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'signatureRadiusBonus', ship.getModifiedItemAttr('shipBonusMD2'),
+ skill='Minmatar Destroyer')
+
+
+class Effect5322(BaseEffect):
+ """
+ shipArmorEMResistance1ABC1
+
+ Used by:
+ Variations of ship: Prophecy (2 of 2)
+ Ship: Absolution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusABC1'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5323(BaseEffect):
+ """
+ shipArmorExplosiveResistance1ABC1
+
+ Used by:
+ Variations of ship: Prophecy (2 of 2)
+ Ship: Absolution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusABC1'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5324(BaseEffect):
+ """
+ shipArmorKineticResistance1ABC1
+
+ Used by:
+ Variations of ship: Prophecy (2 of 2)
+ Ship: Absolution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusABC1'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5325(BaseEffect):
+ """
+ shipArmorThermResistance1ABC1
+
+ Used by:
+ Variations of ship: Prophecy (2 of 2)
+ Ship: Absolution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusABC1'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5326(BaseEffect):
+ """
+ shipBonusDroneDamageMultiplierABC2
+
+ Used by:
+ Ship: Prophecy
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusABC2'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5331(BaseEffect):
+ """
+ shipBonusDroneHitpointsABC2
+
+ Used by:
+ Ship: Prophecy
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for layer in ('shieldCapacity', 'armorHP', 'hp'):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ layer, ship.getModifiedItemAttr('shipBonusABC2'), skill='Amarr Battlecruiser')
+
+
+class Effect5332(BaseEffect):
+ """
+ shipLaserCapABC1
+
+ Used by:
+ Ship: Harbinger
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusABC1'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5333(BaseEffect):
+ """
+ shipLaserDamageBonusABC2
+
+ Used by:
+ Ships named like: Harbinger (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusABC2'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5334(BaseEffect):
+ """
+ shipHybridOptimal1CBC1
+
+ Used by:
+ Variations of ship: Ferox (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusCBC1'), skill='Caldari Battlecruiser')
+
+
+class Effect5335(BaseEffect):
+ """
+ shipShieldEmResistance1CBC2
+
+ Used by:
+ Ship: Drake
+ Ship: Nighthawk
+ Ship: Vulture
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldEmDamageResonance', ship.getModifiedItemAttr('shipBonusCBC2'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect5336(BaseEffect):
+ """
+ shipShieldExplosiveResistance1CBC2
+
+ Used by:
+ Ship: Drake
+ Ship: Nighthawk
+ Ship: Vulture
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusCBC2'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect5337(BaseEffect):
+ """
+ shipShieldKineticResistance1CBC2
+
+ Used by:
+ Ship: Drake
+ Ship: Nighthawk
+ Ship: Vulture
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', ship.getModifiedItemAttr('shipBonusCBC2'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect5338(BaseEffect):
+ """
+ shipShieldThermalResistance1CBC2
+
+ Used by:
+ Ship: Drake
+ Ship: Nighthawk
+ Ship: Vulture
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', ship.getModifiedItemAttr('shipBonusCBC2'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect5339(BaseEffect):
+ """
+ shipBonusHeavyAssaultMissileKineticDamageCBC1
+
+ Used by:
+ Ship: Drake
+ Ship: Nighthawk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCBC1'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect5340(BaseEffect):
+ """
+ shipBonusHeavyMissileKineticDamageCBC1
+
+ Used by:
+ Ship: Drake
+ Ship: Nighthawk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCBC1'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect5341(BaseEffect):
+ """
+ shipHybridDmg1GBC1
+
+ Used by:
+ Variations of ship: Brutix (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGBC1'),
+ skill='Gallente Battlecruiser')
+
+
+class Effect5342(BaseEffect):
+ """
+ shipArmorRepairing1GBC2
+
+ Used by:
+ Variations of ship: Myrmidon (2 of 2)
+ Ship: Astarte
+ Ship: Brutix
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGBC2'),
+ skill='Gallente Battlecruiser')
+
+
+class Effect5343(BaseEffect):
+ """
+ shipBonusDroneDamageMultiplierGBC1
+
+ Used by:
+ Variations of ship: Myrmidon (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGBC1'),
+ skill='Gallente Battlecruiser')
+
+
+class Effect5348(BaseEffect):
+ """
+ shipBonusDroneHitpointsGBC1
+
+ Used by:
+ Variations of ship: Myrmidon (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for layer in ('shieldCapacity', 'armorHP', 'hp'):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ layer, ship.getModifiedItemAttr('shipBonusGBC1'), skill='Gallente Battlecruiser')
+
+
+class Effect5349(BaseEffect):
+ """
+ shipBonusHeavyMissileLauncherRofMBC2
+
+ Used by:
+ Variations of ship: Cyclone (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy',
+ 'speed', ship.getModifiedItemAttr('shipBonusMBC2'), skill='Minmatar Battlecruiser')
+
+
+class Effect5350(BaseEffect):
+ """
+ shipBonusHeavyAssaultMissileLauncherRofMBC2
+
+ Used by:
+ Variations of ship: Cyclone (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy Assault',
+ 'speed', ship.getModifiedItemAttr('shipBonusMBC2'), skill='Minmatar Battlecruiser')
+
+
+class Effect5351(BaseEffect):
+ """
+ shipShieldBoost1MBC1
+
+ Used by:
+ Variations of ship: Cyclone (2 of 2)
+ Ship: Sleipnir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusMBC1'),
+ skill='Minmatar Battlecruiser')
+
+
+class Effect5352(BaseEffect):
+ """
+ shipBonusProjectileDamageMBC1
+
+ Used by:
+ Ships named like: Hurricane (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusMBC1'),
+ skill='Minmatar Battlecruiser')
+
+
+class Effect5353(BaseEffect):
+ """
+ shipProjectileRof1MBC2
+
+ Used by:
+ Ship: Hurricane
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusMBC2'), skill='Minmatar Battlecruiser')
+
+
+class Effect5354(BaseEffect):
+ """
+ shipLargeLaserCapABC1
+
+ Used by:
+ Ship: Oracle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusABC1'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5355(BaseEffect):
+ """
+ shipLargeLaserDamageBonusABC2
+
+ Used by:
+ Ship: Oracle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusABC2'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5356(BaseEffect):
+ """
+ shipHybridRangeBonusCBC1
+
+ Used by:
+ Ship: Naga
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusCBC1'), skill='Caldari Battlecruiser')
+
+
+class Effect5357(BaseEffect):
+ """
+ shipHybridDamageBonusCBC2
+
+ Used by:
+ Ship: Naga
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusCBC2'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect5358(BaseEffect):
+ """
+ shipLargeHybridTrackingBonusGBC1
+
+ Used by:
+ Ship: Talos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGBC1'),
+ skill='Gallente Battlecruiser')
+
+
+class Effect5359(BaseEffect):
+ """
+ shipHybridDamageBonusGBC2
+
+ Used by:
+ Ship: Talos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGBC2'),
+ skill='Gallente Battlecruiser')
+
+
+class Effect5360(BaseEffect):
+ """
+ shipProjectileRofBonusMBC1
+
+ Used by:
+ Ship: Tornado
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusMBC1'), skill='Minmatar Battlecruiser')
+
+
+class Effect5361(BaseEffect):
+ """
+ shipProjectileFalloffBonusMBC2
+
+ Used by:
+ Ship: Tornado
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusMBC2'), skill='Minmatar Battlecruiser')
+
+
+class Effect5364(BaseEffect):
+ """
+ armorAllRepairSystemsAmountBonusPassive
+
+ Used by:
+ Implants named like: Agency 'Hardshell' TB Dose (4 of 4)
+ Implants named like: Exile Booster (4 of 4)
+ Implant: Antipharmakon Kosybo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, booster, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Repair Systems') or mod.item.requiresSkill('Capital Repair Systems'),
+ 'armorDamageAmount', booster.getModifiedItemAttr('armorDamageAmountBonus') or 0)
+
+
+class Effect5365(BaseEffect):
+ """
+ eliteBonusViolatorsRepairSystemsArmorDamageAmount2
+
+ Used by:
+ Ship: Kronos
+ Ship: Paladin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('eliteBonusViolators2'),
+ skill='Marauders')
+
+
+class Effect5366(BaseEffect):
+ """
+ shipBonusRepairSystemsBonusATC2
+
+ Used by:
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('shipBonusATC2'))
+
+
+class Effect5367(BaseEffect):
+ """
+ shipBonusRepairSystemsArmorRepairAmountGB2
+
+ Used by:
+ Ship: Hyperion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGB2'),
+ skill='Gallente Battleship')
+
+
+class Effect5378(BaseEffect):
+ """
+ shipHeavyMissileAOECloudSizeCBC1
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCBC1'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect5379(BaseEffect):
+ """
+ shipHeavyAssaultMissileAOECloudSizeCBC1
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCBC1'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect5380(BaseEffect):
+ """
+ shipHybridTrackingGBC2
+
+ Used by:
+ Ship: Brutix Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGBC2'),
+ skill='Gallente Battlecruiser')
+
+
+class Effect5381(BaseEffect):
+ """
+ shipEnergyTrackingABC1
+
+ Used by:
+ Ship: Harbinger Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusABC1'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5382(BaseEffect):
+ """
+ shipBonusMETOptimalAC2
+
+ Used by:
+ Ship: Enforcer
+ Ship: Omen Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect5383(BaseEffect):
+ """
+ shipMissileEMDamageCC
+
+ Used by:
+ Ship: Orthrus
+ Ship: Osprey Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect5384(BaseEffect):
+ """
+ shipMissileThermDamageCC
+
+ Used by:
+ Ship: Orthrus
+ Ship: Osprey Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect5385(BaseEffect):
+ """
+ shipMissileExpDamageCC
+
+ Used by:
+ Ship: Orthrus
+ Ship: Osprey Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect5386(BaseEffect):
+ """
+ shipMissileKinDamageCC2
+
+ Used by:
+ Ship: Rook
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect5387(BaseEffect):
+ """
+ shipHeavyAssaultMissileAOECloudSizeCC2
+
+ Used by:
+ Ship: Caracal Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect5388(BaseEffect):
+ """
+ shipHeavyMissileAOECloudSizeCC2
+
+ Used by:
+ Ship: Caracal Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect5389(BaseEffect):
+ """
+ shipBonusDroneTrackingGC
+
+ Used by:
+ Ship: Vexor Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect5390(BaseEffect):
+ """
+ shipBonusDroneMWDboostGC
+
+ Used by:
+ Ship: Vexor Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect5397(BaseEffect):
+ """
+ baseMaxScanDeviationModifierModuleOnline2None
+
+ Used by:
+ Variations of module: Scan Pinpointing Array I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),
+ 'baseMaxScanDeviation',
+ module.getModifiedItemAttr('maxScanDeviationModifierModule'),
+ stackingPenalties=True)
+
+
+class Effect5398(BaseEffect):
+ """
+ systemScanDurationModuleModifier
+
+ Used by:
+ Modules from group: Scanning Upgrade Time (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Astrometrics'),
+ 'duration', module.getModifiedItemAttr('scanDurationBonus'))
+
+
+class Effect5399(BaseEffect):
+ """
+ baseSensorStrengthModifierModule
+
+ Used by:
+ Variations of module: Scan Rangefinding Array I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),
+ 'baseSensorStrength', module.getModifiedItemAttr('scanStrengthBonusModule'),
+ stackingPenalties=True)
+
+
+class Effect5402(BaseEffect):
+ """
+ shipMissileHeavyAssaultVelocityABC2
+
+ Used by:
+ Ship: Damnation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusABC2'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5403(BaseEffect):
+ """
+ shipMissileHeavyVelocityABC2
+
+ Used by:
+ Ship: Damnation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusABC2'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5410(BaseEffect):
+ """
+ shipLaserCap1ABC2
+
+ Used by:
+ Ship: Absolution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusABC2'),
+ skill='Amarr Battlecruiser')
+
+
+class Effect5411(BaseEffect):
+ """
+ shipMissileVelocityCD1
+
+ Used by:
+ Ship: Flycatcher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer')
+
+
+class Effect5417(BaseEffect):
+ """
+ shipBonusDroneDamageMultiplierAB
+
+ Used by:
+ Ship: Armageddon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship')
+
+
+class Effect5418(BaseEffect):
+ """
+ shipBonusDroneArmorHitPointsAB
+
+ Used by:
+ Ship: Armageddon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship')
+
+
+class Effect5419(BaseEffect):
+ """
+ shipBonusDroneShieldHitPointsAB
+
+ Used by:
+ Ship: Armageddon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship')
+
+
+class Effect5420(BaseEffect):
+ """
+ shipBonusDroneStructureHitPointsAB
+
+ Used by:
+ Ship: Armageddon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'hp', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship')
+
+
+class Effect5424(BaseEffect):
+ """
+ shipLargeHybridTurretRofGB
+
+ Used by:
+ Ship: Megathron
+ Ship: Megathron Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship')
+
+
+class Effect5427(BaseEffect):
+ """
+ shipBonusDroneTrackingGB
+
+ Used by:
+ Ship: Dominix
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship')
+
+
+class Effect5428(BaseEffect):
+ """
+ shipBonusDroneOptimalRangeGB
+
+ Used by:
+ Ship: Dominix
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship')
+
+
+class Effect5429(BaseEffect):
+ """
+ shipBonusMissileAoeVelocityMB2
+
+ Used by:
+ Ship: Typhoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'aoeVelocity', ship.getModifiedItemAttr('shipBonusMB2'),
+ skill='Minmatar Battleship')
+
+
+class Effect5430(BaseEffect):
+ """
+ shipBonusAoeVelocityCruiseMissilesMB2
+
+ Used by:
+ Ship: Typhoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'aoeVelocity', ship.getModifiedItemAttr('shipBonusMB2'),
+ skill='Minmatar Battleship')
+
+
+class Effect5431(BaseEffect):
+ """
+ shipBonusLargeEnergyTurretTrackingAB
+
+ Used by:
+ Ship: Apocalypse
+ Ship: Apocalypse Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship')
+
+
+class Effect5433(BaseEffect):
+ """
+ hackingSkillVirusBonus
+
+ Used by:
+ Modules named like: Memetic Algorithm Bank (8 of 8)
+ Implant: Neural Lace 'Blackglass' Net Intrusion 920-40
+ Implant: Poteque 'Prospector' Environmental Analysis EY-1005
+ Implant: Poteque 'Prospector' Hacking HC-905
+ Skill: Hacking
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Hacking'),
+ 'virusCoherence', container.getModifiedItemAttr('virusCoherenceBonus') * level)
+
+
+class Effect5437(BaseEffect):
+ """
+ archaeologySkillVirusBonus
+
+ Used by:
+ Modules named like: Emission Scope Sharpener (8 of 8)
+ Implant: Poteque 'Prospector' Archaeology AC-905
+ Implant: Poteque 'Prospector' Environmental Analysis EY-1005
+ Skill: Archaeology
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Archaeology'),
+ 'virusCoherence', container.getModifiedItemAttr('virusCoherenceBonus') * level)
+
+
+class Effect5440(BaseEffect):
+ """
+ systemStandardMissileKineticDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'kineticDamage', beacon.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5444(BaseEffect):
+ """
+ shipTorpedoAOECloudSize1CB
+
+ Used by:
+ Ship: Raven Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship')
+
+
+class Effect5445(BaseEffect):
+ """
+ shipCruiseMissileAOECloudSize1CB
+
+ Used by:
+ Ship: Raven Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship')
+
+
+class Effect5456(BaseEffect):
+ """
+ shipCruiseMissileROFCB
+
+ Used by:
+ Ship: Scorpion Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Cruise',
+ 'speed', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship')
+
+
+class Effect5457(BaseEffect):
+ """
+ shipTorpedoROFCB
+
+ Used by:
+ Ship: Scorpion Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo',
+ 'speed', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship')
+
+
+class Effect5459(BaseEffect):
+ """
+ hackingVirusStrengthBonus
+
+ Used by:
+ Implant: Neural Lace 'Blackglass' Net Intrusion 920-40
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Hacking'), 'virusStrength', src.getModifiedItemAttr('virusStrengthBonus'))
+
+
+class Effect5460(BaseEffect):
+ """
+ minigameVirusStrengthBonus
+
+ Used by:
+ Ships from group: Covert Ops (7 of 8)
+ Ships named like: Stratios (2 of 2)
+ Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
+ Ship: Astero
+ Ship: Heron
+ Ship: Imicus
+ Ship: Magnate
+ Ship: Nestor
+ Ship: Probe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemIncrease(
+ lambda mod: (mod.item.requiresSkill('Hacking') or mod.item.requiresSkill('Archaeology')),
+ 'virusStrength', container.getModifiedItemAttr('virusStrengthBonus') * level)
+
+
+class Effect5461(BaseEffect):
+ """
+ shieldOperationRechargeratebonusPostPercentOnline
+
+ Used by:
+ Modules from group: Shield Power Relay (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('shieldRechargeRate', module.getModifiedItemAttr('rechargeratebonus') or 0)
+
+
+class Effect5468(BaseEffect):
+ """
+ shipBonusAgilityCI2
+
+ Used by:
+ Ship: Badger
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('shipBonusCI2'), skill='Caldari Industrial')
+
+
+class Effect5469(BaseEffect):
+ """
+ shipBonusAgilityMI2
+
+ Used by:
+ Ship: Wreathe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('shipBonusMI2'), skill='Minmatar Industrial')
+
+
+class Effect5470(BaseEffect):
+ """
+ shipBonusAgilityGI2
+
+ Used by:
+ Ship: Nereus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('shipBonusGI2'), skill='Gallente Industrial')
+
+
+class Effect5471(BaseEffect):
+ """
+ shipBonusAgilityAI2
+
+ Used by:
+ Ship: Sigil
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('shipBonusAI2'), skill='Amarr Industrial')
+
+
+class Effect5476(BaseEffect):
+ """
+ shipBonusOreCapacityGI2
+
+ Used by:
+ Ship: Miasmos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('specialOreHoldCapacity', ship.getModifiedItemAttr('shipBonusGI2'),
+ skill='Gallente Industrial')
+
+
+class Effect5477(BaseEffect):
+ """
+ shipBonusAmmoBayMI2
+
+ Used by:
+ Ship: Hoarder
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('specialAmmoHoldCapacity', ship.getModifiedItemAttr('shipBonusMI2'),
+ skill='Minmatar Industrial')
+
+
+class Effect5478(BaseEffect):
+ """
+ shipBonusPICommoditiesHoldGI2
+
+ Used by:
+ Ship: Epithal
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('specialPlanetaryCommoditiesHoldCapacity', ship.getModifiedItemAttr('shipBonusGI2'),
+ skill='Gallente Industrial')
+
+
+class Effect5479(BaseEffect):
+ """
+ shipBonusMineralBayGI2
+
+ Used by:
+ Ship: Kryos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('specialMineralHoldCapacity', ship.getModifiedItemAttr('shipBonusGI2'),
+ skill='Gallente Industrial')
+
+
+class Effect5480(BaseEffect):
+ """
+ setBonusChristmasBonusVelocity
+
+ Used by:
+ Implants named like: Genolution Core Augmentation CA (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',
+ 'implantBonusVelocity', implant.getModifiedItemAttr('implantSetChristmas'))
+
+
+class Effect5482(BaseEffect):
+ """
+ setBonusChristmasAgilityBonus
+
+ Used by:
+ Implants named like: Genolution Core Augmentation CA (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',
+ 'agilityBonus', implant.getModifiedItemAttr('implantSetChristmas'))
+
+
+class Effect5483(BaseEffect):
+ """
+ setBonusChristmasShieldCapacityBonus
+
+ Used by:
+ Implants named like: Genolution Core Augmentation CA (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',
+ 'shieldCapacityBonus', implant.getModifiedItemAttr('implantSetChristmas'))
+
+
+class Effect5484(BaseEffect):
+ """
+ setBonusChristmasArmorHPBonus2
+
+ Used by:
+ Implants named like: Genolution Core Augmentation CA (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Special Edition Implant',
+ 'armorHpBonus2', implant.getModifiedItemAttr('implantSetChristmas'))
+
+
+class Effect5485(BaseEffect):
+ """
+ shipSPTOptimalBonusMF
+
+ Used by:
+ Ship: Chremoas
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect5486(BaseEffect):
+ """
+ shipBonusProjectileDamageMBC2
+
+ Used by:
+ Ship: Sleipnir
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusMBC2'),
+ skill='Minmatar Battlecruiser')
+
+
+class Effect5496(BaseEffect):
+ """
+ eliteBonusCommandShipHAMRoFCS1
+
+ Used by:
+ Ship: Claymore
+ Ship: Nighthawk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy Assault',
+ 'speed', ship.getModifiedItemAttr('eliteBonusCommandShips1'), skill='Command Ships')
+
+
+class Effect5497(BaseEffect):
+ """
+ eliteBonusCommandShipHMRoFCS1
+
+ Used by:
+ Ship: Claymore
+ Ship: Nighthawk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Heavy',
+ 'speed', ship.getModifiedItemAttr('eliteBonusCommandShips1'), skill='Command Ships')
+
+
+class Effect5498(BaseEffect):
+ """
+ eliteBonusCommandShipsHeavyAssaultMissileExplosionVelocityCS2
+
+ Used by:
+ Ship: Claymore
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'aoeVelocity', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
+ skill='Command Ships')
+
+
+class Effect5499(BaseEffect):
+ """
+ eliteBonusCommandShipsHeavyAssaultMissileExplosionRadiusCS2
+
+ Used by:
+ Ship: Nighthawk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
+ skill='Command Ships')
+
+
+class Effect5500(BaseEffect):
+ """
+ eliteBonusCommandShipsHeavyMissileExplosionRadiusCS2
+
+ Used by:
+ Ship: Nighthawk
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
+ skill='Command Ships')
+
+
+class Effect5501(BaseEffect):
+ """
+ eliteBonusCommandShipMediumHybridDamageCS2
+
+ Used by:
+ Ship: Vulture
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
+ skill='Command Ships')
+
+
+class Effect5502(BaseEffect):
+ """
+ eliteBonusCommandShipMediumHybridTrackingCS1
+
+ Used by:
+ Ship: Eos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusCommandShips1'),
+ skill='Command Ships')
+
+
+class Effect5503(BaseEffect):
+ """
+ eliteBonusCommandShipHeavyDroneTrackingCS2
+
+ Used by:
+ Ship: Eos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
+ skill='Command Ships')
+
+
+class Effect5504(BaseEffect):
+ """
+ eliteBonusCommandShipHeavyDroneVelocityCS2
+
+ Used by:
+ Ship: Eos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'maxVelocity', ship.getModifiedItemAttr('eliteBonusCommandShips2'),
+ skill='Command Ships')
+
+
+class Effect5505(BaseEffect):
+ """
+ eliteBonusCommandShipMediumHybridRoFCS1
+
+ Used by:
+ Ship: Astarte
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'speed', ship.getModifiedItemAttr('eliteBonusCommandShips1'), skill='Command Ships')
+
+
+class Effect5514(BaseEffect):
+ """
+ eliteBonusCommandShipHeavyAssaultMissileDamageCS2
+
+ Used by:
+ Ship: Damnation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ damageTypes = ('em', 'explosive', 'kinetic', 'thermal')
+ for damageType in damageTypes:
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ '{0}Damage'.format(damageType),
+ ship.getModifiedItemAttr('eliteBonusCommandShips2'), skill='Command Ships')
+
+
+class Effect5521(BaseEffect):
+ """
+ eliteBonusCommandShipHeavyMissileDamageCS2
+
+ Used by:
+ Ship: Damnation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ damageTypes = ('em', 'explosive', 'kinetic', 'thermal')
+ for damageType in damageTypes:
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ '{0}Damage'.format(damageType),
+ ship.getModifiedItemAttr('eliteBonusCommandShips2'), skill='Command Ships')
+
+
+class Effect5539(BaseEffect):
+ """
+ shipBonusHMLKineticDamageAC
+
+ Used by:
+ Ship: Sacrilege
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect5540(BaseEffect):
+ """
+ shipBonusHMLEMDamageAC
+
+ Used by:
+ Ship: Sacrilege
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect5541(BaseEffect):
+ """
+ shipBonusHMLThermDamageAC
+
+ Used by:
+ Ship: Sacrilege
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect5542(BaseEffect):
+ """
+ shipBonusHMLExploDamageAC
+
+ Used by:
+ Ship: Sacrilege
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect5552(BaseEffect):
+ """
+ shipBonusHMLVelocityEliteBonusHeavyGunship1
+
+ Used by:
+ Ship: Sacrilege
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect5553(BaseEffect):
+ """
+ shipBonusHAMVelocityEliteBonusHeavyGunship1
+
+ Used by:
+ Ship: Sacrilege
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'maxVelocity', ship.getModifiedItemAttr('eliteBonusHeavyGunship1'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect5554(BaseEffect):
+ """
+ shipBonusArmorRepAmountGC2
+
+ Used by:
+ Ship: Deimos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGC2'),
+ skill='Gallente Cruiser')
+
+
+class Effect5555(BaseEffect):
+ """
+ shipBonusHeavyDroneSpeedGC
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect5556(BaseEffect):
+ """
+ shipBonusHeavyDRoneTrackingGC
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect5557(BaseEffect):
+ """
+ shipBonusSentryDroneOptimalRangeEliteBonusHeavyGunship2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect5558(BaseEffect):
+ """
+ shipBonusSentryDroneTrackingEliteBonusHeavyGunship2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'trackingSpeed', ship.getModifiedItemAttr('eliteBonusHeavyGunship2'),
+ skill='Heavy Assault Cruisers')
+
+
+class Effect5559(BaseEffect):
+ """
+ shipBonusShieldBoostAmountMC2
+
+ Used by:
+ Ship: Vagabond
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect5560(BaseEffect):
+ """
+ roleBonusMarauderMJDRReactivationDelayBonus
+
+ Used by:
+ Ships from group: Marauder (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Micro Jump Drive',
+ 'moduleReactivationDelay', ship.getModifiedItemAttr('roleBonusMarauder'))
+
+
+class Effect5564(BaseEffect):
+ """
+ subSystemBonusCaldariOffensiveCommandBursts
+
+ Used by:
+ Subsystem: Tengu Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusCaldariOffensive'), skill='Caldari Offensive Systems')
+
+
+class Effect5568(BaseEffect):
+ """
+ subSystemBonusGallenteOffensiveCommandBursts
+
+ Used by:
+ Subsystem: Proteus Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusGallenteOffensive'), skill='Gallente Offensive Systems')
+
+
+class Effect5570(BaseEffect):
+ """
+ subSystemBonusMinmatarOffensiveCommandBursts
+
+ Used by:
+ Subsystem: Loki Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'),
+ 'war'
+ 'fareBuff1Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'buffDuration', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive'), skill='Minmatar Offensive Systems')
+
+
+class Effect5572(BaseEffect):
+ """
+ eliteBonusCommandShipArmoredCS3
+
+ Used by:
+ Ships from group: Command Ship (4 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'buffDuration',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+
+
+class Effect5573(BaseEffect):
+ """
+ eliteBonusCommandShipSiegeCS3
+
+ Used by:
+ Ships from group: Command Ship (4 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+
+
+class Effect5574(BaseEffect):
+ """
+ eliteBonusCommandShipSkirmishCS3
+
+ Used by:
+ Ships from group: Command Ship (4 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'buffDuration',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+
+
+class Effect5575(BaseEffect):
+ """
+ eliteBonusCommandShipInformationCS3
+
+ Used by:
+ Ships from group: Command Ship (4 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'buffDuration',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('eliteBonusCommandShips3'), skill='Command Ships')
+
+
+class Effect5607(BaseEffect):
+ """
+ capacitorEmissionSystemskill
+
+ Used by:
+ Implants named like: Inherent Implants 'Squire' Capacitor Emission Systems ES (6 of 6)
+ Modules named like: Egress Port Maximizer (8 of 8)
+ Skill: Capacitor Emission Systems
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capacitor Emission Systems'),
+ 'capacitorNeed', container.getModifiedItemAttr('capNeedBonus') * level)
+
+
+class Effect5610(BaseEffect):
+ """
+ shipBonusLargeEnergyTurretMaxRangeAB
+
+ Used by:
+ Ship: Marshal
+ Ship: Paladin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship')
+
+
+class Effect5611(BaseEffect):
+ """
+ shipBonusHTFalloffGB2
+
+ Used by:
+ Ship: Kronos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusGB2'), skill='Gallente Battleship')
+
+
+class Effect5618(BaseEffect):
+ """
+ shipBonusRHMLROF2CB
+
+ Used by:
+ Ship: Raven
+ Ship: Widow
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Heavy',
+ 'speed', ship.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship')
+
+
+class Effect5619(BaseEffect):
+ """
+ shipBonusRHMLROFCB
+
+ Used by:
+ Ship: Scorpion Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Heavy',
+ 'speed', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship')
+
+
+class Effect5620(BaseEffect):
+ """
+ shipBonusRHMLROFMB
+
+ Used by:
+ Ship: Typhoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Heavy',
+ 'speed', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect5621(BaseEffect):
+ """
+ shipBonusCruiseROFMB
+
+ Used by:
+ Ship: Typhoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Cruise',
+ 'speed', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect5622(BaseEffect):
+ """
+ shipBonusTorpedoROFMB
+
+ Used by:
+ Ship: Typhoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo',
+ 'speed', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect5628(BaseEffect):
+ """
+ shipBonusCruiseMissileEMDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect5629(BaseEffect):
+ """
+ shipBonusCruiseMissileThermDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect5630(BaseEffect):
+ """
+ shipBonusCruiseMissileKineticDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect5631(BaseEffect):
+ """
+ shipBonusCruiseMissileExploDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect5632(BaseEffect):
+ """
+ shipBonusTorpedoMissileExploDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect5633(BaseEffect):
+ """
+ shipBonusTorpedoMissileEMDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect5634(BaseEffect):
+ """
+ shipBonusTorpedoMissileThermDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect5635(BaseEffect):
+ """
+ shipBonusTorpedoMissileKineticDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect5636(BaseEffect):
+ """
+ shipBonusHeavyMissileEMDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusMB'), skill='Minmatar Battleship')
+
+
+class Effect5637(BaseEffect):
+ """
+ shipBonusHeavyMissileThermDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect5638(BaseEffect):
+ """
+ shipBonusHeavyMissileKineticDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect5639(BaseEffect):
+ """
+ shipBonusHeavyMissileExploDmgMB
+
+ Used by:
+ Ship: Typhoon Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusMB'),
+ skill='Minmatar Battleship')
+
+
+class Effect5644(BaseEffect):
+ """
+ shipBonusMissileVelocityCC2
+
+ Used by:
+ Ship: Cerberus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect5647(BaseEffect):
+ """
+ covertOpsCloakCPUPercentRoleBonus
+
+ Used by:
+ Ships from group: Expedition Frigate (2 of 2)
+ Ship: Astero
+ Ship: Enforcer
+ Ship: Pacifier
+ Ship: Victor
+ Ship: Victorieux Luxury Yacht
+ Ship: Virtuoso
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'),
+ 'cpu', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5650(BaseEffect):
+ """
+ shipArmorResistanceAF1
+
+ Used by:
+ Ship: Malediction
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')
+ for damageType in damageTypes:
+ fit.ship.boostItemAttr('armor{0}DamageResonance'.format(damageType), ship.getModifiedItemAttr('shipBonusAF'),
+ skill='Amarr Frigate')
+
+
+class Effect5657(BaseEffect):
+ """
+ Interceptor2ShieldResist
+
+ Used by:
+ Ship: Raptor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ damageTypes = ('Em', 'Explosive', 'Kinetic', 'Thermal')
+ for damageType in damageTypes:
+ fit.ship.boostItemAttr('shield{0}DamageResonance'.format(damageType),
+ ship.getModifiedItemAttr('eliteBonusInterceptor2'), skill='Interceptors')
+
+
+class Effect5673(BaseEffect):
+ """
+ interceptor2ProjectileDamage
+
+ Used by:
+ Ship: Claw
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusInterceptor2'),
+ skill='Interceptors')
+
+
+class Effect5676(BaseEffect):
+ """
+ shipBonusSmallMissileExplosionRadiusCD2
+
+ Used by:
+ Ship: Flycatcher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCD2'), skill='Caldari Destroyer')
+
+
+class Effect5688(BaseEffect):
+ """
+ shipBonusMissileVelocityAD2
+
+ Used by:
+ Ship: Heretic
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', ship.getModifiedItemAttr('shipBonusAD2'), skill='Amarr Destroyer')
+
+
+class Effect5695(BaseEffect):
+ """
+ eliteBonusInterdictorsArmorResist1
+
+ Used by:
+ Ship: Heretic
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for damageType in ('Em', 'Thermal', 'Explosive', 'Kinetic'):
+ fit.ship.boostItemAttr('armor%sDamageResonance' % damageType,
+ ship.getModifiedItemAttr('eliteBonusInterdictors1'), skill='Interdictors')
+
+
+class Effect5717(BaseEffect):
+ """
+ implantSetWarpSpeed
+
+ Used by:
+ Implants named like: grade Ascendancy (12 of 12)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, implant, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == 'Cyberimplant',
+ 'WarpSBonus', implant.getModifiedItemAttr('implantSetWarpSpeed'))
+
+
+class Effect5721(BaseEffect):
+ """
+ shipBonusMETOptimalRangePirateFaction
+
+ Used by:
+ Ships named like: Stratios (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5722(BaseEffect):
+ """
+ shipHybridOptimalGD1
+
+ Used by:
+ Ship: Eris
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusGD1'), skill='Gallente Destroyer')
+
+
+class Effect5723(BaseEffect):
+ """
+ eliteBonusInterdictorsMWDSigRadius2
+
+ Used by:
+ Ships from group: Interdictor (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'signatureRadiusBonus', ship.getModifiedItemAttr('eliteBonusInterdictors2'),
+ skill='Interdictors')
+
+
+class Effect5724(BaseEffect):
+ """
+ shipSHTOptimalBonusGF
+
+ Used by:
+ Ship: Ares
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect5725(BaseEffect):
+ """
+ shipBonusRemoteRepairAmountPirateFaction
+
+ Used by:
+ Ship: Nestor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5726(BaseEffect):
+ """
+ shipBonusLETOptimalRangePirateFaction
+
+ Used by:
+ Ship: Nestor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5733(BaseEffect):
+ """
+ eliteBonusMaraudersHeavyMissileDamageExpRole1
+
+ Used by:
+ Ship: Golem
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'explosiveDamage', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'))
+
+
+class Effect5734(BaseEffect):
+ """
+ eliteBonusMaraudersHeavyMissileDamageKinRole1
+
+ Used by:
+ Ship: Golem
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'kineticDamage', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'))
+
+
+class Effect5735(BaseEffect):
+ """
+ eliteBonusMaraudersHeavyMissileDamageEMRole1
+
+ Used by:
+ Ship: Golem
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'emDamage', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'))
+
+
+class Effect5736(BaseEffect):
+ """
+ eliteBonusMaraudersHeavyMissileDamageThermRole1
+
+ Used by:
+ Ship: Golem
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'thermalDamage', ship.getModifiedItemAttr('eliteBonusViolatorsRole1'))
+
+
+class Effect5737(BaseEffect):
+ """
+ shipScanProbeStrengthBonusPirateFaction
+
+ Used by:
+ Ship: Nestor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),
+ 'baseSensorStrength', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5738(BaseEffect):
+ """
+ shipBonusRemoteRepairRangePirateFaction2
+
+ Used by:
+ Ship: Nestor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusRole8'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'falloffEffectiveness', ship.getModifiedItemAttr('shipBonusRole8'))
+
+
+class Effect5754(BaseEffect):
+ """
+ overloadSelfTrackingModuleBonus
+
+ Used by:
+ Modules named like: Tracking Computer (19 of 19)
+ Variations of module: Tracking Disruptor I (6 of 6)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('maxRangeBonus', module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'))
+ module.boostItemAttr('falloffBonus', module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'))
+ module.boostItemAttr('trackingSpeedBonus', module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'))
+
+
+class Effect5757(BaseEffect):
+ """
+ overloadSelfSensorModuleBonus
+
+ Used by:
+ Modules from group: Remote Sensor Booster (8 of 8)
+ Modules from group: Sensor Booster (16 of 16)
+ Modules from group: Sensor Dampener (6 of 6)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('maxTargetRangeBonus', module.getModifiedItemAttr('overloadSensorModuleStrengthBonus'))
+ module.boostItemAttr('scanResolutionBonus', module.getModifiedItemAttr('overloadSensorModuleStrengthBonus'),
+ stackingPenalties=True)
+
+ for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):
+ module.boostItemAttr(
+ 'scan{}StrengthPercent'.format(scanType),
+ module.getModifiedItemAttr('overloadSensorModuleStrengthBonus'),
+ stackingPenalties=True
+ )
+
+
+class Effect5758(BaseEffect):
+ """
+ overloadSelfPainterBonus
+
+ Used by:
+ Modules from group: Target Painter (8 of 8)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('signatureRadiusBonus', module.getModifiedItemAttr('overloadPainterStrengthBonus') or 0)
+
+
+class Effect5769(BaseEffect):
+ """
+ repairDroneHullBonusBonus
+
+ Used by:
+ Modules named like: Drone Repair Augmentor (8 of 8)
+ Skill: Repair Drone Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone',
+ 'structureDamageAmount', container.getModifiedItemAttr('damageHP') * level)
+
+
+class Effect5778(BaseEffect):
+ """
+ shipMissileRoFMF2
+
+ Used by:
+ Ship: Breacher
+ Ship: Jaguar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'speed', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+
+
+class Effect5779(BaseEffect):
+ """
+ shipBonusSPTFalloffMF2
+
+ Used by:
+ Ship: Pacifier
+ Ship: Rifter
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+
+
+class Effect5793(BaseEffect):
+ """
+ ewSkillTrackingDisruptionRangeDisruptionBonus
+
+ Used by:
+ Modules named like: Tracking Diagnostic Subroutines (8 of 8)
+ Skill: Weapon Destabilization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ for attr in ('maxRangeBonus', 'falloffBonus'):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'),
+ attr, container.getModifiedItemAttr('scanSkillEwStrengthBonus') * level)
+
+
+class Effect5802(BaseEffect):
+ """
+ shipBonusAfterburnerSpeedFactor2CB
+
+ Used by:
+ Ship: Nightmare
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'speedFactor', module.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship')
+
+
+class Effect5803(BaseEffect):
+ """
+ shipBonusSentryDroneDamageMultiplierPirateFaction
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5804(BaseEffect):
+ """
+ shipBonusHeavyDroneDamageMultiplierPirateFaction
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5805(BaseEffect):
+ """
+ shipBonusSentryDroneHPPirateFaction
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'hp', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5806(BaseEffect):
+ """
+ shipBonusSentryDroneArmorHpPirateFaction
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5807(BaseEffect):
+ """
+ shipBonusSentryDroneShieldHpPirateFaction
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5808(BaseEffect):
+ """
+ shipBonusHeavyDroneShieldHpPirateFaction
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5809(BaseEffect):
+ """
+ shipBonusHeavyDroneArmorHpPirateFaction
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5810(BaseEffect):
+ """
+ shipBonusHeavyDroneHPPirateFaction
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'hp', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5811(BaseEffect):
+ """
+ shipBonusKineticMissileDamageGB2
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusGB2'),
+ skill='Gallente Battleship')
+
+
+class Effect5812(BaseEffect):
+ """
+ shipBonusThermalMissileDamageGB2
+
+ Used by:
+ Ship: Rattlesnake
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusGB2'),
+ skill='Gallente Battleship')
+
+
+class Effect5813(BaseEffect):
+ """
+ shipBonusAfterburnerSpeedFactorCF2
+
+ Used by:
+ Ship: Imp
+ Ship: Succubus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'speedFactor', module.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect5814(BaseEffect):
+ """
+ shipBonusKineticMissileDamageGF
+
+ Used by:
+ Ship: Whiptail
+ Ship: Worm
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect5815(BaseEffect):
+ """
+ shipBonusThermalMissileDamageGF
+
+ Used by:
+ Ship: Whiptail
+ Ship: Worm
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect5816(BaseEffect):
+ """
+ shipBonusLightDroneDamageMultiplierPirateFaction
+
+ Used by:
+ Ship: Whiptail
+ Ship: Worm
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5817(BaseEffect):
+ """
+ shipBonusLightDroneHPPirateFaction
+
+ Used by:
+ Ship: Whiptail
+ Ship: Worm
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),
+ 'hp', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5818(BaseEffect):
+ """
+ shipBonusLightDroneArmorHPPirateFaction
+
+ Used by:
+ Ship: Whiptail
+ Ship: Worm
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5819(BaseEffect):
+ """
+ shipBonusLightDroneShieldHPPirateFaction
+
+ Used by:
+ Ship: Whiptail
+ Ship: Worm
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5820(BaseEffect):
+ """
+ shipBonusAfterburnerSpeedFactorCC2
+
+ Used by:
+ Ship: Fiend
+ Ship: Phantasm
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'speedFactor', module.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect5821(BaseEffect):
+ """
+ shipBonusMediumDroneDamageMultiplierPirateFaction
+
+ Used by:
+ Ship: Chameleon
+ Ship: Gila
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5822(BaseEffect):
+ """
+ shipBonusMediumDroneHPPirateFaction
+
+ Used by:
+ Ship: Chameleon
+ Ship: Gila
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),
+ 'hp', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5823(BaseEffect):
+ """
+ shipBonusMediumDroneArmorHPPirateFaction
+
+ Used by:
+ Ship: Chameleon
+ Ship: Gila
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5824(BaseEffect):
+ """
+ shipBonusMediumDroneShieldHPPirateFaction
+
+ Used by:
+ Ship: Chameleon
+ Ship: Gila
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect5825(BaseEffect):
+ """
+ shipBonusKineticMissileDamageGC2
+
+ Used by:
+ Ship: Chameleon
+ Ship: Gila
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect5826(BaseEffect):
+ """
+ shipBonusThermalMissileDamageGC2
+
+ Used by:
+ Ship: Chameleon
+ Ship: Gila
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect5827(BaseEffect):
+ """
+ shipBonusTDOptimalBonusAF1
+
+ Used by:
+ Ship: Crucifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusAF'), skill='Amarr Frigate')
+
+
+class Effect5829(BaseEffect):
+ """
+ shipBonusMiningDurationORE3
+
+ Used by:
+ Ships from group: Exhumer (3 of 3)
+ Ships from group: Mining Barge (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),
+ 'duration', ship.getModifiedItemAttr('shipBonusORE3'), skill='Mining Barge')
+
+
+class Effect5832(BaseEffect):
+ """
+ shipBonusMiningIceHarvestingRangeORE2
+
+ Used by:
+ Variations of ship: Covetor (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Mining') or mod.item.requiresSkill('Ice Harvesting'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusORE2'), skill='Mining Barge')
+
+
+class Effect5839(BaseEffect):
+ """
+ eliteBargeShieldResistance1
+
+ Used by:
+ Ships from group: Exhumer (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for damageType in ('em', 'thermal', 'explosive', 'kinetic'):
+ fit.ship.boostItemAttr('shield{}DamageResonance'.format(damageType.capitalize()),
+ ship.getModifiedItemAttr('eliteBonusBarge1'), skill='Exhumers')
+
+
+class Effect5840(BaseEffect):
+ """
+ eliteBargeBonusMiningDurationBarge2
+
+ Used by:
+ Ships from group: Exhumer (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),
+ 'duration', ship.getModifiedItemAttr('eliteBonusBarge2'), skill='Exhumers')
+
+
+class Effect5852(BaseEffect):
+ """
+ eliteBonusExpeditionMining1
+
+ Used by:
+ Ship: Prospect
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'),
+ 'miningAmount', module.getModifiedItemAttr('eliteBonusExpedition1'),
+ skill='Expedition Frigates')
+
+
+class Effect5853(BaseEffect):
+ """
+ eliteBonusExpeditionSigRadius2
+
+ Used by:
+ Ship: Prospect
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('signatureRadius', ship.getModifiedItemAttr('eliteBonusExpedition2'),
+ skill='Expedition Frigates')
+
+
+class Effect5862(BaseEffect):
+ """
+ shipMissileEMDamageCB
+
+ Used by:
+ Ship: Barghest
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'emDamage', ship.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship')
+
+
+class Effect5863(BaseEffect):
+ """
+ shipMissileKinDamageCB
+
+ Used by:
+ Ship: Barghest
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'kineticDamage', ship.getModifiedItemAttr('shipBonusCB'),
+ skill='Caldari Battleship')
+
+
+class Effect5864(BaseEffect):
+ """
+ shipMissileThermDamageCB
+
+ Used by:
+ Ship: Barghest
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'thermalDamage', ship.getModifiedItemAttr('shipBonusCB'),
+ skill='Caldari Battleship')
+
+
+class Effect5865(BaseEffect):
+ """
+ shipMissileExploDamageCB
+
+ Used by:
+ Ship: Barghest
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosiveDamage', ship.getModifiedItemAttr('shipBonusCB'),
+ skill='Caldari Battleship')
+
+
+class Effect5866(BaseEffect):
+ """
+ shipBonusWarpScrambleMaxRangeGB
+
+ Used by:
+ Ship: Barghest
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler',
+ 'maxRange', ship.getModifiedItemAttr('shipBonusGB'), skill='Gallente Battleship')
+
+
+class Effect5867(BaseEffect):
+ """
+ shipBonusMissileExplosionDelayPirateFaction2
+
+ Used by:
+ Ship: Barghest
+ Ship: Garmur
+ Ship: Orthrus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosionDelay', ship.getModifiedItemAttr('shipBonusRole8'))
+
+
+class Effect5868(BaseEffect):
+ """
+ drawbackCargoCapacity
+
+ Used by:
+ Modules named like: Transverse Bulkhead (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('capacity', module.getModifiedItemAttr('drawback'))
+
+
+class Effect5869(BaseEffect):
+ """
+ eliteIndustrialWarpSpeedBonus1
+
+ Used by:
+ Ships from group: Blockade Runner (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', ship.getModifiedItemAttr('eliteBonusIndustrial1'),
+ skill='Transport Ships')
+
+
+class Effect5870(BaseEffect):
+ """
+ shipBonusShieldBoostCI2
+
+ Used by:
+ Ship: Bustard
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusCI2'), skill='Caldari Industrial')
+
+
+class Effect5871(BaseEffect):
+ """
+ shipBonusShieldBoostMI2
+
+ Used by:
+ Ship: Mastodon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', ship.getModifiedItemAttr('shipBonusMI2'), skill='Minmatar Industrial')
+
+
+class Effect5872(BaseEffect):
+ """
+ shipBonusArmorRepairAI2
+
+ Used by:
+ Ship: Impel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('shipBonusAI2'),
+ skill='Amarr Industrial')
+
+
+class Effect5873(BaseEffect):
+ """
+ shipBonusArmorRepairGI2
+
+ Used by:
+ Ship: Occator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', ship.getModifiedItemAttr('shipBonusGI2'),
+ skill='Gallente Industrial')
+
+
+class Effect5874(BaseEffect):
+ """
+ eliteIndustrialFleetCapacity1
+
+ Used by:
+ Ships from group: Deep Space Transport (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('fleetHangarCapacity', ship.getModifiedItemAttr('eliteBonusIndustrial1'),
+ skill='Transport Ships')
+
+
+class Effect5881(BaseEffect):
+ """
+ eliteIndustrialShieldResists2
+
+ Used by:
+ Ship: Bustard
+ Ship: Mastodon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for damageType in ('em', 'thermal', 'explosive', 'kinetic'):
+ fit.ship.boostItemAttr('shield{}DamageResonance'.format(damageType.capitalize()),
+ ship.getModifiedItemAttr('eliteBonusIndustrial2'), skill='Transport Ships')
+
+
+class Effect5888(BaseEffect):
+ """
+ eliteIndustrialArmorResists2
+
+ Used by:
+ Ship: Impel
+ Ship: Occator
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for damageType in ('em', 'thermal', 'explosive', 'kinetic'):
+ fit.ship.boostItemAttr('armor{}DamageResonance'.format(damageType.capitalize()),
+ ship.getModifiedItemAttr('eliteBonusIndustrial2'), skill='Transport Ships')
+
+
+class Effect5889(BaseEffect):
+ """
+ eliteIndustrialABHeatBonus
+
+ Used by:
+ Ships from group: Deep Space Transport (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'),
+ 'overloadSpeedFactorBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'))
+
+
+class Effect5890(BaseEffect):
+ """
+ eliteIndustrialMWDHeatBonus
+
+ Used by:
+ Ships from group: Deep Space Transport (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'overloadSpeedFactorBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'))
+
+
+class Effect5891(BaseEffect):
+ """
+ eliteIndustrialArmorHardenerHeatBonus
+
+ Used by:
+ Ships from group: Deep Space Transport (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'),
+ 'overloadHardeningBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'))
+
+
+class Effect5892(BaseEffect):
+ """
+ eliteIndustrialReactiveArmorHardenerHeatBonus
+
+ Used by:
+ Ships from group: Deep Space Transport (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'),
+ 'overloadSelfDurationBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'))
+
+
+class Effect5893(BaseEffect):
+ """
+ eliteIndustrialShieldHardenerHeatBonus
+
+ Used by:
+ Ships from group: Deep Space Transport (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Tactical Shield Manipulation'),
+ 'overloadHardeningBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'))
+
+
+class Effect5896(BaseEffect):
+ """
+ eliteIndustrialShieldBoosterHeatBonus
+
+ Used by:
+ Ships from group: Deep Space Transport (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'overloadShieldBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'overloadSelfDurationBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'))
+
+
+class Effect5899(BaseEffect):
+ """
+ eliteIndustrialArmorRepairHeatBonus
+
+ Used by:
+ Ships from group: Deep Space Transport (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'overloadArmorDamageAmount', ship.getModifiedItemAttr('roleBonusOverheatDST'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'overloadSelfDurationBonus', ship.getModifiedItemAttr('roleBonusOverheatDST'))
+
+
+class Effect5900(BaseEffect):
+ """
+ warpSpeedAddition
+
+ Used by:
+ Modules from group: Warp Accelerator (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('warpSpeedMultiplier', module.getModifiedItemAttr('warpSpeedAdd'))
+
+
+class Effect5901(BaseEffect):
+ """
+ roleBonusBulkheadCPU
+
+ Used by:
+ Ships from group: Freighter (4 of 5)
+ Ships from group: Jump Freighter (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Reinforced Bulkhead',
+ 'cpu', ship.getModifiedItemAttr('cpuNeedBonus'))
+
+
+class Effect5911(BaseEffect):
+ """
+ onlineJumpDriveConsumptionAmountBonusPercentage
+
+ Used by:
+ Modules from group: Jump Drive Economizer (3 of 3)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('jumpDriveConsumptionAmount',
+ module.getModifiedItemAttr('consumptionQuantityBonusPercentage'), stackingPenalties=True)
+
+
+class Effect5912(BaseEffect):
+ """
+ systemRemoteCapTransmitterAmount
+
+ Used by:
+ Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',
+ 'powerTransferAmount', beacon.getModifiedItemAttr('energyTransferAmountBonus'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5913(BaseEffect):
+ """
+ systemArmorHP
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.multiplyItemAttr('armorHP', beacon.getModifiedItemAttr('armorHPMultiplier'))
+
+
+class Effect5914(BaseEffect):
+ """
+ systemEnergyNeutMultiplier
+
+ Used by:
+ Celestials named like: Pulsar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Neutralizer',
+ 'energyNeutralizerAmount',
+ beacon.getModifiedItemAttr('energyWarfareStrengthMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5915(BaseEffect):
+ """
+ systemEnergyVampireMultiplier
+
+ Used by:
+ Celestials named like: Pulsar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount',
+ beacon.getModifiedItemAttr('energyWarfareStrengthMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5916(BaseEffect):
+ """
+ systemDamageExplosiveBombs
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'explosiveDamage', beacon.getModifiedItemAttr('smartbombDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5917(BaseEffect):
+ """
+ systemDamageKineticBombs
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'kineticDamage', beacon.getModifiedItemAttr('smartbombDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5918(BaseEffect):
+ """
+ systemDamageThermalBombs
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'thermalDamage', beacon.getModifiedItemAttr('smartbombDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5919(BaseEffect):
+ """
+ systemDamageEMBombs
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'emDamage', beacon.getModifiedItemAttr('smartbombDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5920(BaseEffect):
+ """
+ systemAoeCloudSize
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeCloudSize', beacon.getModifiedItemAttr('aoeCloudSizeMultiplier'))
+
+
+class Effect5921(BaseEffect):
+ """
+ systemTargetPainterMultiplier
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Target Painting'),
+ 'signatureRadiusBonus',
+ beacon.getModifiedItemAttr('targetPainterStrengthMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5922(BaseEffect):
+ """
+ systemWebifierStrengthMultiplier
+
+ Used by:
+ Celestials named like: Black Hole Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'speedFactor', beacon.getModifiedItemAttr('stasisWebStrengthMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5923(BaseEffect):
+ """
+ systemNeutBombs
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'energyNeutralizerAmount',
+ beacon.getModifiedItemAttr('smartbombDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5924(BaseEffect):
+ """
+ systemGravimetricECMBomb
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'scanGravimetricStrengthBonus',
+ beacon.getModifiedItemAttr('smartbombDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5925(BaseEffect):
+ """
+ systemLadarECMBomb
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'scanLadarStrengthBonus',
+ beacon.getModifiedItemAttr('smartbombDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5926(BaseEffect):
+ """
+ systemMagnetrometricECMBomb
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'scanMagnetometricStrengthBonus',
+ beacon.getModifiedItemAttr('smartbombDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5927(BaseEffect):
+ """
+ systemRadarECMBomb
+
+ Used by:
+ Celestials named like: Red Giant Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Bomb Deployment'),
+ 'scanRadarStrengthBonus',
+ beacon.getModifiedItemAttr('smartbombDamageMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5929(BaseEffect):
+ """
+ systemDroneTracking
+
+ Used by:
+ Celestials named like: Magnetar Effect Beacon Class (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.drones.filteredItemMultiply(lambda drone: True,
+ 'trackingSpeed', beacon.getModifiedItemAttr('trackingSpeedMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect5934(BaseEffect):
+ """
+ warpScrambleBlockMWDWithNPCEffect
+
+ Used by:
+ Modules named like: Warp Scrambler (27 of 27)
+ """
+
+ runTime = 'early'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ if 'projected' not in context:
+ return
+
+ fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'))
+
+ # this is such a dirty hack
+ for mod in fit.modules:
+ if not mod.isEmpty and mod.state > FittingModuleState.ONLINE and (
+ mod.item.requiresSkill('Micro Jump Drive Operation') or
+ mod.item.requiresSkill('High Speed Maneuvering')
+ ):
+ mod.state = FittingModuleState.ONLINE
+ if not mod.isEmpty and mod.item.requiresSkill('Micro Jump Drive Operation') and mod.state > FittingModuleState.ONLINE:
+ mod.state = FittingModuleState.ONLINE
+
+
+class Effect5938(BaseEffect):
+ """
+ shipBonusSmallMissileExplosionRadiusCF2
+
+ Used by:
+ Ship: Crow
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),
+ 'aoeCloudSize', ship.getModifiedItemAttr('shipBonusCF2'), skill='Caldari Frigate')
+
+
+class Effect5939(BaseEffect):
+ """
+ shipRocketRoFBonusAF2
+
+ Used by:
+ Ship: Malediction
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rocket',
+ 'speed', ship.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect5940(BaseEffect):
+ """
+ eliteBonusInterdictorsSHTRoF1
+
+ Used by:
+ Ship: Eris
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'speed', ship.getModifiedItemAttr('eliteBonusInterdictors1'), skill='Interdictors')
+
+
+class Effect5944(BaseEffect):
+ """
+ shipMissileLauncherRoFAD1Fixed
+
+ Used by:
+ Ship: Heretic
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'speed', ship.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer')
+
+
+class Effect5945(BaseEffect):
+ """
+ cloakingPrototype
+
+ Used by:
+ Modules named like: Prototype Cloaking Device I (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # Set flag which is used to determine if ship is cloaked or not
+ # This is used to apply cloak-only bonuses, like Black Ops' speed bonus
+ # Doesn't apply to covops cloaks
+ fit.extraAttributes['cloaked'] = True
+ # Apply speed penalty
+ fit.ship.multiplyItemAttr('maxVelocity', module.getModifiedItemAttr('maxVelocityModifier'))
+
+
+class Effect5951(BaseEffect):
+ """
+ drawbackWarpSpeed
+
+ Used by:
+ Modules from group: Rig Anchor (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', module.getModifiedItemAttr('drawback'), stackingPenalties=True)
+
+
+class Effect5956(BaseEffect):
+ """
+ shipMETDamageBonusAC2
+
+ Used by:
+ Ship: Devoter
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect5957(BaseEffect):
+ """
+ eliteBonusHeavyInterdictorsMETOptimal
+
+ Used by:
+ Ship: Devoter
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),
+ skill='Heavy Interdiction Cruisers')
+
+
+class Effect5958(BaseEffect):
+ """
+ shipHybridTrackingGC
+
+ Used by:
+ Ship: Lachesis
+ Ship: Phobos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect5959(BaseEffect):
+ """
+ eliteBonusHeavyInterdictorsHybridOptimal1
+
+ Used by:
+ Ship: Phobos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusHeavyInterdictors1'),
+ skill='Heavy Interdiction Cruisers')
+
+
+class Effect5994(BaseEffect):
+ """
+ resistanceKillerHullAll
+
+ Used by:
+ Modules named like: Polarized (12 of 18)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):
+ tgtAttr = '{}DamageResonance'.format(dmgType)
+ fit.ship.forceItemAttr(tgtAttr, module.getModifiedItemAttr('resistanceKillerHull'))
+
+
+class Effect5995(BaseEffect):
+ """
+ resistanceKillerShieldArmorAll
+
+ Used by:
+ Modules named like: Polarized (12 of 18)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for layer in ('armor', 'shield'):
+ for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):
+ tgtAttr = '{}{}DamageResonance'.format(layer, dmgType.capitalize())
+ fit.ship.forceItemAttr(tgtAttr, module.getModifiedItemAttr('resistanceKiller'))
+
+
+class Effect5998(BaseEffect):
+ """
+ freighterSMACapacityBonusO1
+
+ Used by:
+ Ship: Bowhead
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ # todo: stacking?
+ fit.ship.boostItemAttr('agility', ship.getModifiedItemAttr('freighterBonusO2'), skill='ORE Freighter',
+ stackingPenalties=True)
+
+
+class Effect6001(BaseEffect):
+ """
+ freighterAgilityBonus2O2
+
+ Used by:
+ Ship: Bowhead
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('shipMaintenanceBayCapacity', ship.getModifiedItemAttr('freighterBonusO1'),
+ skill='ORE Freighter')
+
+
+class Effect6006(BaseEffect):
+ """
+ shipSETDamageAmarrTacticalDestroyer1
+
+ Used by:
+ Ship: Confessor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusTacticalDestroyerAmarr1'),
+ skill='Amarr Tactical Destroyer')
+
+
+class Effect6007(BaseEffect):
+ """
+ shipSETCapNeedAmarrTacticalDestroyer2
+
+ Used by:
+ Ship: Confessor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusTacticalDestroyerAmarr2'),
+ skill='Amarr Tactical Destroyer')
+
+
+class Effect6008(BaseEffect):
+ """
+ shipHeatDamageAmarrTacticalDestroyer3
+
+ Used by:
+ Ship: Confessor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ ship.getModifiedItemAttr('shipBonusTacticalDestroyerAmarr3'),
+ skill='Amarr Tactical Destroyer')
+
+
+class Effect6009(BaseEffect):
+ """
+ probeLauncherCPUPercentRoleBonusT3
+
+ Used by:
+ Ships from group: Strategic Cruiser (4 of 4)
+ Ships from group: Tactical Destroyer (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Astrometrics'), 'cpu', src.getModifiedItemAttr('roleBonusT3ProbeCPU'))
+
+
+class Effect6010(BaseEffect):
+ """
+ shipModeMaxTargetRangePostDiv
+
+ Used by:
+ Modules named like: Sharpshooter Mode (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr(
+ 'maxTargetRange',
+ 1 / module.getModifiedItemAttr('modeMaxTargetRangePostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6011(BaseEffect):
+ """
+ shipModeSETOptimalRangePostDiv
+
+ Used by:
+ Module: Confessor Sharpshooter Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'maxRange',
+ 1 / module.getModifiedItemAttr('modeMaxRangePostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6012(BaseEffect):
+ """
+ shipModeScanStrengthPostDiv
+
+ Used by:
+ Modules named like: Sharpshooter Mode (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):
+ fit.ship.multiplyItemAttr(
+ 'scan{}Strength'.format(scanType),
+ 1 / (module.getModifiedItemAttr('mode{}StrengthPostDiv'.format(scanType)) or 1),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6014(BaseEffect):
+ """
+ modeSigRadiusPostDiv
+
+ Used by:
+ Module: Confessor Defense Mode
+ Module: Jackdaw Defense Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('signatureRadius', 1 / module.getModifiedItemAttr('modeSignatureRadiusPostDiv'),
+ stackingPenalties=True, penaltyGroup='postDiv')
+
+
+class Effect6015(BaseEffect):
+ """
+ modeArmorResonancePostDiv
+
+ Used by:
+ Modules named like: Defense Mode (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for srcResType, tgtResType in (
+ ('Em', 'Em'),
+ ('Explosive', 'Explosive'),
+ ('Kinetic', 'Kinetic'),
+ ('Thermic', 'Thermal')
+ ):
+ fit.ship.multiplyItemAttr(
+ 'armor{0}DamageResonance'.format(tgtResType),
+ 1 / module.getModifiedItemAttr('mode{0}ResistancePostDiv'.format(srcResType)),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6016(BaseEffect):
+ """
+ modeAgilityPostDiv
+
+ Used by:
+ Modules named like: Propulsion Mode (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr(
+ 'agility',
+ 1 / module.getModifiedItemAttr('modeAgilityPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6017(BaseEffect):
+ """
+ modeVelocityPostDiv
+
+ Used by:
+ Module: Jackdaw Propulsion Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr(
+ 'maxVelocity',
+ 1 / module.getModifiedItemAttr('modeVelocityPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6020(BaseEffect):
+ """
+ shipBonusEnergyNeutOptimalRS3
+
+ Used by:
+ Ship: Pilgrim
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',
+ src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships')
+
+
+class Effect6021(BaseEffect):
+ """
+ shipBonusEnergyNosOptimalRS3
+
+ Used by:
+ Ship: Pilgrim
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',
+ src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships')
+
+
+class Effect6025(BaseEffect):
+ """
+ eliteReconBonusMHTOptimalRange1
+
+ Used by:
+ Ship: Lachesis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships')
+
+
+class Effect6027(BaseEffect):
+ """
+ eliteReconBonusMPTdamage1
+
+ Used by:
+ Ship: Huginn
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('eliteBonusReconShip1'),
+ skill='Recon Ships')
+
+
+class Effect6032(BaseEffect):
+ """
+ remoteCapacitorTransmitterPowerNeedBonusEffect
+
+ Used by:
+ Ships from group: Logistics (3 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter',
+ 'power', ship.getModifiedItemAttr('powerTransferPowerNeedBonus'))
+
+
+class Effect6036(BaseEffect):
+ """
+ shipHeatDamageMinmatarTacticalDestroyer3
+
+ Used by:
+ Ship: Svipul
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ ship.getModifiedItemAttr('shipBonusTacticalDestroyerMinmatar3'),
+ skill='Minmatar Tactical Destroyer')
+
+
+class Effect6037(BaseEffect):
+ """
+ shipSPTDamageMinmatarTacticalDestroyer1
+
+ Used by:
+ Ship: Svipul
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusTacticalDestroyerMinmatar1'),
+ skill='Minmatar Tactical Destroyer')
+
+
+class Effect6038(BaseEffect):
+ """
+ shipSPTOptimalMinmatarTacticalDestroyer2
+
+ Used by:
+ Ship: Svipul
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusTacticalDestroyerMinmatar2'),
+ skill='Minmatar Tactical Destroyer')
+
+
+class Effect6039(BaseEffect):
+ """
+ shipModeSPTTrackingPostDiv
+
+ Used by:
+ Module: Svipul Sharpshooter Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'trackingSpeed',
+ 1 / module.getModifiedItemAttr('modeTrackingPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6040(BaseEffect):
+ """
+ modeMWDSigRadiusPostDiv
+
+ Used by:
+ Module: Svipul Defense Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'signatureRadiusBonus',
+ 1 / module.getModifiedItemAttr('modeMWDSigPenaltyPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6041(BaseEffect):
+ """
+ modeShieldResonancePostDiv
+
+ Used by:
+ Module: Jackdaw Defense Mode
+ Module: Svipul Defense Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for srcResType, tgtResType in (
+ ('Em', 'Em'),
+ ('Explosive', 'Explosive'),
+ ('Kinetic', 'Kinetic'),
+ ('Thermic', 'Thermal')
+ ):
+ fit.ship.multiplyItemAttr(
+ 'shield{0}DamageResonance'.format(tgtResType),
+ 1 / module.getModifiedItemAttr('mode{0}ResistancePostDiv'.format(srcResType)),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6045(BaseEffect):
+ """
+ shipBonusSentryDamageMultiplierGC3
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser')
+
+
+class Effect6046(BaseEffect):
+ """
+ shipBonusSentryHPGC3
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'hp', ship.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser')
+
+
+class Effect6047(BaseEffect):
+ """
+ shipBonusSentryArmorHPGC3
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser')
+
+
+class Effect6048(BaseEffect):
+ """
+ shipBonusSentryShieldHPGC3
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Sentry Drone Interfacing'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusGC3'), skill='Gallente Cruiser')
+
+
+class Effect6051(BaseEffect):
+ """
+ shipBonusLightDroneDamageMultiplierGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6052(BaseEffect):
+ """
+ shipBonusMediumDroneDamageMultiplierGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6053(BaseEffect):
+ """
+ shipBonusHeavyDroneDamageMultiplierGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6054(BaseEffect):
+ """
+ shipBonusHeavyDroneHPGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'hp', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6055(BaseEffect):
+ """
+ shipBonusHeavyDroneArmorHPGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6056(BaseEffect):
+ """
+ shipBonusHeavyDroneShieldHPGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Heavy Drone Operation'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6057(BaseEffect):
+ """
+ shipBonusMediumDroneShieldHPGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6058(BaseEffect):
+ """
+ shipBonusMediumDroneArmorHPGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6059(BaseEffect):
+ """
+ shipBonusMediumDroneHPGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Medium Drone Operation'),
+ 'hp', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6060(BaseEffect):
+ """
+ shipBonusLightDroneHPGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),
+ 'hp', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6061(BaseEffect):
+ """
+ shipBonusLightDroneArmorHPGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),
+ 'armorHP', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6062(BaseEffect):
+ """
+ shipBonusLightDroneShieldHPGC2
+
+ Used by:
+ Ship: Ishtar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Light Drone Operation'),
+ 'shieldCapacity', ship.getModifiedItemAttr('shipBonusGC2'), skill='Gallente Cruiser')
+
+
+class Effect6063(BaseEffect):
+ """
+ entosisLink
+
+ Used by:
+ Modules from group: Entosis Link (6 of 6)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.forceItemAttr('disallowAssistance', module.getModifiedItemAttr('disallowAssistance'))
+ for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):
+ fit.ship.boostItemAttr(
+ 'scan{}Strength'.format(scanType),
+ module.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType)),
+ stackingPenalties=True
+ )
+
+
+class Effect6076(BaseEffect):
+ """
+ shipModeMissileVelocityPostDiv
+
+ Used by:
+ Module: Jackdaw Sharpshooter Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredChargeMultiply(
+ lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity',
+ 1 / module.getModifiedItemAttr('modeMaxRangePostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6077(BaseEffect):
+ """
+ shipHeatDamageCaldariTacticalDestroyer3
+
+ Used by:
+ Ship: Jackdaw
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ ship.getModifiedItemAttr('shipBonusTacticalDestroyerCaldari3'),
+ skill='Caldari Tactical Destroyer')
+
+
+class Effect6083(BaseEffect):
+ """
+ shipSmallMissileDmgPirateFaction
+
+ Used by:
+ Ship: Jackdaw
+ Ship: Sunesis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for damageType in ('em', 'explosive', 'kinetic', 'thermal'):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),
+ '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect6085(BaseEffect):
+ """
+ shipMissileRoFCaldariTacticalDestroyer1
+
+ Used by:
+ Ship: Jackdaw
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'speed', ship.getModifiedItemAttr('shipBonusTacticalDestroyerCaldari1'),
+ skill='Caldari Tactical Destroyer')
+
+
+class Effect6088(BaseEffect):
+ """
+ shipBonusHeavyAssaultMissileAllDamageMC2
+
+ Used by:
+ Ship: Rapier
+ Ship: Scythe Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for damageType in ('em', 'explosive', 'kinetic', 'thermal'):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusMC2'),
+ skill='Minmatar Cruiser')
+
+
+class Effect6093(BaseEffect):
+ """
+ shipBonusHeavyMissileAllDamageMC2
+
+ Used by:
+ Ship: Rapier
+ Ship: Scythe Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for damageType in ('em', 'explosive', 'kinetic', 'thermal'):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusMC2'),
+ skill='Minmatar Cruiser')
+
+
+class Effect6096(BaseEffect):
+ """
+ shipBonusLightMissileAllDamageMC2
+
+ Used by:
+ Ship: Rapier
+ Ship: Scythe Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ for damageType in ('em', 'explosive', 'kinetic', 'thermal'):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ '{0}Damage'.format(damageType), ship.getModifiedItemAttr('shipBonusMC2'),
+ skill='Minmatar Cruiser')
+
+
+class Effect6098(BaseEffect):
+ """
+ shipMissileReloadTimeCaldariTacticalDestroyer2
+
+ Used by:
+ Ship: Jackdaw
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'),
+ 'reloadTime', ship.getModifiedItemAttr('shipBonusTacticalDestroyerCaldari2'),
+ skill='Caldari Tactical Destroyer')
+
+
+class Effect6104(BaseEffect):
+ """
+ entosisDurationMultiply
+
+ Used by:
+ Items from market group: Ships > Capital Ships (31 of 40)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Infomorph Psychology'),
+ 'duration', ship.getModifiedItemAttr('entosisDurationMultiplier') or 1)
+
+
+class Effect6110(BaseEffect):
+ """
+ missileVelocityBonusOnline
+
+ Used by:
+ Modules from group: Missile Guidance Enhancer (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', module.getModifiedItemAttr('missileVelocityBonus'),
+ stackingPenalties=True)
+
+
+class Effect6111(BaseEffect):
+ """
+ missileExplosionDelayBonusOnline
+
+ Used by:
+ Modules from group: Missile Guidance Enhancer (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosionDelay', module.getModifiedItemAttr('explosionDelayBonus'),
+ stackingPenalties=True)
+
+
+class Effect6112(BaseEffect):
+ """
+ missileAOECloudSizeBonusOnline
+
+ Used by:
+ Modules from group: Missile Guidance Enhancer (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeCloudSize', module.getModifiedItemAttr('aoeCloudSizeBonus'),
+ stackingPenalties=True)
+
+
+class Effect6113(BaseEffect):
+ """
+ missileAOEVelocityBonusOnline
+
+ Used by:
+ Modules from group: Missile Guidance Enhancer (3 of 3)
+ Module: ML-EKP 'Polybolos' Ballistic Control System
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeVelocity', module.getModifiedItemAttr('aoeVelocityBonus'),
+ stackingPenalties=True)
+
+
+class Effect6128(BaseEffect):
+ """
+ scriptMissileGuidanceComputerAOECloudSizeBonusBonus
+
+ Used by:
+ Charges from group: Tracking Script (2 of 2)
+ Charges named like: Missile Script (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('aoeCloudSizeBonus', module.getModifiedChargeAttr('aoeCloudSizeBonusBonus'))
+
+
+class Effect6129(BaseEffect):
+ """
+ scriptMissileGuidanceComputerAOEVelocityBonusBonus
+
+ Used by:
+ Charges from group: Tracking Script (2 of 2)
+ Charges named like: Missile Script (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('aoeVelocityBonus', module.getModifiedChargeAttr('aoeVelocityBonusBonus'))
+
+
+class Effect6130(BaseEffect):
+ """
+ scriptMissileGuidanceComputerMissileVelocityBonusBonus
+
+ Used by:
+ Charges named like: Missile Script (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('missileVelocityBonus', module.getModifiedChargeAttr('missileVelocityBonusBonus'))
+
+
+class Effect6131(BaseEffect):
+ """
+ scriptMissileGuidanceComputerExplosionDelayBonusBonus
+
+ Used by:
+ Charges named like: Missile Script (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('explosionDelayBonus', module.getModifiedChargeAttr('explosionDelayBonusBonus'))
+
+
+class Effect6135(BaseEffect):
+ """
+ missileGuidanceComputerBonus4
+
+ Used by:
+ Modules from group: Missile Guidance Computer (3 of 3)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, container, 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, container.getModifiedItemAttr(srcAttr),
+ stackingPenalties=True)
+
+
+class Effect6144(BaseEffect):
+ """
+ overloadSelfMissileGuidanceBonus5
+
+ Used by:
+ Modules from group: Missile Guidance Computer (3 of 3)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for tgtAttr in (
+ 'aoeCloudSizeBonus',
+ 'explosionDelayBonus',
+ 'missileVelocityBonus',
+ 'maxVelocityModifier',
+ 'aoeVelocityBonus'
+ ):
+ module.boostItemAttr(tgtAttr, module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'))
+
+
+class Effect6148(BaseEffect):
+ """
+ shipHeatDamageGallenteTacticalDestroyer3
+
+ Used by:
+ Ship: Hecate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'heatDamage',
+ ship.getModifiedItemAttr('shipBonusTacticalDestroyerGallente3'),
+ skill='Gallente Tactical Destroyer')
+
+
+class Effect6149(BaseEffect):
+ """
+ shipSHTRoFGallenteTacticalDestroyer1
+
+ Used by:
+ Ship: Hecate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'speed', ship.getModifiedItemAttr('shipBonusTacticalDestroyerGallente1'),
+ skill='Gallente Tactical Destroyer')
+
+
+class Effect6150(BaseEffect):
+ """
+ shipSHTTrackingGallenteTacticalDestroyer2
+
+ Used by:
+ Ship: Hecate
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusTacticalDestroyerGallente2'),
+ skill='Gallente Tactical Destroyer')
+
+
+class Effect6151(BaseEffect):
+ """
+ modeHullResonancePostDiv
+
+ Used by:
+ Module: Hecate Defense Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for srcResType, tgtResType in (
+ ('Em', 'em'),
+ ('Explosive', 'explosive'),
+ ('Kinetic', 'kinetic'),
+ ('Thermic', 'thermal')
+ ):
+ fit.ship.multiplyItemAttr(
+ '{0}DamageResonance'.format(tgtResType),
+ 1 / module.getModifiedItemAttr('mode{0}ResistancePostDiv'.format(srcResType))
+ )
+
+
+class Effect6152(BaseEffect):
+ """
+ shipModeSHTOptimalRangePostDiv
+
+ Used by:
+ Module: Hecate Sharpshooter Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'maxRange',
+ 1 / module.getModifiedItemAttr('modeMaxRangePostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6153(BaseEffect):
+ """
+ modeMWDCapPostDiv
+
+ Used by:
+ Module: Hecate Propulsion Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'capacitorNeed',
+ 1 / module.getModifiedItemAttr('modeMWDCapPostDiv')
+ )
+
+
+class Effect6154(BaseEffect):
+ """
+ modeMWDBoostPostDiv
+
+ Used by:
+ Module: Hecate Propulsion Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('High Speed Maneuvering'),
+ 'speedFactor',
+ 1 / module.getModifiedItemAttr('modeMWDVelocityPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6155(BaseEffect):
+ """
+ modeArmorRepDurationPostDiv
+
+ Used by:
+ Module: Hecate Defense Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'duration',
+ 1 / module.getModifiedItemAttr('modeArmorRepDurationPostDiv')
+ )
+
+
+class Effect6163(BaseEffect):
+ """
+ passiveSpeedLimit
+
+ Used by:
+ Modules from group: Entosis Link (6 of 6)
+ """
+
+ runtime = 'late'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.extraAttributes['speedLimit'] = src.getModifiedItemAttr('speedLimit')
+
+
+class Effect6164(BaseEffect):
+ """
+ systemMaxVelocityPercentage
+
+ Used by:
+ Celestials named like: Drifter Incursion (6 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, beacon, context):
+ fit.ship.boostItemAttr('maxVelocity', beacon.getModifiedItemAttr('maxVelocityMultiplier'), stackingPenalties=True)
+
+
+class Effect6166(BaseEffect):
+ """
+ shipBonusWDFGnullPenalties
+
+ Used by:
+ Ship: Fiend
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Propulsion Jamming'),
+ 'speedFactorBonus', ship.getModifiedItemAttr('shipBonusAT'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Propulsion Jamming'),
+ 'speedBoostFactorBonus', ship.getModifiedItemAttr('shipBonusAT'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Propulsion Jamming'),
+ 'massBonusPercentage', ship.getModifiedItemAttr('shipBonusAT'))
+
+
+class Effect6170(BaseEffect):
+ """
+ entosisCPUPenalty
+
+ Used by:
+ Ships from group: Interceptor (10 of 10)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Infomorph Psychology'),
+ 'entosisCPUAdd', ship.getModifiedItemAttr('entosisCPUPenalty'))
+
+
+class Effect6171(BaseEffect):
+ """
+ entosisCPUAddition
+
+ Used by:
+ Modules from group: Entosis Link (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.increaseItemAttr('cpu', module.getModifiedItemAttr('entosisCPUAdd'))
+
+
+class Effect6172(BaseEffect):
+ """
+ battlecruiserMETRange
+
+ Used by:
+ Ships named like: Harbinger (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'maxRange', ship.getModifiedItemAttr('roleBonusCBC'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'falloff', ship.getModifiedItemAttr('roleBonusCBC'))
+
+
+class Effect6173(BaseEffect):
+ """
+ battlecruiserMHTRange
+
+ Used by:
+ Ships named like: Brutix (2 of 2)
+ Ship: Ferox
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'maxRange', ship.getModifiedItemAttr('roleBonusCBC'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'falloff', ship.getModifiedItemAttr('roleBonusCBC'))
+
+
+class Effect6174(BaseEffect):
+ """
+ battlecruiserMPTRange
+
+ Used by:
+ Ships named like: Hurricane (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'maxRange', ship.getModifiedItemAttr('roleBonusCBC'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'falloff', ship.getModifiedItemAttr('roleBonusCBC'))
+
+
+class Effect6175(BaseEffect):
+ """
+ battlecruiserMissileRange
+
+ Used by:
+ Ships named like: Drake (2 of 2)
+ Ship: Cyclone
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'maxVelocity', skill.getModifiedItemAttr('roleBonusCBC'))
+
+
+class Effect6176(BaseEffect):
+ """
+ battlecruiserDroneSpeed
+
+ Used by:
+ Ship: Myrmidon
+ Ship: Prophecy
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'maxVelocity', ship.getModifiedItemAttr('roleBonusCBC'))
+
+
+class Effect6177(BaseEffect):
+ """
+ shipHybridDmg1CBC2
+
+ Used by:
+ Ship: Ferox
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusCBC2'),
+ skill='Caldari Battlecruiser')
+
+
+class Effect6178(BaseEffect):
+ """
+ shipBonusProjectileTrackingMBC2
+
+ Used by:
+ Ship: Hurricane Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusMBC2'),
+ skill='Minmatar Battlecruiser')
+
+
+class Effect6184(BaseEffect):
+ """
+ shipModuleRemoteCapacitorTransmitter
+
+ Used by:
+ Modules from group: Remote Capacitor Transmitter (41 of 41)
+ """
+
+ runTime = 'late'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, src, context, **kwargs):
+ if 'projected' in context:
+ amount = src.getModifiedItemAttr('powerTransferAmount')
+ duration = src.getModifiedItemAttr('duration')
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ fit.addDrain(src, duration, -amount, 0)
+
+
+class Effect6185(BaseEffect):
+ """
+ shipModuleRemoteHullRepairer
+
+ Used by:
+ Modules from group: Remote Hull Repairer (8 of 8)
+ """
+
+ runTime = 'late'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ if 'projected' not in context:
+ return
+ bonus = module.getModifiedItemAttr('structureDamageAmount')
+ duration = module.getModifiedItemAttr('duration') / 1000.0
+ fit.extraAttributes.increase('hullRepair', bonus / duration)
+
+
+class Effect6186(BaseEffect):
+ """
+ shipModuleRemoteShieldBooster
+
+ Used by:
+ Modules from group: Remote Shield Booster (38 of 38)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, container, context, **kwargs):
+ if 'projected' in context:
+ bonus = container.getModifiedItemAttr('shieldBonus')
+ duration = container.getModifiedItemAttr('duration') / 1000.0
+ fit.extraAttributes.increase('shieldRepair', bonus / duration, **kwargs)
+
+
+class Effect6187(BaseEffect):
+ """
+ energyNeutralizerFalloff
+
+ Used by:
+ Modules from group: Energy Neutralizer (54 of 54)
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, src, context, **kwargs):
+ if 'projected' in context and ((hasattr(src, 'state') and src.state >= FittingModuleState.ACTIVE) or
+ hasattr(src, 'amountActive')):
+ amount = src.getModifiedItemAttr('energyNeutralizerAmount')
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ time = src.getModifiedItemAttr('duration')
+
+ fit.addDrain(src, time, amount, 0)
+
+
+class Effect6188(BaseEffect):
+ """
+ shipModuleRemoteArmorRepairer
+
+ Used by:
+ Modules from group: Remote Armor Repairer (39 of 39)
+ """
+
+ runTime = 'late'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, container, context, **kwargs):
+ if 'projected' in context:
+ bonus = container.getModifiedItemAttr('armorDamageAmount')
+ duration = container.getModifiedItemAttr('duration') / 1000.0
+ rps = bonus / duration
+ fit.extraAttributes.increase('armorRepair', rps)
+ fit.extraAttributes.increase('armorRepairPreSpool', rps)
+ fit.extraAttributes.increase('armorRepairFullSpool', rps)
+
+
+class Effect6195(BaseEffect):
+ """
+ expeditionFrigateShieldResistance1
+
+ Used by:
+ Ship: Endurance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('eliteBonusExpedition1'),
+ skill='Expedition Frigates')
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('eliteBonusExpedition1'),
+ skill='Expedition Frigates')
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('eliteBonusExpedition1'),
+ skill='Expedition Frigates')
+ fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('eliteBonusExpedition1'),
+ skill='Expedition Frigates')
+
+
+class Effect6196(BaseEffect):
+ """
+ expeditionFrigateBonusIceHarvestingCycleTime2
+
+ Used by:
+ Ship: Endurance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'duration',
+ src.getModifiedItemAttr('eliteBonusExpedition2'), skill='Expedition Frigates')
+
+
+class Effect6197(BaseEffect):
+ """
+ energyNosferatuFalloff
+
+ Used by:
+ Modules from group: Energy Nosferatu (54 of 54)
+ """
+
+ runTime = 'late'
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, src, context, **kwargs):
+ amount = src.getModifiedItemAttr('powerTransferAmount')
+ time = src.getModifiedItemAttr('duration')
+
+ if 'effect' in kwargs and 'projected' in context:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ if 'projected' in context:
+ fit.addDrain(src, time, amount, 0)
+ elif 'module' in context:
+ src.itemModifiedAttributes.force('capacitorNeed', -amount)
+
+
+class Effect6201(BaseEffect):
+ """
+ doomsdaySlash
+
+ Used by:
+ Modules named like: Reaper (4 of 4)
+ """
+
+ type = 'active'
+
+
+class Effect6208(BaseEffect):
+ """
+ microJumpPortalDrive
+
+ Used by:
+ Module: Micro Jump Field Generator
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonusPercent'),
+ stackingPenalties=True)
+
+
+class Effect6214(BaseEffect):
+ """
+ roleBonusCDLinksPGReduction
+
+ Used by:
+ Ships from group: Command Destroyer (4 of 4)
+ Ship: Porpoise
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'power',
+ src.getModifiedItemAttr('roleBonusCD'))
+
+
+class Effect6216(BaseEffect):
+ """
+ structureEnergyNeutralizerFalloff
+
+ Used by:
+ Structure Modules from group: Structure Energy Neutralizer (5 of 5)
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, src, context, **kwargs):
+ amount = 0
+ if 'projected' in context:
+ if (hasattr(src, 'state') and src.state >= FittingModuleState.ACTIVE) or hasattr(src, 'amountActive'):
+ amount = src.getModifiedItemAttr('energyNeutralizerAmount')
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ time = src.getModifiedItemAttr('duration')
+
+ fit.addDrain(src, time, amount, 0)
+
+
+class Effect6222(BaseEffect):
+ """
+ structureWarpScrambleBlockMWDWithNPCEffect
+
+ Used by:
+ Structure Modules from group: Structure Warp Scrambler (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ if 'projected' in context:
+ fit.ship.increaseItemAttr('warpScrambleStatus', module.getModifiedItemAttr('warpScrambleStrength'))
+ if module.charge is not None and module.charge.ID == 47336:
+ for mod in fit.modules:
+ if not mod.isEmpty and mod.item.requiresSkill('High Speed Maneuvering') and mod.state > FittingModuleState.ONLINE:
+ mod.state = FittingModuleState.ONLINE
+ if not mod.isEmpty and mod.item.requiresSkill('Micro Jump Drive Operation') and mod.state > FittingModuleState.ONLINE:
+ mod.state = FittingModuleState.ONLINE
+
+
+class Effect6230(BaseEffect):
+ """
+ shipBonusEnergyNeutOptimalRS1
+
+ Used by:
+ Ship: Curse
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',
+ src.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships')
+
+
+class Effect6232(BaseEffect):
+ """
+ shipBonusEnergyNeutFalloffRS2
+
+ Used by:
+ Ship: Pilgrim
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',
+ src.getModifiedItemAttr('eliteBonusReconShip2'), skill='Recon Ships')
+
+
+class Effect6233(BaseEffect):
+ """
+ shipBonusEnergyNeutFalloffRS3
+
+ Used by:
+ Ship: Curse
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',
+ src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships')
+
+
+class Effect6234(BaseEffect):
+ """
+ shipBonusEnergyNosOptimalRS1
+
+ Used by:
+ Ship: Curse
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',
+ src.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships')
+
+
+class Effect6237(BaseEffect):
+ """
+ shipBonusEnergyNosFalloffRS2
+
+ Used by:
+ Ship: Pilgrim
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',
+ src.getModifiedItemAttr('eliteBonusReconShip2'), skill='Recon Ships')
+
+
+class Effect6238(BaseEffect):
+ """
+ shipBonusEnergyNosFalloffRS3
+
+ Used by:
+ Ship: Curse
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',
+ src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships')
+
+
+class Effect6239(BaseEffect):
+ """
+ miningFrigateBonusIceHarvestingCycleTime2
+
+ Used by:
+ Ship: Endurance
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'duration',
+ src.getModifiedItemAttr('shipBonusOREfrig2'), skill='Mining Frigate')
+
+
+class Effect6241(BaseEffect):
+ """
+ shipBonusEnergyNeutFalloffAD1
+
+ Used by:
+ Ship: Dragoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer')
+
+
+class Effect6242(BaseEffect):
+ """
+ shipBonusEnergyNeutOptimalAD2
+
+ Used by:
+ Ship: Dragoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',
+ src.getModifiedItemAttr('shipBonusAD2'), skill='Amarr Destroyer')
+
+
+class Effect6245(BaseEffect):
+ """
+ shipBonusEnergyNosOptimalAD2
+
+ Used by:
+ Ship: Dragoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',
+ src.getModifiedItemAttr('shipBonusAD2'), skill='Amarr Destroyer')
+
+
+class Effect6246(BaseEffect):
+ """
+ shipBonusEnergyNosFalloffAD1
+
+ Used by:
+ Ship: Dragoon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonusAD1'), skill='Amarr Destroyer')
+
+
+class Effect6253(BaseEffect):
+ """
+ shipBonusEnergyNeutOptimalAB
+
+ Used by:
+ Ship: Armageddon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',
+ src.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship')
+
+
+class Effect6256(BaseEffect):
+ """
+ shipBonusEnergyNeutFalloffAB2
+
+ Used by:
+ Ship: Armageddon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship')
+
+
+class Effect6257(BaseEffect):
+ """
+ shipBonusEnergyNosOptimalAB
+
+ Used by:
+ Ship: Armageddon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',
+ src.getModifiedItemAttr('shipBonusAB'), skill='Amarr Battleship')
+
+
+class Effect6260(BaseEffect):
+ """
+ shipBonusEnergyNosFalloffAB2
+
+ Used by:
+ Ship: Armageddon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonusAB2'), skill='Amarr Battleship')
+
+
+class Effect6267(BaseEffect):
+ """
+ shipBonusEnergyNeutOptimalEAF1
+
+ Used by:
+ Ship: Sentinel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',
+ src.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),
+ skill='Electronic Attack Ships')
+
+
+class Effect6272(BaseEffect):
+ """
+ shipBonusEnergyNeutFalloffEAF3
+
+ Used by:
+ Ship: Sentinel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',
+ src.getModifiedItemAttr('eliteBonusElectronicAttackShip3'),
+ skill='Electronic Attack Ships')
+
+
+class Effect6273(BaseEffect):
+ """
+ shipBonusEnergyNosOptimalEAF1
+
+ Used by:
+ Ship: Sentinel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',
+ src.getModifiedItemAttr('eliteBonusElectronicAttackShip1'),
+ skill='Electronic Attack Ships')
+
+
+class Effect6278(BaseEffect):
+ """
+ shipBonusEnergyNosFalloffEAF3
+
+ Used by:
+ Ship: Sentinel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',
+ src.getModifiedItemAttr('eliteBonusElectronicAttackShip3'),
+ skill='Electronic Attack Ships')
+
+
+class Effect6281(BaseEffect):
+ """
+ shipBonusEnergyNeutOptimalAF2
+
+ Used by:
+ Ship: Malice
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect6285(BaseEffect):
+ """
+ shipBonusEnergyNeutFalloffAF3
+
+ Used by:
+ Ship: Malice
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonus3AF'), skill='Amarr Frigate')
+
+
+class Effect6287(BaseEffect):
+ """
+ shipBonusEnergyNosOptimalAF2
+
+ Used by:
+ Ship: Malice
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect6291(BaseEffect):
+ """
+ shipBonusEnergyNosFalloffAF3
+
+ Used by:
+ Ship: Malice
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonus3AF'), skill='Amarr Frigate')
+
+
+class Effect6294(BaseEffect):
+ """
+ shipBonusEnergyNeutOptimalAC1
+
+ Used by:
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'maxRange',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect6299(BaseEffect):
+ """
+ shipBonusEnergyNeutFalloffAC3
+
+ Used by:
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonusAC3'), skill='Amarr Cruiser')
+
+
+class Effect6300(BaseEffect):
+ """
+ shipBonusEnergyNosOptimalAC1
+
+ Used by:
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect6301(BaseEffect):
+ """
+ shipBonusNosOptimalFalloffAC2
+
+ Used by:
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'maxRange',
+ src.getModifiedItemAttr('shipBonusAC2'), skill='Amarr Cruiser')
+
+
+class Effect6305(BaseEffect):
+ """
+ shipBonusEnergyNosFalloffAC3
+
+ Used by:
+ Ship: Vangel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonusAC3'), skill='Amarr Cruiser')
+
+
+class Effect6307(BaseEffect):
+ """
+ shipBonusThermMissileDmgMD1
+
+ Used by:
+ Ship: Bifrost
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusMD1'), skill='Minmatar Destroyer')
+
+
+class Effect6308(BaseEffect):
+ """
+ shipBonusEMMissileDmgMD1
+
+ Used by:
+ Ship: Bifrost
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusMD1'), skill='Minmatar Destroyer')
+
+
+class Effect6309(BaseEffect):
+ """
+ shipBonusKineticMissileDmgMD1
+
+ Used by:
+ Ship: Bifrost
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusMD1'), skill='Minmatar Destroyer')
+
+
+class Effect6310(BaseEffect):
+ """
+ shipBonusExplosiveMissileDmgMD1
+
+ Used by:
+ Ship: Bifrost
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosiveDamage', src.getModifiedItemAttr('shipBonusMD1'),
+ skill='Minmatar Destroyer')
+
+
+class Effect6315(BaseEffect):
+ """
+ eliteBonusCommandDestroyerSkirmish1
+
+ Used by:
+ Ship: Bifrost
+ Ship: Magus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'buffDuration',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+
+
+class Effect6316(BaseEffect):
+ """
+ eliteBonusCommandDestroyerShield1
+
+ Used by:
+ Ship: Bifrost
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+
+
+class Effect6317(BaseEffect):
+ """
+ eliteBonusCommandDestroyerMJFGspool2
+
+ Used by:
+ Ships from group: Command Destroyer (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Micro Jump Drive Operation'), 'duration',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer2'), skill='Command Destroyers')
+
+
+class Effect6318(BaseEffect):
+ """
+ shipBonusEMShieldResistanceMD2
+
+ Used by:
+ Ship: Bifrost
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusMD2'),
+ skill='Minmatar Destroyer')
+
+
+class Effect6319(BaseEffect):
+ """
+ shipBonusKineticShieldResistanceMD2
+
+ Used by:
+ Ship: Bifrost
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusMD2'),
+ skill='Minmatar Destroyer')
+
+
+class Effect6320(BaseEffect):
+ """
+ shipBonusThermalShieldResistanceMD2
+
+ Used by:
+ Ship: Bifrost
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusMD2'),
+ skill='Minmatar Destroyer')
+
+
+class Effect6321(BaseEffect):
+ """
+ shipBonusExplosiveShieldResistanceMD2
+
+ Used by:
+ Ship: Bifrost
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusMD2'),
+ skill='Minmatar Destroyer')
+
+
+class Effect6322(BaseEffect):
+ """
+ scriptscanGravimetricStrengthBonusBonus
+
+ Used by:
+ Charges from group: Structure ECM script (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context, *args, **kwargs):
+ src.boostItemAttr('scanGravimetricStrengthBonus', src.getModifiedChargeAttr('scanGravimetricStrengthBonusBonus'))
+
+
+class Effect6323(BaseEffect):
+ """
+ scriptscanLadarStrengthBonusBonus
+
+ Used by:
+ Charges from group: Structure ECM script (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context, *args, **kwargs):
+ src.boostItemAttr('scanLadarStrengthBonus', src.getModifiedChargeAttr('scanLadarStrengthBonusBonus'))
+
+
+class Effect6324(BaseEffect):
+ """
+ scriptscanMagnetometricStrengthBonusBonus
+
+ Used by:
+ Charges from group: Structure ECM script (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context, *args, **kwargs):
+ src.boostItemAttr('scanMagnetometricStrengthBonus', src.getModifiedChargeAttr('scanMagnetometricStrengthBonusBonus'))
+
+
+class Effect6325(BaseEffect):
+ """
+ scriptscanRadarStrengthBonusBonus
+
+ Used by:
+ Charges from group: Structure ECM script (4 of 4)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context, *args, **kwargs):
+ src.boostItemAttr('scanRadarStrengthBonus', src.getModifiedChargeAttr('scanRadarStrengthBonusBonus'))
+
+
+class Effect6326(BaseEffect):
+ """
+ shipBonusThermalMissileDamageCD1
+
+ Used by:
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer')
+
+
+class Effect6327(BaseEffect):
+ """
+ shipBonusEMMissileDamageCD1
+
+ Used by:
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer')
+
+
+class Effect6328(BaseEffect):
+ """
+ shipBonusKineticMissileDamageCD1
+
+ Used by:
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusCD1'), skill='Caldari Destroyer')
+
+
+class Effect6329(BaseEffect):
+ """
+ shipBonusExplosiveMissileDamageCD1
+
+ Used by:
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'explosiveDamage', src.getModifiedItemAttr('shipBonusCD1'),
+ skill='Caldari Destroyer')
+
+
+class Effect6330(BaseEffect):
+ """
+ shipBonusShieldEMResistanceCD2
+
+ Used by:
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),
+ skill='Caldari Destroyer')
+
+
+class Effect6331(BaseEffect):
+ """
+ shipBonusShieldThermalResistanceCD2
+
+ Used by:
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),
+ skill='Caldari Destroyer')
+
+
+class Effect6332(BaseEffect):
+ """
+ shipBonusShieldKineticResistanceCD2
+
+ Used by:
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),
+ skill='Caldari Destroyer')
+
+
+class Effect6333(BaseEffect):
+ """
+ shipBonusShieldExplosiveResistanceCD2
+
+ Used by:
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusCD2'),
+ skill='Caldari Destroyer')
+
+
+class Effect6334(BaseEffect):
+ """
+ eliteBonusCommandDestroyerInfo1
+
+ Used by:
+ Ship: Pontifex
+ Ship: Stork
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'buffDuration',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+
+
+class Effect6335(BaseEffect):
+ """
+ shipBonusKineticArmorResistanceAD2
+
+ Used by:
+ Ship: Pontifex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusAD2'),
+ skill='Amarr Destroyer')
+
+
+class Effect6336(BaseEffect):
+ """
+ shipBonusThermalArmorResistanceAD2
+
+ Used by:
+ Ship: Pontifex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusAD2'),
+ skill='Amarr Destroyer')
+
+
+class Effect6337(BaseEffect):
+ """
+ shipBonusEMArmorResistanceAD2
+
+ Used by:
+ Ship: Pontifex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusAD2'), skill='Amarr Destroyer')
+
+
+class Effect6338(BaseEffect):
+ """
+ shipBonusExplosiveArmorResistanceAD2
+
+ Used by:
+ Ship: Pontifex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusAD2'),
+ skill='Amarr Destroyer')
+
+
+class Effect6339(BaseEffect):
+ """
+ eliteBonusCommandDestroyerArmored1
+
+ Used by:
+ Ship: Magus
+ Ship: Pontifex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'buffDuration',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('eliteBonusCommandDestroyer1'), skill='Command Destroyers')
+
+
+class Effect6340(BaseEffect):
+ """
+ shipBonusKineticArmorResistanceGD2
+
+ Used by:
+ Ship: Magus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusGD2'),
+ skill='Gallente Destroyer')
+
+
+class Effect6341(BaseEffect):
+ """
+ shipBonusEMArmorResistanceGD2
+
+ Used by:
+ Ship: Magus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusGD2'),
+ skill='Gallente Destroyer')
+
+
+class Effect6342(BaseEffect):
+ """
+ shipBonusThermalArmorResistanceGD2
+
+ Used by:
+ Ship: Magus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusGD2'),
+ skill='Gallente Destroyer')
+
+
+class Effect6343(BaseEffect):
+ """
+ shipBonusExplosiveArmorResistanceGD2
+
+ Used by:
+ Ship: Magus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusGD2'),
+ skill='Gallente Destroyer')
+
+
+class Effect6350(BaseEffect):
+ """
+ shipSmallMissileKinDmgCF3
+
+ Used by:
+ Ship: Caldari Navy Hookbill
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(
+ lambda mod: mod.charge.requiresSkill('Light Missiles') or mod.charge.requiresSkill('Rockets'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonus3CF'), skill='Caldari Frigate')
+
+
+class Effect6351(BaseEffect):
+ """
+ shipMissileKinDamageCC3
+
+ Used by:
+ Ship: Osprey Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusCC3'), skill='Caldari Cruiser')
+
+
+class Effect6352(BaseEffect):
+ """
+ roleBonusWDRange
+
+ Used by:
+ Ship: Crucifier Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'falloffEffectiveness',
+ src.getModifiedItemAttr('roleBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'maxRange',
+ src.getModifiedItemAttr('roleBonus'))
+
+
+class Effect6353(BaseEffect):
+ """
+ roleBonusWDCapCPU
+
+ Used by:
+ Ship: Crucifier Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'cpu',
+ src.getModifiedItemAttr('roleBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'capacitorNeed',
+ src.getModifiedItemAttr('roleBonus'))
+
+
+class Effect6354(BaseEffect):
+ """
+ shipBonusEwWeaponDisruptionStrengthAF2
+
+ Used by:
+ Variations of ship: Crucifier (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'trackingSpeedBonus',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'explosionDelayBonus',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'maxRangeBonus',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'falloffBonus',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'missileVelocityBonus',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'aoeVelocityBonus',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'aoeCloudSizeBonus',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect6355(BaseEffect):
+ """
+ roleBonusECMCapCPU
+
+ Used by:
+ Ship: Griffin Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'capacitorNeed',
+ src.getModifiedItemAttr('roleBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'cpu', src.getModifiedItemAttr('roleBonus'))
+
+
+class Effect6356(BaseEffect):
+ """
+ roleBonusECMRange
+
+ Used by:
+ Ship: Griffin Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'falloffEffectiveness',
+ src.getModifiedItemAttr('roleBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'maxRange',
+ src.getModifiedItemAttr('roleBonus'))
+
+
+class Effect6357(BaseEffect):
+ """
+ shipBonusJustScramblerRangeGF2
+
+ Used by:
+ Ship: Maulus Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Navigation'), 'maxRange',
+ src.getModifiedItemAttr('shipBonusGF2'), skill='Gallente Frigate')
+
+
+class Effect6358(BaseEffect):
+ """
+ roleBonusJustScramblerStrength
+
+ Used by:
+ Ship: Maulus Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Navigation'),
+ 'warpScrambleStrength', ship.getModifiedItemAttr('roleBonus'))
+
+
+class Effect6359(BaseEffect):
+ """
+ shipBonusAoeVelocityRocketsMF
+
+ Used by:
+ Ship: Vigil Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'aoeVelocity',
+ src.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect6360(BaseEffect):
+ """
+ shipRocketEMThermKinDmgMF2
+
+ Used by:
+ Ship: Vigil Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusMF2'), skill='Minmatar Frigate')
+
+
+class Effect6361(BaseEffect):
+ """
+ shipRocketExpDmgMF3
+
+ Used by:
+ Ship: Vigil Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonus3MF'), skill='Minmatar Frigate')
+
+
+class Effect6362(BaseEffect):
+ """
+ roleBonusStasisRange
+
+ Used by:
+ Ship: Vigil Fleet Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange',
+ src.getModifiedItemAttr('roleBonus'))
+
+
+class Effect6368(BaseEffect):
+ """
+ shieldTransporterFalloffBonus
+
+ Used by:
+ Variations of ship: Bantam (2 of 2)
+ Variations of ship: Burst (2 of 2)
+ Ship: Osprey
+ Ship: Scythe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Shield Booster', 'falloffEffectiveness',
+ src.getModifiedItemAttr('falloffBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Ancillary Remote Shield Booster',
+ 'falloffEffectiveness', src.getModifiedItemAttr('falloffBonus'))
+
+
+class Effect6369(BaseEffect):
+ """
+ shipShieldTransferFalloffMC2
+
+ Used by:
+ Ship: Scimitar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect6370(BaseEffect):
+ """
+ shipShieldTransferFalloffCC1
+
+ Used by:
+ Ship: Basilisk
+ Ship: Etana
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'falloffEffectiveness',
+ src.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect6371(BaseEffect):
+ """
+ shipRemoteArmorFalloffGC1
+
+ Used by:
+ Ship: Oneiros
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'falloffEffectiveness', src.getModifiedItemAttr('shipBonusGC'),
+ skill='Gallente Cruiser')
+
+
+class Effect6372(BaseEffect):
+ """
+ shipRemoteArmorFalloffAC2
+
+ Used by:
+ Ship: Guardian
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'falloffEffectiveness', src.getModifiedItemAttr('shipBonusAC2'),
+ skill='Amarr Cruiser')
+
+
+class Effect6373(BaseEffect):
+ """
+ armorRepairProjectorFalloffBonus
+
+ Used by:
+ Variations of ship: Navitas (2 of 2)
+ Ship: Augoror
+ Ship: Deacon
+ Ship: Exequror
+ Ship: Inquisitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Armor Repairer', 'falloffEffectiveness',
+ src.getModifiedItemAttr('falloffBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Ancillary Remote Armor Repairer',
+ 'falloffEffectiveness', src.getModifiedItemAttr('falloffBonus'))
+
+
+class Effect6374(BaseEffect):
+ """
+ droneHullRepairBonusEffect
+
+ Used by:
+ Ships from group: Logistics (6 of 7)
+ Ship: Exequror
+ Ship: Scythe
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == 'Logistic Drone', 'structureDamageAmount',
+ src.getModifiedItemAttr('droneArmorDamageAmountBonus'))
+
+
+class Effect6377(BaseEffect):
+ """
+ eliteBonusLogiFrigArmorRepSpeedCap1
+
+ Used by:
+ Ship: Deacon
+ Ship: Thalia
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('eliteBonusLogiFrig1'), skill='Logistics Frigates')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'duration',
+ src.getModifiedItemAttr('eliteBonusLogiFrig1'), skill='Logistics Frigates')
+
+
+class Effect6378(BaseEffect):
+ """
+ eliteBonusLogiFrigShieldRepSpeedCap1
+
+ Used by:
+ Ship: Kirin
+ Ship: Scalpel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'duration',
+ src.getModifiedItemAttr('eliteBonusLogiFrig1'), skill='Logistics Frigates')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'), 'capacitorNeed',
+ src.getModifiedItemAttr('eliteBonusLogiFrig1'), skill='Logistics Frigates')
+
+
+class Effect6379(BaseEffect):
+ """
+ eliteBonusLogiFrigArmorHP2
+
+ Used by:
+ Ship: Deacon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorHP', src.getModifiedItemAttr('eliteBonusLogiFrig2'), skill='Logistics Frigates')
+
+
+class Effect6380(BaseEffect):
+ """
+ eliteBonusLogiFrigShieldHP2
+
+ Used by:
+ Ship: Kirin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldCapacity', src.getModifiedItemAttr('eliteBonusLogiFrig2'), skill='Logistics Frigates')
+
+
+class Effect6381(BaseEffect):
+ """
+ eliteBonusLogiFrigSignature2
+
+ Used by:
+ Ship: Scalpel
+ Ship: Thalia
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('signatureRadius', src.getModifiedItemAttr('eliteBonusLogiFrig2'),
+ skill='Logistics Frigates')
+
+
+class Effect6384(BaseEffect):
+ """
+ overloadSelfMissileGuidanceModuleBonus
+
+ Used by:
+ Variations of module: Guidance Disruptor I (6 of 6)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for tgtAttr in (
+ 'aoeCloudSizeBonus',
+ 'explosionDelayBonus',
+ 'missileVelocityBonus',
+ 'aoeVelocityBonus'
+ ):
+ module.boostItemAttr(tgtAttr, module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus'))
+
+
+class Effect6385(BaseEffect):
+ """
+ ignoreCloakVelocityPenalty
+
+ Used by:
+ Ship: Endurance
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemForce(lambda mod: mod.item.group.name == 'Cloaking Device',
+ 'maxVelocityModifier', src.getModifiedItemAttr('velocityPenaltyReduction'))
+
+
+class Effect6386(BaseEffect):
+ """
+ ewSkillGuidanceDisruptionBonus
+
+ Used by:
+ Modules named like: Tracking Diagnostic Subroutines (8 of 8)
+ Skill: Weapon Destabilization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ level = src.level if 'skill' in context else 1
+ for attr in (
+ 'explosionDelayBonus',
+ 'aoeVelocityBonus',
+ 'aoeCloudSizeBonus',
+ 'missileVelocityBonus'
+ ):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'),
+ attr, src.getModifiedItemAttr('scanSkillEwStrengthBonus') * level)
+
+
+class Effect6395(BaseEffect):
+ """
+ shipBonusEwWeaponDisruptionStrengthAC1
+
+ Used by:
+ Variations of ship: Arbitrator (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'missileVelocityBonus',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'aoeVelocityBonus',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'maxRangeBonus',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'explosionDelayBonus',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'aoeCloudSizeBonus',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'trackingSpeedBonus',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Weapon Disruption'), 'falloffBonus',
+ src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect6396(BaseEffect):
+ """
+ skillStructureMissileDamageBonus
+
+ Used by:
+ Skill: Structure Missile Systems
+ """
+
+ type = 'passive', 'structure'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Structure Anti-Capital Missile', 'Structure Anti-Subcapital Missile', 'Structure Guided Bomb')
+ for damageType in ('em', 'thermal', 'explosive', 'kinetic'):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in groups,
+ '%sDamage' % damageType, src.getModifiedItemAttr('damageMultiplierBonus'),
+ skill='Structure Missile Systems')
+
+
+class Effect6400(BaseEffect):
+ """
+ skillStructureElectronicSystemsCapNeedBonus
+
+ Used by:
+ Skill: Structure Electronic Systems
+ """
+
+ type = 'passive', 'structure'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Structure Warp Scrambler', 'Structure Disruption Battery', 'Structure Stasis Webifier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'capacitorNeed', src.getModifiedItemAttr('capNeedBonus'),
+ skill='Structure Electronic Systems')
+
+
+class Effect6401(BaseEffect):
+ """
+ skillStructureEngineeringSystemsCapNeedBonus
+
+ Used by:
+ Skill: Structure Engineering Systems
+ """
+
+ type = 'passive', 'structure'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Structure Energy Neutralizer', 'Structure Area Denial Module')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'capacitorNeed', src.getModifiedItemAttr('capNeedBonus'),
+ skill='Structure Engineering Systems')
+
+
+class Effect6402(BaseEffect):
+ """
+ structureRigAoeVelocityBonusSingleTargetMissiles
+
+ Used by:
+ Structure Modules named like: Standup Set Missile (6 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Structure Anti-Subcapital Missile', 'Structure Anti-Capital Missile')
+
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in groups,
+ 'aoeVelocity', src.getModifiedItemAttr('structureRigMissileExploVeloBonus'),
+ stackingPenalties=True)
+
+
+class Effect6403(BaseEffect):
+ """
+ structureRigVelocityBonusSingleTargetMissiles
+
+ Used by:
+ Structure Modules named like: Standup Set Missile (6 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Structure Anti-Subcapital Missile', 'Structure Anti-Capital Missile')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in groups,
+ 'maxVelocity', src.getModifiedItemAttr('structureRigMissileVelocityBonus'),
+ stackingPenalties=True)
+
+
+class Effect6404(BaseEffect):
+ """
+ structureRigNeutralizerMaxRangeFalloffEffectiveness
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig XL - Energy Neutralizer and EW (2 of 2)
+ Structure Modules named like: Standup Set Energy Neutralizer (4 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Energy Neutralizer',
+ 'maxRange', src.getModifiedItemAttr('structureRigEwarOptimalBonus'),
+ stackingPenalties=True)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Energy Neutralizer',
+ 'falloffEffectiveness', src.getModifiedItemAttr('structureRigEwarFalloffBonus'),
+ stackingPenalties=True)
+
+
+class Effect6405(BaseEffect):
+ """
+ structureRigNeutralizerCapacitorNeed
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig XL - Energy Neutralizer and EW (2 of 2)
+ Structure Modules named like: Standup Set Energy Neutralizer (4 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Energy Neutralizer',
+ 'capacitorNeed', src.getModifiedItemAttr('structureRigEwarCapUseBonus'),
+ stackingPenalties=True)
+
+
+class Effect6406(BaseEffect):
+ """
+ structureRigEWMaxRangeFalloff
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig M - EW projection (2 of 2)
+ Structure Modules named like: Standup Set EW (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Structure ECM Battery', 'Structure Disruption Battery')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'falloff', src.getModifiedItemAttr('structureRigEwarFalloffBonus'),
+ stackingPenalties=True)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'maxRange', src.getModifiedItemAttr('structureRigEwarOptimalBonus'),
+ stackingPenalties=True)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'falloffEffectiveness', src.getModifiedItemAttr('structureRigEwarFalloffBonus'),
+ stackingPenalties=True)
+
+
+class Effect6407(BaseEffect):
+ """
+ structureRigEWCapacitorNeed
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig M - EW Cap Reduction (2 of 2)
+ Structure Modules named like: Standup Set EW (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Structure ECM Battery', 'Structure Disruption Battery')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'capacitorNeed', src.getModifiedItemAttr('structureRigEwarCapUseBonus'),
+ stackingPenalties=True)
+
+
+class Effect6408(BaseEffect):
+ """
+ structureRigMaxTargets
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
+ Structure Modules named like: Standup Set Target (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.extraAttributes.increase('maxTargetsLockedFromSkills', src.getModifiedItemAttr('structureRigMaxTargetBonus'))
+
+
+class Effect6409(BaseEffect):
+ """
+ structureRigSensorResolution
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig L - Max Targets and Sensor Boosting (2 of 2)
+ Structure Modules from group: Structure Combat Rig M - Boosted Sensors (2 of 2)
+ Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('structureRigScanResBonus'),
+ stackingPenalties=True)
+
+
+class Effect6410(BaseEffect):
+ """
+ structureRigExplosionRadiusBonusAoEMissiles
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig L - AoE Launcher Application and Projection (2 of 2)
+ Structure Modules from group: Structure Combat Rig XL - Missile and AoE Missile (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Structure Guided Bomb',
+ 'aoeCloudSize', src.getModifiedItemAttr('structureRigMissileExplosionRadiusBonus'),
+ stackingPenalties=True)
+
+
+class Effect6411(BaseEffect):
+ """
+ structureRigVelocityBonusAoeMissiles
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig L - AoE Launcher Application and Projection (2 of 2)
+ Structure Modules from group: Structure Combat Rig XL - Missile and AoE Missile (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == 'Structure Guided Bomb',
+ 'maxVelocity', src.getModifiedItemAttr('structureRigMissileVelocityBonus'),
+ stackingPenalties=True)
+
+
+class Effect6412(BaseEffect):
+ """
+ structureRigPDBmaxRange
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig L - Point Defense Battery Application and Projection (2 of 2)
+ Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Area Denial Module',
+ 'empFieldRange', src.getModifiedItemAttr('structureRigPDRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect6413(BaseEffect):
+ """
+ structureRigPDBCapacitorNeed
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig L - Point Defense Battery Application and Projection (2 of 2)
+ Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Area Denial Module',
+ 'capacitorNeed', src.getModifiedItemAttr('structureRigPDCapUseBonus'),
+ stackingPenalties=True)
+
+
+class Effect6417(BaseEffect):
+ """
+ structureRigDoomsdayDamageLoss
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == 'Structure Doomsday Weapon',
+ 'lightningWeaponDamageLossTarget',
+ src.getModifiedItemAttr('structureRigDoomsdayDamageLossTargetBonus'))
+
+
+class Effect6422(BaseEffect):
+ """
+ remoteSensorDampFalloff
+
+ Used by:
+ Modules from group: Sensor Dampener (6 of 6)
+ Starbases from group: Sensor Dampening Battery (3 of 3)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' not in context:
+ return
+
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+ fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6423(BaseEffect):
+ """
+ shipModuleGuidanceDisruptor
+
+ Used by:
+ Variations of module: Guidance Disruptor I (6 of 6)
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ 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, module.getModifiedItemAttr(srcAttr),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6424(BaseEffect):
+ """
+ shipModuleTrackingDisruptor
+
+ Used by:
+ Variations of module: Tracking Disruptor I (6 of 6)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' in context:
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),
+ stackingPenalties=True, *args, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'maxRange', module.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True, *args, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'falloff', module.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6425(BaseEffect):
+ """
+ remoteTargetPaintFalloff
+
+ Used by:
+ Modules from group: Target Painter (8 of 8)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, container, context, *args, **kwargs):
+ if 'projected' in context:
+ fit.ship.boostItemAttr('signatureRadius', container.getModifiedItemAttr('signatureRadiusBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6426(BaseEffect):
+ """
+ remoteWebifierFalloff
+
+ Used by:
+ Modules from group: Stasis Grappler (7 of 7)
+ Modules from group: Stasis Web (19 of 19)
+ Starbases from group: Stasis Webification Battery (3 of 3)
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' not in context:
+ return
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('speedFactor'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6427(BaseEffect):
+ """
+ remoteSensorBoostFalloff
+
+ Used by:
+ Modules from group: Remote Sensor Booster (8 of 8)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ if 'projected' not in context:
+ return
+
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),
+ stackingPenalties=True)
+ fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),
+ stackingPenalties=True)
+
+ for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):
+ fit.ship.boostItemAttr(
+ 'scan{}Strength'.format(scanType),
+ module.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType)),
+ stackingPenalties=True
+ )
+
+
+class Effect6428(BaseEffect):
+ """
+ shipModuleRemoteTrackingComputer
+
+ Used by:
+ Modules from group: Remote Tracking Computer (8 of 8)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ if 'projected' in context:
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),
+ stackingPenalties=True, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'maxRange', module.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'falloff', module.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True, **kwargs)
+
+
+class Effect6431(BaseEffect):
+ """
+ fighterAbilityMissiles
+
+ Used by:
+ Items from category: Fighter (48 of 82)
+ Fighters from group: Light Fighter (32 of 32)
+ """
+
+ displayName = 'Missile Attack'
+ hasCharges = True
+ prefix = 'fighterAbilityMissiles'
+ type = 'active'
+
+
+class Effect6434(BaseEffect):
+ """
+ fighterAbilityEnergyNeutralizer
+
+ Used by:
+ Fighters named like: Cenobite (4 of 4)
+ """
+
+ displayName = 'Energy Neutralizer'
+ grouped = True
+ prefix = 'fighterAbilityEnergyNeutralizer'
+ type = 'active', 'projected'
+
+ @classmethod
+ def handler(cls, fit, src, context, **kwargs):
+ if 'projected' in context:
+ amount = src.getModifiedItemAttr('{}Amount'.format(cls.prefix)) * src.amountActive
+ time = src.getModifiedItemAttr('{}Duration'.format(cls.prefix))
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ fit.addDrain(src, time, amount, 0)
+
+
+class Effect6435(BaseEffect):
+ """
+ fighterAbilityStasisWebifier
+
+ Used by:
+ Fighters named like: Dromi (4 of 4)
+ """
+
+ displayName = 'Stasis Webifier'
+ grouped = True
+ prefix = 'fighterAbilityStasisWebifier'
+ type = 'active', 'projected'
+
+ @classmethod
+ def handler(cls, fit, src, context):
+ if 'projected' not in context:
+ return
+ fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('{}SpeedPenalty'.format(cls.prefix)) * src.amountActive,
+ stackingPenalties=True)
+
+
+class Effect6436(BaseEffect):
+ """
+ fighterAbilityWarpDisruption
+
+ Used by:
+ Fighters named like: Siren (4 of 4)
+ """
+
+ displayName = 'Warp Disruption'
+ grouped = True
+ prefix = 'fighterAbilityWarpDisruption'
+ type = 'active', 'projected'
+
+ @classmethod
+ def handler(cls, fit, src, context):
+ if 'projected' not in context:
+ return
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('{}PointStrength'.format(cls.prefix)) * src.amountActive)
+
+
+class Effect6437(BaseEffect):
+ """
+ fighterAbilityECM
+
+ Used by:
+ Fighters named like: Scarab (4 of 4)
+ """
+
+ displayName = 'ECM'
+ grouped = True
+ prefix = 'fighterAbilityECM'
+ type = 'projected', 'active'
+
+ @classmethod
+ def handler(cls, fit, module, context, **kwargs):
+ if 'projected' not in context:
+ return
+ # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
+ strModifier = 1 - (module.getModifiedItemAttr('{}Strength{}'.format(cls.prefix, fit.scanType)) * module.amountActive) / fit.scanStrength
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ fit.ecmProjectedStr *= strModifier
+
+
+class Effect6439(BaseEffect):
+ """
+ fighterAbilityEvasiveManeuvers
+
+ Used by:
+ Fighters from group: Light Fighter (16 of 32)
+ """
+
+ displayName = 'Evasive Maneuvers'
+ grouped = True
+ prefix = 'fighterAbilityEvasiveManeuvers'
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, container, context):
+ container.boostItemAttr('maxVelocity',
+ container.getModifiedItemAttr('fighterAbilityEvasiveManeuversSpeedBonus'))
+ container.boostItemAttr('signatureRadius',
+ container.getModifiedItemAttr('fighterAbilityEvasiveManeuversSignatureRadiusBonus'),
+ stackingPenalties=True)
+
+ # These may not have stacking penalties, but there's nothing else that affects the attributes yet to check.
+ container.multiplyItemAttr('shieldEmDamageResonance',
+ container.getModifiedItemAttr('fighterAbilityEvasiveManeuversEmResonance'),
+ stackingPenalties=True)
+ container.multiplyItemAttr('shieldThermalDamageResonance',
+ container.getModifiedItemAttr('fighterAbilityEvasiveManeuversThermResonance'),
+ stackingPenalties=True)
+ container.multiplyItemAttr('shieldKineticDamageResonance',
+ container.getModifiedItemAttr('fighterAbilityEvasiveManeuversKinResonance'),
+ stackingPenalties=True)
+ container.multiplyItemAttr('shieldExplosiveDamageResonance',
+ container.getModifiedItemAttr('fighterAbilityEvasiveManeuversExpResonance'),
+ stackingPenalties=True)
+
+
+class Effect6441(BaseEffect):
+ """
+ fighterAbilityMicroWarpDrive
+
+ Used by:
+ Items from category: Fighter (48 of 82)
+ """
+
+ displayName = 'Microwarpdrive'
+ grouped = True
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.boostItemAttr('maxVelocity', module.getModifiedItemAttr('fighterAbilityMicroWarpDriveSpeedBonus'),
+ stackingPenalties=True)
+ module.boostItemAttr('signatureRadius',
+ module.getModifiedItemAttr('fighterAbilityMicroWarpDriveSignatureRadiusBonus'),
+ stackingPenalties=True)
+
+
+class Effect6443(BaseEffect):
+ """
+ pointDefense
+
+ Used by:
+ Structure Modules from group: Structure Area Denial Module (2 of 2)
+ """
+
+ type = 'active'
+
+
+class Effect6447(BaseEffect):
+ """
+ lightningWeapon
+
+ Used by:
+ Structure Module: Standup Arcing Vorton Projector I
+ """
+
+ type = 'active'
+
+
+class Effect6448(BaseEffect):
+ """
+ structureMissileGuidanceEnhancer
+
+ Used by:
+ Variations of structure module: Standup Missile Guidance Enhancer I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ missileGroups = ('Structure Anti-Capital Missile', 'Structure Anti-Subcapital Missile')
+ for srcAttr, tgtAttr in (
+ ('aoeCloudSizeBonus', 'aoeCloudSize'),
+ ('aoeVelocityBonus', 'aoeVelocity'),
+ ('missileVelocityBonus', 'maxVelocity'),
+ ('explosionDelayBonus', 'explosionDelay'),
+ ):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in missileGroups,
+ tgtAttr, container.getModifiedItemAttr(srcAttr),
+ stackingPenalties=True)
+
+
+class Effect6449(BaseEffect):
+ """
+ structureBallisticControlSystem
+
+ Used by:
+ Variations of structure module: Standup Ballistic Control System I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ missileGroups = ('Structure Anti-Capital Missile', 'Structure Anti-Subcapital Missile')
+
+ for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.group.name in missileGroups,
+ '%sDamage' % dmgType,
+ module.getModifiedItemAttr('missileDamageMultiplierBonus'),
+ stackingPenalties=True)
+
+ launcherGroups = ('Structure XL Missile Launcher', 'Structure Multirole Missile Launcher')
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name in launcherGroups,
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect6465(BaseEffect):
+ """
+ fighterAbilityAttackM
+
+ Used by:
+ Items from category: Fighter (50 of 82)
+ Fighters from group: Heavy Fighter (34 of 34)
+ """
+
+ displayName = 'Turret Attack'
+ prefix = 'fighterAbilityAttackMissile'
+ type = 'active'
+
+
+class Effect6470(BaseEffect):
+ """
+ remoteECMFalloff
+
+ Used by:
+ Modules from group: ECM (39 of 39)
+ Starbases from group: Electronic Warfare Battery (12 of 12)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ if 'projected' in context:
+ # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
+ strModifier = 1 - module.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType)) / fit.scanStrength
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ fit.ecmProjectedStr *= strModifier
+
+
+class Effect6472(BaseEffect):
+ """
+ doomsdayBeamDOT
+
+ Used by:
+ Modules named like: Lance (4 of 4)
+ """
+
+ type = 'active'
+
+
+class Effect6473(BaseEffect):
+ """
+ doomsdayConeDOT
+
+ Used by:
+ Module: Bosonic Field Generator
+ """
+
+ type = 'active'
+
+
+class Effect6474(BaseEffect):
+ """
+ doomsdayHOG
+
+ Used by:
+ Module: Gravitational Transportation Field Oscillator
+ """
+
+ type = 'active'
+
+
+class Effect6475(BaseEffect):
+ """
+ structureRigDoomsdayTargetAmountBonus
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == 'Structure Doomsday Weapon',
+ 'lightningWeaponTargetAmount',
+ src.getModifiedItemAttr('structureRigDoomsdayTargetAmountBonus'))
+
+
+class Effect6476(BaseEffect):
+ """
+ doomsdayAOEWeb
+
+ Used by:
+ Module: Stasis Webification Burst Projector
+ Structure Module: Standup Stasis Webification Burst Projector
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' not in context:
+ return
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('speedFactor'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6477(BaseEffect):
+ """
+ doomsdayAOENeut
+
+ Used by:
+ Module: Energy Neutralization Burst Projector
+ Structure Module: Standup Energy Neutralization Burst Projector
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, src, context, **kwargs):
+ if 'projected' in context and ((hasattr(src, 'state') and src.state >= FittingModuleState.ACTIVE) or
+ hasattr(src, 'amountActive')):
+ amount = src.getModifiedItemAttr('energyNeutralizerAmount')
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ time = src.getModifiedItemAttr('duration')
+
+ fit.addDrain(src, time, amount, 0)
+
+
+class Effect6478(BaseEffect):
+ """
+ doomsdayAOEPaint
+
+ Used by:
+ Module: Target Illumination Burst Projector
+ Structure Module: Standup Target Illumination Burst Projector
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, container, context, *args, **kwargs):
+ if 'projected' in context:
+ fit.ship.boostItemAttr('signatureRadius', container.getModifiedItemAttr('signatureRadiusBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6479(BaseEffect):
+ """
+ doomsdayAOETrack
+
+ Used by:
+ Module: Weapon Disruption Burst Projector
+ Structure Module: Standup Weapon Disruption Burst Projector
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ 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, module.getModifiedItemAttr(srcAttr),
+ stackingPenalties=True, *args, **kwargs)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),
+ stackingPenalties=True, *args, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'maxRange', module.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True, *args, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'falloff', module.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6481(BaseEffect):
+ """
+ doomsdayAOEDamp
+
+ Used by:
+ Module: Sensor Dampening Burst Projector
+ Structure Module: Standup Sensor Dampening Burst Projector
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' not in context:
+ return
+
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+ fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6482(BaseEffect):
+ """
+ doomsdayAOEBubble
+
+ Used by:
+ Module: Warp Disruption Burst Projector
+ Structure Module: Standup Warp Disruption Burst Projector
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ return
+
+
+class Effect6484(BaseEffect):
+ """
+ emergencyHullEnergizer
+
+ Used by:
+ Variations of module: Capital Emergency Hull Energizer I (5 of 5)
+ """
+
+ runtime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, src, context):
+ for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):
+ fit.ship.multiplyItemAttr('{}DamageResonance'.format(dmgType),
+ src.getModifiedItemAttr('hull{}DamageResonance'.format(dmgType.title())),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+
+class Effect6485(BaseEffect):
+ """
+ fighterAbilityLaunchBomb
+
+ Used by:
+ Fighters from group: Heavy Fighter (16 of 34)
+ """
+
+ displayName = 'Bomb'
+ hasCharges = True
+ prefix = 'fighterAbilityLaunchBomb'
+ type = 'active'
+
+
+class Effect6487(BaseEffect):
+ """
+ modifyEnergyWarfareResistance
+
+ Used by:
+ Modules from group: Capacitor Battery (30 of 30)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('energyWarfareResistance',
+ module.getModifiedItemAttr('energyWarfareResistanceBonus'),
+ stackingPenalties=True)
+
+
+class Effect6488(BaseEffect):
+ """
+ scriptSensorBoosterSensorStrengthBonusBonus
+
+ Used by:
+ Charges from group: Sensor Booster Script (3 of 3)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for scanType in ('Gravimetric', 'Magnetometric', 'Radar', 'Ladar'):
+ module.boostItemAttr('scan{}StrengthPercent'.format(scanType),
+ module.getModifiedChargeAttr('sensorStrengthBonusBonus'))
+
+
+class Effect6501(BaseEffect):
+ """
+ shipBonusDreadnoughtA1DamageBonus
+
+ Used by:
+ Ship: Revelation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusDreadnoughtA1'), skill='Amarr Dreadnought')
+
+
+class Effect6502(BaseEffect):
+ """
+ shipBonusDreadnoughtA2ArmorResists
+
+ Used by:
+ Ship: Revelation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtA2'),
+ skill='Amarr Dreadnought')
+ fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtA2'),
+ skill='Amarr Dreadnought')
+ fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtA2'),
+ skill='Amarr Dreadnought')
+ fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtA2'),
+ skill='Amarr Dreadnought')
+
+
+class Effect6503(BaseEffect):
+ """
+ shipBonusDreadnoughtA3CapNeed
+
+ Used by:
+ Ship: Revelation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'capacitorNeed',
+ src.getModifiedItemAttr('shipBonusDreadnoughtA3'), skill='Amarr Dreadnought')
+
+
+class Effect6504(BaseEffect):
+ """
+ shipBonusDreadnoughtC1DamageBonus
+
+ Used by:
+ Ship: Phoenix
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC1'), skill='Caldari Dreadnought')
+
+
+class Effect6505(BaseEffect):
+ """
+ shipBonusDreadnoughtC2ShieldResists
+
+ Used by:
+ Variations of ship: Phoenix (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtC2'),
+ skill='Caldari Dreadnought')
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtC2'),
+ skill='Caldari Dreadnought')
+ fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtC2'),
+ skill='Caldari Dreadnought')
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusDreadnoughtC2'),
+ skill='Caldari Dreadnought')
+
+
+class Effect6506(BaseEffect):
+ """
+ shipBonusDreadnoughtG1DamageBonus
+
+ Used by:
+ Ship: Moros
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought')
+
+
+class Effect6507(BaseEffect):
+ """
+ shipBonusDreadnoughtG2ROFBonus
+
+ Used by:
+ Variations of ship: Moros (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'speed',
+ src.getModifiedItemAttr('shipBonusDreadnoughtG2'), skill='Gallente Dreadnought')
+
+
+class Effect6508(BaseEffect):
+ """
+ shipBonusDreadnoughtG3RepairTime
+
+ Used by:
+ Ship: Moros
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'), 'duration',
+ src.getModifiedItemAttr('shipBonusDreadnoughtG3'), skill='Gallente Dreadnought')
+
+
+class Effect6509(BaseEffect):
+ """
+ shipBonusDreadnoughtM1DamageBonus
+
+ Used by:
+ Ship: Naglfar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusDreadnoughtM1'), skill='Minmatar Dreadnought')
+
+
+class Effect6510(BaseEffect):
+ """
+ shipBonusDreadnoughtM2ROFBonus
+
+ Used by:
+ Ship: Naglfar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'speed',
+ src.getModifiedItemAttr('shipBonusDreadnoughtM2'), skill='Minmatar Dreadnought')
+
+
+class Effect6511(BaseEffect):
+ """
+ shipBonusDreadnoughtM3RepairTime
+
+ Used by:
+ Ship: Naglfar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'), 'duration',
+ src.getModifiedItemAttr('shipBonusDreadnoughtM2'), skill='Minmatar Dreadnought')
+
+
+class Effect6513(BaseEffect):
+ """
+ doomsdayAOEECM
+
+ Used by:
+ Module: ECM Jammer Burst Projector
+ Structure Module: Standup ECM Jammer Burst Projector
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ if 'projected' in context:
+ # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
+ strModifier = 1 - module.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType)) / fit.scanStrength
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ fit.ecmProjectedStr *= strModifier
+
+
+class Effect6526(BaseEffect):
+ """
+ shipBonusForceAuxiliaryA1RemoteRepairAndCapAmount
+
+ Used by:
+ Ship: Apostle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capacitor Emission Systems') or
+ mod.item.requiresSkill('Capital Capacitor Emission Systems'),
+ 'powerTransferAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'),
+ skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or
+ mod.item.requiresSkill('Capital Remote Armor Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'),
+ skill='Amarr Carrier')
+
+
+class Effect6527(BaseEffect):
+ """
+ shipBonusForceAuxiliaryA2ArmorResists
+
+ Used by:
+ Ship: Apostle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryA2'),
+ skill='Amarr Carrier')
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryA2'),
+ skill='Amarr Carrier')
+ fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryA2'),
+ skill='Amarr Carrier')
+ fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryA2'),
+ skill='Amarr Carrier')
+
+
+class Effect6533(BaseEffect):
+ """
+ shipBonusForceAuxiliaryA4WarfareLinksBonus
+
+ Used by:
+ Ship: Apostle
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or
+ mod.item.requiresSkill('Information Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or
+ mod.item.requiresSkill('Information Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or
+ mod.item.requiresSkill('Information Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or
+ mod.item.requiresSkill('Information Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command') or
+ mod.item.requiresSkill('Information Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryA4'), skill='Amarr Carrier')
+
+
+class Effect6534(BaseEffect):
+ """
+ shipBonusForceAuxiliaryM4WarfareLinksBonus
+
+ Used by:
+ Ship: Lif
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryM4'), skill='Minmatar Carrier')
+
+
+class Effect6535(BaseEffect):
+ """
+ shipBonusForceAuxiliaryG4WarfareLinksBonus
+
+ Used by:
+ Ship: Ninazu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryG4'), skill='Gallente Carrier')
+
+
+class Effect6536(BaseEffect):
+ """
+ shipBonusForceAuxiliaryC4WarfareLinksBonus
+
+ Used by:
+ Ship: Minokawa
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusForceAuxiliaryC4'), skill='Caldari Carrier')
+
+
+class Effect6537(BaseEffect):
+ """
+ shipBonusRole1CommandBurstCPUBonus
+
+ Used by:
+ Ships from group: Force Auxiliary (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'cpu',
+ src.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect6545(BaseEffect):
+ """
+ shipBonusForceAuxiliaryC1RemoteBoostAndCapAmount
+
+ Used by:
+ Ship: Minokawa
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ if src.getModifiedItemAttr('shipBonusForceAuxiliaryC1') is None:
+ return # See GH Issue 1321
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capacitor Emission Systems') or
+ mod.item.requiresSkill('Capital Capacitor Emission Systems'),
+ 'powerTransferAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryC1'),
+ skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems') or
+ mod.item.requiresSkill('Capital Shield Emission Systems'),
+ 'shieldBonus', src.getModifiedItemAttr('shipBonusForceAuxiliaryC1'),
+ skill='Caldari Carrier')
+
+
+class Effect6546(BaseEffect):
+ """
+ shipBonusForceAuxiliaryC2ShieldResists
+
+ Used by:
+ Variations of ship: Minokawa (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryC2'),
+ skill='Caldari Carrier')
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryC2'),
+ skill='Caldari Carrier')
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryC2'),
+ skill='Caldari Carrier')
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusForceAuxiliaryC2'),
+ skill='Caldari Carrier')
+
+
+class Effect6548(BaseEffect):
+ """
+ shipBonusForceAuxiliaryG1RemoteCycleTime
+
+ Used by:
+ Ship: Ninazu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems') or
+ mod.item.requiresSkill('Capital Shield Emission Systems'),
+ 'duration', src.getModifiedItemAttr('shipBonusForceAuxiliaryG1'),
+ skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or
+ mod.item.requiresSkill('Capital Remote Armor Repair Systems'),
+ 'duration', src.getModifiedItemAttr('shipBonusForceAuxiliaryG1'),
+ skill='Gallente Carrier')
+
+
+class Effect6549(BaseEffect):
+ """
+ shipBonusForceAuxiliaryG2LocalRepairAmount
+
+ Used by:
+ Ship: Ninazu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',
+ src.getModifiedItemAttr('shipBonusForceAuxiliaryG2'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'), 'armorDamageAmount',
+ src.getModifiedItemAttr('shipBonusForceAuxiliaryG2'), skill='Gallente Carrier')
+
+
+class Effect6551(BaseEffect):
+ """
+ shipBonusForceAuxiliaryM1RemoteDuration
+
+ Used by:
+ Ship: Lif
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems') or
+ mod.item.requiresSkill('Capital Shield Emission Systems'),
+ 'duration', src.getModifiedItemAttr('shipBonusForceAuxiliaryM1'),
+ skill='Minmatar Carrier')
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or
+ mod.item.requiresSkill('Capital Remote Armor Repair Systems'),
+ 'duration', src.getModifiedItemAttr('shipBonusForceAuxiliaryM1'),
+ skill='Minmatar Carrier')
+
+
+class Effect6552(BaseEffect):
+ """
+ shipBonusForceAuxiliaryM2LocalBoostAmount
+
+ Used by:
+ Ship: Lif
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'), 'shieldBonus',
+ src.getModifiedItemAttr('shipBonusForceAuxiliaryM2'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',
+ src.getModifiedItemAttr('shipBonusForceAuxiliaryM2'), skill='Minmatar Carrier')
+
+
+class Effect6555(BaseEffect):
+ """
+ moduleBonusDroneNavigationComputer
+
+ Used by:
+ Modules from group: Drone Navigation Computer (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',
+ src.getModifiedItemAttr('speedFactor'), stackingPenalties=True)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxVelocity',
+ src.getModifiedItemAttr('speedFactor'), stackingPenalties=True)
+
+
+class Effect6556(BaseEffect):
+ """
+ moduleBonusDroneDamageAmplifier
+
+ Used by:
+ Modules from group: Drone Damage Modules (11 of 11)
+ Modules named like: C3 'Hivaa Saitsuo' Ballistic Control System (2 of 2)
+ Module: Abyssal Ballistic Control System
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',
+ src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True)
+
+
+class Effect6557(BaseEffect):
+ """
+ moduleBonusOmnidirectionalTrackingLink
+
+ Used by:
+ Modules from group: Drone Tracking Modules (10 of 10)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretRangeFalloff', src.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesExplosionVelocity',
+ src.getModifiedItemAttr('aoeVelocityBonus'), stackingPenalties=True)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'trackingSpeed',
+ src.getModifiedItemAttr('trackingSpeedBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileExplosionRadius',
+ src.getModifiedItemAttr('aoeCloudSizeBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretTrackingSpeed',
+ src.getModifiedItemAttr('trackingSpeedBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesExplosionRadius',
+ src.getModifiedItemAttr('aoeCloudSizeBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesRange',
+ src.getModifiedItemAttr('maxRangeBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileRangeOptimal', src.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'falloff',
+ src.getModifiedItemAttr('falloffBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileExplosionVelocity',
+ src.getModifiedItemAttr('aoeVelocityBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileRangeFalloff', src.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxRange',
+ src.getModifiedItemAttr('maxRangeBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretRangeOptimal', src.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True)
+
+
+class Effect6558(BaseEffect):
+ """
+ moduleBonusOmnidirectionalTrackingLinkOverload
+
+ Used by:
+ Modules from group: Drone Tracking Modules (10 of 10)
+ """
+
+ type = 'overheat'
+
+ @staticmethod
+ def handler(fit, module, context):
+ overloadBonus = module.getModifiedItemAttr('overloadTrackingModuleStrengthBonus')
+ module.boostItemAttr('maxRangeBonus', overloadBonus)
+ module.boostItemAttr('falloffBonus', overloadBonus)
+ module.boostItemAttr('trackingSpeedBonus', overloadBonus)
+ module.boostItemAttr('aoeCloudSizeBonus', overloadBonus)
+ module.boostItemAttr('aoeVelocityBonus', overloadBonus)
+
+
+class Effect6559(BaseEffect):
+ """
+ moduleBonusOmnidirectionalTrackingEnhancer
+
+ Used by:
+ Modules from group: Drone Tracking Enhancer (10 of 10)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileExplosionRadius',
+ src.getModifiedItemAttr('aoeCloudSizeBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileRangeOptimal', src.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretRangeFalloff', src.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesExplosionRadius',
+ src.getModifiedItemAttr('aoeCloudSizeBonus'), stackingPenalties=True)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'falloff',
+ src.getModifiedItemAttr('falloffBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileRangeFalloff', src.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretTrackingSpeed',
+ src.getModifiedItemAttr('trackingSpeedBonus'), stackingPenalties=True)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxRange',
+ src.getModifiedItemAttr('maxRangeBonus'), stackingPenalties=True)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'trackingSpeed',
+ src.getModifiedItemAttr('trackingSpeedBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretRangeOptimal', src.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesExplosionVelocity',
+ src.getModifiedItemAttr('aoeVelocityBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileExplosionVelocity',
+ src.getModifiedItemAttr('aoeVelocityBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesRange',
+ src.getModifiedItemAttr('maxRangeBonus'), stackingPenalties=True)
+
+
+class Effect6560(BaseEffect):
+ """
+ skillBonusFighters
+
+ Used by:
+ Skill: Fighters
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+
+
+class Effect6561(BaseEffect):
+ """
+ skillBonusLightFighters
+
+ Used by:
+ Skill: Light Fighters
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Light Fighters'), 'maxVelocity',
+ src.getModifiedItemAttr('maxVelocityBonus') * lvl)
+
+
+class Effect6562(BaseEffect):
+ """
+ skillBonusSupportFightersShield
+
+ Used by:
+ Skill: Support Fighters
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'shieldCapacity',
+ src.getModifiedItemAttr('shieldBonus') * lvl)
+
+
+class Effect6563(BaseEffect):
+ """
+ skillBonusHeavyFighters
+
+ Used by:
+ Skill: Heavy Fighters
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Heavy Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Heavy Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Heavy Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+
+
+class Effect6565(BaseEffect):
+ """
+ citadelRigBonus
+
+ Used by:
+ Structures from group: Citadel (9 of 9)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+
+ for attr in [
+ 'structureRigDoomsdayDamageLossTargetBonus',
+ 'structureRigScanResBonus',
+ 'structureRigPDRangeBonus',
+ 'structureRigPDCapUseBonus',
+ 'structureRigMissileExploVeloBonus',
+ 'structureRigMissileVelocityBonus',
+ 'structureRigEwarOptimalBonus',
+ 'structureRigEwarFalloffBonus',
+ 'structureRigEwarCapUseBonus',
+ 'structureRigMissileExplosionRadiusBonus'
+ ]:
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Jury Rigging'),
+ attr, src.getModifiedItemAttr('structureRoleBonus'))
+
+
+class Effect6566(BaseEffect):
+ """
+ moduleBonusFighterSupportUnit
+
+ Used by:
+ Modules from group: Fighter Support Unit (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',
+ src.getModifiedItemAttr('fighterBonusShieldCapacityPercent'))
+ fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',
+ src.getModifiedItemAttr('fighterBonusVelocityPercent'), stackingPenalties=True, penaltyGroup='postMul')
+ fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDuration',
+ src.getModifiedItemAttr('fighterBonusROFPercent'), stackingPenalties=True, penaltyGroup='postMul')
+ fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityAttackTurretDuration',
+ src.getModifiedItemAttr('fighterBonusROFPercent'), stackingPenalties=True, penaltyGroup='postMul')
+ fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesDuration',
+ src.getModifiedItemAttr('fighterBonusROFPercent'), stackingPenalties=True, penaltyGroup='postMul')
+ fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldRechargeRate',
+ src.getModifiedItemAttr('fighterBonusShieldRechargePercent'))
+
+
+class Effect6567(BaseEffect):
+ """
+ moduleBonusNetworkedSensorArray
+
+ Used by:
+ Module: Networked Sensor Array
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('scanResolutionBonus'), stackingPenalties=True)
+
+ for scanType in ('Magnetometric', 'Ladar', 'Gravimetric', 'Radar'):
+ attr = 'scan{}Strength'.format(scanType)
+ bonus = src.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType))
+ fit.ship.boostItemAttr(attr, bonus, stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), attr, bonus,
+ stackingPenalties=True)
+
+ # EW cap need increase
+ groups = [
+ 'Burst Jammer',
+ 'Weapon Disruptor',
+ 'ECM',
+ 'Stasis Grappler',
+ 'Sensor Dampener',
+ 'Target Painter']
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups or
+ mod.item.requiresSkill('Propulsion Jamming'),
+ 'capacitorNeed', src.getModifiedItemAttr('ewCapacitorNeedBonus'))
+
+
+class Effect6570(BaseEffect):
+ """
+ skillBonusFighterHangarManagement
+
+ Used by:
+ Skill: Fighter Hangar Management
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.ship.boostItemAttr('fighterCapacity', src.getModifiedItemAttr('skillBonusFighterHangarSize') * lvl)
+
+
+class Effect6571(BaseEffect):
+ """
+ skillBonusCapitalAutocannonSpecialization
+
+ Used by:
+ Skill: Capital Autocannon Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Autocannon Specialization'),
+ 'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+
+
+class Effect6572(BaseEffect):
+ """
+ skillBonusCapitalArtillerySpecialization
+
+ Used by:
+ Skill: Capital Artillery Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Artillery Specialization'),
+ 'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+
+
+class Effect6573(BaseEffect):
+ """
+ skillBonusCapitalBlasterSpecialization
+
+ Used by:
+ Skill: Capital Blaster Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Blaster Specialization'),
+ 'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+
+
+class Effect6574(BaseEffect):
+ """
+ skillBonusCapitalRailgunSpecialization
+
+ Used by:
+ Skill: Capital Railgun Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Railgun Specialization'),
+ 'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+
+
+class Effect6575(BaseEffect):
+ """
+ skillBonusCapitalPulseLaserSpecialization
+
+ Used by:
+ Skill: Capital Pulse Laser Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Pulse Laser Specialization'),
+ 'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+
+
+class Effect6576(BaseEffect):
+ """
+ skillBonusCapitalBeamLaserSpecialization
+
+ Used by:
+ Skill: Capital Beam Laser Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Beam Laser Specialization'),
+ 'damageMultiplier', src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+
+
+class Effect6577(BaseEffect):
+ """
+ skillBonusXLCruiseMissileSpecialization
+
+ Used by:
+ Skill: XL Cruise Missile Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missile Specialization'), 'speed',
+ src.getModifiedItemAttr('rofBonus') * lvl)
+
+
+class Effect6578(BaseEffect):
+ """
+ skillBonusXLTorpedoSpecialization
+
+ Used by:
+ Skill: XL Torpedo Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('XL Torpedo Specialization'), 'speed',
+ src.getModifiedItemAttr('rofBonus') * lvl)
+
+
+class Effect6580(BaseEffect):
+ """
+ shipBonusRole2LogisticDroneRepAmountBonus
+
+ Used by:
+ Ships from group: Force Auxiliary (5 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'), 'structureDamageAmount',
+ src.getModifiedItemAttr('shipBonusRole2'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'), 'armorDamageAmount',
+ src.getModifiedItemAttr('shipBonusRole2'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'), 'shieldBonus',
+ src.getModifiedItemAttr('shipBonusRole2'))
+
+
+class Effect6581(BaseEffect):
+ """
+ moduleBonusTriageModule
+
+ Used by:
+ Variations of module: Triage Module I (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, src, context):
+ # Remote effect bonuses (duration / amount / range / fallout)
+ for skill, amtAttr, stack in (
+ ('Capital Remote Armor Repair Systems', 'armorDamageAmount', True),
+ ('Capital Shield Emission Systems', 'shieldBonus', True),
+ ('Capital Capacitor Emission Systems', 'powerTransferAmount', False),
+ ('Capital Remote Hull Repair Systems', 'structureDamageAmount', False)):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'duration',
+ src.getModifiedItemAttr('siegeRemoteLogisticsDurationBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), amtAttr,
+ src.getModifiedItemAttr('siegeRemoteLogisticsAmountBonus'),
+ stackingPenalties=stack)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'maxRange',
+ src.getModifiedItemAttr('siegeRemoteLogisticsRangeBonus'), stackingPenalties=True)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'falloffEffectiveness',
+ src.getModifiedItemAttr('siegeRemoteLogisticsRangeBonus'), stackingPenalties=True)
+
+ # Local armor/shield rep effects (duration / amoutn)
+ for skill, amtAttr in (
+ ('Capital Shield Operation', 'shieldBonus'),
+ ('Capital Repair Systems', 'armorDamageAmount')):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), 'duration',
+ src.getModifiedItemAttr('siegeLocalLogisticsDurationBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), amtAttr,
+ src.getModifiedItemAttr('siegeLocalLogisticsAmountBonus'))
+
+ # Speed bonus
+ fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'), stackingPenalties=True)
+
+ # Scan resolution multiplier
+ fit.ship.multiplyItemAttr('scanResolution', src.getModifiedItemAttr('scanResolutionMultiplier'),
+ stackingPenalties=True)
+
+ # Mass multiplier
+ fit.ship.multiplyItemAttr('mass', src.getModifiedItemAttr('siegeMassMultiplier'), stackingPenalties=True)
+
+ # Max locked targets
+ fit.ship.increaseItemAttr('maxLockedTargets', src.getModifiedItemAttr('maxLockedTargetsBonus'))
+
+ # EW cap need increase
+ groups = [
+ 'Burst Jammer',
+ 'Weapon Disruptor',
+ 'ECM',
+ 'Stasis Grappler',
+ 'Sensor Dampener',
+ 'Target Painter']
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups or
+ mod.item.requiresSkill('Propulsion Jamming'),
+ 'capacitorNeed', src.getModifiedItemAttr('ewCapacitorNeedBonus'))
+
+ # todo: test for April 2016 release
+ # Block EWAR & projected effects
+ fit.ship.forceItemAttr('disallowOffensiveModifiers', src.getModifiedItemAttr('disallowOffensiveModifiers'))
+ fit.ship.forceItemAttr('disallowAssistance', src.getModifiedItemAttr('disallowAssistance'))
+
+ # new in April 2016 release
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',
+ src.getModifiedItemAttr('droneDamageBonus'), stackingPenalties=True)
+
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('siegeModeWarpStatus'))
+ fit.ship.boostItemAttr('sensorDampenerResistance', src.getModifiedItemAttr('sensorDampenerResistanceBonus'))
+ fit.ship.boostItemAttr('remoteAssistanceImpedance', src.getModifiedItemAttr('remoteAssistanceImpedanceBonus'))
+ fit.ship.boostItemAttr('remoteRepairImpedance', src.getModifiedItemAttr('remoteRepairImpedanceBonus'))
+
+ fit.ship.forceItemAttr('disallowTethering', src.getModifiedItemAttr('disallowTethering'))
+ fit.ship.forceItemAttr('disallowDocking', src.getModifiedItemAttr('disallowDocking'))
+
+
+class Effect6582(BaseEffect):
+ """
+ moduleBonusSiegeModule
+
+ Used by:
+ Variations of module: Siege Module I (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, src, context):
+ # Turrets
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret') or
+ mod.item.requiresSkill('Capital Hybrid Turret') or
+ mod.item.requiresSkill('Capital Projectile Turret'),
+ 'damageMultiplier', src.getModifiedItemAttr('siegeTurretDamageBonus'))
+
+ # Missiles
+ for type in ('kinetic', 'thermal', 'explosive', 'em'):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes') or
+ mod.charge.requiresSkill('XL Cruise Missiles') or
+ mod.charge.requiresSkill('Torpedoes'),
+ '%sDamage' % type, src.getModifiedItemAttr('siegeMissileDamageBonus'))
+
+ # Reppers
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation') or
+ mod.item.requiresSkill('Capital Repair Systems'),
+ 'duration', src.getModifiedItemAttr('siegeLocalLogisticsDurationBonus'))
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Operation'),
+ 'shieldBonus', src.getModifiedItemAttr('siegeLocalLogisticsAmountBonus'),
+ stackingPenalties=True)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('siegeLocalLogisticsAmountBonus'),
+ stackingPenalties=True)
+
+ # Speed penalty
+ fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'))
+
+ # Mass
+ fit.ship.multiplyItemAttr('mass', src.getModifiedItemAttr('siegeMassMultiplier'),
+ stackingPenalties=True, penaltyGroup='postMul')
+
+ # @ todo: test for April 2016 release
+ # Block Hostile EWAR and friendly effects
+ fit.ship.forceItemAttr('disallowOffensiveModifiers', src.getModifiedItemAttr('disallowOffensiveModifiers'))
+ fit.ship.forceItemAttr('disallowAssistance', src.getModifiedItemAttr('disallowAssistance'))
+
+ # new in April 2016 release
+ # missile ROF bonus
+ for group in ('Missile Launcher XL Torpedo', 'Missile Launcher Rapid Torpedo', 'Missile Launcher XL Cruise'):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == group, 'speed',
+ src.getModifiedItemAttr('siegeLauncherROFBonus'))
+
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'maxVelocity',
+ src.getModifiedItemAttr('siegeTorpedoVelocityBonus'), stackingPenalties=True)
+
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('siegeModeWarpStatus'))
+ fit.ship.boostItemAttr('remoteRepairImpedance', src.getModifiedItemAttr('remoteRepairImpedanceBonus'))
+ fit.ship.boostItemAttr('sensorDampenerResistance', src.getModifiedItemAttr('sensorDampenerResistanceBonus'))
+ fit.ship.boostItemAttr('remoteAssistanceImpedance', src.getModifiedItemAttr('remoteAssistanceImpedanceBonus'))
+ fit.ship.boostItemAttr('weaponDisruptionResistance', src.getModifiedItemAttr('weaponDisruptionResistanceBonus'))
+
+ fit.ship.forceItemAttr('disallowDocking', src.getModifiedItemAttr('disallowDocking'))
+ fit.ship.forceItemAttr('disallowTethering', src.getModifiedItemAttr('disallowTethering'))
+
+
+class Effect6591(BaseEffect):
+ """
+ shipBonusSupercarrierA3WarpStrength
+
+ Used by:
+ Ship: Aeon
+ Ship: Revenant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusSupercarrierA3'),
+ skill='Amarr Carrier')
+
+
+class Effect6592(BaseEffect):
+ """
+ shipBonusSupercarrierC3WarpStrength
+
+ Used by:
+ Ship: Revenant
+ Ship: Wyvern
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusSupercarrierC3'),
+ skill='Caldari Carrier')
+
+
+class Effect6593(BaseEffect):
+ """
+ shipBonusSupercarrierG3WarpStrength
+
+ Used by:
+ Variations of ship: Nyx (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusSupercarrierG3'),
+ skill='Gallente Carrier')
+
+
+class Effect6594(BaseEffect):
+ """
+ shipBonusSupercarrierM3WarpStrength
+
+ Used by:
+ Ship: Hel
+ Ship: Vendetta
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusSupercarrierM3'),
+ skill='Minmatar Carrier')
+
+
+class Effect6595(BaseEffect):
+ """
+ shipBonusCarrierA4WarfareLinksBonus
+
+ Used by:
+ Ship: Archon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusCarrierA4'), skill='Amarr Carrier')
+
+
+class Effect6596(BaseEffect):
+ """
+ shipBonusCarrierC4WarfareLinksBonus
+
+ Used by:
+ Ship: Chimera
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusCarrierC4'), skill='Caldari Carrier')
+
+
+class Effect6597(BaseEffect):
+ """
+ shipBonusCarrierG4WarfareLinksBonus
+
+ Used by:
+ Ship: Thanatos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusCarrierG4'), skill='Gallente Carrier')
+
+
+class Effect6598(BaseEffect):
+ """
+ shipBonusCarrierM4WarfareLinksBonus
+
+ Used by:
+ Ship: Nidhoggur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusCarrierM4'), skill='Minmatar Carrier')
+
+
+class Effect6599(BaseEffect):
+ """
+ shipBonusCarrierA1ArmorResists
+
+ Used by:
+ Ship: Archon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusCarrierA1'),
+ skill='Amarr Carrier')
+ fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusCarrierA1'),
+ skill='Amarr Carrier')
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusCarrierA1'),
+ skill='Amarr Carrier')
+ fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusCarrierA1'),
+ skill='Amarr Carrier')
+
+
+class Effect6600(BaseEffect):
+ """
+ shipBonusCarrierC1ShieldResists
+
+ Used by:
+ Ship: Chimera
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusCarrierC1'),
+ skill='Caldari Carrier')
+ fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusCarrierC1'),
+ skill='Caldari Carrier')
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusCarrierC1'),
+ skill='Caldari Carrier')
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusCarrierC1'),
+ skill='Caldari Carrier')
+
+
+class Effect6601(BaseEffect):
+ """
+ shipBonusCarrierG1FighterDamage
+
+ Used by:
+ Ship: Thanatos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusCarrierG1'), skill='Gallente Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusCarrierG1'), skill='Gallente Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusCarrierG1'), skill='Gallente Carrier')
+
+
+class Effect6602(BaseEffect):
+ """
+ shipBonusCarrierM1FighterDamage
+
+ Used by:
+ Ship: Nidhoggur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusCarrierM1'), skill='Minmatar Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusCarrierM1'), skill='Minmatar Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusCarrierM1'), skill='Minmatar Carrier')
+
+
+class Effect6603(BaseEffect):
+ """
+ shipBonusSupercarrierA1FighterDamage
+
+ Used by:
+ Ship: Aeon
+ Ship: Revenant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierA1'), skill='Amarr Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierA1'), skill='Amarr Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierA1'), skill='Amarr Carrier')
+
+
+class Effect6604(BaseEffect):
+ """
+ shipBonusSupercarrierC1FighterDamage
+
+ Used by:
+ Ship: Revenant
+ Ship: Wyvern
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierC1'), skill='Caldari Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierC1'), skill='Caldari Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierC1'), skill='Caldari Carrier')
+
+
+class Effect6605(BaseEffect):
+ """
+ shipBonusSupercarrierG1FighterDamage
+
+ Used by:
+ Variations of ship: Nyx (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierG1'), skill='Gallente Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierG1'), skill='Gallente Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierG1'), skill='Gallente Carrier')
+
+
+class Effect6606(BaseEffect):
+ """
+ shipBonusSupercarrierM1FighterDamage
+
+ Used by:
+ Ship: Hel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierM1'), skill='Minmatar Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierM1'), skill='Minmatar Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusSupercarrierM1'), skill='Minmatar Carrier')
+
+
+class Effect6607(BaseEffect):
+ """
+ shipBonusSupercarrierA5WarfareLinksBonus
+
+ Used by:
+ Ship: Aeon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Armored Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusSupercarrierA5'), skill='Amarr Carrier')
+
+
+class Effect6608(BaseEffect):
+ """
+ shipBonusSupercarrierC5WarfareLinksBonus
+
+ Used by:
+ Ship: Wyvern
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Shield Command') or mod.item.requiresSkill('Information Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusSupercarrierC5'), skill='Caldari Carrier')
+
+
+class Effect6609(BaseEffect):
+ """
+ shipBonusSupercarrierG5WarfareLinksBonus
+
+ Used by:
+ Ship: Nyx
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Armored Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusSupercarrierG5'), skill='Gallente Carrier')
+
+
+class Effect6610(BaseEffect):
+ """
+ shipBonusSupercarrierM5WarfareLinksBonus
+
+ Used by:
+ Ship: Hel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff4Value', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff1Value', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff3Value', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'buffDuration', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(
+ lambda mod: mod.item.requiresSkill('Skirmish Command') or mod.item.requiresSkill('Shield Command'),
+ 'warfareBuff2Value', src.getModifiedItemAttr('shipBonusSupercarrierM5'), skill='Minmatar Carrier')
+
+
+class Effect6611(BaseEffect):
+ """
+ shipBonusSupercarrierC2AfterburnerBonus
+
+ Used by:
+ Ship: Revenant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'), 'speedFactor',
+ src.getModifiedItemAttr('shipBonusSupercarrierC2'), skill='Caldari Carrier')
+
+
+class Effect6612(BaseEffect):
+ """
+ shipBonusSupercarrierA2FighterApplicationBonus
+
+ Used by:
+ Ship: Revenant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesExplosionVelocity',
+ src.getModifiedItemAttr('shipBonusSupercarrierA2'), skill='Amarr Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileExplosionVelocity',
+ src.getModifiedItemAttr('shipBonusSupercarrierA2'), skill='Amarr Carrier')
+
+
+class Effect6613(BaseEffect):
+ """
+ shipBonusSupercarrierRole1NumWarfareLinks
+
+ Used by:
+ Ships from group: Supercarrier (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',
+ src.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect6614(BaseEffect):
+ """
+ shipBonusSupercarrierRole2ArmorShieldModuleBonus
+
+ Used by:
+ Ships from group: Supercarrier (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'armorHPBonusAdd',
+ src.getModifiedItemAttr('shipBonusRole2'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Upgrades'), 'capacityBonus',
+ src.getModifiedItemAttr('shipBonusRole2'))
+
+
+class Effect6615(BaseEffect):
+ """
+ shipBonusSupercarrierA4BurstProjectorBonus
+
+ Used by:
+ Ship: Aeon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'),
+ 'durationWeaponDisruptionBurstProjector',
+ src.getModifiedItemAttr('shipBonusSupercarrierA4'), skill='Amarr Carrier')
+
+
+class Effect6616(BaseEffect):
+ """
+ shipBonusSupercarrierC4BurstProjectorBonus
+
+ Used by:
+ Ship: Wyvern
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'),
+ 'durationECMJammerBurstProjector', src.getModifiedItemAttr('shipBonusSupercarrierC4'),
+ skill='Caldari Carrier')
+
+
+class Effect6617(BaseEffect):
+ """
+ shipBonusSupercarrierG4BurstProjectorBonus
+
+ Used by:
+ Ship: Nyx
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'),
+ 'durationSensorDampeningBurstProjector',
+ src.getModifiedItemAttr('shipBonusSupercarrierG4'), skill='Gallente Carrier')
+
+
+class Effect6618(BaseEffect):
+ """
+ shipBonusSupercarrierM4BurstProjectorBonus
+
+ Used by:
+ Ship: Hel
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'),
+ 'durationTargetIlluminationBurstProjector',
+ src.getModifiedItemAttr('shipBonusSupercarrierM4'), skill='Minmatar Carrier')
+
+
+class Effect6619(BaseEffect):
+ """
+ shipBonusCarrierRole1NumWarfareLinks
+
+ Used by:
+ Ships from group: Carrier (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',
+ src.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect6620(BaseEffect):
+ """
+ shipBonusDreadnoughtC3ReloadBonus
+
+ Used by:
+ Ship: Phoenix
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Missile Launcher Operation'), 'reloadTime',
+ src.getModifiedItemAttr('shipBonusDreadnoughtC3'), skill='Caldari Dreadnought')
+
+
+class Effect6621(BaseEffect):
+ """
+ shipBonusSupercarrierA2ArmorResists
+
+ Used by:
+ Ship: Aeon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierA2'),
+ skill='Amarr Carrier')
+ fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierA2'),
+ skill='Amarr Carrier')
+ fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierA2'),
+ skill='Amarr Carrier')
+ fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierA2'),
+ skill='Amarr Carrier')
+
+
+class Effect6622(BaseEffect):
+ """
+ shipBonusSupercarrierC2ShieldResists
+
+ Used by:
+ Ship: Wyvern
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierC2'),
+ skill='Caldari Carrier')
+ fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierC2'),
+ skill='Caldari Carrier')
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierC2'),
+ skill='Caldari Carrier')
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusSupercarrierC2'),
+ skill='Caldari Carrier')
+
+
+class Effect6623(BaseEffect):
+ """
+ shipBonusSupercarrierG2FighterHitpoints
+
+ Used by:
+ Variations of ship: Nyx (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',
+ src.getModifiedItemAttr('shipBonusSupercarrierG2'), skill='Gallente Carrier')
+
+
+class Effect6624(BaseEffect):
+ """
+ shipBonusSupercarrierM2FighterVelocity
+
+ Used by:
+ Ship: Hel
+ Ship: Vendetta
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',
+ src.getModifiedItemAttr('shipBonusSupercarrierM2'), skill='Minmatar Carrier')
+
+
+class Effect6625(BaseEffect):
+ """
+ shipBonusCarrierA2SupportFighterBonus
+
+ Used by:
+ Ship: Archon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterSquadronOrbitRange',
+ src.getModifiedItemAttr('shipBonusCarrierA2'), skill='Amarr Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'),
+ 'fighterAbilityEnergyNeutralizerOptimalRange',
+ src.getModifiedItemAttr('shipBonusCarrierA2'), skill='Amarr Carrier')
+
+
+class Effect6626(BaseEffect):
+ """
+ shipBonusCarrierC2SupportFighterBonus
+
+ Used by:
+ Ship: Chimera
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterSquadronOrbitRange',
+ src.getModifiedItemAttr('shipBonusCarrierC2'), skill='Caldari Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'),
+ 'fighterAbilityECMRangeOptimal', src.getModifiedItemAttr('shipBonusCarrierC2'),
+ skill='Caldari Carrier')
+
+
+class Effect6627(BaseEffect):
+ """
+ shipBonusCarrierG2SupportFighterBonus
+
+ Used by:
+ Ship: Thanatos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterSquadronOrbitRange',
+ src.getModifiedItemAttr('shipBonusCarrierG2'), skill='Gallente Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'),
+ 'fighterAbilityWarpDisruptionRange', src.getModifiedItemAttr('shipBonusCarrierG2'),
+ skill='Gallente Carrier')
+
+
+class Effect6628(BaseEffect):
+ """
+ shipBonusCarrierM2SupportFighterBonus
+
+ Used by:
+ Ship: Nidhoggur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterSquadronOrbitRange',
+ src.getModifiedItemAttr('shipBonusCarrierM2'), skill='Minmatar Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Support Fighters'),
+ 'fighterAbilityStasisWebifierOptimalRange',
+ src.getModifiedItemAttr('shipBonusCarrierM2'), skill='Minmatar Carrier')
+
+
+class Effect6629(BaseEffect):
+ """
+ scriptResistanceBonusBonus
+
+ Used by:
+ Charges named like: Resistance Script (8 of 8)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ src.boostItemAttr('emDamageResistanceBonus', src.getModifiedChargeAttr('emDamageResistanceBonusBonus'))
+ src.boostItemAttr('explosiveDamageResistanceBonus',
+ src.getModifiedChargeAttr('explosiveDamageResistanceBonusBonus'))
+ src.boostItemAttr('kineticDamageResistanceBonus', src.getModifiedChargeAttr('kineticDamageResistanceBonusBonus'))
+ src.boostItemAttr('thermalDamageResistanceBonus', src.getModifiedChargeAttr('thermalDamageResistanceBonusBonus'))
+
+
+class Effect6634(BaseEffect):
+ """
+ shipBonusTitanA1DamageBonus
+
+ Used by:
+ Ship: Avatar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusTitanA1'), skill='Amarr Titan')
+
+
+class Effect6635(BaseEffect):
+ """
+ shipBonusTitanC1KinDamageBonus
+
+ Used by:
+ Ship: Leviathan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan')
+
+
+class Effect6636(BaseEffect):
+ """
+ shipBonusTitanG1DamageBonus
+
+ Used by:
+ Ship: Erebus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan')
+
+
+class Effect6637(BaseEffect):
+ """
+ shipBonusTitanM1DamageBonus
+
+ Used by:
+ Ship: Ragnarok
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusTitanM1'), skill='Minmatar Titan')
+
+
+class Effect6638(BaseEffect):
+ """
+ shipBonusTitanC2ROFBonus
+
+ Used by:
+ Variations of ship: Leviathan (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher XL Cruise', 'speed',
+ src.getModifiedItemAttr('shipBonusTitanC2'), skill='Caldari Titan')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Torpedo', 'speed',
+ src.getModifiedItemAttr('shipBonusTitanC2'), skill='Caldari Titan')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher XL Torpedo', 'speed',
+ src.getModifiedItemAttr('shipBonusTitanC2'), skill='Caldari Titan')
+
+
+class Effect6639(BaseEffect):
+ """
+ shipBonusSupercarrierA4FighterApplicationBonus
+
+ Used by:
+ Ship: Revenant
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesExplosionRadius',
+ src.getModifiedItemAttr('shipBonusSupercarrierA4'), skill='Amarr Carrier')
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileExplosionRadius',
+ src.getModifiedItemAttr('shipBonusSupercarrierA4'), skill='Amarr Carrier')
+
+
+class Effect6640(BaseEffect):
+ """
+ shipBonusRole1NumWarfareLinks
+
+ Used by:
+ Ships from group: Titan (7 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',
+ src.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect6641(BaseEffect):
+ """
+ shipBonusRole2ArmorPlates&ShieldExtendersBonus
+
+ Used by:
+ Ships from group: Titan (7 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'armorHPBonusAdd',
+ src.getModifiedItemAttr('shipBonusRole2'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Upgrades'), 'capacityBonus',
+ src.getModifiedItemAttr('shipBonusRole2'))
+
+
+class Effect6642(BaseEffect):
+ """
+ skillBonusDoomsdayRapidFiring
+
+ Used by:
+ Skill: Doomsday Rapid Firing
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Doomsday Operation'), 'duration',
+ src.getModifiedItemAttr('rofBonus') * lvl)
+
+
+class Effect6647(BaseEffect):
+ """
+ shipBonusTitanA3WarpStrength
+
+ Used by:
+ Variations of ship: Avatar (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusTitanA3'), skill='Amarr Titan')
+
+
+class Effect6648(BaseEffect):
+ """
+ shipBonusTitanC3WarpStrength
+
+ Used by:
+ Variations of ship: Leviathan (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusTitanC3'), skill='Caldari Titan')
+
+
+class Effect6649(BaseEffect):
+ """
+ shipBonusTitanG3WarpStrength
+
+ Used by:
+ Variations of ship: Erebus (2 of 2)
+ Ship: Komodo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusTitanG3'), skill='Gallente Titan')
+
+
+class Effect6650(BaseEffect):
+ """
+ shipBonusTitanM3WarpStrength
+
+ Used by:
+ Ships from group: Titan (3 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('shipBonusTitanM3'), skill='Minmatar Titan')
+
+
+class Effect6651(BaseEffect):
+ """
+ shipModuleAncillaryRemoteArmorRepairer
+
+ Used by:
+ Modules from group: Ancillary Remote Armor Repairer (4 of 4)
+ """
+
+ runTime = 'late'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ if 'projected' not in context:
+ return
+
+ if module.charge and module.charge.name == 'Nanite Repair Paste':
+ multiplier = 3
+ else:
+ multiplier = 1
+
+ amount = module.getModifiedItemAttr('armorDamageAmount') * multiplier
+ speed = module.getModifiedItemAttr('duration') / 1000.0
+ rps = amount / speed
+ fit.extraAttributes.increase('armorRepair', rps)
+ fit.extraAttributes.increase('armorRepairPreSpool', rps)
+ fit.extraAttributes.increase('armorRepairFullSpool', rps)
+
+
+class Effect6652(BaseEffect):
+ """
+ shipModuleAncillaryRemoteShieldBooster
+
+ Used by:
+ Modules from group: Ancillary Remote Shield Booster (4 of 4)
+ """
+
+ runTime = 'late'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ if 'projected' not in context:
+ return
+ amount = module.getModifiedItemAttr('shieldBonus')
+ speed = module.getModifiedItemAttr('duration') / 1000.0
+ fit.extraAttributes.increase('shieldRepair', amount / speed, **kwargs)
+
+
+class Effect6653(BaseEffect):
+ """
+ shipBonusTitanA2CapNeed
+
+ Used by:
+ Ship: Avatar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'capacitorNeed',
+ src.getModifiedItemAttr('shipBonusTitanA2'), skill='Amarr Titan')
+
+
+class Effect6654(BaseEffect):
+ """
+ shipBonusTitanG2ROFBonus
+
+ Used by:
+ Variations of ship: Erebus (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'speed',
+ src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan')
+
+
+class Effect6655(BaseEffect):
+ """
+ shipBonusTitanM2ROFBonus
+
+ Used by:
+ Ship: Ragnarok
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Projectile Turret'), 'speed',
+ src.getModifiedItemAttr('shipBonusTitanM2'), skill='Minmatar Titan')
+
+
+class Effect6656(BaseEffect):
+ """
+ shipBonusRole3XLTorpdeoVelocityBonus
+
+ Used by:
+ Variations of ship: Leviathan (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'maxVelocity',
+ src.getModifiedItemAttr('shipBonusRole3'))
+
+
+class Effect6657(BaseEffect):
+ """
+ shipBonusTitanC5AllDamageBonus
+
+ Used by:
+ Ship: Leviathan
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Cruise Missiles'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('XL Torpedoes'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusTitanC5'), skill='Caldari Titan')
+
+
+class Effect6658(BaseEffect):
+ """
+ moduleBonusBastionModule
+
+ Used by:
+ Module: Bastion Module I
+ """
+
+ runTime = 'early'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, src, context):
+ # Resistances
+ for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):
+ for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):
+ bonus = '%s%sDamageResonance' % (attrPrefix, damageType)
+ bonus = '%s%s' % (bonus[0].lower(), bonus[1:])
+ booster = '%s%sDamageResonance' % (layer, damageType)
+ penalize = False if layer == 'hull' else True
+ fit.ship.multiplyItemAttr(bonus, src.getModifiedItemAttr(booster),
+ stackingPenalties=penalize, penaltyGroup='preMul')
+
+ # Turrets
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret') or
+ mod.item.requiresSkill('Large Hybrid Turret') or
+ mod.item.requiresSkill('Large Projectile Turret'),
+ 'maxRange', src.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret') or
+ mod.item.requiresSkill('Large Hybrid Turret') or
+ mod.item.requiresSkill('Large Projectile Turret'),
+ 'falloff', src.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True)
+
+ # Missiles
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes') or
+ mod.charge.requiresSkill('Cruise Missiles') or
+ mod.charge.requiresSkill('Heavy Missiles'),
+ 'maxVelocity', src.getModifiedItemAttr('missileVelocityBonus'))
+
+ # Tanking
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('armorDamageAmountBonus'),
+ stackingPenalties=True)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', src.getModifiedItemAttr('shieldBoostMultiplier'),
+ stackingPenalties=True)
+
+ # Speed penalty
+ fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('speedFactor'))
+
+ # @todo: test these for April 2016 release
+ # Max locked targets
+ fit.ship.forceItemAttr('maxLockedTargets', src.getModifiedItemAttr('maxLockedTargets'))
+
+ # Block Hostile ewar
+ fit.ship.forceItemAttr('disallowOffensiveModifiers', src.getModifiedItemAttr('disallowOffensiveModifiers'))
+
+ # new with April 2016 release
+ for scanType in ('Magnetometric', 'Ladar', 'Gravimetric', 'Radar'):
+ fit.ship.boostItemAttr('scan{}Strength'.format(scanType),
+ src.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType)),
+ stackingPenalties=True)
+
+ fit.ship.boostItemAttr('remoteRepairImpedance', src.getModifiedItemAttr('remoteRepairImpedanceBonus'))
+ fit.ship.boostItemAttr('remoteAssistanceImpedance', src.getModifiedItemAttr('remoteAssistanceImpedanceBonus'))
+ fit.ship.boostItemAttr('sensorDampenerResistance', src.getModifiedItemAttr('sensorDampenerResistanceBonus'))
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Micro Jump Drive Operation'),
+ 'activationBlocked', src.getModifiedItemAttr('activationBlockedStrenght'))
+ fit.ship.boostItemAttr('targetPainterResistance', src.getModifiedItemAttr('targetPainterResistanceBonus'))
+ fit.ship.boostItemAttr('weaponDisruptionResistance', src.getModifiedItemAttr('weaponDisruptionResistanceBonus'))
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('siegeModeWarpStatus'))
+
+ fit.ship.forceItemAttr('disallowDocking', src.getModifiedItemAttr('disallowDocking'))
+ fit.ship.forceItemAttr('disallowTethering', src.getModifiedItemAttr('disallowTethering'))
+
+
+class Effect6661(BaseEffect):
+ """
+ shipBonusCarrierM3FighterVelocity
+
+ Used by:
+ Ship: Nidhoggur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',
+ src.getModifiedItemAttr('shipBonusCarrierM3'), skill='Minmatar Carrier')
+
+
+class Effect6662(BaseEffect):
+ """
+ shipBonusCarrierG3FighterHitpoints
+
+ Used by:
+ Ship: Thanatos
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',
+ src.getModifiedItemAttr('shipBonusCarrierG3'), skill='Gallente Carrier')
+
+
+class Effect6663(BaseEffect):
+ """
+ skillBonusDroneInterfacing
+
+ Used by:
+ Skill: Drone Interfacing
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus') * lvl)
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'), 'miningDroneAmountPercent',
+ src.getModifiedItemAttr('miningAmountBonus') * lvl)
+
+
+class Effect6664(BaseEffect):
+ """
+ skillBonusDroneSharpshooting
+
+ Used by:
+ Skill: Drone Sharpshooting
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxRange',
+ src.getModifiedItemAttr('rangeSkillBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesRange',
+ src.getModifiedItemAttr('rangeSkillBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretRangeOptimal',
+ src.getModifiedItemAttr('rangeSkillBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileRangeOptimal',
+ src.getModifiedItemAttr('rangeSkillBonus') * lvl)
+
+
+class Effect6665(BaseEffect):
+ """
+ skillBonusDroneDurability
+
+ Used by:
+ Skill: Drone Durability
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',
+ src.getModifiedItemAttr('hullHpBonus') * lvl)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',
+ src.getModifiedItemAttr('armorHpBonus') * lvl)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',
+ src.getModifiedItemAttr('shieldCapacityBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',
+ src.getModifiedItemAttr('shieldCapacityBonus') * lvl)
+
+
+class Effect6667(BaseEffect):
+ """
+ skillBonusDroneNavigation
+
+ Used by:
+ Skill: Drone Navigation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxVelocity',
+ src.getModifiedItemAttr('maxVelocityBonus') * lvl)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',
+ src.getModifiedItemAttr('maxVelocityBonus') * lvl)
+
+
+class Effect6669(BaseEffect):
+ """
+ moduleBonusCapitalDroneDurabilityEnhancer
+
+ Used by:
+ Variations of module: Capital Drone Durability Enhancer I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',
+ src.getModifiedItemAttr('hullHpBonus'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',
+ src.getModifiedItemAttr('hullHpBonus'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',
+ src.getModifiedItemAttr('hullHpBonus'))
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',
+ src.getModifiedItemAttr('hullHpBonus'))
+ fit.ship.boostItemAttr('cpuOutput', src.getModifiedItemAttr('drawback'))
+
+
+class Effect6670(BaseEffect):
+ """
+ moduleBonusCapitalDroneScopeChip
+
+ Used by:
+ Variations of module: Capital Drone Scope Chip I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxRange',
+ src.getModifiedItemAttr('rangeSkillBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesRange',
+ src.getModifiedItemAttr('rangeSkillBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackTurretRangeOptimal', src.getModifiedItemAttr('rangeSkillBonus'),
+ stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'),
+ 'fighterAbilityAttackMissileRangeOptimal',
+ src.getModifiedItemAttr('rangeSkillBonus'), stackingPenalties=True)
+ fit.ship.boostItemAttr('cpuOutput', src.getModifiedItemAttr('drawback'))
+
+
+class Effect6671(BaseEffect):
+ """
+ moduleBonusCapitalDroneSpeedAugmentor
+
+ Used by:
+ Variations of module: Capital Drone Speed Augmentor I (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'maxVelocity',
+ src.getModifiedItemAttr('droneMaxVelocityBonus'), stackingPenalties=True)
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'maxVelocity',
+ src.getModifiedItemAttr('droneMaxVelocityBonus'), stackingPenalties=True)
+ fit.ship.boostItemAttr('cpuOutput', src.getModifiedItemAttr('drawback'))
+
+
+class Effect6672(BaseEffect):
+ """
+ structureCombatRigSecurityModification
+
+ Used by:
+ Items from market group: Structure Modifications > Structure Combat Rigs (32 of 34)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ secModifier = module.getModifiedItemAttr('securityModifier')
+ module.multiplyItemAttr('structureRigDoomsdayDamageLossTargetBonus', secModifier)
+ module.multiplyItemAttr('structureRigScanResBonus', secModifier)
+ module.multiplyItemAttr('structureRigPDRangeBonus', secModifier)
+ module.multiplyItemAttr('structureRigPDCapUseBonus', secModifier)
+ module.multiplyItemAttr('structureRigMissileExploVeloBonus', secModifier)
+ module.multiplyItemAttr('structureRigMissileVelocityBonus', secModifier)
+ module.multiplyItemAttr('structureRigEwarOptimalBonus', secModifier)
+ module.multiplyItemAttr('structureRigEwarFalloffBonus', secModifier)
+ module.multiplyItemAttr('structureRigEwarCapUseBonus', secModifier)
+ module.multiplyItemAttr('structureRigMissileExplosionRadiusBonus', secModifier)
+ module.multiplyItemAttr('structureRigMaxTargetRangeBonus', secModifier)
+
+
+class Effect6679(BaseEffect):
+ """
+ skillStructureDoomsdayDurationBonus
+
+ Used by:
+ Skill: Structure Doomsday Operation
+ """
+
+ type = 'passive', 'structure'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Doomsday Weapon',
+ 'duration', src.getModifiedItemAttr('durationBonus'),
+ skill='Structure Doomsday Operation')
+
+
+class Effect6681(BaseEffect):
+ """
+ shipBonusRole3NumWarfareLinks
+
+ Used by:
+ Ships from group: Force Auxiliary (6 of 6)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',
+ src.getModifiedItemAttr('shipBonusRole3'))
+
+
+class Effect6682(BaseEffect):
+ """
+ structureModuleEffectStasisWebifier
+
+ Used by:
+ Structure Modules from group: Structure Stasis Webifier (2 of 2)
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' not in context:
+ return
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('speedFactor'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6683(BaseEffect):
+ """
+ structureModuleEffectTargetPainter
+
+ Used by:
+ Variations of structure module: Standup Target Painter I (2 of 2)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, container, context, *args, **kwargs):
+ if 'projected' in context:
+ fit.ship.boostItemAttr('signatureRadius', container.getModifiedItemAttr('signatureRadiusBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6684(BaseEffect):
+ """
+ structureModuleEffectRemoteSensorDampener
+
+ Used by:
+ Variations of structure module: Standup Remote Sensor Dampener I (2 of 2)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' not in context:
+ return
+
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+ fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6685(BaseEffect):
+ """
+ structureModuleEffectECM
+
+ Used by:
+ Structure Modules from group: Structure ECM Battery (3 of 3)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ if 'projected' in context:
+ # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
+ strModifier = 1 - module.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType)) / fit.scanStrength
+
+ fit.ecmProjectedStr *= strModifier
+
+
+class Effect6686(BaseEffect):
+ """
+ structureModuleEffectWeaponDisruption
+
+ Used by:
+ Variations of structure module: Standup Weapon Disruptor I (2 of 2)
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ 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, module.getModifiedItemAttr(srcAttr),
+ stackingPenalties=True, *args, **kwargs)
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),
+ stackingPenalties=True, *args, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'maxRange', module.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True, *args, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'falloff', module.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6687(BaseEffect):
+ """
+ npcEntityRemoteArmorRepairer
+
+ Used by:
+ Drones named like: Armor Maintenance Bot (6 of 6)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, container, context):
+ if 'projected' in context:
+ bonus = container.getModifiedItemAttr('armorDamageAmount')
+ duration = container.getModifiedItemAttr('duration') / 1000.0
+ rps = bonus / duration
+ fit.extraAttributes.increase('armorRepair', rps)
+ fit.extraAttributes.increase('armorRepairPreSpool', rps)
+ fit.extraAttributes.increase('armorRepairFullSpool', rps)
+
+
+class Effect6688(BaseEffect):
+ """
+ npcEntityRemoteShieldBooster
+
+ Used by:
+ Drones named like: Shield Maintenance Bot (6 of 6)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, container, context):
+ if 'projected' in context:
+ bonus = container.getModifiedItemAttr('shieldBonus')
+ duration = container.getModifiedItemAttr('duration') / 1000.0
+ fit.extraAttributes.increase('shieldRepair', bonus / duration)
+
+
+class Effect6689(BaseEffect):
+ """
+ npcEntityRemoteHullRepairer
+
+ Used by:
+ Drones named like: Hull Maintenance Bot (6 of 6)
+ """
+
+ runTime = 'late'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ if 'projected' not in context:
+ return
+ bonus = module.getModifiedItemAttr('structureDamageAmount')
+ duration = module.getModifiedItemAttr('duration') / 1000.0
+ fit.extraAttributes.increase('hullRepair', bonus / duration)
+
+
+class Effect6690(BaseEffect):
+ """
+ remoteWebifierEntity
+
+ Used by:
+ Drones from group: Stasis Webifying Drone (3 of 3)
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' not in context:
+ return
+ fit.ship.boostItemAttr('maxVelocity', module.getModifiedItemAttr('speedFactor'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6691(BaseEffect):
+ """
+ entityEnergyNeutralizerFalloff
+
+ Used by:
+ Drones from group: Energy Neutralizer Drone (3 of 3)
+ """
+
+ type = 'active', 'projected'
+
+ @staticmethod
+ def handler(fit, src, context, **kwargs):
+ if 'projected' in context and ((hasattr(src, 'state') and src.state >= FittingModuleState.ACTIVE) or
+ hasattr(src, 'amountActive')):
+ amount = src.getModifiedItemAttr('energyNeutralizerAmount')
+ time = src.getModifiedItemAttr('energyNeutralizerDuration')
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ fit.addDrain(src, time, amount, 0)
+
+
+class Effect6692(BaseEffect):
+ """
+ remoteTargetPaintEntity
+
+ Used by:
+ Drones named like: TP (3 of 3)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, container, context, *args, **kwargs):
+ if 'projected' in context:
+ fit.ship.boostItemAttr('signatureRadius', container.getModifiedItemAttr('signatureRadiusBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6693(BaseEffect):
+ """
+ remoteSensorDampEntity
+
+ Used by:
+ Drones named like: SD (3 of 3)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' not in context:
+ return
+
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('maxTargetRangeBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+ fit.ship.boostItemAttr('scanResolution', module.getModifiedItemAttr('scanResolutionBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6694(BaseEffect):
+ """
+ npcEntityWeaponDisruptor
+
+ Used by:
+ Drones named like: TD (3 of 3)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, *args, **kwargs):
+ if 'projected' in context:
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'trackingSpeed', module.getModifiedItemAttr('trackingSpeedBonus'),
+ stackingPenalties=True, *args, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'maxRange', module.getModifiedItemAttr('maxRangeBonus'),
+ stackingPenalties=True, *args, **kwargs)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Gunnery'),
+ 'falloff', module.getModifiedItemAttr('falloffBonus'),
+ stackingPenalties=True, *args, **kwargs)
+
+
+class Effect6695(BaseEffect):
+ """
+ entityECMFalloff
+
+ Used by:
+ Drones named like: EC (3 of 3)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ if 'projected' in context:
+ # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
+ strModifier = 1 - module.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType)) / fit.scanStrength
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ fit.ecmProjectedStr *= strModifier
+
+
+class Effect6697(BaseEffect):
+ """
+ rigDrawbackReductionArmor
+
+ Used by:
+ Skill: Armor Rigging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Armor', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Resource Processing', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+
+
+class Effect6698(BaseEffect):
+ """
+ rigDrawbackReductionAstronautics
+
+ Used by:
+ Skill: Astronautics Rigging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Navigation', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Anchor', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+
+
+class Effect6699(BaseEffect):
+ """
+ rigDrawbackReductionDrones
+
+ Used by:
+ Skill: Drones Rigging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Drones', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+
+
+class Effect6700(BaseEffect):
+ """
+ rigDrawbackReductionElectronic
+
+ Used by:
+ Skill: Electronic Superiority Rigging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Electronic Systems', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Scanning', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Targeting', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+
+
+class Effect6701(BaseEffect):
+ """
+ rigDrawbackReductionProjectile
+
+ Used by:
+ Skill: Projectile Weapon Rigging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Projectile Weapon', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+
+
+class Effect6702(BaseEffect):
+ """
+ rigDrawbackReductionEnergyWeapon
+
+ Used by:
+ Skill: Energy Weapon Rigging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Energy Weapon', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+
+
+class Effect6703(BaseEffect):
+ """
+ rigDrawbackReductionHybrid
+
+ Used by:
+ Skill: Hybrid Weapon Rigging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Hybrid Weapon', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+
+
+class Effect6704(BaseEffect):
+ """
+ rigDrawbackReductionLauncher
+
+ Used by:
+ Skill: Launcher Rigging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Launcher', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+
+
+class Effect6705(BaseEffect):
+ """
+ rigDrawbackReductionShield
+
+ Used by:
+ Skill: Shield Rigging
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Rig Shield', 'drawback',
+ src.getModifiedItemAttr('rigDrawbackBonus') * lvl)
+
+
+class Effect6706(BaseEffect):
+ """
+ setBonusAsklepian
+
+ Used by:
+ Implants named like: grade Asklepian (18 of 18)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Cybernetics'),
+ 'armorRepairBonus', src.getModifiedItemAttr('implantSetSerpentis2'))
+
+
+class Effect6708(BaseEffect):
+ """
+ armorRepairAmountBonusSubcap
+
+ Used by:
+ Implants named like: grade Asklepian (15 of 18)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('armorRepairBonus'))
+
+
+class Effect6709(BaseEffect):
+ """
+ shipBonusRole1CapitalHybridDamageBonus
+
+ Used by:
+ Ship: Vehement
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect6710(BaseEffect):
+ """
+ shipBonusDreadnoughtM1WebStrengthBonus
+
+ Used by:
+ Ship: Vehement
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'speedFactor',
+ src.getModifiedItemAttr('shipBonusDreadnoughtM1'), skill='Minmatar Dreadnought')
+
+
+class Effect6711(BaseEffect):
+ """
+ shipBonusRole3CapitalHybridDamageBonus
+
+ Used by:
+ Ship: Vanquisher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Hybrid Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusRole3'))
+
+
+class Effect6712(BaseEffect):
+ """
+ shipBonusTitanM1WebStrengthBonus
+
+ Used by:
+ Ship: Vanquisher
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'speedFactor',
+ src.getModifiedItemAttr('shipBonusTitanM1'), skill='Minmatar Titan')
+
+
+class Effect6713(BaseEffect):
+ """
+ shipBonusSupercarrierM1BurstProjectorWebBonus
+
+ Used by:
+ Ship: Hel
+ Ship: Vendetta
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Burst Projector Operation'), 'speedFactor',
+ src.getModifiedItemAttr('shipBonusSupercarrierM1'), skill='Minmatar Carrier')
+
+
+class Effect6714(BaseEffect):
+ """
+ ECMBurstJammer
+
+ Used by:
+ Modules from group: Burst Jammer (11 of 11)
+ """
+
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ if 'projected' in context:
+ # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
+ strModifier = 1 - module.getModifiedItemAttr('scan{0}StrengthBonus'.format(fit.scanType)) / fit.scanStrength
+
+ if 'effect' in kwargs:
+ from eos.modifiedAttributeDict import ModifiedAttributeDict
+ strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
+
+ fit.ecmProjectedStr *= strModifier
+
+
+class Effect6717(BaseEffect):
+ """
+ roleBonusIceOreMiningDurationCap
+
+ Used by:
+ Variations of ship: Covetor (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'), 'capacitorNeed',
+ src.getModifiedItemAttr('miningDurationRoleBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining'), 'duration',
+ src.getModifiedItemAttr('miningDurationRoleBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'duration',
+ src.getModifiedItemAttr('miningDurationRoleBonus'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting'), 'capacitorNeed',
+ src.getModifiedItemAttr('miningDurationRoleBonus'))
+
+
+class Effect6720(BaseEffect):
+ """
+ shipBonusDroneRepairMC1
+
+ Used by:
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldBonus',
+ src.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'structureDamageAmount',
+ src.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorDamageAmount',
+ src.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser')
+
+
+class Effect6721(BaseEffect):
+ """
+ eliteBonusLogisticRemoteArmorRepairOptimalFalloff1
+
+ Used by:
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'falloffEffectiveness',
+ src.getModifiedItemAttr('eliteBonusLogistics1'),
+ skill='Logistics Cruisers')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'maxRange',
+ src.getModifiedItemAttr('eliteBonusLogistics1'),
+ skill='Logistics Cruisers')
+
+
+class Effect6722(BaseEffect):
+ """
+ roleBonusRemoteArmorRepairOptimalFalloff
+
+ Used by:
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'falloffEffectiveness',
+ src.getModifiedItemAttr('roleBonusRepairRange'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'maxRange',
+ src.getModifiedItemAttr('roleBonusRepairRange'))
+
+
+class Effect6723(BaseEffect):
+ """
+ shipBonusCloakCpuMC2
+
+ Used by:
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'), 'cpu',
+ src.getModifiedItemAttr('shipBonusMC2'), skill='Minmatar Cruiser')
+
+
+class Effect6724(BaseEffect):
+ """
+ eliteBonusLogisticRemoteArmorRepairDuration3
+
+ Used by:
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'duration',
+ src.getModifiedItemAttr('eliteBonusLogistics3'), skill='Logistics Cruisers')
+
+
+class Effect6725(BaseEffect):
+ """
+ shipBonusSETFalloffAF2
+
+ Used by:
+ Ship: Caedes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'falloff',
+ src.getModifiedItemAttr('shipBonus2AF'), skill='Amarr Frigate')
+
+
+class Effect6726(BaseEffect):
+ """
+ shipBonusCloakCpuMF1
+
+ Used by:
+ Ship: Caedes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Cloaking'), 'cpu',
+ src.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect6727(BaseEffect):
+ """
+ eliteBonusCoverOpsNOSNeutFalloff1
+
+ Used by:
+ Ship: Caedes
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Energy Nosferatu', 'Energy Neutralizer'),
+ 'falloffEffectiveness', src.getModifiedItemAttr('eliteBonusCovertOps1'),
+ stackingPenalties=True, skill='Covert Ops')
+
+
+class Effect6730(BaseEffect):
+ """
+ moduleBonusMicrowarpdrive
+
+ Used by:
+ Modules from group: Propulsion Module (68 of 133)
+ """
+
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('mass', module.getModifiedItemAttr('massAddition'))
+ speedBoost = module.getModifiedItemAttr('speedFactor')
+ mass = fit.ship.getModifiedItemAttr('mass')
+ thrust = module.getModifiedItemAttr('speedBoostFactor')
+ fit.ship.boostItemAttr('maxVelocity', speedBoost * thrust / mass)
+ fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonus'),
+ stackingPenalties=True)
+
+
+class Effect6731(BaseEffect):
+ """
+ moduleBonusAfterburner
+
+ Used by:
+ Modules from group: Propulsion Module (65 of 133)
+ """
+
+ runTime = 'late'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('mass', module.getModifiedItemAttr('massAddition'))
+ speedBoost = module.getModifiedItemAttr('speedFactor')
+ mass = fit.ship.getModifiedItemAttr('mass')
+ thrust = module.getModifiedItemAttr('speedBoostFactor')
+ fit.ship.boostItemAttr('maxVelocity', speedBoost * thrust / mass)
+
+
+class Effect6732(BaseEffect):
+ """
+ moduleBonusWarfareLinkArmor
+
+ Used by:
+ Variations of module: Armor Command Burst I (2 of 2)
+ """
+
+ type = 'active', 'gang'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ for x in range(1, 5):
+ if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):
+ value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, module, kwargs['effect'])
+
+
+class Effect6733(BaseEffect):
+ """
+ moduleBonusWarfareLinkShield
+
+ Used by:
+ Variations of module: Shield Command Burst I (2 of 2)
+ """
+
+ type = 'active', 'gang'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ for x in range(1, 5):
+ if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):
+ value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, module, kwargs['effect'])
+
+
+class Effect6734(BaseEffect):
+ """
+ moduleBonusWarfareLinkSkirmish
+
+ Used by:
+ Variations of module: Skirmish Command Burst I (2 of 2)
+ """
+
+ type = 'active', 'gang'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ for x in range(1, 5):
+ if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):
+ value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, module, kwargs['effect'])
+
+
+class Effect6735(BaseEffect):
+ """
+ moduleBonusWarfareLinkInfo
+
+ Used by:
+ Variations of module: Information Command Burst I (2 of 2)
+ """
+
+ type = 'active', 'gang'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ for x in range(1, 5):
+ if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):
+ value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, module, kwargs['effect'])
+
+
+class Effect6736(BaseEffect):
+ """
+ moduleBonusWarfareLinkMining
+
+ Used by:
+ Variations of module: Mining Foreman Burst I (2 of 2)
+ """
+
+ type = 'active', 'gang'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ for x in range(1, 5):
+ if module.getModifiedChargeAttr('warfareBuff{}ID'.format(x)):
+ value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = module.getModifiedChargeAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, module, kwargs['effect'])
+
+
+class Effect6737(BaseEffect):
+ """
+ chargeBonusWarfareCharge
+
+ Used by:
+ Items from market group: Ammunition & Charges > Command Burst Charges (15 of 15)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ for x in range(1, 4):
+ value = module.getModifiedChargeAttr('warfareBuff{}Multiplier'.format(x))
+ module.multiplyItemAttr('warfareBuff{}Value'.format(x), value)
+
+
+class Effect6753(BaseEffect):
+ """
+ moduleTitanEffectGenerator
+
+ Used by:
+ Modules from group: Titan Phenomena Generator (4 of 4)
+ """
+
+ type = 'active', 'gang'
+
+ @staticmethod
+ def handler(fit, module, context, **kwargs):
+ for x in range(1, 5):
+ if module.getModifiedItemAttr('warfareBuff{}ID'.format(x)):
+ value = module.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = module.getModifiedItemAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, module, kwargs['effect'])
+
+
+class Effect6762(BaseEffect):
+ """
+ miningDroneSpecBonus
+
+ Used by:
+ Skill: Mining Drone Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Drone Specialization'), 'miningAmount',
+ src.getModifiedItemAttr('miningAmountBonus') * lvl)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Drone Specialization'), 'maxVelocity',
+ src.getModifiedItemAttr('maxVelocityBonus') * lvl)
+
+
+class Effect6763(BaseEffect):
+ """
+ iceHarvestingDroneOperationDurationBonus
+
+ Used by:
+ Modules named like: Drone Mining Augmentor (8 of 8)
+ Skill: Ice Harvesting Drone Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level if 'skill' in context else 1
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting Drone Operation'), 'duration', src.getModifiedItemAttr('rofBonus') * lvl)
+
+
+class Effect6764(BaseEffect):
+ """
+ iceHarvestingDroneSpecBonus
+
+ Used by:
+ Skill: Ice Harvesting Drone Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting Drone Specialization'), 'duration',
+ src.getModifiedItemAttr('rofBonus') * lvl)
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting Drone Specialization'),
+ 'maxVelocity', src.getModifiedItemAttr('maxVelocityBonus') * lvl)
+
+
+class Effect6765(BaseEffect):
+ """
+ spatialPhenomenaGenerationDurationBonus
+
+ Used by:
+ Skill: Spatial Phenomena Generation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Spatial Phenomena Generation'), 'buffDuration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+
+
+class Effect6766(BaseEffect):
+ """
+ commandProcessorEffect
+
+ Used by:
+ Modules named like: Command Processor I (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupActive',
+ src.getModifiedItemAttr('maxGangModules'))
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Leadership'), 'maxGroupOnline',
+ src.getModifiedItemAttr('maxGangModules'))
+
+
+class Effect6769(BaseEffect):
+ """
+ commandBurstAoEBonus
+
+ Used by:
+ Skill: Fleet Command
+ Skill: Leadership
+ Skill: Wing Command
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'maxRange',
+ src.getModifiedItemAttr('areaOfEffectBonus') * src.level)
+
+
+class Effect6770(BaseEffect):
+ """
+ armoredCommandDurationBonus
+
+ Used by:
+ Skill: Armored Command
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'buffDuration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+
+
+class Effect6771(BaseEffect):
+ """
+ shieldCommandDurationBonus
+
+ Used by:
+ Skill: Shield Command
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+
+
+class Effect6772(BaseEffect):
+ """
+ informationCommandDurationBonus
+
+ Used by:
+ Skill: Information Command
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'buffDuration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+
+
+class Effect6773(BaseEffect):
+ """
+ skirmishCommandDurationBonus
+
+ Used by:
+ Skill: Skirmish Command
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'buffDuration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+
+
+class Effect6774(BaseEffect):
+ """
+ miningForemanDurationBonus
+
+ Used by:
+ Skill: Mining Foreman
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'buffDuration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+
+
+class Effect6776(BaseEffect):
+ """
+ armoredCommandStrengthBonus
+
+ Used by:
+ Skill: Armored Command Specialist
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Armored Command'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+
+
+class Effect6777(BaseEffect):
+ """
+ shieldCommandStrengthBonus
+
+ Used by:
+ Skill: Shield Command Specialist
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+
+
+class Effect6778(BaseEffect):
+ """
+ informationCommandStrengthBonus
+
+ Used by:
+ Skill: Information Command Specialist
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Information Command'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+
+
+class Effect6779(BaseEffect):
+ """
+ skirmishCommandStrengthBonus
+
+ Used by:
+ Skill: Skirmish Command Specialist
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Skirmish Command'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+
+
+class Effect6780(BaseEffect):
+ """
+ miningForemanStrengthBonus
+
+ Used by:
+ Skill: Mining Director
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff4Value', src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff3Value', src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff2Value', src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff1Value', src.getModifiedItemAttr('commandStrengthBonus') * lvl)
+
+
+class Effect6782(BaseEffect):
+ """
+ commandBurstReloadTimeBonus
+
+ Used by:
+ Skill: Command Burst Specialist
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'),
+ 'reloadTime',
+ src.getModifiedItemAttr('reloadTimeBonus') * lvl)
+
+
+class Effect6783(BaseEffect):
+ """
+ commandBurstAoERoleBonus
+
+ Used by:
+ Ships from group: Carrier (4 of 4)
+ Ships from group: Combat Battlecruiser (14 of 14)
+ Ships from group: Command Ship (8 of 8)
+ Ships from group: Force Auxiliary (6 of 6)
+ Ships from group: Supercarrier (6 of 6)
+ Ships from group: Titan (7 of 7)
+ Subsystems named like: Offensive Support Processor (4 of 4)
+ Ship: Orca
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'maxRange',
+ src.getModifiedItemAttr('roleBonusCommandBurstAoERange'))
+
+
+class Effect6786(BaseEffect):
+ """
+ shieldCommandBurstBonusICS3
+
+ Used by:
+ Ship: Orca
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Multiplier',
+ src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Multiplier',
+ src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Multiplier',
+ src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Multiplier',
+ src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',
+ src.getModifiedItemAttr('shipBonusICS3'), skill='Industrial Command Ships')
+
+
+class Effect6787(BaseEffect):
+ """
+ shipBonusDroneHPDamageMiningICS4
+
+ Used by:
+ Ships from group: Industrial Command Ship (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusICS4'),
+ skill='Industrial Command Ships'
+ )
+
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'shieldCapacity',
+ src.getModifiedItemAttr('shipBonusICS4'),
+ skill='Industrial Command Ships'
+ )
+
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'armorHP',
+ src.getModifiedItemAttr('shipBonusICS4'),
+ skill='Industrial Command Ships'
+ )
+
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'hp',
+ src.getModifiedItemAttr('shipBonusICS4'),
+ skill='Industrial Command Ships'
+ )
+
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),
+ 'miningAmount',
+ src.getModifiedItemAttr('shipBonusICS4'),
+ skill='Industrial Command Ships'
+ )
+
+
+class Effect6788(BaseEffect):
+ """
+ shipBonusDroneIceHarvestingICS5
+
+ Used by:
+ Ships from group: Industrial Command Ship (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Ice Harvesting Drone Operation'),
+ 'duration',
+ src.getModifiedItemAttr('shipBonusICS5'),
+ skill='Industrial Command Ships'
+ )
+
+
+class Effect6789(BaseEffect):
+ """
+ industrialBonusDroneDamage
+
+ Used by:
+ Ships from group: Blockade Runner (4 of 4)
+ Ships from group: Deep Space Transport (4 of 4)
+ Ships from group: Exhumer (3 of 3)
+ Ships from group: Industrial (17 of 17)
+ Ships from group: Industrial Command Ship (2 of 2)
+ Ships from group: Mining Barge (3 of 3)
+ Variations of ship: Venture (3 of 3)
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier',
+ src.getModifiedItemAttr('industrialBonusDroneDamage'))
+
+
+class Effect6790(BaseEffect):
+ """
+ shipBonusDroneIceHarvestingRole
+
+ Used by:
+ Ship: Orca
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Ice Harvesting Drone Operation'), 'duration',
+ src.getModifiedItemAttr('roleBonusDroneIceHarvestingSpeed'))
+
+
+class Effect6792(BaseEffect):
+ """
+ shipBonusDroneHPDamageMiningORECapital4
+
+ Used by:
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusORECapital4'),
+ skill='Capital Industrial Ships'
+ )
+
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'shieldCapacity',
+ src.getModifiedItemAttr('shipBonusORECapital4'),
+ skill='Capital Industrial Ships'
+ )
+
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'armorHP',
+ src.getModifiedItemAttr('shipBonusORECapital4'),
+ skill='Capital Industrial Ships'
+ )
+
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Drones'),
+ 'hp',
+ src.getModifiedItemAttr('shipBonusORECapital4'),
+ skill='Capital Industrial Ships'
+ )
+
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Mining Drone Operation'),
+ 'miningAmount',
+ src.getModifiedItemAttr('shipBonusORECapital4'),
+ skill='Capital Industrial Ships'
+ )
+
+
+class Effect6793(BaseEffect):
+ """
+ miningForemanBurstBonusORECapital2
+
+ Used by:
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Mining Foreman'), 'buffDuration',
+ src.getModifiedItemAttr('shipBonusORECapital2'), skill='Capital Industrial Ships')
+
+
+class Effect6794(BaseEffect):
+ """
+ shieldCommandBurstBonusORECapital3
+
+ Used by:
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff4Value',
+ src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'buffDuration',
+ src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff1Value',
+ src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff3Value',
+ src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Command'), 'warfareBuff2Value',
+ src.getModifiedItemAttr('shipBonusORECapital3'), skill='Capital Industrial Ships')
+
+
+class Effect6795(BaseEffect):
+ """
+ shipBonusDroneIceHarvestingORECapital5
+
+ Used by:
+ Ship: Rorqual
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill('Ice Harvesting Drone Operation'),
+ 'duration',
+ src.getModifiedItemAttr('shipBonusORECapital5'),
+ skill='Capital Industrial Ships'
+ )
+
+
+class Effect6796(BaseEffect):
+ """
+ shipModeSHTDamagePostDiv
+
+ Used by:
+ Module: Hecate Sharpshooter Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('Small Hybrid Turret'),
+ 'damageMultiplier',
+ 1 / module.getModifiedItemAttr('modeDamageBonusPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6797(BaseEffect):
+ """
+ shipModeSPTDamagePostDiv
+
+ Used by:
+ Module: Svipul Sharpshooter Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'damageMultiplier',
+ 1 / module.getModifiedItemAttr('modeDamageBonusPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6798(BaseEffect):
+ """
+ shipModeSETDamagePostDiv
+
+ Used by:
+ Module: Confessor Sharpshooter Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('Small Energy Turret'),
+ 'damageMultiplier',
+ 1 / module.getModifiedItemAttr('modeDamageBonusPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6799(BaseEffect):
+ """
+ shipModeSmallMissileDamagePostDiv
+
+ Used by:
+ Module: Jackdaw Sharpshooter Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ types = ('thermal', 'em', 'explosive', 'kinetic')
+ for type in types:
+ fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Rockets') or mod.charge.requiresSkill('Light Missiles'),
+ '{}Damage'.format(type),
+ 1 / module.getModifiedItemAttr('modeDamageBonusPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv')
+
+
+class Effect6800(BaseEffect):
+ """
+ modeDampTDResistsPostDiv
+
+ Used by:
+ Modules named like: Sharpshooter Mode (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('weaponDisruptionResistance', 1 / module.getModifiedItemAttr('modeEwarResistancePostDiv'))
+ fit.ship.multiplyItemAttr('sensorDampenerResistance', 1 / module.getModifiedItemAttr('modeEwarResistancePostDiv'))
+
+
+class Effect6801(BaseEffect):
+ """
+ modeMWDandABBoostPostDiv
+
+ Used by:
+ Module: Confessor Propulsion Mode
+ Module: Svipul Propulsion Mode
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(
+ lambda mod: mod.item.requiresSkill('High Speed Maneuvering') or mod.item.requiresSkill('Afterburner'),
+ 'speedFactor',
+ 1 / module.getModifiedItemAttr('modeVelocityPostDiv'),
+ stackingPenalties=True,
+ penaltyGroup='postDiv'
+ )
+
+
+class Effect6807(BaseEffect):
+ """
+ invulnerabilityCoreDurationBonus
+
+ Used by:
+ Skill: Invulnerability Core Operation
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ lvl = src.level
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Invulnerability Core Operation'), 'buffDuration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Invulnerability Core Operation'), 'duration',
+ src.getModifiedItemAttr('durationBonus') * lvl)
+
+
+class Effect6844(BaseEffect):
+ """
+ skillMultiplierDefenderMissileVelocity
+
+ Used by:
+ Skill: Defender Missiles
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Defender Missiles'),
+ 'maxVelocity', skill.getModifiedItemAttr('missileVelocityBonus') * skill.level)
+
+
+class Effect6845(BaseEffect):
+ """
+ shipBonusCommandDestroyerRole1DefenderBonus
+
+ Used by:
+ Ships from group: Command Destroyer (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Defender Missiles'),
+ 'moduleReactivationDelay', ship.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect6851(BaseEffect):
+ """
+ shipBonusRole3CapitalEnergyDamageBonus
+
+ Used by:
+ Ship: Chemosh
+ Ship: Molok
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Energy Turret'), 'damageMultiplier', src.getModifiedItemAttr('shipBonusRole3'))
+
+
+class Effect6852(BaseEffect):
+ """
+ shipBonusTitanM1WebRangeBonus
+
+ Used by:
+ Ship: Molok
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'maxRange', src.getModifiedItemAttr('shipBonusTitanM1'), skill='Minmatar Titan')
+
+
+class Effect6853(BaseEffect):
+ """
+ shipBonusTitanA1EnergyWarfareAmountBonus
+
+ Used by:
+ Ship: Molok
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount', src.getModifiedItemAttr('shipBonusTitanA1'), skill='Amarr Titan')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',
+ 'energyNeutralizerAmount', src.getModifiedItemAttr('shipBonusTitanA1'), skill='Amarr Titan')
+
+
+class Effect6855(BaseEffect):
+ """
+ shipBonusDreadnoughtA1EnergyWarfareAmountBonus
+
+ Used by:
+ Ship: Chemosh
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount', src.getModifiedItemAttr('shipBonusDreadnoughtA1'), skill='Amarr Dreadnought')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer',
+ 'energyNeutralizerAmount', src.getModifiedItemAttr('shipBonusDreadnoughtA1'), skill='Amarr Dreadnought')
+
+
+class Effect6856(BaseEffect):
+ """
+ shipBonusDreadnoughtM1WebRangeBonus
+
+ Used by:
+ Ship: Chemosh
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'maxRange', src.getModifiedItemAttr('shipBonusDreadnoughtM1'), skill='Minmatar Dreadnought')
+
+
+class Effect6857(BaseEffect):
+ """
+ shipBonusForceAuxiliaryA1NosferatuRangeBonus
+
+ Used by:
+ Ship: Dagon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'maxRange', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'), skill='Amarr Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'falloffEffectiveness', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'), skill='Amarr Carrier')
+
+
+class Effect6858(BaseEffect):
+ """
+ shipBonusForceAuxiliaryA1NosferatuDrainAmount
+
+ Used by:
+ Ship: Dagon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu',
+ 'powerTransferAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryA1'), skill='Amarr Carrier')
+
+
+class Effect6859(BaseEffect):
+ """
+ shipBonusRole4NosferatuCPUBonus
+
+ Used by:
+ Ship: Dagon
+ Ship: Rabisu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Nosferatu', 'cpu', src.getModifiedItemAttr('shipBonusRole4'))
+
+
+class Effect6860(BaseEffect):
+ """
+ shipBonusRole5RemoteArmorRepairPowergridBonus
+
+ Used by:
+ Ships from group: Logistics (3 of 7)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'power',
+ src.getModifiedItemAttr('shipBonusRole5'))
+
+
+class Effect6861(BaseEffect):
+ """
+ shipBonusRole5CapitalRemoteArmorRepairPowergridBonus
+
+ Used by:
+ Ship: Dagon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Remote Armor Repair Systems'), 'power', src.getModifiedItemAttr('shipBonusRole5'))
+
+
+class Effect6862(BaseEffect):
+ """
+ shipBonusForceAuxiliaryM1RemoteArmorRepairDuration
+
+ Used by:
+ Ship: Dagon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'duration', src.getModifiedItemAttr('shipBonusForceAuxiliaryM1'), skill='Minmatar Carrier')
+
+
+class Effect6865(BaseEffect):
+ """
+ eliteBonusCoverOpsWarpVelocity1
+
+ Used by:
+ Ship: Pacifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('eliteBonusCovertOps1'), skill='Covert Ops')
+
+
+class Effect6866(BaseEffect):
+ """
+ shipBonusSmallMissileFlightTimeCF1
+
+ Used by:
+ Ship: Pacifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Rockets'),
+ 'explosionDelay', src.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Light Missiles'),
+ 'explosionDelay', src.getModifiedItemAttr('shipBonusCF'), skill='Caldari Frigate')
+
+
+class Effect6867(BaseEffect):
+ """
+ shipBonusSPTRoFMF
+
+ Used by:
+ Ship: Pacifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Projectile Turret'),
+ 'speed', src.getModifiedItemAttr('shipBonusMF'), skill='Minmatar Frigate')
+
+
+class Effect6871(BaseEffect):
+ """
+ concordSecStatusTankBonus
+
+ Used by:
+ Ship: Enforcer
+ Ship: Marshal
+ Ship: Pacifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+
+ # Get pilot sec status bonus directly here, instead of going through the intermediary effects
+ # via https://forums.eveonline.com/default.aspx?g=posts&t=515826
+ try:
+ bonus = max(0, min(50.0, (src.parent.character.secStatus * 10)))
+ except:
+ bonus = None
+
+ if bonus is not None:
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', bonus, stackingPenalties=True)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'shieldBonus', bonus, stackingPenalties=True)
+
+
+class Effect6872(BaseEffect):
+ """
+ eliteReconStasisWebBonus1
+
+ Used by:
+ Ship: Enforcer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange', src.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships')
+
+
+class Effect6873(BaseEffect):
+ """
+ eliteBonusReconWarpVelocity3
+
+ Used by:
+ Ship: Enforcer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships')
+
+
+class Effect6874(BaseEffect):
+ """
+ shipBonusMedMissileFlightTimeCC2
+
+ Used by:
+ Ship: Enforcer
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'explosionDelay', src.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'explosionDelay', src.getModifiedItemAttr('shipBonusCC2'), skill='Caldari Cruiser')
+
+
+class Effect6877(BaseEffect):
+ """
+ eliteBonusBlackOpsWarpVelocity1
+
+ Used by:
+ Ship: Marshal
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('eliteBonusBlackOps1'), stackingPenalties=True, skill='Black Ops')
+
+
+class Effect6878(BaseEffect):
+ """
+ eliteBonusBlackOpsScramblerRange4
+
+ Used by:
+ Ship: Marshal
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler', 'maxRange',
+ src.getModifiedItemAttr('eliteBonusBlackOps4'), stackingPenalties=True, skill='Black Ops')
+
+
+class Effect6879(BaseEffect):
+ """
+ eliteBonusBlackOpsWebRange3
+
+ Used by:
+ Ship: Marshal
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange',
+ src.getModifiedItemAttr('eliteBonusBlackOps3'), stackingPenalties=True, skill='Black Ops')
+
+
+class Effect6880(BaseEffect):
+ """
+ shipBonusLauncherRoF2CB
+
+ Used by:
+ Ship: Marshal
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Cruise', 'speed',
+ src.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo', 'speed',
+ src.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Rapid Heavy', 'speed',
+ src.getModifiedItemAttr('shipBonus2CB'), skill='Caldari Battleship')
+
+
+class Effect6881(BaseEffect):
+ """
+ shipBonusLargeMissileFlightTimeCB1
+
+ Used by:
+ Ship: Marshal
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'explosionDelay',
+ src.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship')
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'explosionDelay',
+ src.getModifiedItemAttr('shipBonusCB'), skill='Caldari Battleship')
+
+
+class Effect6883(BaseEffect):
+ """
+ shipBonusForceAuxiliaryM2LocalRepairAmount
+
+ Used by:
+ Ship: Dagon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryM2'), skill='Minmatar Carrier')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Repair Systems'),
+ 'armorDamageAmount', src.getModifiedItemAttr('shipBonusForceAuxiliaryM2'), skill='Minmatar Carrier')
+
+
+class Effect6894(BaseEffect):
+ """
+ subsystemEnergyNeutFittingReduction
+
+ Used by:
+ Subsystem: Legion Core - Energy Parasitic Complex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Energy Nosferatu', 'Energy Neutralizer'),
+ 'cpu', src.getModifiedItemAttr('subsystemEnergyNeutFittingReduction'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Energy Nosferatu', 'Energy Neutralizer'),
+ 'power', src.getModifiedItemAttr('subsystemEnergyNeutFittingReduction'))
+
+
+class Effect6895(BaseEffect):
+ """
+ subsystemMETFittingReduction
+
+ Used by:
+ Subsystem: Legion Offensive - Liquid Crystal Magnifiers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'cpu', src.getModifiedItemAttr('subsystemMETFittingReduction'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Energy Turret'),
+ 'power', src.getModifiedItemAttr('subsystemMETFittingReduction'))
+
+
+class Effect6896(BaseEffect):
+ """
+ subsystemMHTFittingReduction
+
+ Used by:
+ Subsystem: Proteus Offensive - Drone Synthesis Projector
+ Subsystem: Proteus Offensive - Hybrid Encoding Platform
+ Subsystem: Tengu Offensive - Magnetic Infusion Basin
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'cpu', src.getModifiedItemAttr('subsystemMHTFittingReduction'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'),
+ 'power', src.getModifiedItemAttr('subsystemMHTFittingReduction'))
+
+
+class Effect6897(BaseEffect):
+ """
+ subsystemMPTFittingReduction
+
+ Used by:
+ Subsystem: Loki Offensive - Projectile Scoping Array
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'power', src.getModifiedItemAttr('subsystemMPTFittingReduction'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Projectile Turret'),
+ 'cpu', src.getModifiedItemAttr('subsystemMPTFittingReduction'))
+
+
+class Effect6898(BaseEffect):
+ """
+ subsystemMRARFittingReduction
+
+ Used by:
+ Subsystems named like: Offensive Support Processor (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') and
+ mod.getModifiedItemAttr('mediumRemoteRepFittingMultiplier', 0) == 1,
+ 'cpu', src.getModifiedItemAttr('subsystemMRARFittingReduction'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') and
+ mod.getModifiedItemAttr('mediumRemoteRepFittingMultiplier', 0) == 1,
+ 'power', src.getModifiedItemAttr('subsystemMRARFittingReduction'))
+
+
+class Effect6899(BaseEffect):
+ """
+ subsystemMRSBFittingReduction
+
+ Used by:
+ Subsystem: Loki Offensive - Support Processor
+ Subsystem: Tengu Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems') and
+ mod.getModifiedItemAttr('mediumRemoteRepFittingMultiplier', 0) == 1,
+ 'cpu', src.getModifiedItemAttr('subsystemMRSBFittingReduction'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems') and
+ mod.getModifiedItemAttr('mediumRemoteRepFittingMultiplier', 0) == 1,
+ 'power', src.getModifiedItemAttr('subsystemMRSBFittingReduction'))
+
+
+class Effect6900(BaseEffect):
+ """
+ subsystemMMissileFittingReduction
+
+ Used by:
+ Subsystem: Legion Offensive - Assault Optimization
+ Subsystem: Loki Offensive - Launcher Efficiency Configuration
+ Subsystem: Tengu Offensive - Accelerated Ejection Bay
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Missile Launcher Heavy', 'Missile Launcher Rapid Light', 'Missile Launcher Heavy Assault')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'cpu', src.getModifiedItemAttr('subsystemMMissileFittingReduction'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
+ 'power', src.getModifiedItemAttr('subsystemMMissileFittingReduction'))
+
+
+class Effect6908(BaseEffect):
+ """
+ shipBonusStrategicCruiserCaldariNaniteRepairTime2
+
+ Used by:
+ Ship: Tengu
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'moduleRepairRate',
+ ship.getModifiedItemAttr('shipBonusStrategicCruiserCaldari2'),
+ skill='Caldari Strategic Cruiser')
+
+
+class Effect6909(BaseEffect):
+ """
+ shipBonusStrategicCruiserAmarrNaniteRepairTime2
+
+ Used by:
+ Ship: Legion
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'moduleRepairRate',
+ ship.getModifiedItemAttr('shipBonusStrategicCruiserAmarr2'),
+ skill='Amarr Strategic Cruiser')
+
+
+class Effect6910(BaseEffect):
+ """
+ shipBonusStrategicCruiserGallenteNaniteRepairTime2
+
+ Used by:
+ Ship: Proteus
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'moduleRepairRate',
+ ship.getModifiedItemAttr('shipBonusStrategicCruiserGallente2'),
+ skill='Gallente Strategic Cruiser')
+
+
+class Effect6911(BaseEffect):
+ """
+ shipBonusStrategicCruiserMinmatarNaniteRepairTime2
+
+ Used by:
+ Ship: Loki
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: True, 'moduleRepairRate',
+ ship.getModifiedItemAttr('shipBonusStrategicCruiserMinmatar2'),
+ skill='Minmatar Strategic Cruiser')
+
+
+class Effect6920(BaseEffect):
+ """
+ structureHPBonusAddPassive
+
+ Used by:
+ Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
+ Subsystem: Loki Defensive - Adaptive Defense Node
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.increaseItemAttr('hp', module.getModifiedItemAttr('structureHPBonusAdd') or 0)
+
+
+class Effect6921(BaseEffect):
+ """
+ subSystemBonusAmarrDefensive2ScanProbeStrength
+
+ Used by:
+ Subsystem: Legion Defensive - Covert Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),
+ 'baseSensorStrength', src.getModifiedItemAttr('subsystemBonusAmarrDefensive2'),
+ skill='Amarr Defensive Systems')
+
+
+class Effect6923(BaseEffect):
+ """
+ subsystemBonusMinmatarOffensive1HMLHAMVelo
+
+ Used by:
+ Subsystem: Loki Offensive - Launcher Efficiency Configuration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles') or mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'maxVelocity', container.getModifiedItemAttr('subsystemBonusMinmatarOffensive'),
+ skill='Minmatar Offensive Systems')
+
+
+class Effect6924(BaseEffect):
+ """
+ subsystemBonusMinmatarOffensive3MissileExpVelo
+
+ Used by:
+ Subsystem: Loki Offensive - Launcher Efficiency Configuration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
+ 'aoeVelocity', container.getModifiedItemAttr('subsystemBonusMinmatarOffensive3'),
+ skill='Minmatar Offensive Systems')
+
+
+class Effect6925(BaseEffect):
+ """
+ subsystemBonusGallenteOffensive2DroneVeloTracking
+
+ Used by:
+ Subsystem: Proteus Offensive - Drone Synthesis Projector
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'maxVelocity', src.getModifiedItemAttr('subsystemBonusGallenteOffensive2'),
+ skill='Gallente Offensive Systems')
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'),
+ 'trackingSpeed', src.getModifiedItemAttr('subsystemBonusGallenteOffensive2'),
+ skill='Gallente Offensive Systems')
+
+
+class Effect6926(BaseEffect):
+ """
+ subsystemBonusAmarrPropulsionWarpCapacitor
+
+ Used by:
+ Subsystem: Legion Propulsion - Interdiction Nullifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpCapacitorNeed', src.getModifiedItemAttr('subsystemBonusAmarrPropulsion'), skill='Amarr Propulsion Systems')
+
+
+class Effect6927(BaseEffect):
+ """
+ subsystemBonusMinmatarPropulsionWarpCapacitor
+
+ Used by:
+ Subsystem: Loki Propulsion - Interdiction Nullifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpCapacitorNeed', src.getModifiedItemAttr('subsystemBonusMinmatarPropulsion'),
+ skill='Minmatar Propulsion Systems')
+
+
+class Effect6928(BaseEffect):
+ """
+ subsystemBonusCaldariPropulsion2PropModHeatBenefit
+
+ Used by:
+ Subsystem: Tengu Propulsion - Fuel Catalyst
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner') or mod.item.requiresSkill('High Speed Maneuvering'),
+ 'overloadSpeedFactorBonus', src.getModifiedItemAttr('subsystemBonusCaldariPropulsion2'),
+ skill='Caldari Propulsion Systems')
+
+
+class Effect6929(BaseEffect):
+ """
+ subsystemBonusGallentePropulsion2PropModHeatBenefit
+
+ Used by:
+ Subsystem: Proteus Propulsion - Localized Injectors
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner') or mod.item.requiresSkill('High Speed Maneuvering'),
+ 'overloadSpeedFactorBonus', src.getModifiedItemAttr('subsystemBonusGallentePropulsion2'),
+ skill='Gallente Propulsion Systems')
+
+
+class Effect6930(BaseEffect):
+ """
+ subsystemBonusAmarrCore2EnergyResistance
+
+ Used by:
+ Subsystem: Legion Core - Augmented Antimatter Reactor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('energyWarfareResistance', src.getModifiedItemAttr('subsystemBonusAmarrCore2'), skill='Amarr Core Systems')
+
+
+class Effect6931(BaseEffect):
+ """
+ subsystemBonusMinmatarCore2EnergyResistance
+
+ Used by:
+ Subsystem: Loki Core - Augmented Nuclear Reactor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('energyWarfareResistance', src.getModifiedItemAttr('subsystemBonusMinmatarCore2'),
+ skill='Minmatar Core Systems')
+
+
+class Effect6932(BaseEffect):
+ """
+ subsystemBonusGallenteCore2EnergyResistance
+
+ Used by:
+ Subsystem: Proteus Core - Augmented Fusion Reactor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('energyWarfareResistance', src.getModifiedItemAttr('subsystemBonusGallenteCore2'),
+ skill='Gallente Core Systems')
+
+
+class Effect6933(BaseEffect):
+ """
+ subsystemBonusCaldariCore2EnergyResistance
+
+ Used by:
+ Subsystem: Tengu Core - Augmented Graviton Reactor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('energyWarfareResistance', src.getModifiedItemAttr('subsystemBonusCaldariCore2'),
+ skill='Caldari Core Systems')
+
+
+class Effect6934(BaseEffect):
+ """
+ shipMaxLockedTargetsBonusAddPassive
+
+ Used by:
+ Subsystems named like: Core Dissolution Sequencer (2 of 2)
+ Subsystems named like: Core Electronic Efficiency Gate (2 of 2)
+ Subsystems named like: Offensive Support Processor (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('maxLockedTargets', src.getModifiedItemAttr('maxLockedTargetsBonus'))
+
+
+class Effect6935(BaseEffect):
+ """
+ subsystemBonusAmarrCore3EnergyWarHeatBonus
+
+ Used by:
+ Subsystem: Legion Core - Energy Parasitic Complex
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Energy Nosferatu', 'Energy Neutralizer'), 'overloadSelfDurationBonus',
+ src.getModifiedItemAttr('subsystemBonusAmarrCore3'), skill='Amarr Core Systems')
+
+
+class Effect6936(BaseEffect):
+ """
+ subsystemBonusMinmatarCore3StasisWebHeatBonus
+
+ Used by:
+ Subsystem: Loki Core - Immobility Drivers
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web',
+ 'overloadRangeBonus', src.getModifiedItemAttr('subsystemBonusMinmatarCore3'),
+ skill='Minmatar Core Systems')
+
+
+class Effect6937(BaseEffect):
+ """
+ subsystemBonusGallenteCore3WarpScramHeatBonus
+
+ Used by:
+ Subsystem: Proteus Core - Friction Extension Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler', 'overloadRangeBonus',
+ src.getModifiedItemAttr('subsystemBonusGallenteCore3'), skill='Gallente Core Systems')
+
+
+class Effect6938(BaseEffect):
+ """
+ subsystemBonusCaldariCore3ECMHeatBonus
+
+ Used by:
+ Subsystem: Tengu Core - Obfuscation Manifold
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'ECM', 'overloadECMStrengthBonus',
+ src.getModifiedItemAttr('subsystemBonusCaldariCore3'), skill='Caldari Core Systems')
+
+
+class Effect6939(BaseEffect):
+ """
+ subsystemBonusAmarrDefensive2HardenerHeat
+
+ Used by:
+ Subsystem: Legion Defensive - Augmented Plating
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadSelfDurationBonus',
+ src.getModifiedItemAttr('subsystemBonusAmarrDefensive2'), skill='Amarr Defensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadHardeningBonus',
+ src.getModifiedItemAttr('subsystemBonusAmarrDefensive2'), skill='Amarr Defensive Systems')
+
+
+class Effect6940(BaseEffect):
+ """
+ subsystemBonusGallenteDefensive2HardenerHeat
+
+ Used by:
+ Subsystem: Proteus Defensive - Augmented Plating
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadHardeningBonus',
+ src.getModifiedItemAttr('subsystemBonusGallenteDefensive2'), skill='Gallente Defensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadSelfDurationBonus',
+ src.getModifiedItemAttr('subsystemBonusGallenteDefensive2'), skill='Gallente Defensive Systems')
+
+
+class Effect6941(BaseEffect):
+ """
+ subsystemBonusCaldariDefensive2HardenerHeat
+
+ Used by:
+ Subsystem: Tengu Defensive - Supplemental Screening
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Tactical Shield Manipulation'),
+ 'overloadHardeningBonus', src.getModifiedItemAttr('subsystemBonusCaldariDefensive2'),
+ skill='Caldari Defensive Systems')
+
+
+class Effect6942(BaseEffect):
+ """
+ subsystemBonusMinmatarDefensive2HardenerHeat
+
+ Used by:
+ Subsystem: Loki Defensive - Augmented Durability
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadSelfDurationBonus',
+ src.getModifiedItemAttr('subsystemBonusMinmatarDefensive2'), skill='Minmatar Defensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Hull Upgrades'), 'overloadHardeningBonus',
+ src.getModifiedItemAttr('subsystemBonusMinmatarDefensive2'), skill='Minmatar Defensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Tactical Shield Manipulation'), 'overloadHardeningBonus',
+ src.getModifiedItemAttr('subsystemBonusMinmatarDefensive2'), skill='Minmatar Defensive Systems')
+
+
+class Effect6943(BaseEffect):
+ """
+ subsystemBonusAmarrDefensive3ArmorRepHeat
+
+ Used by:
+ Subsystem: Legion Defensive - Covert Reconfiguration
+ Subsystem: Legion Defensive - Nanobot Injector
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusAmarrDefensive3'),
+ skill='Amarr Defensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'overloadArmorDamageAmount', src.getModifiedItemAttr('subsystemBonusAmarrDefensive3'),
+ skill='Amarr Defensive Systems')
+
+
+class Effect6944(BaseEffect):
+ """
+ subsystemBonusGallenteDefensive3ArmorRepHeat
+
+ Used by:
+ Subsystem: Proteus Defensive - Covert Reconfiguration
+ Subsystem: Proteus Defensive - Nanobot Injector
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusGallenteDefensive3'),
+ skill='Gallente Defensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'),
+ 'overloadArmorDamageAmount', src.getModifiedItemAttr('subsystemBonusGallenteDefensive3'),
+ skill='Gallente Defensive Systems')
+
+
+class Effect6945(BaseEffect):
+ """
+ subsystemBonusCaldariDefensive3ShieldBoostHeat
+
+ Used by:
+ Subsystem: Tengu Defensive - Amplification Node
+ Subsystem: Tengu Defensive - Covert Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'overloadShieldBonus', src.getModifiedItemAttr('subsystemBonusCaldariDefensive3'),
+ skill='Caldari Defensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation'),
+ 'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusCaldariDefensive3'),
+ skill='Caldari Defensive Systems')
+
+
+class Effect6946(BaseEffect):
+ """
+ subsystemBonusMinmatarDefensive3LocalRepHeat
+
+ Used by:
+ Subsystem: Loki Defensive - Adaptive Defense Node
+ Subsystem: Loki Defensive - Covert Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems') or mod.item.requiresSkill('Shield Operation'),
+ 'overloadArmorDamageAmount', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive3'),
+ skill='Minmatar Defensive Systems')
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems') or mod.item.requiresSkill('Shield Operation'),
+ 'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusMinmatarDefensive3'),
+ skill='Minmatar Defensive Systems')
+
+
+class Effect6947(BaseEffect):
+ """
+ subSystemBonusCaldariDefensive2ScanProbeStrength
+
+ Used by:
+ Subsystem: Tengu Defensive - Covert Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),
+ 'baseSensorStrength', src.getModifiedItemAttr('subsystemBonusCaldariDefensive2'),
+ skill='Caldari Defensive Systems')
+
+
+class Effect6949(BaseEffect):
+ """
+ subSystemBonusGallenteDefensive2ScanProbeStrength
+
+ Used by:
+ Subsystem: Proteus Defensive - Covert Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseSensorStrength',
+ src.getModifiedItemAttr('subsystemBonusGallenteDefensive2'), skill='Gallente Defensive Systems')
+
+
+class Effect6951(BaseEffect):
+ """
+ subSystemBonusMinmatarDefensive2ScanProbeStrength
+
+ Used by:
+ Subsystem: Loki Defensive - Covert Reconfiguration
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseSensorStrength',
+ src.getModifiedItemAttr('subsystemBonusMinmatarDefensive2'), skill='Minmatar Defensive Systems')
+
+
+class Effect6953(BaseEffect):
+ """
+ mediumRemoteRepFittingAdjustment
+
+ Used by:
+ Variations of module: Medium Remote Armor Repairer I (12 of 12)
+ Variations of module: Medium Remote Shield Booster I (11 of 11)
+ Module: Medium Ancillary Remote Armor Repairer
+ Module: Medium Ancillary Remote Shield Booster
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ module.multiplyItemAttr('power', module.getModifiedItemAttr('mediumRemoteRepFittingMultiplier'))
+ module.multiplyItemAttr('cpu', module.getModifiedItemAttr('mediumRemoteRepFittingMultiplier'))
+
+
+class Effect6954(BaseEffect):
+ """
+ subsystemBonusCommandBurstFittingReduction
+
+ Used by:
+ Subsystems named like: Offensive Support Processor (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'power',
+ src.getModifiedItemAttr('subsystemCommandBurstFittingReduction'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Leadership'), 'cpu',
+ src.getModifiedItemAttr('subsystemCommandBurstFittingReduction'))
+
+
+class Effect6955(BaseEffect):
+ """
+ subsystemRemoteShieldBoostFalloffBonus
+
+ Used by:
+ Subsystem: Loki Offensive - Support Processor
+ Subsystem: Tengu Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Remote Shield Booster', 'Ancillary Remote Shield Booster'),
+ 'falloffEffectiveness', src.getModifiedItemAttr('remoteShieldBoosterFalloffBonus'))
+
+
+class Effect6956(BaseEffect):
+ """
+ subsystemRemoteArmorRepairerOptimalBonus
+
+ Used by:
+ Subsystems named like: Offensive Support Processor (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Remote Armor Repairer', 'Ancillary Remote Armor Repairer'),
+ 'maxRange', src.getModifiedItemAttr('remoteArmorRepairerOptimalBonus'))
+
+
+class Effect6957(BaseEffect):
+ """
+ subsystemRemoteArmorRepairerFalloffBonus
+
+ Used by:
+ Subsystems named like: Offensive Support Processor (3 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Remote Armor Repairer', 'Ancillary Remote Armor Repairer'),
+ 'falloffEffectiveness', src.getModifiedItemAttr('remoteArmorRepairerFalloffBonus'))
+
+
+class Effect6958(BaseEffect):
+ """
+ subsystemBonusAmarrOffensive3RemoteArmorRepairHeat
+
+ Used by:
+ Subsystem: Legion Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'overloadSelfDurationBonus',
+ src.getModifiedItemAttr('subsystemBonusAmarrOffensive3'), skill='Amarr Offensive Systems')
+
+
+class Effect6959(BaseEffect):
+ """
+ subsystemBonusGallenteOffensive3RemoteArmorRepairHeat
+
+ Used by:
+ Subsystem: Proteus Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'), 'overloadSelfDurationBonus',
+ src.getModifiedItemAttr('subsystemBonusGallenteOffensive3'), skill='Gallente Offensive Systems')
+
+
+class Effect6960(BaseEffect):
+ """
+ subsystemBonusCaldariOffensive3RemoteShieldBoosterHeat
+
+ Used by:
+ Subsystem: Tengu Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems'),
+ 'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusCaldariOffensive3'),
+ skill='Caldari Offensive Systems')
+
+
+class Effect6961(BaseEffect):
+ """
+ subsystemBonusMinmatarOffensive3RemoteRepHeat
+
+ Used by:
+ Subsystem: Loki Offensive - Support Processor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Emission Systems') or mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'overloadSelfDurationBonus', src.getModifiedItemAttr('subsystemBonusMinmatarOffensive3'),
+ skill='Minmatar Offensive Systems')
+
+
+class Effect6962(BaseEffect):
+ """
+ subsystemBonusAmarrPropulsion2WarpSpeed
+
+ Used by:
+ Subsystem: Legion Propulsion - Interdiction Nullifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('subsystemBonusAmarrPropulsion2'),
+ skill='Amarr Propulsion Systems')
+
+
+class Effect6963(BaseEffect):
+ """
+ subsystemBonusMinmatarPropulsion2WarpSpeed
+
+ Used by:
+ Subsystem: Loki Propulsion - Interdiction Nullifier
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('subsystemBonusMinmatarPropulsion2'),
+ skill='Minmatar Propulsion Systems')
+
+
+class Effect6964(BaseEffect):
+ """
+ subsystemBonusGallentePropulsionWarpSpeed
+
+ Used by:
+ Subsystem: Proteus Propulsion - Hyperspatial Optimization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('baseWarpSpeed', module.getModifiedItemAttr('subsystemBonusGallentePropulsion'),
+ skill='Gallente Propulsion Systems')
+
+
+class Effect6981(BaseEffect):
+ """
+ shipBonusTitanG1KinThermDamageBonus
+
+ Used by:
+ Ship: Komodo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Torpedoes'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Torpedoes'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusTitanG1'), skill='Gallente Titan')
+
+
+class Effect6982(BaseEffect):
+ """
+ shipBonusTitanG2EMExplosiveDamageBonus
+
+ Used by:
+ Ship: Komodo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Torpedoes'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Torpedoes'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusTitanG2'), skill='Gallente Titan')
+
+
+class Effect6983(BaseEffect):
+ """
+ shipBonusTitanC1ShieldResists
+
+ Used by:
+ Ship: Komodo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan')
+ fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan')
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan')
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('shipBonusTitanC1'), skill='Caldari Titan')
+
+
+class Effect6984(BaseEffect):
+ """
+ shipBonusRole4FighterDamageAndHitpoints
+
+ Used by:
+ Ship: Caiman
+ Ship: Komodo
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'shieldCapacity',
+ src.getModifiedItemAttr('shipBonusRole4'))
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityAttackTurretDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusRole4'))
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityAttackMissileDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusRole4'))
+ fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), 'fighterAbilityMissilesDamageMultiplier',
+ src.getModifiedItemAttr('shipBonusRole4'))
+
+
+class Effect6985(BaseEffect):
+ """
+ shipBonusDreadnoughtG1KinThermDamageBonus
+
+ Used by:
+ Ship: Caiman
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Torpedoes'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('Torpedoes'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Torpedoes'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought')
+ fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill('XL Cruise Missiles'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusDreadnoughtG1'), skill='Gallente Dreadnought')
+
+
+class Effect6986(BaseEffect):
+ """
+ shipBonusForceAuxiliaryG1RemoteShieldBoostAmount
+
+ Used by:
+ Ship: Loggerhead
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capital Shield Emission Systems'), 'shieldBonus',
+ src.getModifiedItemAttr('shipBonusForceAuxiliaryG1'), skill='Gallente Carrier')
+
+
+class Effect6987(BaseEffect):
+ """
+ shipBonusRole2LogisticDroneRepAmountAndHitpointBonus
+
+ Used by:
+ Ship: Loggerhead
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),
+ 'structureDamageAmount', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),
+ 'shieldBonus', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),
+ 'armorDamageAmount', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),
+ 'armorHP', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),
+ 'shieldCapacity', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Drone Operation'),
+ 'hp', src.getModifiedItemAttr('shipBonusRole2'))
+
+
+class Effect6992(BaseEffect):
+ """
+ roleBonusMHTDamage1
+
+ Used by:
+ Ship: Victor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'damageMultiplier', src.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect6993(BaseEffect):
+ """
+ roleBonus2BoosterPenaltyReduction
+
+ Used by:
+ Ship: Victor
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterMissileAOECloudPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterCapacitorCapacityPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterAOEVelocityPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterArmorRepairAmountPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterMissileVelocityPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterTurretTrackingPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterShieldCapacityPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterTurretOptimalRangePenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterShieldBoostAmountPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterTurretFalloffPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterArmorHPPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+ fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == 'Booster', 'boosterMaxVelocityPenalty', src.getModifiedItemAttr('shipBonusRole2'))
+
+
+class Effect6994(BaseEffect):
+ """
+ eliteReconBonusMHTDamage1
+
+ Used by:
+ Ship: Victor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Hybrid Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('eliteBonusReconShip1'), skill='Recon Ships')
+
+
+class Effect6995(BaseEffect):
+ """
+ targetABCAttack
+
+ Used by:
+ Modules from group: Precursor Weapon (15 of 15)
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, module, context):
+ # Set reload time to 1 second
+ module.reloadTime = 1000
+
+
+class Effect6996(BaseEffect):
+ """
+ eliteReconBonusArmorRepAmount3
+
+ Used by:
+ Ship: Victor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',
+ src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships')
+
+
+class Effect6997(BaseEffect):
+ """
+ eliteCovertOpsBonusArmorRepAmount4
+
+ Used by:
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems'), 'armorDamageAmount',
+ src.getModifiedItemAttr('eliteBonusCovertOps4'), skill='Covert Ops')
+
+
+class Effect6999(BaseEffect):
+ """
+ covertOpsStealthBomberSiegeMissileLauncherCPUNeedBonus
+
+ Used by:
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo',
+ 'cpu', ship.getModifiedItemAttr('stealthBomberLauncherCPU'))
+
+
+class Effect7000(BaseEffect):
+ """
+ shipBonusSHTFalloffGF1
+
+ Used by:
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'falloff',
+ src.getModifiedItemAttr('shipBonusGF'), skill='Gallente Frigate')
+
+
+class Effect7001(BaseEffect):
+ """
+ roleBonusTorpRoF1
+
+ Used by:
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Missile Launcher Torpedo', 'speed', src.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect7002(BaseEffect):
+ """
+ roleBonusBombLauncherPWGCPU3
+
+ Used by:
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Bomb Deployment'), 'power', src.getModifiedItemAttr('shipBonusRole3'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Bomb Deployment'), 'cpu', src.getModifiedItemAttr('shipBonusRole3'))
+
+
+class Effect7003(BaseEffect):
+ """
+ eliteBonusCovertOpsSHTDamage3
+
+ Used by:
+ Ship: Virtuoso
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Hybrid Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('eliteBonusCovertOps3'), skill='Covert Ops')
+
+
+class Effect7008(BaseEffect):
+ """
+ structureFullPowerStateHitpointModifier
+
+ Used by:
+ Items from category: Structure (17 of 17)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.multiplyItemAttr('shieldCapacity', src.getModifiedItemAttr('structureFullPowerStateHitpointMultiplier') or 0)
+ fit.ship.multiplyItemAttr('armorHP', src.getModifiedItemAttr('structureFullPowerStateHitpointMultiplier') or 0)
+
+
+class Effect7009(BaseEffect):
+ """
+ serviceModuleFullPowerHitpointPostAssign
+
+ Used by:
+ Structure Modules from group: Structure Citadel Service Module (2 of 2)
+ Structure Modules from group: Structure Engineering Service Module (6 of 6)
+ Structure Modules from group: Structure Navigation Service Module (3 of 3)
+ Structure Modules from group: Structure Resource Processing Service Module (4 of 4)
+ Structure Module: Standup Moon Drill I
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.forceItemAttr('structureFullPowerStateHitpointMultiplier', src.getModifiedItemAttr('serviceModuleFullPowerStateHitpointMultiplier'))
+
+
+class Effect7012(BaseEffect):
+ """
+ moduleBonusAssaultDamageControl
+
+ Used by:
+ Variations of module: Assault Damage Control I (5 of 5)
+ """
+
+ runTime = 'early'
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, src, context):
+ for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):
+ for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):
+ bonus = '%s%sDamageResonance' % (attrPrefix, damageType)
+ bonus = '%s%s' % (bonus[0].lower(), bonus[1:])
+ booster = '%s%sDamageResonance' % (layer, damageType)
+
+ src.forceItemAttr(booster, src.getModifiedItemAttr('resistanceMultiplier'))
+
+
+class Effect7013(BaseEffect):
+ """
+ eliteBonusGunshipKineticMissileDamage1
+
+ Used by:
+ Ship: Jaguar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'kineticDamage',
+ src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates')
+
+
+class Effect7014(BaseEffect):
+ """
+ eliteBonusGunshipThermalMissileDamage1
+
+ Used by:
+ Ship: Jaguar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'thermalDamage',
+ src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates')
+
+
+class Effect7015(BaseEffect):
+ """
+ eliteBonusGunshipEMMissileDamage1
+
+ Used by:
+ Ship: Jaguar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'emDamage',
+ src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates')
+
+
+class Effect7016(BaseEffect):
+ """
+ eliteBonusGunshipExplosiveMissileDamage1
+
+ Used by:
+ Ship: Jaguar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'explosiveDamage',
+ src.getModifiedItemAttr('eliteBonusGunship1'), skill='Assault Frigates')
+
+
+class Effect7017(BaseEffect):
+ """
+ eliteBonusGunshipExplosionVelocity2
+
+ Used by:
+ Ship: Jaguar
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'), 'aoeVelocity',
+ src.getModifiedItemAttr('eliteBonusGunship2'), stackingPenalties=True, skill='Assault Frigates')
+
+
+class Effect7018(BaseEffect):
+ """
+ shipSETROFAF
+
+ Used by:
+ Ship: Retribution
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Energy Turret'), 'speed',
+ src.getModifiedItemAttr('shipBonusAF'), stackingPenalties=False, skill='Amarr Frigate')
+
+
+class Effect7020(BaseEffect):
+ """
+ remoteWebifierMaxRangeBonus
+
+ Used by:
+ Implants named like: Inquest 'Eros' Stasis Webifier MR (3 of 3)
+ Implants named like: Inquest 'Hedone' Entanglement Optimizer WS (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange',
+ src.getModifiedItemAttr('stasisWebRangeBonus'), stackingPenalties=False)
+
+
+class Effect7021(BaseEffect):
+ """
+ structureRigMaxTargetRange
+
+ Used by:
+ Structure Modules from group: Structure Combat Rig L - Max Targets and Sensor Boosting (2 of 2)
+ Structure Modules from group: Structure Combat Rig M - Boosted Sensors (2 of 2)
+ Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.boostItemAttr('maxTargetRange', module.getModifiedItemAttr('structureRigMaxTargetRangeBonus'))
+
+
+class Effect7024(BaseEffect):
+ """
+ shipBonusDroneTrackingEliteGunship2
+
+ Used by:
+ Ship: Ishkur
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'trackingSpeed',
+ src.getModifiedItemAttr('eliteBonusGunship2'), skill='Assault Frigates')
+
+
+class Effect7026(BaseEffect):
+ """
+ scriptStandupWarpScram
+
+ Used by:
+ Charge: Standup Focused Warp Scrambling Script
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context, *args, **kwargs):
+ src.boostItemAttr('maxRange', src.getModifiedChargeAttr('warpScrambleRangeBonus'))
+
+
+class Effect7027(BaseEffect):
+ """
+ structureCapacitorCapacityBonus
+
+ Used by:
+ Structure Modules from group: Structure Capacitor Battery (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.increaseItemAttr('capacitorCapacity', ship.getModifiedItemAttr('capacitorBonus'))
+
+
+class Effect7028(BaseEffect):
+ """
+ structureModifyPowerRechargeRate
+
+ Used by:
+ Structure Modules from group: Structure Capacitor Power Relay (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.ship.multiplyItemAttr('rechargeRate', module.getModifiedItemAttr('capacitorRechargeRateMultiplier'))
+
+
+class Effect7029(BaseEffect):
+ """
+ structureArmorHPBonus
+
+ Used by:
+ Structure Modules from group: Structure Armor Reinforcer (2 of 2)
+ """
+
+ runTime = 'early'
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('hiddenArmorHPMultiplier', src.getModifiedItemAttr('armorHpBonus'), stackingPenalties=True)
+
+
+class Effect7030(BaseEffect):
+ """
+ structureAoERoFRoleBonus
+
+ Used by:
+ Items from category: Structure (11 of 17)
+ Structures from group: Citadel (8 of 9)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Guided Bomb Launcher',
+ 'speed', ship.getModifiedItemAttr('structureAoERoFRoleBonus'))
+ for attr in ['duration', 'durationTargetIlluminationBurstProjector', 'durationWeaponDisruptionBurstProjector',
+ 'durationECMJammerBurstProjector', 'durationSensorDampeningBurstProjector', 'capacitorNeed']:
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Burst Projector',
+ attr, ship.getModifiedItemAttr('structureAoERoFRoleBonus'))
+
+
+class Effect7031(BaseEffect):
+ """
+ shipBonusHeavyMissileKineticDamageCBC2
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser')
+
+
+class Effect7032(BaseEffect):
+ """
+ shipBonusHeavyMissileThermalDamageCBC2
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser')
+
+
+class Effect7033(BaseEffect):
+ """
+ shipBonusHeavyMissileEMDamageCBC2
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'),
+ 'emDamage', src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser')
+
+
+class Effect7034(BaseEffect):
+ """
+ shipBonusHeavyMissileExplosiveDamageCBC2
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser')
+
+
+class Effect7035(BaseEffect):
+ """
+ shipBonusHeavyAssaultMissileExplosiveDamageCBC2
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser')
+
+
+class Effect7036(BaseEffect):
+ """
+ shipBonusHeavyAssaultMissileEMDamageCBC2
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser')
+
+
+class Effect7037(BaseEffect):
+ """
+ shipBonusHeavyAssaultMissileThermalDamageCBC2
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'thermalDamage', src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser')
+
+
+class Effect7038(BaseEffect):
+ """
+ shipBonusHeavyAssaultMissileKineticDamageCBC2
+
+ Used by:
+ Ship: Drake Navy Issue
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Assault Missiles'),
+ 'kineticDamage', src.getModifiedItemAttr('shipBonusCBC2'), skill='Caldari Battlecruiser')
+
+
+class Effect7039(BaseEffect):
+ """
+ structureHiddenMissileDamageMultiplier
+
+ Used by:
+ Items from category: Structure (14 of 17)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ groups = ('Structure Anti-Subcapital Missile', 'Structure Anti-Capital Missile')
+ for dmgType in ('em', 'kinetic', 'explosive', 'thermal'):
+ fit.modules.filteredChargeMultiply(lambda mod: mod.item.group.name in groups,
+ '%sDamage' % dmgType,
+ src.getModifiedItemAttr('hiddenMissileDamageMultiplier'))
+
+
+class Effect7040(BaseEffect):
+ """
+ structureHiddenArmorHPMultiplier
+
+ Used by:
+ Items from category: Structure (17 of 17)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.multiplyItemAttr('armorHP', src.getModifiedItemAttr('hiddenArmorHPMultiplier') or 0)
+
+
+class Effect7042(BaseEffect):
+ """
+ shipArmorHitPointsAC1
+
+ Used by:
+ Ship: Monitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('armorHP', src.getModifiedItemAttr('shipBonusAC'), skill='Amarr Cruiser')
+
+
+class Effect7043(BaseEffect):
+ """
+ shipShieldHitpointsCC1
+
+ Used by:
+ Ship: Monitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('shieldCapacity', src.getModifiedItemAttr('shipBonusCC'), skill='Caldari Cruiser')
+
+
+class Effect7044(BaseEffect):
+ """
+ shipAgilityBonusGC1
+
+ Used by:
+ Ship: Monitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('agility', src.getModifiedItemAttr('shipBonusGC'), skill='Gallente Cruiser')
+
+
+class Effect7045(BaseEffect):
+ """
+ shipSignatureRadiusMC1
+
+ Used by:
+ Ship: Monitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('signatureRadius', src.getModifiedItemAttr('shipBonusMC'), skill='Minmatar Cruiser')
+
+
+class Effect7046(BaseEffect):
+ """
+ eliteBonusFlagCruiserAllResistances1
+
+ Used by:
+ Ship: Monitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('explosiveDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('shieldKineticDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('shieldExplosiveDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('armorThermalDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('thermalDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('shieldEmDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('armorEmDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('shieldThermalDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('kineticDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('armorKineticDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+ fit.ship.boostItemAttr('emDamageResonance', src.getModifiedItemAttr('eliteBonusFlagCruisers1'), skill='Flag Cruisers')
+
+
+class Effect7047(BaseEffect):
+ """
+ roleBonusFlagCruiserModuleFittingReduction
+
+ Used by:
+ Ship: Monitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Propulsion Module', 'Micro Jump Drive'),
+ 'power', src.getModifiedItemAttr('flagCruiserFittingBonusPropMods'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Propulsion Module', 'Micro Jump Drive'),
+ 'cpu', src.getModifiedItemAttr('flagCruiserFittingBonusPropMods'))
+
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Target Painter', 'Scan Probe Launcher'),
+ 'cpu', src.getModifiedItemAttr('flagCruiserFittingBonusPainterProbes'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ('Target Painter', 'Scan Probe Launcher'),
+ 'power', src.getModifiedItemAttr('flagCruiserFittingBonusPainterProbes'))
+
+
+class Effect7050(BaseEffect):
+ """
+ aoe_beacon_bioluminescence_cloud
+
+ Used by:
+ Celestials named like: Bioluminescence Cloud (3 of 3)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive', 'gang')
+
+ @staticmethod
+ def handler(fit, beacon, context, **kwargs):
+ for x in range(1, 3):
+ if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):
+ value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
+
+
+class Effect7051(BaseEffect):
+ """
+ aoe_beacon_caustic_cloud
+
+ Used by:
+ Celestials named like: Caustic Cloud (3 of 3)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive', 'gang')
+
+ @staticmethod
+ def handler(fit, beacon, context, **kwargs):
+ for x in range(1, 3):
+ if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):
+ value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
+
+
+class Effect7052(BaseEffect):
+ """
+ roleBonusFlagCruiserTargetPainterModifications
+
+ Used by:
+ Ship: Monitor
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter', 'signatureRadiusBonus',
+ src.getModifiedItemAttr('targetPainterStrengthModifierFlagCruisers'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Target Painter', 'maxRange',
+ src.getModifiedItemAttr('targetPainterRangeModifierFlagCruisers'))
+
+
+class Effect7055(BaseEffect):
+ """
+ shipLargeWeaponsDamageBonus
+
+ Used by:
+ Ship: Praxis
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Hybrid Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Projectile Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Energy Turret'), 'damageMultiplier',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Heavy Missiles'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Torpedoes'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'thermalDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'explosiveDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'kineticDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Cruise Missiles'), 'emDamage',
+ src.getModifiedItemAttr('shipBonusRole7'))
+
+
+class Effect7058(BaseEffect):
+ """
+ aoe_beacon_filament_cloud
+
+ Used by:
+ Celestials named like: Filament Cloud (3 of 3)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive', 'gang')
+
+ @staticmethod
+ def handler(fit, beacon, context, **kwargs):
+ for x in range(1, 3):
+ if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):
+ value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
+
+
+class Effect7059(BaseEffect):
+ """
+ weather_caustic_toxin
+
+ Used by:
+ Celestial: caustic_toxin_weather_1
+ Celestial: caustic_toxin_weather_2
+ Celestial: caustic_toxin_weather_3
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive', 'gang')
+
+ @staticmethod
+ def handler(fit, beacon, context, **kwargs):
+ for x in range(1, 3):
+ if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):
+ value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
+
+
+class Effect7060(BaseEffect):
+ """
+ weather_darkness
+
+ Used by:
+ Celestial: darkness_weather_1
+ Celestial: darkness_weather_2
+ Celestial: darkness_weather_3
+ Celestial: pvp_weather_1
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive', 'gang')
+
+ @staticmethod
+ def handler(fit, beacon, context, **kwargs):
+ for x in range(1, 5):
+ if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):
+ value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))
+ if id:
+ fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
+
+
+class Effect7061(BaseEffect):
+ """
+ weather_electric_storm
+
+ Used by:
+ Celestial: electric_storm_weather_1
+ Celestial: electric_storm_weather_2
+ Celestial: electric_storm_weather_3
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive', 'gang')
+
+ @staticmethod
+ def handler(fit, beacon, context, **kwargs):
+ for x in range(1, 3):
+ if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):
+ value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
+
+
+class Effect7062(BaseEffect):
+ """
+ weather_infernal
+
+ Used by:
+ Celestial: infernal_weather_1
+ Celestial: infernal_weather_2
+ Celestial: infernal_weather_3
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive', 'gang')
+
+ @staticmethod
+ def handler(fit, beacon, context, **kwargs):
+ for x in range(1, 3):
+ if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):
+ value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
+
+
+class Effect7063(BaseEffect):
+ """
+ weather_xenon_gas
+
+ Used by:
+ Celestial: xenon_gas_weather_1
+ Celestial: xenon_gas_weather_2
+ Celestial: xenon_gas_weather_3
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive', 'gang')
+
+ @staticmethod
+ def handler(fit, beacon, context, **kwargs):
+ for x in range(1, 3):
+ if beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x)):
+ value = beacon.getModifiedItemAttr('warfareBuff{}Value'.format(x))
+ id = beacon.getModifiedItemAttr('warfareBuff{}ID'.format(x))
+
+ if id:
+ fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
+
+
+class Effect7064(BaseEffect):
+ """
+ weather_basic
+
+ Used by:
+ Celestial: basic_weather
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+
+class Effect7071(BaseEffect):
+ """
+ smallPrecursorTurretDmgBonusRequiredSkill
+
+ Used by:
+ Skill: Small Precursor Weapon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect7072(BaseEffect):
+ """
+ mediumPrecursorTurretDmgBonusRequiredSkill
+
+ Used by:
+ Skill: Medium Precursor Weapon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect7073(BaseEffect):
+ """
+ largePrecursorTurretDmgBonusRequiredSkill
+
+ Used by:
+ Skill: Large Precursor Weapon
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Precursor Weapon'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect7074(BaseEffect):
+ """
+ smallDisintegratorSkillDmgBonus
+
+ Used by:
+ Skill: Small Disintegrator Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Disintegrator Specialization'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect7075(BaseEffect):
+ """
+ mediumDisintegratorSkillDmgBonus
+
+ Used by:
+ Skill: Medium Disintegrator Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Disintegrator Specialization'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect7076(BaseEffect):
+ """
+ largeDisintegratorSkillDmgBonus
+
+ Used by:
+ Skill: Large Disintegrator Specialization
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, container, context):
+ level = container.level if 'skill' in context else 1
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Disintegrator Specialization'),
+ 'damageMultiplier', container.getModifiedItemAttr('damageMultiplierBonus') * level)
+
+
+class Effect7077(BaseEffect):
+ """
+ disintegratorWeaponDamageMultiply
+
+ Used by:
+ Modules from group: Entropic Radiation Sink (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Precursor Weapon',
+ 'damageMultiplier', module.getModifiedItemAttr('damageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect7078(BaseEffect):
+ """
+ disintegratorWeaponSpeedMultiply
+
+ Used by:
+ Modules from group: Entropic Radiation Sink (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == 'Precursor Weapon',
+ 'speed', module.getModifiedItemAttr('speedMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect7079(BaseEffect):
+ """
+ shipPCBSSPeedBonusPCBS1
+
+ Used by:
+ Ship: Leshak
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Precursor Weapon'),
+ 'speed', ship.getModifiedItemAttr('shipBonusPBS1'), skill='Precursor Battleship')
+
+
+class Effect7080(BaseEffect):
+ """
+ shipPCBSDmgBonusPCBS2
+
+ Used by:
+ Ship: Leshak
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Large Precursor Weapon'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusPBS2'), skill='Precursor Battleship')
+
+
+class Effect7085(BaseEffect):
+ """
+ shipbonusPCTDamagePC1
+
+ Used by:
+ Ship: Tiamat
+ Ship: Vedmak
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusPC1'), skill='Precursor Cruiser')
+
+
+class Effect7086(BaseEffect):
+ """
+ shipbonusPCTTrackingPC2
+
+ Used by:
+ Ship: Tiamat
+ Ship: Vedmak
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),
+ 'trackingSpeed', ship.getModifiedItemAttr('shipBonusPC2'), skill='Precursor Cruiser')
+
+
+class Effect7087(BaseEffect):
+ """
+ shipbonusPCTOptimalPF2
+
+ Used by:
+ Ship: Damavik
+ Ship: Hydra
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusPF2'), skill='Precursor Frigate')
+
+
+class Effect7088(BaseEffect):
+ """
+ shipbonusPCTDamagePF1
+
+ Used by:
+ Ship: Damavik
+ Ship: Hydra
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusPF1'), skill='Precursor Frigate')
+
+
+class Effect7091(BaseEffect):
+ """
+ shipBonusNosNeutCapNeedRoleBonus2
+
+ Used by:
+ Variations of ship: Rodiva (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Capacitor Emission Systems'), 'capacitorNeed', src.getModifiedItemAttr('shipBonusRole2'))
+
+
+class Effect7092(BaseEffect):
+ """
+ shipBonusRemoteRepCapNeedRoleBonus2
+
+ Used by:
+ Ship: Damavik
+ Ship: Drekavac
+ Ship: Hydra
+ Ship: Kikimora
+ Ship: Leshak
+ Ship: Tiamat
+ Ship: Vedmak
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusRole2'))
+
+
+class Effect7093(BaseEffect):
+ """
+ shipBonusSmartbombCapNeedRoleBonus2
+
+ Used by:
+ Variations of ship: Rodiva (2 of 2)
+ Ship: Damavik
+ Ship: Drekavac
+ Ship: Hydra
+ Ship: Kikimora
+ Ship: Leshak
+ Ship: Tiamat
+ Ship: Vedmak
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Energy Pulse Weapons'),
+ 'capacitorNeed', ship.getModifiedItemAttr('shipBonusRole2'))
+
+
+class Effect7094(BaseEffect):
+ """
+ shipBonusRemoteRepMaxRangeRoleBonus1
+
+ Used by:
+ Ship: Damavik
+ Ship: Drekavac
+ Ship: Hydra
+ Ship: Kikimora
+ Ship: Leshak
+ Ship: Tiamat
+ Ship: Vedmak
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect7097(BaseEffect):
+ """
+ surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupPrecursorTurret
+
+ Used by:
+ Skill: Surgical Strike
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, skill, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Precursor Weapon',
+ 'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level)
+
+
+class Effect7111(BaseEffect):
+ """
+ systemSmallPrecursorTurretDamage
+
+ Used by:
+ Celestials named like: Wolf Rayet Effect Beacon Class (5 of 6)
+ """
+
+ runTime = 'early'
+ type = ('projected', 'passive')
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),
+ 'damageMultiplier', module.getModifiedItemAttr('smallWeaponDamageMultiplier'),
+ stackingPenalties=True)
+
+
+class Effect7112(BaseEffect):
+ """
+ shipBonusNeutCapNeedRoleBonus2
+
+ Used by:
+ Ship: Damavik
+ Ship: Drekavac
+ Ship: Hydra
+ Ship: Kikimora
+ Ship: Leshak
+ Ship: Tiamat
+ Ship: Vedmak
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Energy Neutralizer', 'capacitorNeed',
+ src.getModifiedItemAttr('shipBonusRole2'))
+
+
+class Effect7116(BaseEffect):
+ """
+ eliteBonusReconScanProbeStrength2
+
+ Used by:
+ Ship: Tiamat
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'), 'baseSensorStrength',
+ src.getModifiedItemAttr('eliteBonusReconShip2'), skill='Recon Ships')
+
+
+class Effect7117(BaseEffect):
+ """
+ roleBonusWarpSpeed
+
+ Used by:
+ Ship: Cynabal
+ Ship: Dramiel
+ Ship: Leopard
+ Ship: Machariel
+ Ship: Victorieux Luxury Yacht
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.boostItemAttr('warpSpeedMultiplier', src.getModifiedItemAttr('shipRoleBonusWarpSpeed'))
+
+
+class Effect7118(BaseEffect):
+ """
+ eliteBonusCovertOps3PCTdamagePerCycle
+
+ Used by:
+ Ship: Hydra
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'), 'damageMultiplierBonusPerCycle',
+ src.getModifiedItemAttr('eliteBonusCovertOps3'), skill='Covert Ops')
+
+
+class Effect7119(BaseEffect):
+ """
+ eliteBonusReconShip3PCTdamagePerCycle
+
+ Used by:
+ Ship: Tiamat
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'), 'damageMultiplierBonusPerCycle',
+ src.getModifiedItemAttr('eliteBonusReconShip3'), skill='Recon Ships')
+
+
+class Effect7142(BaseEffect):
+ """
+ massEntanglerEffect5
+
+ Used by:
+ Module: Zero-Point Mass Entangler
+ """
+
+ type = 'active'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.ship.increaseItemAttr('warpScrambleStatus', src.getModifiedItemAttr('warpScrambleStrength'))
+ fit.ship.boostItemAttr('mass', src.getModifiedItemAttr('massBonusPercentage'), stackingPenalties=True)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'), 'speedFactor',
+ src.getModifiedItemAttr('speedFactorBonus'), stackingPenalties=True)
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Afterburner'), 'speedBoostFactor',
+ src.getModifiedItemAttr('speedBoostFactorBonus'))
+ fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('High Speed Maneuvering'), 'activationBlocked',
+ src.getModifiedItemAttr('activationBlockedStrenght'))
+ fit.ship.boostItemAttr('maxVelocity', src.getModifiedItemAttr('maxVelocityBonus'), stackingPenalties=True)
+
+
+class Effect7154(BaseEffect):
+ """
+ shipBonusPD1DisintegratorDamage
+
+ Used by:
+ Ship: Kikimora
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusPD1'),
+ skill='Precursor Destroyer')
+
+
+class Effect7155(BaseEffect):
+ """
+ shipBonusPBC1DisintegratorDamage
+
+ Used by:
+ Ship: Drekavac
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),
+ 'damageMultiplier', ship.getModifiedItemAttr('shipBonusPBC1'),
+ skill='Precursor Battlecruiser')
+
+
+class Effect7156(BaseEffect):
+ """
+ smallDisintegratorMaxRangeBonus
+
+ Used by:
+ Ship: Kikimora
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),
+ 'maxRange', ship.getModifiedItemAttr('maxRangeBonus'))
+
+
+class Effect7157(BaseEffect):
+ """
+ shipBonusPD2DisintegratorMaxRange
+
+ Used by:
+ Ship: Kikimora
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Small Precursor Weapon'),
+ 'maxRange', ship.getModifiedItemAttr('shipBonusPD2'),
+ skill='Precursor Destroyer')
+
+
+class Effect7158(BaseEffect):
+ """
+ shipArmorKineticResistancePBC2
+
+ Used by:
+ Ship: Drekavac
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorKineticDamageResonance', ship.getModifiedItemAttr('shipBonusPBC2'),
+ skill='Precursor Battlecruiser')
+
+
+class Effect7159(BaseEffect):
+ """
+ shipArmorThermalResistancePBC2
+
+ Used by:
+ Ship: Drekavac
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorThermalDamageResonance', ship.getModifiedItemAttr('shipBonusPBC2'),
+ skill='Precursor Battlecruiser')
+
+
+class Effect7160(BaseEffect):
+ """
+ shipArmorEMResistancePBC2
+
+ Used by:
+ Ship: Drekavac
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorEmDamageResonance', ship.getModifiedItemAttr('shipBonusPBC2'),
+ skill='Precursor Battlecruiser')
+
+
+class Effect7161(BaseEffect):
+ """
+ shipArmorExplosiveResistancePBC2
+
+ Used by:
+ Ship: Drekavac
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.ship.boostItemAttr('armorExplosiveDamageResonance', ship.getModifiedItemAttr('shipBonusPBC2'),
+ skill='Precursor Battlecruiser')
+
+
+class Effect7162(BaseEffect):
+ """
+ shipRoleDisintegratorMaxRangeCBC
+
+ Used by:
+ Ship: Drekavac
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, ship, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),
+ 'maxRange', ship.getModifiedItemAttr('roleBonusCBC'))
+
+
+class Effect7166(BaseEffect):
+ """
+ ShipModuleRemoteArmorMutadaptiveRepairer
+
+ Used by:
+ Modules from group: Mutadaptive Remote Armor Repairer (5 of 5)
+ """
+
+ runTime = 'late'
+ type = 'projected', 'active'
+
+ @staticmethod
+ def handler(fit, container, context, **kwargs):
+ if 'projected' in context:
+ repAmountBase = container.getModifiedItemAttr('armorDamageAmount')
+ cycleTime = container.getModifiedItemAttr('duration') / 1000.0
+ repSpoolMax = container.getModifiedItemAttr('repairMultiplierBonusMax')
+ repSpoolPerCycle = container.getModifiedItemAttr('repairMultiplierBonusPerCycle')
+ defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']
+ spoolType, spoolAmount = resolveSpoolOptions(SpoolOptions(SpoolType.SCALE, defaultSpoolValue, False), container)
+ rps = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, spoolType, spoolAmount)[0]) / cycleTime
+ rpsPreSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SCALE, 0)[0]) / cycleTime
+ rpsFullSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SCALE, 1)[0]) / cycleTime
+ fit.extraAttributes.increase('armorRepair', rps, **kwargs)
+ fit.extraAttributes.increase('armorRepairPreSpool', rpsPreSpool, **kwargs)
+ fit.extraAttributes.increase('armorRepairFullSpool', rpsFullSpool, **kwargs)
+
+
+class Effect7167(BaseEffect):
+ """
+ shipBonusRemoteCapacitorTransferRangeRole1
+
+ Used by:
+ Variations of ship: Rodiva (2 of 2)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Remote Capacitor Transmitter', 'maxRange', src.getModifiedItemAttr('shipBonusRole1'))
+
+
+class Effect7168(BaseEffect):
+ """
+ shipBonusMutadaptiveRemoteRepairRangeRole3
+
+ Used by:
+ Ship: Rodiva
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'maxRange', src.getModifiedItemAttr('shipBonusRole3'))
+
+
+class Effect7169(BaseEffect):
+ """
+ shipBonusMutadaptiveRepAmountPC1
+
+ Used by:
+ Ship: Rodiva
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'armorDamageAmount', src.getModifiedItemAttr('shipBonusPC1'), skill='Precursor Cruiser')
+
+
+class Effect7170(BaseEffect):
+ """
+ shipBonusMutadaptiveRepCapNeedPC2
+
+ Used by:
+ Ship: Rodiva
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'capacitorNeed', src.getModifiedItemAttr('shipBonusPC2'), skill='Precursor Cruiser')
+
+
+class Effect7171(BaseEffect):
+ """
+ shipBonusMutadaptiveRemoteRepRangePC1
+
+ Used by:
+ Ship: Zarmazd
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'maxRange', src.getModifiedItemAttr('shipBonusPC1'), skill='Precursor Cruiser')
+
+
+class Effect7172(BaseEffect):
+ """
+ shipBonusMutadaptiveRemoteRepCapNeedeliteBonusLogisitics1
+
+ Used by:
+ Ship: Zarmazd
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'capacitorNeed', src.getModifiedItemAttr('eliteBonusLogistics1'), skill='Logistics Cruisers')
+
+
+class Effect7173(BaseEffect):
+ """
+ shipBonusMutadaptiveRemoteRepAmounteliteBonusLogisitics2
+
+ Used by:
+ Ship: Zarmazd
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mutadaptive Remote Armor Repairer', 'armorDamageAmount', src.getModifiedItemAttr('eliteBonusLogistics2'), skill='Logistics Cruisers')
+
+
+class Effect7176(BaseEffect):
+ """
+ skillBonusDroneInterfacingNotFighters
+
+ Used by:
+ Implant: CreoDron 'Bumblebee' Drone Tuner T10-5D
+ Implant: CreoDron 'Yellowjacket' Drone Tuner D5-10T
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'damageMultiplier',
+ src.getModifiedItemAttr('damageMultiplierBonus'))
+
+
+class Effect7177(BaseEffect):
+ """
+ skillBonusDroneDurabilityNotFighters
+
+ Used by:
+ Implants from group: Cyber Drones (4 of 4)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'hp',
+ src.getModifiedItemAttr('hullHpBonus'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'armorHP',
+ src.getModifiedItemAttr('armorHpBonus'))
+ fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill('Drones'), 'shieldCapacity',
+ src.getModifiedItemAttr('shieldCapacityBonus'))
+
+
+class Effect7179(BaseEffect):
+ """
+ stripMinerDurationMultiplier
+
+ Used by:
+ Module: Frostline 'Omnivore' Harvester Upgrade
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Strip Miner',
+ 'duration', module.getModifiedItemAttr('miningDurationMultiplier'))
+
+
+class Effect7180(BaseEffect):
+ """
+ miningDurationMultiplierOnline
+
+ Used by:
+ Module: Frostline 'Omnivore' Harvester Upgrade
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, module, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Mining Laser',
+ 'duration', module.getModifiedItemAttr('miningDurationMultiplier'))
+
+
+class Effect7183(BaseEffect):
+ """
+ implantWarpScrambleRangeBonus
+
+ Used by:
+ Implants named like: Inquest 'Hedone' Entanglement Optimizer WS (3 of 3)
+ """
+
+ type = 'passive'
+
+ @staticmethod
+ def handler(fit, src, context):
+ fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Warp Scrambler', 'maxRange',
+ src.getModifiedItemAttr('warpScrambleRangeBonus'), stackingPenalties=False)
diff --git a/eos/effects/__init__.py b/eos/effects/__init__.py
deleted file mode 100644
index daa8ffc73..000000000
--- a/eos/effects/__init__.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# ===============================================================================
-# Copyright (C) 2010 Diego Duclos
-# 2010 Anton Vorobyov
-#
-# This file, as well as all files in this folder, are part of eos.
-#
-# eos is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License as published by
-# the Free Software Foundation, either version 2 of the License, or
-# (at your option) any later version.
-#
-# eos is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with eos. If not, see .
-# ===============================================================================
diff --git a/eos/effects/accerationcontrolcapneedbonuspostpercentcapacitorneedlocationshipgroupafterburner.py b/eos/effects/accerationcontrolcapneedbonuspostpercentcapacitorneedlocationshipgroupafterburner.py
deleted file mode 100644
index acf8b25e3..000000000
--- a/eos/effects/accerationcontrolcapneedbonuspostpercentcapacitorneedlocationshipgroupafterburner.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# accerationControlCapNeedBonusPostPercentCapacitorNeedLocationShipGroupAfterburner
-#
-# Used by:
-# Modules named like: Dynamic Fuel Valve (8 of 8)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus"))
diff --git a/eos/effects/accerationcontrolskillabmwdspeedboost.py b/eos/effects/accerationcontrolskillabmwdspeedboost.py
deleted file mode 100644
index ef24601d2..000000000
--- a/eos/effects/accerationcontrolskillabmwdspeedboost.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# accerationControlSkillAb&MwdSpeedBoost
-#
-# Used by:
-# Implant: Zor's Custom Navigation Hyper-Link
-# Skill: Acceleration Control
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
- "speedFactor", container.getModifiedItemAttr("speedFBonus") * level)
diff --git a/eos/effects/accerationcontrolspeedfbonuspostpercentspeedfactorlocationshipgroupafterburner.py b/eos/effects/accerationcontrolspeedfbonuspostpercentspeedfactorlocationshipgroupafterburner.py
deleted file mode 100644
index dc38ae5f8..000000000
--- a/eos/effects/accerationcontrolspeedfbonuspostpercentspeedfactorlocationshipgroupafterburner.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# accerationControlSpeedFBonusPostPercentSpeedFactorLocationShipGroupAfterburner
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Rogue' Acceleration Control AC (6 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
- "speedFactor", implant.getModifiedItemAttr("speedFBonus"))
diff --git a/eos/effects/accessdifficultybonusmodifierrequiringarchaelogy.py b/eos/effects/accessdifficultybonusmodifierrequiringarchaelogy.py
deleted file mode 100644
index 3fb468dea..000000000
--- a/eos/effects/accessdifficultybonusmodifierrequiringarchaelogy.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# accessDifficultyBonusModifierRequiringArchaelogy
-#
-# Used by:
-# Modules named like: Emission Scope Sharpener (8 of 8)
-# Implant: Poteque 'Prospector' Archaeology AC-905
-# Implant: Poteque 'Prospector' Environmental Analysis EY-1005
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredItemIncrease(lambda module: module.item.requiresSkill("Archaeology"),
- "accessDifficultyBonus",
- container.getModifiedItemAttr("accessDifficultyBonusModifier"), position="post")
diff --git a/eos/effects/accessdifficultybonusmodifierrequiringhacking.py b/eos/effects/accessdifficultybonusmodifierrequiringhacking.py
deleted file mode 100644
index 2094f08d3..000000000
--- a/eos/effects/accessdifficultybonusmodifierrequiringhacking.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# accessDifficultyBonusModifierRequiringHacking
-#
-# Used by:
-# Modules named like: Memetic Algorithm Bank (8 of 8)
-# Implant: Neural Lace 'Blackglass' Net Intrusion 920-40
-# Implant: Poteque 'Prospector' Environmental Analysis EY-1005
-# Implant: Poteque 'Prospector' Hacking HC-905
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredItemIncrease(lambda c: c.item.requiresSkill("Hacking"),
- "accessDifficultyBonus",
- container.getModifiedItemAttr("accessDifficultyBonusModifier"), position="post")
diff --git a/eos/effects/adaptivearmorhardener.py b/eos/effects/adaptivearmorhardener.py
deleted file mode 100644
index 25a4335a6..000000000
--- a/eos/effects/adaptivearmorhardener.py
+++ /dev/null
@@ -1,128 +0,0 @@
-# adaptiveArmorHardener
-#
-# Used by:
-# Module: Reactive Armor Hardener
-from logbook import Logger
-import eos.config
-
-pyfalog = Logger(__name__)
-
-runTime = "late"
-type = "active"
-
-
-def handler(fit, module, context):
- damagePattern = fit.damagePattern
- # pyfalog.debug("==============================")
-
- static_adaptive_behavior = eos.config.settings['useStaticAdaptiveArmorHardener']
-
- if (damagePattern.emAmount == damagePattern.thermalAmount == damagePattern.kineticAmount == damagePattern.explosiveAmount) and static_adaptive_behavior:
- # pyfalog.debug("Setting adaptivearmorhardener resists to uniform profile.")
- for attr in ("armorEmDamageResonance", "armorThermalDamageResonance", "armorKineticDamageResonance", "armorExplosiveDamageResonance"):
- fit.ship.multiplyItemAttr(attr, module.getModifiedItemAttr(attr), stackingPenalties=True, penaltyGroup="preMul")
- return
-
- # Skip if there is no damage pattern. Example: projected ships or fleet boosters
- if damagePattern:
-
- # Populate a tuple with the damage profile modified by current armor resists.
- baseDamageTaken = (
- damagePattern.emAmount * fit.ship.getModifiedItemAttr('armorEmDamageResonance'),
- damagePattern.thermalAmount * fit.ship.getModifiedItemAttr('armorThermalDamageResonance'),
- damagePattern.kineticAmount * fit.ship.getModifiedItemAttr('armorKineticDamageResonance'),
- damagePattern.explosiveAmount * fit.ship.getModifiedItemAttr('armorExplosiveDamageResonance'),
- )
- # pyfalog.debug("Damage Adjusted for Armor Resists: %f/%f/%f/%f" % (baseDamageTaken[0], baseDamageTaken[1], baseDamageTaken[2], baseDamageTaken[3]))
-
- resistanceShiftAmount = module.getModifiedItemAttr(
- 'resistanceShiftAmount') / 100 # The attribute is in percent and we want a fraction
- RAHResistance = [
- module.getModifiedItemAttr('armorEmDamageResonance'),
- module.getModifiedItemAttr('armorThermalDamageResonance'),
- module.getModifiedItemAttr('armorKineticDamageResonance'),
- module.getModifiedItemAttr('armorExplosiveDamageResonance'),
- ]
-
- # Simulate RAH cycles until the RAH either stops changing or enters a loop.
- # The number of iterations is limited to prevent an infinite loop if something goes wrong.
- cycleList = []
- loopStart = -20
- for num in range(50):
- # pyfalog.debug("Starting cycle %d." % num)
- # The strange order is to emulate the ingame sorting when different types have taken the same amount of damage.
- # This doesn't take into account stacking penalties. In a few cases fitting a Damage Control causes an inaccurate result.
- damagePattern_tuples = [
- (0, baseDamageTaken[0] * RAHResistance[0], RAHResistance[0]),
- (3, baseDamageTaken[3] * RAHResistance[3], RAHResistance[3]),
- (2, baseDamageTaken[2] * RAHResistance[2], RAHResistance[2]),
- (1, baseDamageTaken[1] * RAHResistance[1], RAHResistance[1]),
- ]
-
- # Sort the tuple to drop the highest damage value to the bottom
- sortedDamagePattern_tuples = sorted(damagePattern_tuples, key=lambda damagePattern: damagePattern[1])
-
- if sortedDamagePattern_tuples[2][1] == 0:
- # One damage type: the top damage type takes from the other three
- # Since the resistances not taking damage will end up going to the type taking damage we just do the whole thing at once.
- change0 = 1 - sortedDamagePattern_tuples[0][2]
- change1 = 1 - sortedDamagePattern_tuples[1][2]
- change2 = 1 - sortedDamagePattern_tuples[2][2]
- change3 = -(change0 + change1 + change2)
- elif sortedDamagePattern_tuples[1][1] == 0:
- # Two damage types: the top two damage types take from the other two
- # Since the resistances not taking damage will end up going equally to the types taking damage we just do the whole thing at once.
- change0 = 1 - sortedDamagePattern_tuples[0][2]
- change1 = 1 - sortedDamagePattern_tuples[1][2]
- change2 = -(change0 + change1) / 2
- change3 = -(change0 + change1) / 2
- else:
- # Three or four damage types: the top two damage types take from the other two
- change0 = min(resistanceShiftAmount, 1 - sortedDamagePattern_tuples[0][2])
- change1 = min(resistanceShiftAmount, 1 - sortedDamagePattern_tuples[1][2])
- change2 = -(change0 + change1) / 2
- change3 = -(change0 + change1) / 2
-
- RAHResistance[sortedDamagePattern_tuples[0][0]] = sortedDamagePattern_tuples[0][2] + change0
- RAHResistance[sortedDamagePattern_tuples[1][0]] = sortedDamagePattern_tuples[1][2] + change1
- RAHResistance[sortedDamagePattern_tuples[2][0]] = sortedDamagePattern_tuples[2][2] + change2
- RAHResistance[sortedDamagePattern_tuples[3][0]] = sortedDamagePattern_tuples[3][2] + change3
- # pyfalog.debug("Resistances shifted to %f/%f/%f/%f" % ( RAHResistance[0], RAHResistance[1], RAHResistance[2], RAHResistance[3]))
-
- # See if the current RAH profile has been encountered before, indicating a loop.
- for i, val in enumerate(cycleList):
- tolerance = 1e-06
- if abs(RAHResistance[0] - val[0]) <= tolerance and \
- abs(RAHResistance[1] - val[1]) <= tolerance and \
- abs(RAHResistance[2] - val[2]) <= tolerance and \
- abs(RAHResistance[3] - val[3]) <= tolerance:
- loopStart = i
- # pyfalog.debug("Loop found: %d-%d" % (loopStart, num))
- break
- if loopStart >= 0:
- break
-
- cycleList.append(list(RAHResistance))
-
- # if loopStart < 0:
- # pyfalog.error("Reactive Armor Hardener failed to find equilibrium. Damage profile after armor: {0}/{1}/{2}/{3}".format(
- # baseDamageTaken[0], baseDamageTaken[1], baseDamageTaken[2], baseDamageTaken[3]))
-
- # Average the profiles in the RAH loop, or the last 20 if it didn't find a loop.
- loopCycles = cycleList[loopStart:]
- numCycles = len(loopCycles)
- average = [0, 0, 0, 0]
- for cycle in loopCycles:
- for i in range(4):
- average[i] += cycle[i]
-
- for i in range(4):
- average[i] = round(average[i] / numCycles, 3)
-
- # Set the new resistances
- # pyfalog.debug("Setting new resist profile: %f/%f/%f/%f" % ( average[0], average[1], average[2],average[3]))
- for i, attr in enumerate((
- 'armorEmDamageResonance', 'armorThermalDamageResonance', 'armorKineticDamageResonance',
- 'armorExplosiveDamageResonance')):
- module.increaseItemAttr(attr, average[i] - module.getModifiedItemAttr(attr))
- fit.ship.multiplyItemAttr(attr, average[i], stackingPenalties=True, penaltyGroup="preMul")
diff --git a/eos/effects/addtosignatureradius2.py b/eos/effects/addtosignatureradius2.py
deleted file mode 100644
index 6c790a925..000000000
--- a/eos/effects/addtosignatureradius2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# addToSignatureRadius2
-#
-# Used by:
-# Modules from group: Missile Launcher Bomb (2 of 2)
-# Modules from group: Shield Extender (36 of 36)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusAdd"))
diff --git a/eos/effects/afterburnerdurationbonuspostpercentdurationlocationshipmodulesrequiringafterburner.py b/eos/effects/afterburnerdurationbonuspostpercentdurationlocationshipmodulesrequiringafterburner.py
deleted file mode 100644
index 1d1b9c309..000000000
--- a/eos/effects/afterburnerdurationbonuspostpercentdurationlocationshipmodulesrequiringafterburner.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# afterburnerDurationBonusPostPercentDurationLocationShipModulesRequiringAfterburner
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Rogue' Afterburner AB (6 of 6)
-# Implant: Zor's Custom Navigation Link
-# Skill: Afterburner
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "duration", container.getModifiedItemAttr("durationBonus") * level)
diff --git a/eos/effects/agilitybonus.py b/eos/effects/agilitybonus.py
deleted file mode 100644
index ea3811650..000000000
--- a/eos/effects/agilitybonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# agilityBonus
-#
-# Used by:
-# Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("agility", src.getModifiedItemAttr("agilityBonusAdd"))
diff --git a/eos/effects/agilitymultipliereffect.py b/eos/effects/agilitymultipliereffect.py
deleted file mode 100644
index fe8b37aa4..000000000
--- a/eos/effects/agilitymultipliereffect.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# agilityMultiplierEffect
-#
-# Used by:
-# Modules from group: Inertial Stabilizer (7 of 7)
-# Modules from group: Nanofiber Internal Structure (7 of 7)
-# Modules from group: Reinforced Bulkhead (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("agility",
- module.getModifiedItemAttr("agilityMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/agilitymultipliereffectpassive.py b/eos/effects/agilitymultipliereffectpassive.py
deleted file mode 100644
index d185a5002..000000000
--- a/eos/effects/agilitymultipliereffectpassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# agilityMultiplierEffectPassive
-#
-# Used by:
-# Modules named like: Polycarbon Engine Housing (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("agility", module.getModifiedItemAttr("agilityBonus"), stackingPenalties=True)
diff --git a/eos/effects/ammofallofmultiplier.py b/eos/effects/ammofallofmultiplier.py
deleted file mode 100644
index 4f4f5e86f..000000000
--- a/eos/effects/ammofallofmultiplier.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# ammoFallofMultiplier
-#
-# Used by:
-# Charges from group: Advanced Artillery Ammo (8 of 8)
-# Charges from group: Advanced Autocannon Ammo (8 of 8)
-# Charges from group: Advanced Beam Laser Crystal (8 of 8)
-# Charges from group: Advanced Blaster Charge (8 of 8)
-# Charges from group: Advanced Pulse Laser Crystal (8 of 8)
-# Charges from group: Advanced Railgun Charge (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.multiplyItemAttr("falloff", module.getModifiedChargeAttr("fallofMultiplier") or 1)
diff --git a/eos/effects/ammoinfluencecapneed.py b/eos/effects/ammoinfluencecapneed.py
deleted file mode 100644
index 3bbb1103c..000000000
--- a/eos/effects/ammoinfluencecapneed.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ammoInfluenceCapNeed
-#
-# Used by:
-# Items from category: Charge (493 of 949)
-type = "passive"
-
-
-def handler(fit, module, context):
- # Dirty hack to work around cap charges setting cap booster
- # injection amount to zero
- rawAttr = module.item.getAttribute("capacitorNeed")
- if rawAttr is not None and rawAttr >= 0:
- module.boostItemAttr("capacitorNeed", module.getModifiedChargeAttr("capNeedBonus") or 0)
diff --git a/eos/effects/ammoinfluencerange.py b/eos/effects/ammoinfluencerange.py
deleted file mode 100644
index 58c331911..000000000
--- a/eos/effects/ammoinfluencerange.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# ammoInfluenceRange
-#
-# Used by:
-# Items from category: Charge (587 of 949)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.multiplyItemAttr("maxRange", module.getModifiedChargeAttr("weaponRangeMultiplier"))
diff --git a/eos/effects/ammospeedmultiplier.py b/eos/effects/ammospeedmultiplier.py
deleted file mode 100644
index 093953c11..000000000
--- a/eos/effects/ammospeedmultiplier.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# ammoSpeedMultiplier
-#
-# Used by:
-# Charges from group: Festival Charges (26 of 26)
-# Charges from group: Interdiction Probe (2 of 2)
-# Items from market group: Special Edition Assets > Special Edition Festival Assets (30 of 33)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.multiplyItemAttr("speed", module.getModifiedChargeAttr("speedMultiplier") or 1)
diff --git a/eos/effects/ammotrackingmultiplier.py b/eos/effects/ammotrackingmultiplier.py
deleted file mode 100644
index 95033d743..000000000
--- a/eos/effects/ammotrackingmultiplier.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ammoTrackingMultiplier
-#
-# Used by:
-# Items from category: Charge (182 of 949)
-# Charges from group: Projectile Ammo (128 of 128)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.multiplyItemAttr("trackingSpeed", module.getModifiedChargeAttr("trackingSpeedMultiplier"))
diff --git a/eos/effects/angelsetbonus.py b/eos/effects/angelsetbonus.py
deleted file mode 100644
index 1591e9be1..000000000
--- a/eos/effects/angelsetbonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# angelsetbonus
-#
-# Used by:
-# Implants named like: grade Halo (18 of 18)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(
- lambda implant: "signatureRadiusBonus" in implant.itemModifiedAttributes and
- "implantSetAngel" in implant.itemModifiedAttributes,
- "signatureRadiusBonus",
- implant.getModifiedItemAttr("implantSetAngel"))
diff --git a/eos/effects/antiwarpscramblingpassive.py b/eos/effects/antiwarpscramblingpassive.py
deleted file mode 100644
index 6a3165c0a..000000000
--- a/eos/effects/antiwarpscramblingpassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# antiWarpScramblingPassive
-#
-# Used by:
-# Modules from group: Warp Core Stabilizer (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength"))
diff --git a/eos/effects/aoebeaconbioluminescencecloud.py b/eos/effects/aoebeaconbioluminescencecloud.py
deleted file mode 100644
index fa01e217d..000000000
--- a/eos/effects/aoebeaconbioluminescencecloud.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# aoe_beacon_bioluminescence_cloud
-#
-# Used by:
-# Celestials named like: Bioluminescence Cloud (3 of 3)
-runTime = "early"
-type = ("projected", "passive", "gang")
-
-
-def handler(fit, beacon, context, **kwargs):
- for x in range(1, 3):
- if beacon.getModifiedItemAttr("warfareBuff{}ID".format(x)):
- value = beacon.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = beacon.getModifiedItemAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
diff --git a/eos/effects/aoebeaconcausticcloud.py b/eos/effects/aoebeaconcausticcloud.py
deleted file mode 100644
index f11c9805b..000000000
--- a/eos/effects/aoebeaconcausticcloud.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# aoe_beacon_caustic_cloud
-#
-# Used by:
-# Celestials named like: Caustic Cloud (3 of 3)
-runTime = "early"
-type = ("projected", "passive", "gang")
-
-
-def handler(fit, beacon, context, **kwargs):
- for x in range(1, 3):
- if beacon.getModifiedItemAttr("warfareBuff{}ID".format(x)):
- value = beacon.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = beacon.getModifiedItemAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
diff --git a/eos/effects/aoebeaconfilamentcloud.py b/eos/effects/aoebeaconfilamentcloud.py
deleted file mode 100644
index 085114e7c..000000000
--- a/eos/effects/aoebeaconfilamentcloud.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# aoe_beacon_filament_cloud
-#
-# Used by:
-# Celestials named like: Filament Cloud (3 of 3)
-runTime = "early"
-type = ("projected", "passive", "gang")
-
-
-def handler(fit, beacon, context, **kwargs):
- for x in range(1, 3):
- if beacon.getModifiedItemAttr("warfareBuff{}ID".format(x)):
- value = beacon.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = beacon.getModifiedItemAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
diff --git a/eos/effects/archaeologyskillvirusbonus.py b/eos/effects/archaeologyskillvirusbonus.py
deleted file mode 100644
index 9e383ba0a..000000000
--- a/eos/effects/archaeologyskillvirusbonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# archaeologySkillVirusBonus
-#
-# Used by:
-# Modules named like: Emission Scope Sharpener (8 of 8)
-# Implant: Poteque 'Prospector' Archaeology AC-905
-# Implant: Poteque 'Prospector' Environmental Analysis EY-1005
-# Skill: Archaeology
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Archaeology"),
- "virusCoherence", container.getModifiedItemAttr("virusCoherenceBonus") * level)
diff --git a/eos/effects/armorallrepairsystemsamountbonuspassive.py b/eos/effects/armorallrepairsystemsamountbonuspassive.py
deleted file mode 100644
index 8307ae2ee..000000000
--- a/eos/effects/armorallrepairsystemsamountbonuspassive.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# armorAllRepairSystemsAmountBonusPassive
-#
-# Used by:
-# Implants named like: Agency 'Hardshell' TB Dose (4 of 4)
-# Implants named like: Exile Booster (4 of 4)
-# Implant: Antipharmakon Kosybo
-type = "passive"
-
-
-def handler(fit, booster, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Repair Systems") or mod.item.requiresSkill("Capital Repair Systems"),
- "armorDamageAmount", booster.getModifiedItemAttr("armorDamageAmountBonus") or 0)
diff --git a/eos/effects/armordamageamountbonuscapitalarmorrepairers.py b/eos/effects/armordamageamountbonuscapitalarmorrepairers.py
deleted file mode 100644
index 49def1be7..000000000
--- a/eos/effects/armordamageamountbonuscapitalarmorrepairers.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# armorDamageAmountBonusCapitalArmorRepairers
-#
-# Used by:
-# Modules named like: Auxiliary Nano Pump (8 of 8)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"),
- "armorDamageAmount", implant.getModifiedItemAttr("repairBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/armoredcommanddurationbonus.py b/eos/effects/armoredcommanddurationbonus.py
deleted file mode 100644
index 171dfbbb2..000000000
--- a/eos/effects/armoredcommanddurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# armoredCommandDurationBonus
-#
-# Used by:
-# Skill: Armored Command
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "buffDuration",
- src.getModifiedItemAttr("durationBonus") * lvl)
diff --git a/eos/effects/armoredcommandmindlink.py b/eos/effects/armoredcommandmindlink.py
deleted file mode 100644
index 2e36ed6f0..000000000
--- a/eos/effects/armoredcommandmindlink.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# armoredCommandMindlink
-#
-# Used by:
-# Implant: Armored Command Mindlink
-# Implant: Federation Navy Command Mindlink
-# Implant: Imperial Navy Command Mindlink
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "buffDuration",
- src.getModifiedItemAttr("mindlinkBonus"))
diff --git a/eos/effects/armoredcommandstrengthbonus.py b/eos/effects/armoredcommandstrengthbonus.py
deleted file mode 100644
index 6bc5e365e..000000000
--- a/eos/effects/armoredcommandstrengthbonus.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# armoredCommandStrengthBonus
-#
-# Used by:
-# Skill: Armored Command Specialist
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
diff --git a/eos/effects/armorhpbonusadd.py b/eos/effects/armorhpbonusadd.py
deleted file mode 100644
index f965b45ae..000000000
--- a/eos/effects/armorhpbonusadd.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# armorHPBonusAdd
-#
-# Used by:
-# Modules from group: Armor Reinforcer (51 of 51)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("armorHP", module.getModifiedItemAttr("armorHPBonusAdd"))
diff --git a/eos/effects/armorhpbonusaddpassive.py b/eos/effects/armorhpbonusaddpassive.py
deleted file mode 100644
index 0b5d23866..000000000
--- a/eos/effects/armorhpbonusaddpassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# armorHPBonusAddPassive
-#
-# Used by:
-# Subsystems from group: Defensive Systems (9 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("armorHP", module.getModifiedItemAttr("armorHPBonusAdd") or 0)
diff --git a/eos/effects/armorhpmultiply.py b/eos/effects/armorhpmultiply.py
deleted file mode 100644
index 25039f35f..000000000
--- a/eos/effects/armorhpmultiply.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# armorHPMultiply
-#
-# Used by:
-# Modules from group: Armor Coating (202 of 202)
-# Modules from group: Armor Plating Energized (187 of 187)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("armorHP", module.getModifiedItemAttr("armorHPMultiplier"))
diff --git a/eos/effects/armorreinforcermassadd.py b/eos/effects/armorreinforcermassadd.py
deleted file mode 100644
index e60326892..000000000
--- a/eos/effects/armorreinforcermassadd.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# armorReinforcerMassAdd
-#
-# Used by:
-# Modules from group: Armor Reinforcer (51 of 51)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("mass", module.getModifiedItemAttr("massAddition"))
diff --git a/eos/effects/armorrepair.py b/eos/effects/armorrepair.py
deleted file mode 100644
index 07c1926da..000000000
--- a/eos/effects/armorrepair.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# armorRepair
-#
-# Used by:
-# Modules from group: Armor Repair Unit (108 of 108)
-runTime = "late"
-type = "active"
-
-
-def handler(fit, module, context):
- amount = module.getModifiedItemAttr("armorDamageAmount")
- speed = module.getModifiedItemAttr("duration") / 1000.0
- rps = amount / speed
- fit.extraAttributes.increase("armorRepair", rps)
- fit.extraAttributes.increase("armorRepairPreSpool", rps)
- fit.extraAttributes.increase("armorRepairFullSpool", rps)
diff --git a/eos/effects/armorrepairamountbonussubcap.py b/eos/effects/armorrepairamountbonussubcap.py
deleted file mode 100644
index 725c43f33..000000000
--- a/eos/effects/armorrepairamountbonussubcap.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# armorRepairAmountBonusSubcap
-#
-# Used by:
-# Implants named like: grade Asklepian (15 of 18)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("armorRepairBonus"))
diff --git a/eos/effects/armorrepairprojectorfalloffbonus.py b/eos/effects/armorrepairprojectorfalloffbonus.py
deleted file mode 100644
index 6fe69d3b4..000000000
--- a/eos/effects/armorrepairprojectorfalloffbonus.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# armorRepairProjectorFalloffBonus
-#
-# Used by:
-# Variations of ship: Navitas (2 of 2)
-# Ship: Augoror
-# Ship: Deacon
-# Ship: Exequror
-# Ship: Inquisitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer", "falloffEffectiveness",
- src.getModifiedItemAttr("falloffBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Ancillary Remote Armor Repairer",
- "falloffEffectiveness", src.getModifiedItemAttr("falloffBonus"))
diff --git a/eos/effects/armorrepairprojectormaxrangebonus.py b/eos/effects/armorrepairprojectormaxrangebonus.py
deleted file mode 100644
index 60f66763c..000000000
--- a/eos/effects/armorrepairprojectormaxrangebonus.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# armorRepairProjectorMaxRangeBonus
-#
-# Used by:
-# Variations of ship: Navitas (2 of 2)
-# Ship: Augoror
-# Ship: Deacon
-# Ship: Exequror
-# Ship: Inquisitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer", "maxRange",
- src.getModifiedItemAttr("maxRangeBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Ancillary Remote Armor Repairer", "maxRange",
- src.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/armorupgradesmasspenaltyreductionbonus.py b/eos/effects/armorupgradesmasspenaltyreductionbonus.py
deleted file mode 100644
index f7bfd67ee..000000000
--- a/eos/effects/armorupgradesmasspenaltyreductionbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# armorUpgradesMassPenaltyReductionBonus
-#
-# Used by:
-# Skill: Armor Layering
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Reinforcer",
- "massAddition", container.getModifiedItemAttr("massPenaltyReduction") * level)
diff --git a/eos/effects/astrogeologyminingamountbonuspostpercentminingamountlocationshipmodulesrequiringmining.py b/eos/effects/astrogeologyminingamountbonuspostpercentminingamountlocationshipmodulesrequiringmining.py
deleted file mode 100644
index 965ade57d..000000000
--- a/eos/effects/astrogeologyminingamountbonuspostpercentminingamountlocationshipmodulesrequiringmining.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# astrogeologyMiningAmountBonusPostPercentMiningAmountLocationShipModulesRequiringMining
-#
-# Used by:
-# Implants named like: Inherent Implants 'Highwall' Mining MX (3 of 3)
-# Implant: Michi's Excavation Augmentor
-# Skill: Astrogeology
-# Skill: Mining
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
- "miningAmount", container.getModifiedItemAttr("miningAmountBonus") * level)
diff --git a/eos/effects/basemaxscandeviationmodifiermoduleonline2none.py b/eos/effects/basemaxscandeviationmodifiermoduleonline2none.py
deleted file mode 100644
index 3169597ef..000000000
--- a/eos/effects/basemaxscandeviationmodifiermoduleonline2none.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# baseMaxScanDeviationModifierModuleOnline2None
-#
-# Used by:
-# Variations of module: Scan Pinpointing Array I (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
- "baseMaxScanDeviation",
- module.getModifiedItemAttr("maxScanDeviationModifierModule"),
- stackingPenalties=True)
diff --git a/eos/effects/basemaxscandeviationmodifierrequiringastrometrics.py b/eos/effects/basemaxscandeviationmodifierrequiringastrometrics.py
deleted file mode 100644
index 81724b690..000000000
--- a/eos/effects/basemaxscandeviationmodifierrequiringastrometrics.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# baseMaxScanDeviationModifierRequiringAstrometrics
-#
-# Used by:
-# Implants named like: Poteque 'Prospector' Astrometric Pinpointing AP (3 of 3)
-# Skill: Astrometric Pinpointing
-# Skill: Astrometrics
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
- "baseMaxScanDeviation",
- container.getModifiedItemAttr("maxScanDeviationModifier") * level)
diff --git a/eos/effects/basesensorstrengthmodifiermodule.py b/eos/effects/basesensorstrengthmodifiermodule.py
deleted file mode 100644
index 5d64ab13a..000000000
--- a/eos/effects/basesensorstrengthmodifiermodule.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# baseSensorStrengthModifierModule
-#
-# Used by:
-# Variations of module: Scan Rangefinding Array I (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
- "baseSensorStrength", module.getModifiedItemAttr("scanStrengthBonusModule"),
- stackingPenalties=True)
diff --git a/eos/effects/basesensorstrengthmodifierrequiringastrometrics.py b/eos/effects/basesensorstrengthmodifierrequiringastrometrics.py
deleted file mode 100644
index 1c302d261..000000000
--- a/eos/effects/basesensorstrengthmodifierrequiringastrometrics.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# baseSensorStrengthModifierRequiringAstrometrics
-#
-# Used by:
-# Modules from group: Scan Probe Launcher (4 of 7)
-# Implants named like: Poteque 'Prospector' Astrometric Rangefinding AR (3 of 3)
-# Implants named like: grade Virtue (10 of 12)
-# Modules named like: Gravity Capacitor Upgrade (8 of 8)
-# Skill: Astrometric Rangefinding
-# Skill: Astrometrics
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- penalized = False if "skill" in context or "implant" in context else True
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
- "baseSensorStrength", container.getModifiedItemAttr("scanStrengthBonus") * level,
- stackingPenalties=penalized)
diff --git a/eos/effects/battlecruiserdronespeed.py b/eos/effects/battlecruiserdronespeed.py
deleted file mode 100644
index 5d666f43a..000000000
--- a/eos/effects/battlecruiserdronespeed.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# battlecruiserDroneSpeed
-#
-# Used by:
-# Ship: Myrmidon
-# Ship: Prophecy
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "maxVelocity", ship.getModifiedItemAttr("roleBonusCBC"))
diff --git a/eos/effects/battlecruisermetrange.py b/eos/effects/battlecruisermetrange.py
deleted file mode 100644
index 3d0e9e2aa..000000000
--- a/eos/effects/battlecruisermetrange.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# battlecruiserMETRange
-#
-# Used by:
-# Ships named like: Harbinger (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("roleBonusCBC"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "falloff", ship.getModifiedItemAttr("roleBonusCBC"))
diff --git a/eos/effects/battlecruisermhtrange.py b/eos/effects/battlecruisermhtrange.py
deleted file mode 100644
index 268704d82..000000000
--- a/eos/effects/battlecruisermhtrange.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# battlecruiserMHTRange
-#
-# Used by:
-# Ships named like: Brutix (2 of 2)
-# Ship: Ferox
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("roleBonusCBC"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "falloff", ship.getModifiedItemAttr("roleBonusCBC"))
diff --git a/eos/effects/battlecruisermissilerange.py b/eos/effects/battlecruisermissilerange.py
deleted file mode 100644
index a095cac39..000000000
--- a/eos/effects/battlecruisermissilerange.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# battlecruiserMissileRange
-#
-# Used by:
-# Ships named like: Drake (2 of 2)
-# Ship: Cyclone
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", skill.getModifiedItemAttr("roleBonusCBC"))
diff --git a/eos/effects/battlecruisermptrange.py b/eos/effects/battlecruisermptrange.py
deleted file mode 100644
index 57f8ebe4a..000000000
--- a/eos/effects/battlecruisermptrange.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# battlecruiserMPTRange
-#
-# Used by:
-# Ships named like: Hurricane (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "maxRange", ship.getModifiedItemAttr("roleBonusCBC"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("roleBonusCBC"))
diff --git a/eos/effects/bclargeenergyturretcapacitorneedbonus.py b/eos/effects/bclargeenergyturretcapacitorneedbonus.py
deleted file mode 100644
index a4e3036f3..000000000
--- a/eos/effects/bclargeenergyturretcapacitorneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# bcLargeEnergyTurretCapacitorNeedBonus
-#
-# Used by:
-# Ship: Oracle
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("bcLargeTurretCap"))
diff --git a/eos/effects/bclargeenergyturretcpuneedbonus.py b/eos/effects/bclargeenergyturretcpuneedbonus.py
deleted file mode 100644
index a59ed687e..000000000
--- a/eos/effects/bclargeenergyturretcpuneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# bcLargeEnergyTurretCPUNeedBonus
-#
-# Used by:
-# Ship: Oracle
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "cpu", ship.getModifiedItemAttr("bcLargeTurretCPU"))
diff --git a/eos/effects/bclargeenergyturretpowerneedbonus.py b/eos/effects/bclargeenergyturretpowerneedbonus.py
deleted file mode 100644
index 9bed34c1d..000000000
--- a/eos/effects/bclargeenergyturretpowerneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# bcLargeEnergyTurretPowerNeedBonus
-#
-# Used by:
-# Ship: Oracle
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "power", ship.getModifiedItemAttr("bcLargeTurretPower"))
diff --git a/eos/effects/bclargehybridturretcapacitorneedbonus.py b/eos/effects/bclargehybridturretcapacitorneedbonus.py
deleted file mode 100644
index 04ea48c8f..000000000
--- a/eos/effects/bclargehybridturretcapacitorneedbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# bcLargeHybridTurretCapacitorNeedBonus
-#
-# Used by:
-# Ship: Naga
-# Ship: Talos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("bcLargeTurretCap"))
diff --git a/eos/effects/bclargehybridturretcpuneedbonus.py b/eos/effects/bclargehybridturretcpuneedbonus.py
deleted file mode 100644
index 299c31845..000000000
--- a/eos/effects/bclargehybridturretcpuneedbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# bcLargeHybridTurretCPUNeedBonus
-#
-# Used by:
-# Ship: Naga
-# Ship: Talos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "cpu", ship.getModifiedItemAttr("bcLargeTurretCPU"))
diff --git a/eos/effects/bclargehybridturretpowerneedbonus.py b/eos/effects/bclargehybridturretpowerneedbonus.py
deleted file mode 100644
index c35072878..000000000
--- a/eos/effects/bclargehybridturretpowerneedbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# bcLargeHybridTurretPowerNeedBonus
-#
-# Used by:
-# Ship: Naga
-# Ship: Talos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "power", ship.getModifiedItemAttr("bcLargeTurretPower"))
diff --git a/eos/effects/bclargeprojectileturretcpuneedbonus.py b/eos/effects/bclargeprojectileturretcpuneedbonus.py
deleted file mode 100644
index fc0dfc50a..000000000
--- a/eos/effects/bclargeprojectileturretcpuneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# bcLargeProjectileTurretCPUNeedBonus
-#
-# Used by:
-# Ship: Tornado
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "cpu", ship.getModifiedItemAttr("bcLargeTurretCPU"))
diff --git a/eos/effects/bclargeprojectileturretpowerneedbonus.py b/eos/effects/bclargeprojectileturretpowerneedbonus.py
deleted file mode 100644
index c37e55b8f..000000000
--- a/eos/effects/bclargeprojectileturretpowerneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# bcLargeProjectileTurretPowerNeedBonus
-#
-# Used by:
-# Ship: Tornado
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "power", ship.getModifiedItemAttr("bcLargeTurretPower"))
diff --git a/eos/effects/biologytimebonusfixed.py b/eos/effects/biologytimebonusfixed.py
deleted file mode 100644
index b0e63322a..000000000
--- a/eos/effects/biologytimebonusfixed.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# biologyTimeBonusFixed
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Alchemist' Biology BY (2 of 2)
-# Skill: Biology
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.boosters.filteredItemBoost(lambda bst: True, "boosterDuration",
- container.getModifiedItemAttr("durationBonus") * level)
diff --git a/eos/effects/blockaderunnercloakcpupercentbonus.py b/eos/effects/blockaderunnercloakcpupercentbonus.py
deleted file mode 100644
index b153efbc3..000000000
--- a/eos/effects/blockaderunnercloakcpupercentbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# blockadeRunnerCloakCpuPercentBonus
-#
-# Used by:
-# Ships from group: Blockade Runner (4 of 4)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Cloaking Device",
- "cpu", ship.getModifiedItemAttr("eliteIndustrialCovertCloakBonus"),
- skill="Transport Ships")
diff --git a/eos/effects/boosterarmorhppenalty.py b/eos/effects/boosterarmorhppenalty.py
deleted file mode 100644
index 0620ca719..000000000
--- a/eos/effects/boosterarmorhppenalty.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# boosterArmorHpPenalty
-#
-# Used by:
-# Implants named like: Booster (12 of 35)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Armor Capacity"
-
-# Attribute that this effect targets
-attr = "boosterArmorHPPenalty"
-
-
-def handler(fit, booster, context):
- fit.ship.boostItemAttr("armorHP", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boosterarmorrepairamountpenalty.py b/eos/effects/boosterarmorrepairamountpenalty.py
deleted file mode 100644
index 32596c796..000000000
--- a/eos/effects/boosterarmorrepairamountpenalty.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# boosterArmorRepairAmountPenalty
-#
-# Used by:
-# Implants named like: Drop Booster (3 of 4)
-# Implants named like: Mindflood Booster (3 of 4)
-# Implants named like: Sooth Sayer Booster (3 of 4)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Armor Repair Amount"
-
-# Attribute that this effect targets
-attr = "boosterArmorRepairAmountPenalty"
-
-
-def handler(fit, booster, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Repair Unit",
- "armorDamageAmount", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boostercapacitorcapacitypenalty.py b/eos/effects/boostercapacitorcapacitypenalty.py
deleted file mode 100644
index 1f546f439..000000000
--- a/eos/effects/boostercapacitorcapacitypenalty.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# boosterCapacitorCapacityPenalty
-#
-# Used by:
-# Implants named like: Blue Pill Booster (3 of 5)
-# Implants named like: Exile Booster (3 of 4)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Cap Capacity"
-
-# Attribute that this effect targets
-attr = "boosterCapacitorCapacityPenalty"
-
-
-def handler(fit, booster, context):
- fit.ship.boostItemAttr("capacitorCapacity", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boostermaxvelocitypenalty.py b/eos/effects/boostermaxvelocitypenalty.py
deleted file mode 100644
index 83856e018..000000000
--- a/eos/effects/boostermaxvelocitypenalty.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# boosterMaxVelocityPenalty
-#
-# Used by:
-# Implants named like: Crash Booster (3 of 4)
-# Items from market group: Implants & Boosters > Booster > Booster Slot 02 (9 of 13)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Velocity"
-
-# Attribute that this effect targets
-attr = "boosterMaxVelocityPenalty"
-
-
-def handler(fit, booster, context):
- fit.ship.boostItemAttr("maxVelocity", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boostermissileexplosioncloudpenaltyfixed.py b/eos/effects/boostermissileexplosioncloudpenaltyfixed.py
deleted file mode 100644
index 24da2f481..000000000
--- a/eos/effects/boostermissileexplosioncloudpenaltyfixed.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# boosterMissileExplosionCloudPenaltyFixed
-#
-# Used by:
-# Implants named like: Exile Booster (3 of 4)
-# Implants named like: Mindflood Booster (3 of 4)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Missile Explosion Radius"
-
-# Attribute that this effect targets
-attr = "boosterMissileAOECloudPenalty"
-
-
-def handler(fit, booster, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeCloudSize", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boostermissileexplosionvelocitypenalty.py b/eos/effects/boostermissileexplosionvelocitypenalty.py
deleted file mode 100644
index 873dd2968..000000000
--- a/eos/effects/boostermissileexplosionvelocitypenalty.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# boosterMissileExplosionVelocityPenalty
-#
-# Used by:
-# Implants named like: Blue Pill Booster (3 of 5)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Missile Explosion Velocity"
-
-# Attribute that this effect targets
-attr = "boosterAOEVelocityPenalty"
-
-
-def handler(fit, booster, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeVelocity", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boostermissilevelocitypenalty.py b/eos/effects/boostermissilevelocitypenalty.py
deleted file mode 100644
index c18a39346..000000000
--- a/eos/effects/boostermissilevelocitypenalty.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# boosterMissileVelocityPenalty
-#
-# Used by:
-# Implants named like: Crash Booster (3 of 4)
-# Implants named like: X Instinct Booster (3 of 4)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Missile Velocity"
-
-# Attribute that this effect targets
-attr = "boosterMissileVelocityPenalty"
-
-
-def handler(fit, booster, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boostermodifyboosterarmorpenalties.py b/eos/effects/boostermodifyboosterarmorpenalties.py
deleted file mode 100644
index 0714422d4..000000000
--- a/eos/effects/boostermodifyboosterarmorpenalties.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# boosterModifyBoosterArmorPenalties
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
-# Implants named like: grade Edge (10 of 12)
-# Skill: Neurotoxin Control
-runTime = 'early'
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- attrs = ("boosterArmorHPPenalty", "boosterArmorRepairAmountPenalty")
- for attr in attrs:
- fit.boosters.filteredItemBoost(lambda booster: True, attr,
- container.getModifiedItemAttr("boosterAttributeModifier") * level)
diff --git a/eos/effects/boostermodifyboostermaxvelocityandcapacitorpenalty.py b/eos/effects/boostermodifyboostermaxvelocityandcapacitorpenalty.py
deleted file mode 100644
index 348cd192b..000000000
--- a/eos/effects/boostermodifyboostermaxvelocityandcapacitorpenalty.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# boosterModifyBoosterMaxVelocityAndCapacitorPenalty
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
-# Implants named like: grade Edge (10 of 12)
-# Skill: Neurotoxin Control
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- attrs = ("boosterCapacitorCapacityPenalty", "boosterMaxVelocityPenalty")
- for attr in attrs:
- fit.boosters.filteredItemBoost(lambda booster: True, attr,
- container.getModifiedItemAttr("boosterAttributeModifier") * level)
diff --git a/eos/effects/boostermodifyboostermissilepenalty.py b/eos/effects/boostermodifyboostermissilepenalty.py
deleted file mode 100644
index 0c247422d..000000000
--- a/eos/effects/boostermodifyboostermissilepenalty.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# boosterModifyBoosterMissilePenalty
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
-# Implants named like: grade Edge (10 of 12)
-# Skill: Neurotoxin Control
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- attrs = ("boosterAOEVelocityPenalty", "boosterMissileAOECloudPenalty", "boosterMissileVelocityPenalty")
- for attr in attrs:
- fit.boosters.filteredItemBoost(lambda booster: True, attr,
- container.getModifiedItemAttr("boosterAttributeModifier") * level)
diff --git a/eos/effects/boostermodifyboostershieldpenalty.py b/eos/effects/boostermodifyboostershieldpenalty.py
deleted file mode 100644
index 9e05f2cb0..000000000
--- a/eos/effects/boostermodifyboostershieldpenalty.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# boosterModifyBoosterShieldPenalty
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
-# Implants named like: grade Edge (10 of 12)
-# Skill: Neurotoxin Control
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- attrs = ("boosterShieldBoostAmountPenalty", "boosterShieldCapacityPenalty", "shieldBoostMultiplier")
- for attr in attrs:
- # shieldBoostMultiplier can be positive (Blue Pill) and negative value (other boosters)
- # We're interested in decreasing only side-effects
- fit.boosters.filteredItemBoost(lambda booster: booster.getModifiedItemAttr(attr) < 0,
- attr, container.getModifiedItemAttr("boosterAttributeModifier") * level)
diff --git a/eos/effects/boostermodifyboosterturretpenalty.py b/eos/effects/boostermodifyboosterturretpenalty.py
deleted file mode 100644
index e016e57e8..000000000
--- a/eos/effects/boostermodifyboosterturretpenalty.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# boosterModifyBoosterTurretPenalty
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Control NC (2 of 2)
-# Implants named like: grade Edge (10 of 12)
-# Skill: Neurotoxin Control
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- attrs = ("boosterTurretFalloffPenalty", "boosterTurretOptimalRangePenalty", "boosterTurretTrackingPenalty")
- for attr in attrs:
- fit.boosters.filteredItemBoost(lambda booster: True, attr,
- container.getModifiedItemAttr("boosterAttributeModifier") * level)
diff --git a/eos/effects/boostershieldboostamountpenaltyshieldskills.py b/eos/effects/boostershieldboostamountpenaltyshieldskills.py
deleted file mode 100644
index 4c9726ea9..000000000
--- a/eos/effects/boostershieldboostamountpenaltyshieldskills.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# boosterShieldBoostAmountPenaltyShieldSkills
-#
-# Used by:
-# Implants named like: Crash Booster (3 of 4)
-# Implants named like: Frentix Booster (3 of 4)
-# Implants named like: Mindflood Booster (3 of 4)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Shield Boost"
-
-# Attribute that this effect targets
-attr = "boosterShieldBoostAmountPenalty"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"), "shieldBonus",
- src.getModifiedItemAttr("boosterShieldBoostAmountPenalty"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"), "shieldBonus",
- src.getModifiedItemAttr("boosterShieldBoostAmountPenalty"))
diff --git a/eos/effects/boostershieldcapacitypenalty.py b/eos/effects/boostershieldcapacitypenalty.py
deleted file mode 100644
index f93f04af9..000000000
--- a/eos/effects/boostershieldcapacitypenalty.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# boosterShieldCapacityPenalty
-#
-# Used by:
-# Implants from group: Booster (12 of 70)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Shield Capacity"
-
-# Attribute that this effect targets
-attr = "boosterShieldCapacityPenalty"
-
-
-def handler(fit, booster, context):
- fit.ship.boostItemAttr("shieldCapacity", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boosterturretfalloffpenalty.py b/eos/effects/boosterturretfalloffpenalty.py
deleted file mode 100644
index 636c49909..000000000
--- a/eos/effects/boosterturretfalloffpenalty.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# boosterTurretFalloffPenalty
-#
-# Used by:
-# Implants named like: Drop Booster (3 of 4)
-# Implants named like: X Instinct Booster (3 of 4)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Turret Falloff"
-
-# Attribute that this effect targets
-attr = "boosterTurretFalloffPenalty"
-
-
-def handler(fit, booster, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "falloff", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boosterturretoptimalrangepenalty.py b/eos/effects/boosterturretoptimalrangepenalty.py
deleted file mode 100644
index e62bef3f5..000000000
--- a/eos/effects/boosterturretoptimalrangepenalty.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# boosterTurretOptimalRangePenalty
-#
-# Used by:
-# Implants named like: Blue Pill Booster (3 of 5)
-# Implants named like: Mindflood Booster (3 of 4)
-# Implants named like: Sooth Sayer Booster (3 of 4)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Turret Optimal Range"
-
-# Attribute that this effect targets
-attr = "boosterTurretOptimalRangePenalty"
-
-
-def handler(fit, booster, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "maxRange", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/boosterturrettrackingpenalty.py b/eos/effects/boosterturrettrackingpenalty.py
deleted file mode 100644
index 77e71d373..000000000
--- a/eos/effects/boosterturrettrackingpenalty.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# boosterTurretTrackingPenalty
-#
-# Used by:
-# Implants named like: Exile Booster (3 of 4)
-# Implants named like: Frentix Booster (3 of 4)
-type = "boosterSideEffect"
-
-# User-friendly name for the side effect
-displayName = "Turret Tracking"
-
-# Attribute that this effect targets
-attr = "boosterTurretTrackingPenalty"
-
-
-def handler(fit, booster, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "trackingSpeed", booster.getModifiedItemAttr(attr))
diff --git a/eos/effects/caldarisetbonus3.py b/eos/effects/caldarisetbonus3.py
deleted file mode 100644
index ee4d55f4b..000000000
--- a/eos/effects/caldarisetbonus3.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# caldarisetbonus3
-#
-# Used by:
-# Implants named like: High grade Talon (6 of 6)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
- "scanGravimetricStrengthPercent",
- implant.getModifiedItemAttr("implantSetCaldariNavy"))
diff --git a/eos/effects/caldarisetlgbonus.py b/eos/effects/caldarisetlgbonus.py
deleted file mode 100644
index ed684aa94..000000000
--- a/eos/effects/caldarisetlgbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# caldarisetLGbonus
-#
-# Used by:
-# Implants named like: Low grade Talon (6 of 6)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
- "scanGravimetricStrengthModifier",
- implant.getModifiedItemAttr("implantSetLGCaldariNavy"))
diff --git a/eos/effects/caldarishipecmburstoptimalrangecb3.py b/eos/effects/caldarishipecmburstoptimalrangecb3.py
deleted file mode 100644
index cc2d38e7a..000000000
--- a/eos/effects/caldarishipecmburstoptimalrangecb3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# caldariShipECMBurstOptimalRangeCB3
-#
-# Used by:
-# Ship: Scorpion
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Burst Jammer",
- "ecmBurstRange", ship.getModifiedItemAttr("shipBonusCB3"), skill="Caldari Battleship")
diff --git a/eos/effects/caldarishipewcapacitorneedcc.py b/eos/effects/caldarishipewcapacitorneedcc.py
deleted file mode 100644
index 05a33ec43..000000000
--- a/eos/effects/caldarishipewcapacitorneedcc.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# caldariShipEwCapacitorNeedCC
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Falcon
-# Ship: Rook
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/caldarishipewcapacitorneedcf2.py b/eos/effects/caldarishipewcapacitorneedcf2.py
deleted file mode 100644
index 3a63615dd..000000000
--- a/eos/effects/caldarishipewcapacitorneedcf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# caldariShipEwCapacitorNeedCF2
-#
-# Used by:
-# Ship: Griffin
-# Ship: Kitsune
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/caldarishipewfalloffrangecb3.py b/eos/effects/caldarishipewfalloffrangecb3.py
deleted file mode 100644
index 6e17fdbe1..000000000
--- a/eos/effects/caldarishipewfalloffrangecb3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# caldariShipEwFalloffRangeCB3
-#
-# Used by:
-# Ship: Scorpion
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "falloffEffectiveness", ship.getModifiedItemAttr("shipBonusCB3"),
- skill="Caldari Battleship")
diff --git a/eos/effects/caldarishipewfalloffrangecc2.py b/eos/effects/caldarishipewfalloffrangecc2.py
deleted file mode 100644
index d046a9c67..000000000
--- a/eos/effects/caldarishipewfalloffrangecc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# caldariShipEwFalloffRangeCC2
-#
-# Used by:
-# Ship: Blackbird
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "falloffEffectiveness", ship.getModifiedItemAttr("shipBonusCC2"),
- skill="Caldari Cruiser")
diff --git a/eos/effects/caldarishipewoptimalrangecb3.py b/eos/effects/caldarishipewoptimalrangecb3.py
deleted file mode 100644
index f595eed45..000000000
--- a/eos/effects/caldarishipewoptimalrangecb3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# caldariShipEwOptimalRangeCB3
-#
-# Used by:
-# Ship: Scorpion
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "maxRange", ship.getModifiedItemAttr("shipBonusCB3"), skill="Caldari Battleship")
diff --git a/eos/effects/caldarishipewoptimalrangecc2.py b/eos/effects/caldarishipewoptimalrangecc2.py
deleted file mode 100644
index 0c0362a85..000000000
--- a/eos/effects/caldarishipewoptimalrangecc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# caldariShipEwOptimalRangeCC2
-#
-# Used by:
-# Ship: Blackbird
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "maxRange", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/caldarishipewstrengthcb.py b/eos/effects/caldarishipewstrengthcb.py
deleted file mode 100644
index 48bdccb60..000000000
--- a/eos/effects/caldarishipewstrengthcb.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# caldariShipEwStrengthCB
-#
-# Used by:
-# Ship: Scorpion
-type = "passive"
-
-
-def handler(fit, ship, context):
- for sensorType in ("Gravimetric", "Ladar", "Magnetometric", "Radar"):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Electronic Warfare"),
- "scan{0}StrengthBonus".format(sensorType),
- ship.getModifiedItemAttr("shipBonusCB"), stackingPenalties=True,
- skill="Caldari Battleship")
diff --git a/eos/effects/capacitorcapacityaddpassive.py b/eos/effects/capacitorcapacityaddpassive.py
deleted file mode 100644
index 47cc811f5..000000000
--- a/eos/effects/capacitorcapacityaddpassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# capacitorCapacityAddPassive
-#
-# Used by:
-# Items from category: Subsystem (20 of 48)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("capacitorCapacity", module.getModifiedItemAttr("capacitorCapacity") or 0)
diff --git a/eos/effects/capacitorcapacitybonus.py b/eos/effects/capacitorcapacitybonus.py
deleted file mode 100644
index c998bcaa0..000000000
--- a/eos/effects/capacitorcapacitybonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# capacitorCapacityBonus
-#
-# Used by:
-# Modules from group: Capacitor Battery (30 of 30)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.increaseItemAttr("capacitorCapacity", ship.getModifiedItemAttr("capacitorBonus"))
diff --git a/eos/effects/capacitorcapacitymultiply.py b/eos/effects/capacitorcapacitymultiply.py
deleted file mode 100644
index 91f3e6ed4..000000000
--- a/eos/effects/capacitorcapacitymultiply.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# capacitorCapacityMultiply
-#
-# Used by:
-# Modules from group: Capacitor Flux Coil (6 of 6)
-# Modules from group: Capacitor Power Relay (20 of 20)
-# Modules from group: Power Diagnostic System (23 of 23)
-# Modules from group: Propulsion Module (68 of 133)
-# Modules from group: Reactor Control Unit (22 of 22)
-type = "passive"
-
-
-def handler(fit, module, context):
- # We default this to None as there are times when the source attribute doesn't exist (for example, Cap Power Relay).
- # It will return 0 as it doesn't exist, which would nullify whatever the target attribute is
- fit.ship.multiplyItemAttr("capacitorCapacity", module.getModifiedItemAttr("capacitorCapacityMultiplier", None))
diff --git a/eos/effects/capacitoremissionsystemskill.py b/eos/effects/capacitoremissionsystemskill.py
deleted file mode 100644
index c792ef48c..000000000
--- a/eos/effects/capacitoremissionsystemskill.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# capacitorEmissionSystemskill
-#
-# Used by:
-# Implants named like: Inherent Implants 'Squire' Capacitor Emission Systems ES (6 of 6)
-# Modules named like: Egress Port Maximizer (8 of 8)
-# Skill: Capacitor Emission Systems
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capacitor Emission Systems"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/capacityaddpassive.py b/eos/effects/capacityaddpassive.py
deleted file mode 100644
index 8d7ee24bd..000000000
--- a/eos/effects/capacityaddpassive.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capacityAddPassive
-#
-# Used by:
-# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
-# Subsystem: Legion Defensive - Nanobot Injector
-type = "passive"
-
-
-def handler(fit, subsystem, context):
- fit.ship.increaseItemAttr("capacity", subsystem.getModifiedItemAttr("cargoCapacityAdd") or 0)
diff --git a/eos/effects/capitallauncherskillcitadelemdamage.py b/eos/effects/capitallauncherskillcitadelemdamage.py
deleted file mode 100644
index 253fbd818..000000000
--- a/eos/effects/capitallauncherskillcitadelemdamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# capitalLauncherSkillCitadelEmDamage
-#
-# Used by:
-# Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
-# Skill: XL Torpedoes
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"),
- "emDamage", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/capitallauncherskillcitadelexplosivedamage.py b/eos/effects/capitallauncherskillcitadelexplosivedamage.py
deleted file mode 100644
index 1ce75bd0b..000000000
--- a/eos/effects/capitallauncherskillcitadelexplosivedamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# capitalLauncherSkillCitadelExplosiveDamage
-#
-# Used by:
-# Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
-# Skill: XL Torpedoes
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"),
- "explosiveDamage", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/capitallauncherskillcitadelkineticdamage.py b/eos/effects/capitallauncherskillcitadelkineticdamage.py
deleted file mode 100644
index 9e59f3aea..000000000
--- a/eos/effects/capitallauncherskillcitadelkineticdamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# capitalLauncherSkillCitadelKineticDamage
-#
-# Used by:
-# Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
-# Skill: XL Torpedoes
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"),
- "kineticDamage", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/capitallauncherskillcitadelthermaldamage.py b/eos/effects/capitallauncherskillcitadelthermaldamage.py
deleted file mode 100644
index 044c7a844..000000000
--- a/eos/effects/capitallauncherskillcitadelthermaldamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# capitalLauncherSkillCitadelThermalDamage
-#
-# Used by:
-# Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
-# Skill: XL Torpedoes
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"),
- "thermalDamage", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/capitallauncherskillcruisecitadelemdamage1.py b/eos/effects/capitallauncherskillcruisecitadelemdamage1.py
deleted file mode 100644
index 2c847d0c1..000000000
--- a/eos/effects/capitallauncherskillcruisecitadelemdamage1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capitalLauncherSkillCruiseCitadelEmDamage1
-#
-# Used by:
-# Skill: XL Cruise Missiles
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"),
- "emDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/capitallauncherskillcruisecitadelexplosivedamage1.py b/eos/effects/capitallauncherskillcruisecitadelexplosivedamage1.py
deleted file mode 100644
index 2b52bfcb3..000000000
--- a/eos/effects/capitallauncherskillcruisecitadelexplosivedamage1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capitalLauncherSkillCruiseCitadelExplosiveDamage1
-#
-# Used by:
-# Skill: XL Cruise Missiles
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"),
- "explosiveDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/capitallauncherskillcruisecitadelkineticdamage1.py b/eos/effects/capitallauncherskillcruisecitadelkineticdamage1.py
deleted file mode 100644
index e51cad250..000000000
--- a/eos/effects/capitallauncherskillcruisecitadelkineticdamage1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capitalLauncherSkillCruiseCitadelKineticDamage1
-#
-# Used by:
-# Skill: XL Cruise Missiles
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"),
- "kineticDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/capitallauncherskillcruisecitadelthermaldamage1.py b/eos/effects/capitallauncherskillcruisecitadelthermaldamage1.py
deleted file mode 100644
index 097a6d2b2..000000000
--- a/eos/effects/capitallauncherskillcruisecitadelthermaldamage1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capitalLauncherSkillCruiseCitadelThermalDamage1
-#
-# Used by:
-# Skill: XL Cruise Missiles
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"),
- "thermalDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/capitalremotearmorrepairercapneedbonusskill.py b/eos/effects/capitalremotearmorrepairercapneedbonusskill.py
deleted file mode 100644
index 502143ed2..000000000
--- a/eos/effects/capitalremotearmorrepairercapneedbonusskill.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# capitalRemoteArmorRepairerCapNeedBonusSkill
-#
-# Used by:
-# Variations of module: Capital Remote Repair Augmentor I (2 of 2)
-# Skill: Capital Remote Armor Repair Systems
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Armor Repair Systems"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/capitalremoteenergytransfercapneedbonusskill.py b/eos/effects/capitalremoteenergytransfercapneedbonusskill.py
deleted file mode 100644
index a33d1250d..000000000
--- a/eos/effects/capitalremoteenergytransfercapneedbonusskill.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capitalRemoteEnergyTransferCapNeedBonusSkill
-#
-# Used by:
-# Skill: Capital Capacitor Emission Systems
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Capacitor Emission Systems"),
- "capacitorNeed", skill.getModifiedItemAttr("capNeedBonus") * skill.level)
diff --git a/eos/effects/capitalremoteshieldtransfercapneedbonusskill.py b/eos/effects/capitalremoteshieldtransfercapneedbonusskill.py
deleted file mode 100644
index 7ae9b3710..000000000
--- a/eos/effects/capitalremoteshieldtransfercapneedbonusskill.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# capitalRemoteShieldTransferCapNeedBonusSkill
-#
-# Used by:
-# Skill: Capital Shield Emission Systems
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/capitalrepairsystemsskilldurationbonus.py b/eos/effects/capitalrepairsystemsskilldurationbonus.py
deleted file mode 100644
index 9ccf42487..000000000
--- a/eos/effects/capitalrepairsystemsskilldurationbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# capitalRepairSystemsSkillDurationBonus
-#
-# Used by:
-# Modules named like: Nanobot Accelerator (8 of 8)
-# Skill: Capital Repair Systems
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"),
- "duration", container.getModifiedItemAttr("durationSkillBonus") * level,
- stackingPenalties="skill" not in context)
diff --git a/eos/effects/capitalshieldoperationskillcapacitorneedbonus.py b/eos/effects/capitalshieldoperationskillcapacitorneedbonus.py
deleted file mode 100644
index 82b5f1cde..000000000
--- a/eos/effects/capitalshieldoperationskillcapacitorneedbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# capitalShieldOperationSkillCapacitorNeedBonus
-#
-# Used by:
-# Modules named like: Core Defense Capacitor Safeguard (8 of 8)
-# Skill: Capital Shield Operation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"),
- "capacitorNeed", container.getModifiedItemAttr("shieldBoostCapacitorBonus") * level)
diff --git a/eos/effects/capitalturretskillhybriddamage.py b/eos/effects/capitalturretskillhybriddamage.py
deleted file mode 100644
index dac86333a..000000000
--- a/eos/effects/capitalturretskillhybriddamage.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capitalTurretSkillHybridDamage
-#
-# Used by:
-# Skill: Capital Hybrid Turret
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/capitalturretskilllaserdamage.py b/eos/effects/capitalturretskilllaserdamage.py
deleted file mode 100644
index e1668e7c8..000000000
--- a/eos/effects/capitalturretskilllaserdamage.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capitalTurretSkillLaserDamage
-#
-# Used by:
-# Skill: Capital Energy Turret
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/capitalturretskillprojectiledamage.py b/eos/effects/capitalturretskillprojectiledamage.py
deleted file mode 100644
index ac4b49115..000000000
--- a/eos/effects/capitalturretskillprojectiledamage.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capitalTurretSkillProjectileDamage
-#
-# Used by:
-# Skill: Capital Projectile Turret
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/capneedbonuseffecthybrids.py b/eos/effects/capneedbonuseffecthybrids.py
deleted file mode 100644
index 8f1cad753..000000000
--- a/eos/effects/capneedbonuseffecthybrids.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capNeedBonusEffectHybrids
-#
-# Used by:
-# Modules named like: Hybrid Discharge Elutriation (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "capacitorNeed", module.getModifiedItemAttr("capNeedBonus"))
diff --git a/eos/effects/capneedbonuseffectlasers.py b/eos/effects/capneedbonuseffectlasers.py
deleted file mode 100644
index e37290e63..000000000
--- a/eos/effects/capneedbonuseffectlasers.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# capNeedBonusEffectLasers
-#
-# Used by:
-# Modules named like: Energy Discharge Elutriation (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Weapon",
- "capacitorNeed", module.getModifiedItemAttr("capNeedBonus"))
diff --git a/eos/effects/cargoandoreholdcapacitybonusics1.py b/eos/effects/cargoandoreholdcapacitybonusics1.py
deleted file mode 100644
index 780548d08..000000000
--- a/eos/effects/cargoandoreholdcapacitybonusics1.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# cargoAndOreHoldCapacityBonusICS1
-#
-# Used by:
-# Ships from group: Industrial Command Ship (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("specialOreHoldCapacity",
- src.getModifiedItemAttr("shipBonusICS1"),
- skill="Industrial Command Ships")
-
- fit.ship.boostItemAttr("capacity",
- src.getModifiedItemAttr("shipBonusICS1"),
- skill="Industrial Command Ships")
diff --git a/eos/effects/cargocapacitymultiply.py b/eos/effects/cargocapacitymultiply.py
deleted file mode 100644
index 860f4c413..000000000
--- a/eos/effects/cargocapacitymultiply.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# cargoCapacityMultiply
-#
-# Used by:
-# Modules from group: Expanded Cargohold (7 of 7)
-# Modules from group: Overdrive Injector System (7 of 7)
-# Modules from group: Reinforced Bulkhead (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("capacity", module.getModifiedItemAttr("cargoCapacityMultiplier"))
diff --git a/eos/effects/chargebonuswarfarecharge.py b/eos/effects/chargebonuswarfarecharge.py
deleted file mode 100644
index b0998fbb4..000000000
--- a/eos/effects/chargebonuswarfarecharge.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# chargeBonusWarfareCharge
-#
-# Used by:
-# Items from market group: Ammunition & Charges > Command Burst Charges (15 of 15)
-type = "active"
-
-
-def handler(fit, module, context):
- for x in range(1, 4):
- value = module.getModifiedChargeAttr("warfareBuff{}Multiplier".format(x))
- module.multiplyItemAttr("warfareBuff{}Value".format(x), value)
diff --git a/eos/effects/citadelrigbonus.py b/eos/effects/citadelrigbonus.py
deleted file mode 100644
index 195835283..000000000
--- a/eos/effects/citadelrigbonus.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# citadelRigBonus
-#
-# Used by:
-# Structures from group: Citadel (9 of 9)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, src, context):
-
- for attr in [
- "structureRigDoomsdayDamageLossTargetBonus",
- "structureRigScanResBonus",
- "structureRigPDRangeBonus",
- "structureRigPDCapUseBonus",
- "structureRigMissileExploVeloBonus",
- "structureRigMissileVelocityBonus",
- "structureRigEwarOptimalBonus",
- "structureRigEwarFalloffBonus",
- "structureRigEwarCapUseBonus",
- "structureRigMissileExplosionRadiusBonus"
- ]:
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Jury Rigging"),
- attr, src.getModifiedItemAttr("structureRoleBonus"))
diff --git a/eos/effects/cloaking.py b/eos/effects/cloaking.py
deleted file mode 100644
index cb53716b2..000000000
--- a/eos/effects/cloaking.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# cloaking
-#
-# Used by:
-# Modules from group: Cloaking Device (10 of 14)
-type = "active"
-runTime = "early"
-
-
-# TODO: Rewrite this effect
-def handler(fit, module, context):
- # Set flag which is used to determine if ship is cloaked or not
- # This is used to apply cloak-only bonuses, like Black Ops' speed bonus
- # Doesn't apply to covops cloaks
- fit.extraAttributes["cloaked"] = True
- # Apply speed penalty
- fit.ship.multiplyItemAttr("maxVelocity", module.getModifiedItemAttr("maxVelocityModifier"))
diff --git a/eos/effects/cloakingprototype.py b/eos/effects/cloakingprototype.py
deleted file mode 100644
index 48c480b67..000000000
--- a/eos/effects/cloakingprototype.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# cloakingPrototype
-#
-# Used by:
-# Modules named like: Prototype Cloaking Device I (2 of 2)
-type = "active"
-runTime = "early"
-
-
-# TODO: Rewrite this effect
-def handler(fit, module, context):
- # Set flag which is used to determine if ship is cloaked or not
- # This is used to apply cloak-only bonuses, like Black Ops' speed bonus
- # Doesn't apply to covops cloaks
- fit.extraAttributes["cloaked"] = True
- # Apply speed penalty
- fit.ship.multiplyItemAttr("maxVelocity", module.getModifiedItemAttr("maxVelocityModifier"))
diff --git a/eos/effects/cloakingscanresolutionmultiplier.py b/eos/effects/cloakingscanresolutionmultiplier.py
deleted file mode 100644
index 38f073c5b..000000000
--- a/eos/effects/cloakingscanresolutionmultiplier.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# cloakingScanResolutionMultiplier
-#
-# Used by:
-# Modules from group: Cloaking Device (12 of 14)
-type = "offline"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("scanResolution",
- module.getModifiedItemAttr("scanResolutionMultiplier"),
- stackingPenalties=True, penaltyGroup="cloakingScanResolutionMultiplier")
diff --git a/eos/effects/cloakingtargetingdelaybonuslrsmcloakingpassive.py b/eos/effects/cloakingtargetingdelaybonuslrsmcloakingpassive.py
deleted file mode 100644
index 40d80376e..000000000
--- a/eos/effects/cloakingtargetingdelaybonuslrsmcloakingpassive.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# cloakingTargetingDelayBonusLRSMCloakingPassive
-#
-# Used by:
-# Modules named like: Targeting Systems Stabilizer (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda module: module.item.requiresSkill("Cloaking"),
- "cloakingTargetingDelay", module.getModifiedItemAttr("cloakingTargetingDelayBonus"))
diff --git a/eos/effects/cloakingtargetingdelaybonuspostpercentcloakingtargetingdelaybonusforshipmodulesrequiringcloaking.py b/eos/effects/cloakingtargetingdelaybonuspostpercentcloakingtargetingdelaybonusforshipmodulesrequiringcloaking.py
deleted file mode 100644
index 292926bdd..000000000
--- a/eos/effects/cloakingtargetingdelaybonuspostpercentcloakingtargetingdelaybonusforshipmodulesrequiringcloaking.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# cloakingTargetingDelayBonusPostPercentCloakingTargetingDelayBonusForShipModulesRequiringCloaking
-#
-# Used by:
-# Skill: Cloaking
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Cloaking"),
- "cloakingTargetingDelay",
- skill.getModifiedItemAttr("cloakingTargetingDelayBonus") * skill.level)
diff --git a/eos/effects/cloakingwarpsafe.py b/eos/effects/cloakingwarpsafe.py
deleted file mode 100644
index 6906118dc..000000000
--- a/eos/effects/cloakingwarpsafe.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# cloakingWarpSafe
-#
-# Used by:
-# Modules named like: Covert Ops Cloaking Device II (2 of 2)
-type = "active"
-runTime = "early"
-
-
-def handler(fit, ship, context):
- fit.extraAttributes["cloaked"] = True
- # TODO: Implement
diff --git a/eos/effects/clonevatmaxjumpclonebonusskillnew.py b/eos/effects/clonevatmaxjumpclonebonusskillnew.py
deleted file mode 100644
index 0ab64f55e..000000000
--- a/eos/effects/clonevatmaxjumpclonebonusskillnew.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# cloneVatMaxJumpCloneBonusSkillNew
-#
-# Used by:
-# Skill: Cloning Facility Operation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.ship.boostItemAttr("maxJumpClones", skill.getModifiedItemAttr("maxJumpClonesBonus") * skill.level)
diff --git a/eos/effects/commandburstaoebonus.py b/eos/effects/commandburstaoebonus.py
deleted file mode 100644
index 5500e8578..000000000
--- a/eos/effects/commandburstaoebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# commandBurstAoEBonus
-#
-# Used by:
-# Skill: Fleet Command
-# Skill: Leadership
-# Skill: Wing Command
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "maxRange",
- src.getModifiedItemAttr("areaOfEffectBonus") * src.level)
diff --git a/eos/effects/commandburstaoerolebonus.py b/eos/effects/commandburstaoerolebonus.py
deleted file mode 100644
index f69aecd01..000000000
--- a/eos/effects/commandburstaoerolebonus.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# commandBurstAoERoleBonus
-#
-# Used by:
-# Ships from group: Carrier (4 of 4)
-# Ships from group: Combat Battlecruiser (14 of 14)
-# Ships from group: Command Ship (8 of 8)
-# Ships from group: Force Auxiliary (6 of 6)
-# Ships from group: Supercarrier (6 of 6)
-# Ships from group: Titan (7 of 7)
-# Subsystems named like: Offensive Support Processor (4 of 4)
-# Ship: Orca
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "maxRange",
- src.getModifiedItemAttr("roleBonusCommandBurstAoERange"))
diff --git a/eos/effects/commandburstreloadtimebonus.py b/eos/effects/commandburstreloadtimebonus.py
deleted file mode 100644
index c0207bef4..000000000
--- a/eos/effects/commandburstreloadtimebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# commandBurstReloadTimeBonus
-#
-# Used by:
-# Skill: Command Burst Specialist
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"),
- "reloadTime",
- src.getModifiedItemAttr("reloadTimeBonus") * lvl)
diff --git a/eos/effects/commandprocessoreffect.py b/eos/effects/commandprocessoreffect.py
deleted file mode 100644
index 887644ece..000000000
--- a/eos/effects/commandprocessoreffect.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# commandProcessorEffect
-#
-# Used by:
-# Modules named like: Command Processor I (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"), "maxGroupActive",
- src.getModifiedItemAttr("maxGangModules"))
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"), "maxGroupOnline",
- src.getModifiedItemAttr("maxGangModules"))
diff --git a/eos/effects/commandshipmultirelayeffect.py b/eos/effects/commandshipmultirelayeffect.py
deleted file mode 100644
index 9a3b30089..000000000
--- a/eos/effects/commandshipmultirelayeffect.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# commandshipMultiRelayEffect
-#
-# Used by:
-# Ships from group: Command Ship (8 of 8)
-# Ships from group: Industrial Command Ship (2 of 2)
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"), "maxGroupActive",
- src.getModifiedItemAttr("maxGangModules"))
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"), "maxGroupOnline",
- src.getModifiedItemAttr("maxGangModules"))
diff --git a/eos/effects/concordsecstatustankbonus.py b/eos/effects/concordsecstatustankbonus.py
deleted file mode 100644
index 16d1b65c5..000000000
--- a/eos/effects/concordsecstatustankbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# concordSecStatusTankBonus
-#
-# Used by:
-# Ship: Enforcer
-# Ship: Marshal
-# Ship: Pacifier
-type = "passive"
-
-
-def handler(fit, src, context):
-
- # Get pilot sec status bonus directly here, instead of going through the intermediary effects
- # via https://forums.eveonline.com/default.aspx?g=posts&t=515826
- try:
- bonus = max(0, min(50.0, (src.parent.character.secStatus * 10)))
- except:
- bonus = None
-
- if bonus is not None:
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", bonus, stackingPenalties=True)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", bonus, stackingPenalties=True)
diff --git a/eos/effects/controlledburstscapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringgunnery.py b/eos/effects/controlledburstscapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringgunnery.py
deleted file mode 100644
index 7c1cd7011..000000000
--- a/eos/effects/controlledburstscapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringgunnery.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# controlledBurstsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringGunnery
-#
-# Used by:
-# Implants named like: Inherent Implants 'Lancer' Controlled Bursts CB (6 of 6)
-# Skill: Controlled Bursts
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/covertcloakcpuaddition.py b/eos/effects/covertcloakcpuaddition.py
deleted file mode 100644
index c3aa76e17..000000000
--- a/eos/effects/covertcloakcpuaddition.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# CovertCloakCPUAddition
-#
-# Used by:
-# Modules named like: Covert Ops Cloaking Device II (2 of 2)
-# Module: Covert Cynosural Field Generator I
-type = "passive"
-
-
-def handler(fit, module, context):
- module.increaseItemAttr("cpu", module.getModifiedItemAttr("covertCloakCPUAdd") or 0)
diff --git a/eos/effects/covertcynocpupenalty.py b/eos/effects/covertcynocpupenalty.py
deleted file mode 100644
index aeaf0cc45..000000000
--- a/eos/effects/covertcynocpupenalty.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# covertCynoCpuPenalty
-#
-# Used by:
-# Subsystems from group: Defensive Systems (8 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Cynosural Field Theory"),
- "covertCloakCPUAdd", module.getModifiedItemAttr("covertCloakCPUPenalty"))
diff --git a/eos/effects/covertopsandreconopscloakmoduledelaybonus.py b/eos/effects/covertopsandreconopscloakmoduledelaybonus.py
deleted file mode 100644
index 7ea8e593d..000000000
--- a/eos/effects/covertopsandreconopscloakmoduledelaybonus.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# covertOpsAndReconOpsCloakModuleDelayBonus
-#
-# Used by:
-# Ships from group: Black Ops (5 of 5)
-# Ships from group: Blockade Runner (4 of 4)
-# Ships from group: Covert Ops (8 of 8)
-# Ships from group: Expedition Frigate (2 of 2)
-# Ships from group: Force Recon Ship (9 of 9)
-# Ships from group: Stealth Bomber (5 of 5)
-# Ships named like: Stratios (2 of 2)
-# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
-# Ship: Astero
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredItemForce(lambda mod: mod.item.requiresSkill("Cloaking"),
- "moduleReactivationDelay",
- container.getModifiedItemAttr("covertOpsAndReconOpsCloakModuleDelay"))
diff --git a/eos/effects/covertopscloakcpupenalty.py b/eos/effects/covertopscloakcpupenalty.py
deleted file mode 100644
index 3cbb0e7fb..000000000
--- a/eos/effects/covertopscloakcpupenalty.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# covertOpsCloakCpuPenalty
-#
-# Used by:
-# Subsystems from group: Defensive Systems (8 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Cloaking"),
- "covertCloakCPUAdd", module.getModifiedItemAttr("covertCloakCPUPenalty"))
diff --git a/eos/effects/covertopscloakcpupercentbonus1.py b/eos/effects/covertopscloakcpupercentbonus1.py
deleted file mode 100644
index e34450131..000000000
--- a/eos/effects/covertopscloakcpupercentbonus1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# covertOpsCloakCpuPercentBonus1
-#
-# Used by:
-# Ships from group: Covert Ops (6 of 8)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Cloaking"),
- "cpu", ship.getModifiedItemAttr("eliteBonusCovertOps1"), skill="Covert Ops")
diff --git a/eos/effects/covertopscloakcpupercentrolebonus.py b/eos/effects/covertopscloakcpupercentrolebonus.py
deleted file mode 100644
index 74269721d..000000000
--- a/eos/effects/covertopscloakcpupercentrolebonus.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# covertOpsCloakCPUPercentRoleBonus
-#
-# Used by:
-# Ships from group: Expedition Frigate (2 of 2)
-# Ship: Astero
-# Ship: Enforcer
-# Ship: Pacifier
-# Ship: Victor
-# Ship: Victorieux Luxury Yacht
-# Ship: Virtuoso
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Cloaking"),
- "cpu", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/covertopscpubonus1.py b/eos/effects/covertopscpubonus1.py
deleted file mode 100644
index 8c45bb186..000000000
--- a/eos/effects/covertopscpubonus1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# covertOpsCpuBonus1
-#
-# Used by:
-# Ships from group: Stealth Bomber (4 of 5)
-# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Cloaking Device",
- "cpu", container.getModifiedItemAttr("cloakingCpuNeedBonus"))
diff --git a/eos/effects/covertopsstealthbombersiegemissilelaunchercpuneedbonus.py b/eos/effects/covertopsstealthbombersiegemissilelaunchercpuneedbonus.py
deleted file mode 100644
index 926aa81c0..000000000
--- a/eos/effects/covertopsstealthbombersiegemissilelaunchercpuneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# covertOpsStealthBomberSiegeMissileLauncherCPUNeedBonus
-#
-# Used by:
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Missile Launcher Torpedo",
- "cpu", ship.getModifiedItemAttr("stealthBomberLauncherCPU"))
diff --git a/eos/effects/covertopsstealthbombersiegemissilelauncherpowerneedbonus.py b/eos/effects/covertopsstealthbombersiegemissilelauncherpowerneedbonus.py
deleted file mode 100644
index 6e26dc922..000000000
--- a/eos/effects/covertopsstealthbombersiegemissilelauncherpowerneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# covertOpsStealthBomberSiegeMissileLauncherPowerNeedBonus
-#
-# Used by:
-# Ships from group: Stealth Bomber (5 of 5)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Missile Launcher Torpedo",
- "power", ship.getModifiedItemAttr("stealthBomberLauncherPower"))
diff --git a/eos/effects/covertopsstealthbombertargettingdelaybonus.py b/eos/effects/covertopsstealthbombertargettingdelaybonus.py
deleted file mode 100644
index 14d838e74..000000000
--- a/eos/effects/covertopsstealthbombertargettingdelaybonus.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# covertOpsStealthBomberTargettingDelayBonus
-#
-# Used by:
-# Ships from group: Black Ops (5 of 5)
-# Ships from group: Stealth Bomber (5 of 5)
-# Ship: Caedes
-# Ship: Chremoas
-# Ship: Endurance
-# Ship: Etana
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemForce(lambda mod: mod.item.group.name == "Cloaking Device",
- "cloakingTargetingDelay",
- ship.getModifiedItemAttr("covertOpsStealthBomberTargettingDelay"))
diff --git a/eos/effects/covertopswarpresistance.py b/eos/effects/covertopswarpresistance.py
deleted file mode 100644
index 1ab7538c1..000000000
--- a/eos/effects/covertopswarpresistance.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# covertOpsWarpResistance
-#
-# Used by:
-# Ships from group: Covert Ops (5 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpFactor", src.getModifiedItemAttr("eliteBonusCovertOps1"), skill="Covert Ops")
diff --git a/eos/effects/cpumultiplierpostmulcpuoutputship.py b/eos/effects/cpumultiplierpostmulcpuoutputship.py
deleted file mode 100644
index 99c14306b..000000000
--- a/eos/effects/cpumultiplierpostmulcpuoutputship.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# cpuMultiplierPostMulCpuOutputShip
-#
-# Used by:
-# Modules from group: CPU Enhancer (19 of 19)
-# Variations of structure module: Standup Co-Processor Array I (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("cpuOutput", module.getModifiedItemAttr("cpuMultiplier"))
diff --git a/eos/effects/cpuneedbonuseffecthybrid.py b/eos/effects/cpuneedbonuseffecthybrid.py
deleted file mode 100644
index b3e7d6c75..000000000
--- a/eos/effects/cpuneedbonuseffecthybrid.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# cpuNeedBonusEffectHybrid
-#
-# Used by:
-# Modules named like: Algid Hybrid Administrations Unit (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "cpu", module.getModifiedItemAttr("cpuNeedBonus"))
diff --git a/eos/effects/cpuneedbonuseffectlasers.py b/eos/effects/cpuneedbonuseffectlasers.py
deleted file mode 100644
index 689898682..000000000
--- a/eos/effects/cpuneedbonuseffectlasers.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# cpuNeedBonusEffectLasers
-#
-# Used by:
-# Modules named like: Algid Energy Administrations Unit (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Weapon",
- "cpu", module.getModifiedItemAttr("cpuNeedBonus"))
diff --git a/eos/effects/cpuoutputaddcpuoutputpassive.py b/eos/effects/cpuoutputaddcpuoutputpassive.py
deleted file mode 100644
index 16c38b5c8..000000000
--- a/eos/effects/cpuoutputaddcpuoutputpassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# cpuOutputAddCpuOutputPassive
-#
-# Used by:
-# Subsystems from group: Offensive Systems (8 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("cpuOutput", module.getModifiedItemAttr("cpuOutput"))
diff --git a/eos/effects/crystalminingamountinfo2.py b/eos/effects/crystalminingamountinfo2.py
deleted file mode 100644
index 68a126d49..000000000
--- a/eos/effects/crystalminingamountinfo2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# crystalMiningamountInfo2
-#
-# Used by:
-# Modules from group: Frequency Mining Laser (3 of 3)
-type = "passive"
-runTime = "late"
-
-def handler(fit, module, context):
- module.preAssignItemAttr("specialtyMiningAmount", module.getModifiedItemAttr("miningAmount"))
diff --git a/eos/effects/cynosuraldurationbonus.py b/eos/effects/cynosuraldurationbonus.py
deleted file mode 100644
index defbd9ca3..000000000
--- a/eos/effects/cynosuraldurationbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# cynosuralDurationBonus
-#
-# Used by:
-# Ships from group: Force Recon Ship (8 of 9)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Cynosural Field Generator",
- "duration", ship.getModifiedItemAttr("durationBonus"))
diff --git a/eos/effects/cynosuralgeneration.py b/eos/effects/cynosuralgeneration.py
deleted file mode 100644
index 36e29c52d..000000000
--- a/eos/effects/cynosuralgeneration.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# cynosuralGeneration
-#
-# Used by:
-# Modules from group: Cynosural Field Generator (2 of 2)
-type = "active"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor"))
diff --git a/eos/effects/cynosuraltheoryconsumptionbonus.py b/eos/effects/cynosuraltheoryconsumptionbonus.py
deleted file mode 100644
index d6bda31b7..000000000
--- a/eos/effects/cynosuraltheoryconsumptionbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# cynosuralTheoryConsumptionBonus
-#
-# Used by:
-# Ships from group: Force Recon Ship (8 of 9)
-# Skill: Cynosural Field Theory
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Cynosural Field Generator",
- "consumptionQuantity",
- container.getModifiedItemAttr("consumptionQuantityBonusPercentage") * level)
diff --git a/eos/effects/damagecontrol.py b/eos/effects/damagecontrol.py
deleted file mode 100644
index f563fac03..000000000
--- a/eos/effects/damagecontrol.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# damageControl
-#
-# Used by:
-# Modules from group: Damage Control (22 of 27)
-type = "passive"
-
-
-def handler(fit, module, context):
- for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):
- for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):
- bonus = "%s%sDamageResonance" % (attrPrefix, damageType)
- bonus = "%s%s" % (bonus[0].lower(), bonus[1:])
- booster = "%s%sDamageResonance" % (layer, damageType)
- fit.ship.multiplyItemAttr(bonus, module.getModifiedItemAttr(booster),
- stackingPenalties=True, penaltyGroup="preMul")
diff --git a/eos/effects/dataminermoduledurationreduction.py b/eos/effects/dataminermoduledurationreduction.py
deleted file mode 100644
index aaa6af58a..000000000
--- a/eos/effects/dataminermoduledurationreduction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# dataminerModuleDurationReduction
-#
-# Used by:
-# Implant: Poteque 'Prospector' Environmental Analysis EY-1005
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Data Miners",
- "duration", implant.getModifiedItemAttr("durationBonus"))
diff --git a/eos/effects/dataminingskillboostaccessdifficultybonusabsolutepercent.py b/eos/effects/dataminingskillboostaccessdifficultybonusabsolutepercent.py
deleted file mode 100644
index 376039994..000000000
--- a/eos/effects/dataminingskillboostaccessdifficultybonusabsolutepercent.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# dataMiningSkillBoostAccessDifficultyBonusAbsolutePercent
-#
-# Used by:
-# Skill: Archaeology
-# Skill: Hacking
-# Skill: Salvaging
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill(skill), "accessDifficultyBonus",
- skill.getModifiedItemAttr("accessDifficultyBonusAbsolutePercent") * skill.level)
diff --git a/eos/effects/disintegratorweapondamagemultiply.py b/eos/effects/disintegratorweapondamagemultiply.py
deleted file mode 100644
index b070c9ee2..000000000
--- a/eos/effects/disintegratorweapondamagemultiply.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# disintegratorWeaponDamageMultiply
-#
-# Used by:
-# Modules from group: Entropic Radiation Sink (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Precursor Weapon",
- "damageMultiplier", module.getModifiedItemAttr("damageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/disintegratorweaponspeedmultiply.py b/eos/effects/disintegratorweaponspeedmultiply.py
deleted file mode 100644
index eccf38371..000000000
--- a/eos/effects/disintegratorweaponspeedmultiply.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# disintegratorWeaponSpeedMultiply
-#
-# Used by:
-# Modules from group: Entropic Radiation Sink (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Precursor Weapon",
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/dohacking.py b/eos/effects/dohacking.py
deleted file mode 100644
index ddd2a7205..000000000
--- a/eos/effects/dohacking.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# doHacking
-#
-# Used by:
-# Modules from group: Data Miners (10 of 10)
-type = "active"
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/doomsdayaoebubble.py b/eos/effects/doomsdayaoebubble.py
deleted file mode 100644
index 8d79e289d..000000000
--- a/eos/effects/doomsdayaoebubble.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# doomsdayAOEBubble
-#
-# Used by:
-# Module: Warp Disruption Burst Projector
-# Structure Module: Standup Warp Disruption Burst Projector
-type = "projected", "active"
-
-
-def handler(fit, module, context):
- return
diff --git a/eos/effects/doomsdayaoedamp.py b/eos/effects/doomsdayaoedamp.py
deleted file mode 100644
index ab55bf185..000000000
--- a/eos/effects/doomsdayaoedamp.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# doomsdayAOEDamp
-#
-# Used by:
-# Module: Sensor Dampening Burst Projector
-# Structure Module: Standup Sensor Dampening Burst Projector
-type = "projected", "active"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" not in context:
- return
-
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
- stackingPenalties=True, *args, **kwargs)
-
- fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/doomsdayaoeecm.py b/eos/effects/doomsdayaoeecm.py
deleted file mode 100644
index 93d3dd847..000000000
--- a/eos/effects/doomsdayaoeecm.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# doomsdayAOEECM
-#
-# Used by:
-# Module: ECM Jammer Burst Projector
-# Structure Module: Standup ECM Jammer Burst Projector
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-type = "projected", "active"
-
-
-def handler(fit, module, context, **kwargs):
- if "projected" in context:
- # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
- strModifier = 1 - module.getModifiedItemAttr("scan{0}StrengthBonus".format(fit.scanType)) / fit.scanStrength
-
- if 'effect' in kwargs:
- strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- fit.ecmProjectedStr *= strModifier
diff --git a/eos/effects/doomsdayaoeneut.py b/eos/effects/doomsdayaoeneut.py
deleted file mode 100644
index 6f9cd2f5e..000000000
--- a/eos/effects/doomsdayaoeneut.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# doomsdayAOENeut
-#
-# Used by:
-# Module: Energy Neutralization Burst Projector
-# Structure Module: Standup Energy Neutralization Burst Projector
-from eos.const import FittingModuleState
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-type = "active", "projected"
-
-
-def handler(fit, src, context, **kwargs):
- if "projected" in context and ((hasattr(src, "state") and src.state >= FittingModuleState.ACTIVE) or
- hasattr(src, "amountActive")):
- amount = src.getModifiedItemAttr("energyNeutralizerAmount")
-
- if 'effect' in kwargs:
- amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- time = src.getModifiedItemAttr("duration")
-
- fit.addDrain(src, time, amount, 0)
diff --git a/eos/effects/doomsdayaoepaint.py b/eos/effects/doomsdayaoepaint.py
deleted file mode 100644
index 1c039c23c..000000000
--- a/eos/effects/doomsdayaoepaint.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# doomsdayAOEPaint
-#
-# Used by:
-# Module: Target Illumination Burst Projector
-# Structure Module: Standup Target Illumination Burst Projector
-type = "projected", "active"
-
-
-def handler(fit, container, context, *args, **kwargs):
- if "projected" in context:
- fit.ship.boostItemAttr("signatureRadius", container.getModifiedItemAttr("signatureRadiusBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/doomsdayaoetrack.py b/eos/effects/doomsdayaoetrack.py
deleted file mode 100644
index 5ee1f31c9..000000000
--- a/eos/effects/doomsdayaoetrack.py
+++ /dev/null
@@ -1,30 +0,0 @@
-# doomsdayAOETrack
-#
-# Used by:
-# Module: Weapon Disruption Burst Projector
-# Structure Module: Standup Weapon Disruption Burst Projector
-
-type = "active", "projected"
-
-
-def handler(fit, module, context, *args, **kwargs):
- 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, module.getModifiedItemAttr(srcAttr),
- stackingPenalties=True, *args, **kwargs)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
- stackingPenalties=True, *args, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "maxRange", module.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True, *args, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "falloff", module.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/doomsdayaoeweb.py b/eos/effects/doomsdayaoeweb.py
deleted file mode 100644
index eb143b14b..000000000
--- a/eos/effects/doomsdayaoeweb.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# doomsdayAOEWeb
-#
-# Used by:
-# Module: Stasis Webification Burst Projector
-# Structure Module: Standup Stasis Webification Burst Projector
-type = "active", "projected"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" not in context:
- return
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/doomsdaybeamdot.py b/eos/effects/doomsdaybeamdot.py
deleted file mode 100644
index b97beb097..000000000
--- a/eos/effects/doomsdaybeamdot.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# doomsdayBeamDOT
-#
-# Used by:
-# Modules named like: Lance (4 of 4)
-type = "active"
-
-
-def handler(fit, src, context):
- pass
diff --git a/eos/effects/doomsdayconedot.py b/eos/effects/doomsdayconedot.py
deleted file mode 100644
index 3e92fb8f6..000000000
--- a/eos/effects/doomsdayconedot.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# doomsdayConeDOT
-#
-# Used by:
-# Module: Bosonic Field Generator
-type = "active"
-
-
-def handler(fit, src, context):
- pass
diff --git a/eos/effects/doomsdayhog.py b/eos/effects/doomsdayhog.py
deleted file mode 100644
index 4e0fcc1dd..000000000
--- a/eos/effects/doomsdayhog.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# doomsdayHOG
-#
-# Used by:
-# Module: Gravitational Transportation Field Oscillator
-type = "active"
-
-
-def handler(fit, src, context):
- pass
diff --git a/eos/effects/doomsdayslash.py b/eos/effects/doomsdayslash.py
deleted file mode 100644
index 934766b11..000000000
--- a/eos/effects/doomsdayslash.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# doomsdaySlash
-#
-# Used by:
-# Modules named like: Reaper (4 of 4)
-type = "active"
-
-
-def handler(fit, src, context):
- pass
diff --git a/eos/effects/drawbackarmorhp.py b/eos/effects/drawbackarmorhp.py
deleted file mode 100644
index 94c4fb0ff..000000000
--- a/eos/effects/drawbackarmorhp.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# drawbackArmorHP
-#
-# Used by:
-# Modules from group: Rig Navigation (48 of 64)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("armorHP", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbackcapreppgneed.py b/eos/effects/drawbackcapreppgneed.py
deleted file mode 100644
index e5812f575..000000000
--- a/eos/effects/drawbackcapreppgneed.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# drawbackCapRepPGNeed
-#
-# Used by:
-# Variations of module: Capital Auxiliary Nano Pump I (2 of 2)
-# Variations of module: Capital Nanobot Accelerator I (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"),
- "power", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbackcargocapacity.py b/eos/effects/drawbackcargocapacity.py
deleted file mode 100644
index 07f5bf171..000000000
--- a/eos/effects/drawbackcargocapacity.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# drawbackCargoCapacity
-#
-# Used by:
-# Modules named like: Transverse Bulkhead (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("capacity", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbackcpuneedlaunchers.py b/eos/effects/drawbackcpuneedlaunchers.py
deleted file mode 100644
index cb22a2523..000000000
--- a/eos/effects/drawbackcpuneedlaunchers.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# drawbackCPUNeedLaunchers
-#
-# Used by:
-# Modules from group: Rig Launcher (48 of 48)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "cpu", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbackcpuoutput.py b/eos/effects/drawbackcpuoutput.py
deleted file mode 100644
index 659199ee1..000000000
--- a/eos/effects/drawbackcpuoutput.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# drawbackCPUOutput
-#
-# Used by:
-# Modules from group: Rig Drones (58 of 64)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("cpuOutput", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbackmaxvelocity.py b/eos/effects/drawbackmaxvelocity.py
deleted file mode 100644
index 8bdd806ae..000000000
--- a/eos/effects/drawbackmaxvelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# drawbackMaxVelocity
-#
-# Used by:
-# Modules from group: Rig Armor (48 of 72)
-# Modules from group: Rig Resource Processing (8 of 10)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("drawback"),
- stackingPenalties=True)
diff --git a/eos/effects/drawbackpowerneedhybrids.py b/eos/effects/drawbackpowerneedhybrids.py
deleted file mode 100644
index 68a8c4233..000000000
--- a/eos/effects/drawbackpowerneedhybrids.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# drawbackPowerNeedHybrids
-#
-# Used by:
-# Modules from group: Rig Hybrid Weapon (56 of 56)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "power", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbackpowerneedlasers.py b/eos/effects/drawbackpowerneedlasers.py
deleted file mode 100644
index addcabb17..000000000
--- a/eos/effects/drawbackpowerneedlasers.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# drawbackPowerNeedLasers
-#
-# Used by:
-# Modules from group: Rig Energy Weapon (56 of 56)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Weapon",
- "power", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbackpowerneedprojectiles.py b/eos/effects/drawbackpowerneedprojectiles.py
deleted file mode 100644
index 0f8490bfd..000000000
--- a/eos/effects/drawbackpowerneedprojectiles.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# drawbackPowerNeedProjectiles
-#
-# Used by:
-# Modules from group: Rig Projectile Weapon (40 of 40)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Projectile Weapon",
- "power", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbackrepairsystemspgneed.py b/eos/effects/drawbackrepairsystemspgneed.py
deleted file mode 100644
index 1eba7dc3c..000000000
--- a/eos/effects/drawbackrepairsystemspgneed.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# drawbackRepairSystemsPGNeed
-#
-# Used by:
-# Modules named like: Auxiliary Nano Pump (6 of 8)
-# Modules named like: Nanobot Accelerator (6 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "power", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbackshieldcapacity.py b/eos/effects/drawbackshieldcapacity.py
deleted file mode 100644
index 84887a559..000000000
--- a/eos/effects/drawbackshieldcapacity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# drawbackShieldCapacity
-#
-# Used by:
-# Modules from group: Rig Electronic Systems (40 of 48)
-# Modules from group: Rig Targeting (16 of 16)
-# Modules named like: Signal Focusing Kit (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("shieldCapacity", module.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/drawbacksigrad.py b/eos/effects/drawbacksigrad.py
deleted file mode 100644
index 176bdd423..000000000
--- a/eos/effects/drawbacksigrad.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# drawbackSigRad
-#
-# Used by:
-# Modules from group: Rig Shield (72 of 72)
-# Modules named like: Optimizer (16 of 16)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("drawback"), stackingPenalties=True)
diff --git a/eos/effects/drawbackwarpspeed.py b/eos/effects/drawbackwarpspeed.py
deleted file mode 100644
index a37a3e441..000000000
--- a/eos/effects/drawbackwarpspeed.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# drawbackWarpSpeed
-#
-# Used by:
-# Modules from group: Rig Anchor (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", module.getModifiedItemAttr("drawback"), stackingPenalties=True)
diff --git a/eos/effects/dronearmordamagebonuseffect.py b/eos/effects/dronearmordamagebonuseffect.py
deleted file mode 100644
index a5cfb52fe..000000000
--- a/eos/effects/dronearmordamagebonuseffect.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# droneArmorDamageBonusEffect
-#
-# Used by:
-# Ships from group: Logistics (6 of 7)
-# Ship: Exequror
-# Ship: Scythe
-type = "passive"
-
-
-def handler(fit, ship, context):
- # This is actually level-less bonus, anyway you have to train cruisers 5
- # and will get 100% (20%/lvl as stated by description)
- fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Logistic Drone",
- "armorDamageAmount", ship.getModifiedItemAttr("droneArmorDamageAmountBonus"))
diff --git a/eos/effects/dronebandwidthaddpassive.py b/eos/effects/dronebandwidthaddpassive.py
deleted file mode 100644
index 704fa8177..000000000
--- a/eos/effects/dronebandwidthaddpassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# droneBandwidthAddPassive
-#
-# Used by:
-# Subsystems from group: Offensive Systems (12 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("droneBandwidth", module.getModifiedItemAttr("droneBandwidth"))
diff --git a/eos/effects/dronecapacityadddronecapacitypassive.py b/eos/effects/dronecapacityadddronecapacitypassive.py
deleted file mode 100644
index 83222cb93..000000000
--- a/eos/effects/dronecapacityadddronecapacitypassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# droneCapacityAdddroneCapacityPassive
-#
-# Used by:
-# Subsystems from group: Offensive Systems (12 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("droneCapacity", module.getModifiedItemAttr("droneCapacity"))
diff --git a/eos/effects/dronedmgbonus.py b/eos/effects/dronedmgbonus.py
deleted file mode 100644
index 2256ff5b4..000000000
--- a/eos/effects/dronedmgbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# droneDmgBonus
-#
-# Used by:
-# Skills from group: Drones (8 of 26)
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill(skill),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/dronedurabilityarmorhpbonus.py b/eos/effects/dronedurabilityarmorhpbonus.py
deleted file mode 100644
index 9f22fa762..000000000
--- a/eos/effects/dronedurabilityarmorhpbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# droneDurabilityArmorHPBonus
-#
-# Used by:
-# Modules named like: Drone Durability Enhancer (6 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "armorHP", module.getModifiedItemAttr("hullHpBonus"))
diff --git a/eos/effects/dronedurabilityhpbonus.py b/eos/effects/dronedurabilityhpbonus.py
deleted file mode 100644
index cbd2fb065..000000000
--- a/eos/effects/dronedurabilityhpbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# droneDurabilityHPBonus
-#
-# Used by:
-# Modules named like: Drone Durability Enhancer (6 of 8)
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "hp", container.getModifiedItemAttr("hullHpBonus") * level)
diff --git a/eos/effects/dronedurabilityshieldcapbonus.py b/eos/effects/dronedurabilityshieldcapbonus.py
deleted file mode 100644
index 75f7c1ca7..000000000
--- a/eos/effects/dronedurabilityshieldcapbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# droneDurabilityShieldCapBonus
-#
-# Used by:
-# Modules named like: Drone Durability Enhancer (6 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "shieldCapacity", module.getModifiedItemAttr("hullHpBonus"))
diff --git a/eos/effects/dronehullrepairbonuseffect.py b/eos/effects/dronehullrepairbonuseffect.py
deleted file mode 100644
index 532f3e28e..000000000
--- a/eos/effects/dronehullrepairbonuseffect.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# droneHullRepairBonusEffect
-#
-# Used by:
-# Ships from group: Logistics (6 of 7)
-# Ship: Exequror
-# Ship: Scythe
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Logistic Drone", "structureDamageAmount",
- src.getModifiedItemAttr("droneArmorDamageAmountBonus"))
diff --git a/eos/effects/dronemaxrangebonus.py b/eos/effects/dronemaxrangebonus.py
deleted file mode 100644
index fba4a35bc..000000000
--- a/eos/effects/dronemaxrangebonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# droneMaxRangeBonus
-#
-# Used by:
-# Modules named like: Drone Scope Chip (6 of 8)
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- stacking = False if "skill" in context else True
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "maxRange",
- container.getModifiedItemAttr("rangeSkillBonus") * level,
- stackingPenalties=stacking)
diff --git a/eos/effects/dronemaxvelocitybonus.py b/eos/effects/dronemaxvelocitybonus.py
deleted file mode 100644
index 9ab5f4af0..000000000
--- a/eos/effects/dronemaxvelocitybonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# droneMaxVelocityBonus
-#
-# Used by:
-# Modules named like: Drone Speed Augmentor (6 of 8)
-# Implant: Overmind 'Goliath' Drone Tuner T25-10S
-# Implant: Overmind 'Hawkmoth' Drone Tuner S10-25T
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "maxVelocity", container.getModifiedItemAttr("droneMaxVelocityBonus") * level, stackingPenalties=True)
diff --git a/eos/effects/dronerangebonusadd.py b/eos/effects/dronerangebonusadd.py
deleted file mode 100644
index 790825723..000000000
--- a/eos/effects/dronerangebonusadd.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# droneRangeBonusAdd
-#
-# Used by:
-# Modules from group: Drone Control Range Module (7 of 7)
-type = "passive"
-
-
-def handler(fit, module, context):
- amount = module.getModifiedItemAttr("droneRangeBonus")
- fit.extraAttributes.increase("droneControlRange", amount)
diff --git a/eos/effects/dronerigstasiswebspeedfactorbonus.py b/eos/effects/dronerigstasiswebspeedfactorbonus.py
deleted file mode 100644
index 7f060a291..000000000
--- a/eos/effects/dronerigstasiswebspeedfactorbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# droneRigStasisWebSpeedFactorBonus
-#
-# Used by:
-# Modules named like: Stasis Drone Augmentor (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Stasis Webifying Drone",
- "speedFactor", module.getModifiedItemAttr("webSpeedFactorBonus"))
diff --git a/eos/effects/dronesalvagebonus.py b/eos/effects/dronesalvagebonus.py
deleted file mode 100644
index 1e9deef53..000000000
--- a/eos/effects/dronesalvagebonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# droneSalvageBonus
-#
-# Used by:
-# Skill: Salvage Drone Operation
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.drones.filteredItemIncrease(lambda drone: drone.item.requiresSkill("Salvage Drone Operation"),
- "accessDifficultyBonus",
- container.getModifiedItemAttr("accessDifficultyBonus") * container.level)
diff --git a/eos/effects/droneshieldbonusbonuseffect.py b/eos/effects/droneshieldbonusbonuseffect.py
deleted file mode 100644
index 2f2d1e6c5..000000000
--- a/eos/effects/droneshieldbonusbonuseffect.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# droneShieldBonusBonusEffect
-#
-# Used by:
-# Ships from group: Logistics (6 of 7)
-# Ship: Exequror
-# Ship: Scythe
-type = "passive"
-
-
-def handler(fit, ship, context):
- # This is actually level-less bonus, anyway you have to train cruisers 5
- # and will get 100% (20%/lvl as stated by description)
- fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Logistic Drone",
- "shieldBonus", ship.getModifiedItemAttr("droneShieldBonusBonus"))
diff --git a/eos/effects/dronesskillboostmaxactivedronebonus.py b/eos/effects/dronesskillboostmaxactivedronebonus.py
deleted file mode 100644
index aae3f84a7..000000000
--- a/eos/effects/dronesskillboostmaxactivedronebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# dronesSkillBoostMaxActiveDroneBonus
-#
-# Used by:
-# Skill: Drones
-type = "passive"
-
-
-def handler(fit, skill, context):
- amount = skill.getModifiedItemAttr("maxActiveDroneBonus") * skill.level
- fit.extraAttributes.increase("maxActiveDrones", amount)
diff --git a/eos/effects/durationbonusforgroupafterburner.py b/eos/effects/durationbonusforgroupafterburner.py
deleted file mode 100644
index d193ca6ef..000000000
--- a/eos/effects/durationbonusforgroupafterburner.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# durationBonusForGroupAfterburner
-#
-# Used by:
-# Modules named like: Engine Thermal Shielding (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
- "duration", module.getModifiedItemAttr("durationBonus"))
diff --git a/eos/effects/ecmburstjammer.py b/eos/effects/ecmburstjammer.py
deleted file mode 100644
index f21b89391..000000000
--- a/eos/effects/ecmburstjammer.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# ECMBurstJammer
-#
-# Used by:
-# Modules from group: Burst Jammer (11 of 11)
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-type = "projected", "active"
-
-
-def handler(fit, module, context, **kwargs):
- if "projected" in context:
- # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
- strModifier = 1 - module.getModifiedItemAttr("scan{0}StrengthBonus".format(fit.scanType)) / fit.scanStrength
-
- if 'effect' in kwargs:
- strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- fit.ecmProjectedStr *= strModifier
diff --git a/eos/effects/ecmgravimetricstrengthbonuspercent.py b/eos/effects/ecmgravimetricstrengthbonuspercent.py
deleted file mode 100644
index 35bac7668..000000000
--- a/eos/effects/ecmgravimetricstrengthbonuspercent.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# ecmGravimetricStrengthBonusPercent
-#
-# Used by:
-# Modules from group: ECM Stabilizer (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scanGravimetricStrengthBonus", module.getModifiedItemAttr("ecmStrengthBonusPercent"),
- stackingPenalties=True)
diff --git a/eos/effects/ecmladarstrengthbonuspercent.py b/eos/effects/ecmladarstrengthbonuspercent.py
deleted file mode 100644
index 1ff5830a8..000000000
--- a/eos/effects/ecmladarstrengthbonuspercent.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# ecmLadarStrengthBonusPercent
-#
-# Used by:
-# Modules from group: ECM Stabilizer (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scanLadarStrengthBonus", module.getModifiedItemAttr("ecmStrengthBonusPercent"),
- stackingPenalties=True)
diff --git a/eos/effects/ecmmagnetometricstrengthbonuspercent.py b/eos/effects/ecmmagnetometricstrengthbonuspercent.py
deleted file mode 100644
index 84eb6163d..000000000
--- a/eos/effects/ecmmagnetometricstrengthbonuspercent.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# ecmMagnetometricStrengthBonusPercent
-#
-# Used by:
-# Modules from group: ECM Stabilizer (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scanMagnetometricStrengthBonus",
- module.getModifiedItemAttr("ecmStrengthBonusPercent"),
- stackingPenalties=True)
diff --git a/eos/effects/ecmradarstrengthbonuspercent.py b/eos/effects/ecmradarstrengthbonuspercent.py
deleted file mode 100644
index a70573cdc..000000000
--- a/eos/effects/ecmradarstrengthbonuspercent.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# ecmRadarStrengthBonusPercent
-#
-# Used by:
-# Modules from group: ECM Stabilizer (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scanRadarStrengthBonus", module.getModifiedItemAttr("ecmStrengthBonusPercent"),
- stackingPenalties=True)
diff --git a/eos/effects/ecmrangebonusmoduleeffect.py b/eos/effects/ecmrangebonusmoduleeffect.py
deleted file mode 100644
index 5300152bc..000000000
--- a/eos/effects/ecmrangebonusmoduleeffect.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# ecmRangeBonusModuleEffect
-#
-# Used by:
-# Modules from group: ECM Stabilizer (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "maxRange", module.getModifiedItemAttr("ecmRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/electronicattributemodifyonline.py b/eos/effects/electronicattributemodifyonline.py
deleted file mode 100644
index 9e1f52524..000000000
--- a/eos/effects/electronicattributemodifyonline.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# electronicAttributeModifyOnline
-#
-# Used by:
-# Modules from group: Automated Targeting System (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("maxLockedTargets", module.getModifiedItemAttr("maxLockedTargetsBonus"))
diff --git a/eos/effects/electronicscpuoutputbonuspostpercentcpuoutputlocationshipgroupcomputer.py b/eos/effects/electronicscpuoutputbonuspostpercentcpuoutputlocationshipgroupcomputer.py
deleted file mode 100644
index 7a6b5a0d5..000000000
--- a/eos/effects/electronicscpuoutputbonuspostpercentcpuoutputlocationshipgroupcomputer.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# electronicsCpuOutputBonusPostPercentCpuOutputLocationShipGroupComputer
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' CPU Management EE (6 of 6)
-# Modules named like: Processor Overclocking Unit (8 of 8)
-# Subsystems named like: Core Electronic Efficiency Gate (2 of 2)
-# Implant: Genolution Core Augmentation CA-2
-# Skill: CPU Management
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("cpuOutput", container.getModifiedItemAttr("cpuOutputBonus2") * level)
diff --git a/eos/effects/elitebargebonusiceharvestingcycletimebarge3.py b/eos/effects/elitebargebonusiceharvestingcycletimebarge3.py
deleted file mode 100644
index 0ae042d2d..000000000
--- a/eos/effects/elitebargebonusiceharvestingcycletimebarge3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBargeBonusIceHarvestingCycleTimeBarge3
-#
-# Used by:
-# Ships from group: Exhumer (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
- "duration", ship.getModifiedItemAttr("eliteBonusBarge2"), skill="Exhumers")
diff --git a/eos/effects/elitebargebonusminingdurationbarge2.py b/eos/effects/elitebargebonusminingdurationbarge2.py
deleted file mode 100644
index 6009d9542..000000000
--- a/eos/effects/elitebargebonusminingdurationbarge2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBargeBonusMiningDurationBarge2
-#
-# Used by:
-# Ships from group: Exhumer (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
- "duration", ship.getModifiedItemAttr("eliteBonusBarge2"), skill="Exhumers")
diff --git a/eos/effects/elitebargeshieldresistance1.py b/eos/effects/elitebargeshieldresistance1.py
deleted file mode 100644
index 33f370af1..000000000
--- a/eos/effects/elitebargeshieldresistance1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBargeShieldResistance1
-#
-# Used by:
-# Ships from group: Exhumer (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- for damageType in ("em", "thermal", "explosive", "kinetic"):
- fit.ship.boostItemAttr("shield{}DamageResonance".format(damageType.capitalize()),
- ship.getModifiedItemAttr("eliteBonusBarge1"), skill="Exhumers")
diff --git a/eos/effects/elitebonusassaultshiplightmissilerof.py b/eos/effects/elitebonusassaultshiplightmissilerof.py
deleted file mode 100644
index 1f9169e7e..000000000
--- a/eos/effects/elitebonusassaultshiplightmissilerof.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusAssaultShipLightMissileROF
-#
-# Used by:
-# Ship: Cambion
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Light",
- "speed", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusassaultshipmissilevelocity1.py b/eos/effects/elitebonusassaultshipmissilevelocity1.py
deleted file mode 100644
index 2031a3db3..000000000
--- a/eos/effects/elitebonusassaultshipmissilevelocity1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusAssaultShipMissileVelocity1
-#
-# Used by:
-# Ship: Hawk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", ship.getModifiedItemAttr("eliteBonusGunship1"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusassaultshiprocketrof.py b/eos/effects/elitebonusassaultshiprocketrof.py
deleted file mode 100644
index 4d7622063..000000000
--- a/eos/effects/elitebonusassaultshiprocketrof.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusAssaultShipRocketROF
-#
-# Used by:
-# Ship: Cambion
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rocket",
- "speed", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusblackopsagiliy1.py b/eos/effects/elitebonusblackopsagiliy1.py
deleted file mode 100644
index d5a92e778..000000000
--- a/eos/effects/elitebonusblackopsagiliy1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusBlackOpsAgiliy1
-#
-# Used by:
-# Ship: Sin
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
diff --git a/eos/effects/elitebonusblackopscloakvelocity2.py b/eos/effects/elitebonusblackopscloakvelocity2.py
deleted file mode 100644
index af6239d41..000000000
--- a/eos/effects/elitebonusblackopscloakvelocity2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusBlackOpsCloakVelocity2
-#
-# Used by:
-# Ships from group: Black Ops (5 of 5)
-type = "passive"
-
-
-def handler(fit, ship, context):
- if fit.extraAttributes["cloaked"]:
- fit.ship.multiplyItemAttr("maxVelocity", ship.getModifiedItemAttr("eliteBonusBlackOps2"), skill="Black Ops")
diff --git a/eos/effects/elitebonusblackopsecmburstgravandladarandmagnetoandradar.py b/eos/effects/elitebonusblackopsecmburstgravandladarandmagnetoandradar.py
deleted file mode 100644
index dc9741208..000000000
--- a/eos/effects/elitebonusblackopsecmburstgravandladarandmagnetoandradar.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteBonusBlackOpsECMBurstGravAndLadarAndMagnetoAndRadar
-#
-# Used by:
-# Ship: Widow
-type = "passive"
-
-
-def handler(fit, ship, context):
- sensorTypes = ("Gravimetric", "Ladar", "Magnetometric", "Radar")
- for type in sensorTypes:
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Burst Jammer",
- "scan{0}StrengthBonus".format(type),
- ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
diff --git a/eos/effects/elitebonusblackopsecmgravandladarandmagnetometricandradarstrength1.py b/eos/effects/elitebonusblackopsecmgravandladarandmagnetometricandradarstrength1.py
deleted file mode 100644
index 6fb22fc13..000000000
--- a/eos/effects/elitebonusblackopsecmgravandladarandmagnetometricandradarstrength1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteBonusBlackOpsECMGravAndLadarAndMagnetometricAndRadarStrength1
-#
-# Used by:
-# Ship: Widow
-type = "passive"
-
-
-def handler(fit, ship, context):
- sensorTypes = ("Gravimetric", "Ladar", "Magnetometric", "Radar")
- for type in sensorTypes:
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "scan{0}StrengthBonus".format(type),
- ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
diff --git a/eos/effects/elitebonusblackopslargeenergyturrettracking1.py b/eos/effects/elitebonusblackopslargeenergyturrettracking1.py
deleted file mode 100644
index 0d20b2c44..000000000
--- a/eos/effects/elitebonusblackopslargeenergyturrettracking1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusBlackOpsLargeEnergyTurretTracking1
-#
-# Used by:
-# Ship: Redeemer
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
diff --git a/eos/effects/elitebonusblackopsmaxvelocity1.py b/eos/effects/elitebonusblackopsmaxvelocity1.py
deleted file mode 100644
index 8fe20233c..000000000
--- a/eos/effects/elitebonusblackopsmaxvelocity1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusBlackOpsMaxVelocity1
-#
-# Used by:
-# Ship: Panther
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
diff --git a/eos/effects/elitebonusblackopsscramblerrange4.py b/eos/effects/elitebonusblackopsscramblerrange4.py
deleted file mode 100644
index 67519dc01..000000000
--- a/eos/effects/elitebonusblackopsscramblerrange4.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusBlackOpsScramblerRange4
-#
-# Used by:
-# Ship: Marshal
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler", "maxRange",
- src.getModifiedItemAttr("eliteBonusBlackOps4"), stackingPenalties=True, skill="Black Ops")
diff --git a/eos/effects/elitebonusblackopswarpvelocity1.py b/eos/effects/elitebonusblackopswarpvelocity1.py
deleted file mode 100644
index b3f824494..000000000
--- a/eos/effects/elitebonusblackopswarpvelocity1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusBlackOpsWarpVelocity1
-#
-# Used by:
-# Ship: Marshal
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", src.getModifiedItemAttr("eliteBonusBlackOps1"), stackingPenalties=True, skill="Black Ops")
diff --git a/eos/effects/elitebonusblackopswebrange3.py b/eos/effects/elitebonusblackopswebrange3.py
deleted file mode 100644
index c1ea901de..000000000
--- a/eos/effects/elitebonusblackopswebrange3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusBlackOpsWebRange3
-#
-# Used by:
-# Ship: Marshal
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "maxRange",
- src.getModifiedItemAttr("eliteBonusBlackOps3"), stackingPenalties=True, skill="Black Ops")
diff --git a/eos/effects/elitebonuscommanddestroyerarmored1.py b/eos/effects/elitebonuscommanddestroyerarmored1.py
deleted file mode 100644
index 83df03351..000000000
--- a/eos/effects/elitebonuscommanddestroyerarmored1.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# eliteBonusCommandDestroyerArmored1
-#
-# Used by:
-# Ship: Magus
-# Ship: Pontifex
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff2Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff3Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "buffDuration",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff4Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff1Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
diff --git a/eos/effects/elitebonuscommanddestroyerinfo1.py b/eos/effects/elitebonuscommanddestroyerinfo1.py
deleted file mode 100644
index 2f17453b2..000000000
--- a/eos/effects/elitebonuscommanddestroyerinfo1.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# eliteBonusCommandDestroyerInfo1
-#
-# Used by:
-# Ship: Pontifex
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff1Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff3Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff2Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "buffDuration",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff4Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
diff --git a/eos/effects/elitebonuscommanddestroyermjfgspool2.py b/eos/effects/elitebonuscommanddestroyermjfgspool2.py
deleted file mode 100644
index 1b9aa7af9..000000000
--- a/eos/effects/elitebonuscommanddestroyermjfgspool2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusCommandDestroyerMJFGspool2
-#
-# Used by:
-# Ships from group: Command Destroyer (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Micro Jump Drive Operation"), "duration",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer2"), skill="Command Destroyers")
diff --git a/eos/effects/elitebonuscommanddestroyershield1.py b/eos/effects/elitebonuscommanddestroyershield1.py
deleted file mode 100644
index 03c2e2b8e..000000000
--- a/eos/effects/elitebonuscommanddestroyershield1.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# eliteBonusCommandDestroyerShield1
-#
-# Used by:
-# Ship: Bifrost
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff3Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "buffDuration",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff1Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff4Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff2Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
diff --git a/eos/effects/elitebonuscommanddestroyerskirmish1.py b/eos/effects/elitebonuscommanddestroyerskirmish1.py
deleted file mode 100644
index b33bdfa02..000000000
--- a/eos/effects/elitebonuscommanddestroyerskirmish1.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# eliteBonusCommandDestroyerSkirmish1
-#
-# Used by:
-# Ship: Bifrost
-# Ship: Magus
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff3Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "buffDuration",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff1Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff4Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff2Value",
- src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")
diff --git a/eos/effects/elitebonuscommandshiparmoredcs3.py b/eos/effects/elitebonuscommandshiparmoredcs3.py
deleted file mode 100644
index d7bc3fc46..000000000
--- a/eos/effects/elitebonuscommandshiparmoredcs3.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# eliteBonusCommandShipArmoredCS3
-#
-# Used by:
-# Ships from group: Command Ship (4 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff3Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff1Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff2Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "buffDuration",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff4Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshiparmorhp1.py b/eos/effects/elitebonuscommandshiparmorhp1.py
deleted file mode 100644
index c8492c130..000000000
--- a/eos/effects/elitebonuscommandshiparmorhp1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusCommandShipArmorHP1
-#
-# Used by:
-# Ship: Damnation
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorHP", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshiphamrofcs1.py b/eos/effects/elitebonuscommandshiphamrofcs1.py
deleted file mode 100644
index d57f9df19..000000000
--- a/eos/effects/elitebonuscommandshiphamrofcs1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipHAMRoFCS1
-#
-# Used by:
-# Ship: Claymore
-# Ship: Nighthawk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault",
- "speed", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipheavyassaultmissiledamagecs2.py b/eos/effects/elitebonuscommandshipheavyassaultmissiledamagecs2.py
deleted file mode 100644
index 866509be5..000000000
--- a/eos/effects/elitebonuscommandshipheavyassaultmissiledamagecs2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteBonusCommandShipHeavyAssaultMissileDamageCS2
-#
-# Used by:
-# Ship: Damnation
-type = "passive"
-
-
-def handler(fit, ship, context):
- damageTypes = ("em", "explosive", "kinetic", "thermal")
- for damageType in damageTypes:
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "{0}Damage".format(damageType),
- ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipheavydronetrackingcs2.py b/eos/effects/elitebonuscommandshipheavydronetrackingcs2.py
deleted file mode 100644
index 7e359e3e0..000000000
--- a/eos/effects/elitebonuscommandshipheavydronetrackingcs2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipHeavyDroneTrackingCS2
-#
-# Used by:
-# Ship: Eos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusCommandShips2"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipheavydronevelocitycs2.py b/eos/effects/elitebonuscommandshipheavydronevelocitycs2.py
deleted file mode 100644
index 8b105c48a..000000000
--- a/eos/effects/elitebonuscommandshipheavydronevelocitycs2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipHeavyDroneVelocityCS2
-#
-# Used by:
-# Ship: Eos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "maxVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipheavymissiledamagecs2.py b/eos/effects/elitebonuscommandshipheavymissiledamagecs2.py
deleted file mode 100644
index f6f10902c..000000000
--- a/eos/effects/elitebonuscommandshipheavymissiledamagecs2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteBonusCommandShipHeavyMissileDamageCS2
-#
-# Used by:
-# Ship: Damnation
-type = "passive"
-
-
-def handler(fit, ship, context):
- damageTypes = ("em", "explosive", "kinetic", "thermal")
- for damageType in damageTypes:
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "{0}Damage".format(damageType),
- ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshiphmrofcs1.py b/eos/effects/elitebonuscommandshiphmrofcs1.py
deleted file mode 100644
index 2907e0885..000000000
--- a/eos/effects/elitebonuscommandshiphmrofcs1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipHMRoFCS1
-#
-# Used by:
-# Ship: Claymore
-# Ship: Nighthawk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy",
- "speed", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshiphybridfalloffcs2.py b/eos/effects/elitebonuscommandshiphybridfalloffcs2.py
deleted file mode 100644
index a2a89d17d..000000000
--- a/eos/effects/elitebonuscommandshiphybridfalloffcs2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusCommandShipHybridFalloffCS2
-#
-# Used by:
-# Ship: Astarte
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "falloff", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshiphybridoptimalcs1.py b/eos/effects/elitebonuscommandshiphybridoptimalcs1.py
deleted file mode 100644
index c26d77ef6..000000000
--- a/eos/effects/elitebonuscommandshiphybridoptimalcs1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipHybridOptimalCS1
-#
-# Used by:
-# Ship: Vulture
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusCommandShips1"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipinformationcs3.py b/eos/effects/elitebonuscommandshipinformationcs3.py
deleted file mode 100644
index 283cc76d6..000000000
--- a/eos/effects/elitebonuscommandshipinformationcs3.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# eliteBonusCommandShipInformationCS3
-#
-# Used by:
-# Ships from group: Command Ship (4 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "buffDuration",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff3Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff2Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff1Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff4Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshiplaserdamagecs1.py b/eos/effects/elitebonuscommandshiplaserdamagecs1.py
deleted file mode 100644
index a14f6cd70..000000000
--- a/eos/effects/elitebonuscommandshiplaserdamagecs1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipLaserDamageCS1
-#
-# Used by:
-# Ship: Absolution
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips1"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshiplaserrofcs2.py b/eos/effects/elitebonuscommandshiplaserrofcs2.py
deleted file mode 100644
index 50b0624e1..000000000
--- a/eos/effects/elitebonuscommandshiplaserrofcs2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusCommandShipLaserROFCS2
-#
-# Used by:
-# Ship: Absolution
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "speed", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipmediumhybriddamagecs2.py b/eos/effects/elitebonuscommandshipmediumhybriddamagecs2.py
deleted file mode 100644
index 5f491a84b..000000000
--- a/eos/effects/elitebonuscommandshipmediumhybriddamagecs2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipMediumHybridDamageCS2
-#
-# Used by:
-# Ship: Vulture
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips2"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipmediumhybridrofcs1.py b/eos/effects/elitebonuscommandshipmediumhybridrofcs1.py
deleted file mode 100644
index b7cec2d64..000000000
--- a/eos/effects/elitebonuscommandshipmediumhybridrofcs1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusCommandShipMediumHybridRoFCS1
-#
-# Used by:
-# Ship: Astarte
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "speed", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipmediumhybridtrackingcs1.py b/eos/effects/elitebonuscommandshipmediumhybridtrackingcs1.py
deleted file mode 100644
index 5d855b11c..000000000
--- a/eos/effects/elitebonuscommandshipmediumhybridtrackingcs1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipMediumHybridTrackingCS1
-#
-# Used by:
-# Ship: Eos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusCommandShips1"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipprojectiledamagecs1.py b/eos/effects/elitebonuscommandshipprojectiledamagecs1.py
deleted file mode 100644
index c6fdde891..000000000
--- a/eos/effects/elitebonuscommandshipprojectiledamagecs1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipProjectileDamageCS1
-#
-# Used by:
-# Ship: Sleipnir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips1"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipprojectilefalloffcs2.py b/eos/effects/elitebonuscommandshipprojectilefalloffcs2.py
deleted file mode 100644
index 074b7aaad..000000000
--- a/eos/effects/elitebonuscommandshipprojectilefalloffcs2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusCommandShipProjectileFalloffCS2
-#
-# Used by:
-# Ship: Sleipnir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipsheavyassaultmissileexplosionradiuscs2.py b/eos/effects/elitebonuscommandshipsheavyassaultmissileexplosionradiuscs2.py
deleted file mode 100644
index dc04674b7..000000000
--- a/eos/effects/elitebonuscommandshipsheavyassaultmissileexplosionradiuscs2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipsHeavyAssaultMissileExplosionRadiusCS2
-#
-# Used by:
-# Ship: Nighthawk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "aoeCloudSize", ship.getModifiedItemAttr("eliteBonusCommandShips2"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipsheavyassaultmissileexplosionvelocitycs2.py b/eos/effects/elitebonuscommandshipsheavyassaultmissileexplosionvelocitycs2.py
deleted file mode 100644
index 45b63167c..000000000
--- a/eos/effects/elitebonuscommandshipsheavyassaultmissileexplosionvelocitycs2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipsHeavyAssaultMissileExplosionVelocityCS2
-#
-# Used by:
-# Ship: Claymore
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "aoeVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipsheavymissileexplosionradiuscs2.py b/eos/effects/elitebonuscommandshipsheavymissileexplosionradiuscs2.py
deleted file mode 100644
index 7200ea677..000000000
--- a/eos/effects/elitebonuscommandshipsheavymissileexplosionradiuscs2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipsHeavyMissileExplosionRadiusCS2
-#
-# Used by:
-# Ship: Nighthawk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "aoeCloudSize", ship.getModifiedItemAttr("eliteBonusCommandShips2"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipsheavymissileexplosionvelocitycs2.py b/eos/effects/elitebonuscommandshipsheavymissileexplosionvelocitycs2.py
deleted file mode 100644
index af5122311..000000000
--- a/eos/effects/elitebonuscommandshipsheavymissileexplosionvelocitycs2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCommandShipsHeavyMissileExplosionVelocityCS2
-#
-# Used by:
-# Ship: Claymore
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "aoeVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2"),
- skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipsiegecs3.py b/eos/effects/elitebonuscommandshipsiegecs3.py
deleted file mode 100644
index a17eb44dc..000000000
--- a/eos/effects/elitebonuscommandshipsiegecs3.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# eliteBonusCommandShipSiegeCS3
-#
-# Used by:
-# Ships from group: Command Ship (4 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff1Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff4Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff2Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "buffDuration",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff3Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscommandshipskirmishcs3.py b/eos/effects/elitebonuscommandshipskirmishcs3.py
deleted file mode 100644
index 345191164..000000000
--- a/eos/effects/elitebonuscommandshipskirmishcs3.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# eliteBonusCommandShipSkirmishCS3
-#
-# Used by:
-# Ships from group: Command Ship (4 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff2Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff1Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff3Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff4Value",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "buffDuration",
- src.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
diff --git a/eos/effects/elitebonuscoveropsbombemdmg1.py b/eos/effects/elitebonuscoveropsbombemdmg1.py
deleted file mode 100644
index e9ac65114..000000000
--- a/eos/effects/elitebonuscoveropsbombemdmg1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusCoverOpsBombEmDmg1
-#
-# Used by:
-# Ship: Purifier
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "emDamage", ship.getModifiedItemAttr("eliteBonusCovertOps1"), skill="Covert Ops")
diff --git a/eos/effects/elitebonuscoveropsbombexplosivedmg1.py b/eos/effects/elitebonuscoveropsbombexplosivedmg1.py
deleted file mode 100644
index efc729b51..000000000
--- a/eos/effects/elitebonuscoveropsbombexplosivedmg1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteBonusCoverOpsBombExplosiveDmg1
-#
-# Used by:
-# Ship: Hound
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "explosiveDamage", ship.getModifiedItemAttr("eliteBonusCovertOps1"),
- skill="Covert Ops")
diff --git a/eos/effects/elitebonuscoveropsbombkineticdmg1.py b/eos/effects/elitebonuscoveropsbombkineticdmg1.py
deleted file mode 100644
index e44ec9270..000000000
--- a/eos/effects/elitebonuscoveropsbombkineticdmg1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCoverOpsBombKineticDmg1
-#
-# Used by:
-# Ship: Manticore
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "kineticDamage", ship.getModifiedItemAttr("eliteBonusCovertOps1"),
- skill="Covert Ops")
diff --git a/eos/effects/elitebonuscoveropsbombthermaldmg1.py b/eos/effects/elitebonuscoveropsbombthermaldmg1.py
deleted file mode 100644
index 681231040..000000000
--- a/eos/effects/elitebonuscoveropsbombthermaldmg1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteBonusCoverOpsBombThermalDmg1
-#
-# Used by:
-# Ship: Nemesis
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "thermalDamage", ship.getModifiedItemAttr("eliteBonusCovertOps1"),
- skill="Covert Ops")
diff --git a/eos/effects/elitebonuscoveropsnosneutfalloff1.py b/eos/effects/elitebonuscoveropsnosneutfalloff1.py
deleted file mode 100644
index 8c142334a..000000000
--- a/eos/effects/elitebonuscoveropsnosneutfalloff1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCoverOpsNOSNeutFalloff1
-#
-# Used by:
-# Ship: Caedes
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Energy Nosferatu", "Energy Neutralizer"),
- "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusCovertOps1"),
- stackingPenalties=True, skill="Covert Ops")
diff --git a/eos/effects/elitebonuscoveropsscanprobestrength2.py b/eos/effects/elitebonuscoveropsscanprobestrength2.py
deleted file mode 100644
index 77feea510..000000000
--- a/eos/effects/elitebonuscoveropsscanprobestrength2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusCoverOpsScanProbeStrength2
-#
-# Used by:
-# Ships from group: Covert Ops (8 of 8)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe",
- "baseSensorStrength", ship.getModifiedItemAttr("eliteBonusCovertOps2"),
- skill="Covert Ops")
diff --git a/eos/effects/elitebonuscoveropswarpvelocity1.py b/eos/effects/elitebonuscoveropswarpvelocity1.py
deleted file mode 100644
index 1a25a973a..000000000
--- a/eos/effects/elitebonuscoveropswarpvelocity1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusCoverOpsWarpVelocity1
-#
-# Used by:
-# Ship: Pacifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", src.getModifiedItemAttr("eliteBonusCovertOps1"), skill="Covert Ops")
diff --git a/eos/effects/elitebonuscovertops3pctdamagepercycle.py b/eos/effects/elitebonuscovertops3pctdamagepercycle.py
deleted file mode 100644
index 550cdc94b..000000000
--- a/eos/effects/elitebonuscovertops3pctdamagepercycle.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusCovertOps3PCTdamagePerCycle
-#
-# Used by:
-# Ship: Hydra
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"), "damageMultiplierBonusPerCycle",
- src.getModifiedItemAttr("eliteBonusCovertOps3"), skill="Covert Ops")
diff --git a/eos/effects/elitebonuscovertopsshtdamage3.py b/eos/effects/elitebonuscovertopsshtdamage3.py
deleted file mode 100644
index 2a9628566..000000000
--- a/eos/effects/elitebonuscovertopsshtdamage3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusCovertOpsSHTDamage3
-#
-# Used by:
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"), "damageMultiplier",
- src.getModifiedItemAttr("eliteBonusCovertOps3"), skill="Covert Ops")
diff --git a/eos/effects/elitebonuselectronicattackshipcapacitorcapacity2.py b/eos/effects/elitebonuselectronicattackshipcapacitorcapacity2.py
deleted file mode 100644
index bb5fa326e..000000000
--- a/eos/effects/elitebonuselectronicattackshipcapacitorcapacity2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusElectronicAttackShipCapacitorCapacity2
-#
-# Used by:
-# Ship: Kitsune
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("capacitorCapacity", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/elitebonuselectronicattackshipecmoptimalrange1.py b/eos/effects/elitebonuselectronicattackshipecmoptimalrange1.py
deleted file mode 100644
index 4b5fdb0fd..000000000
--- a/eos/effects/elitebonuselectronicattackshipecmoptimalrange1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusElectronicAttackShipECMOptimalRange1
-#
-# Used by:
-# Ship: Kitsune
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "maxRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/elitebonuselectronicattackshiprechargerate2.py b/eos/effects/elitebonuselectronicattackshiprechargerate2.py
deleted file mode 100644
index b9d5bbf34..000000000
--- a/eos/effects/elitebonuselectronicattackshiprechargerate2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusElectronicAttackShipRechargeRate2
-#
-# Used by:
-# Ship: Sentinel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("rechargeRate", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/elitebonuselectronicattackshipsignatureradius2.py b/eos/effects/elitebonuselectronicattackshipsignatureradius2.py
deleted file mode 100644
index 29dfc8f55..000000000
--- a/eos/effects/elitebonuselectronicattackshipsignatureradius2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusElectronicAttackShipSignatureRadius2
-#
-# Used by:
-# Ship: Hyena
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("signatureRadius", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/elitebonuselectronicattackshipstasiswebmaxrange1.py b/eos/effects/elitebonuselectronicattackshipstasiswebmaxrange1.py
deleted file mode 100644
index 929219c96..000000000
--- a/eos/effects/elitebonuselectronicattackshipstasiswebmaxrange1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusElectronicAttackShipStasisWebMaxRange1
-#
-# Used by:
-# Ship: Hyena
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "maxRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/elitebonuselectronicattackshipwarpscramblercapneed2.py b/eos/effects/elitebonuselectronicattackshipwarpscramblercapneed2.py
deleted file mode 100644
index 63e03d14d..000000000
--- a/eos/effects/elitebonuselectronicattackshipwarpscramblercapneed2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusElectronicAttackShipWarpScramblerCapNeed2
-#
-# Used by:
-# Ship: Keres
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler",
- "capacitorNeed", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/elitebonuselectronicattackshipwarpscramblermaxrange1.py b/eos/effects/elitebonuselectronicattackshipwarpscramblermaxrange1.py
deleted file mode 100644
index 20e48def7..000000000
--- a/eos/effects/elitebonuselectronicattackshipwarpscramblermaxrange1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusElectronicAttackShipWarpScramblerMaxRange1
-#
-# Used by:
-# Ship: Keres
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler",
- "maxRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/elitebonusexpeditionmining1.py b/eos/effects/elitebonusexpeditionmining1.py
deleted file mode 100644
index 5ca789728..000000000
--- a/eos/effects/elitebonusexpeditionmining1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusExpeditionMining1
-#
-# Used by:
-# Ship: Prospect
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
- "miningAmount", module.getModifiedItemAttr("eliteBonusExpedition1"),
- skill="Expedition Frigates")
diff --git a/eos/effects/elitebonusexpeditionsigradius2.py b/eos/effects/elitebonusexpeditionsigradius2.py
deleted file mode 100644
index 711200e58..000000000
--- a/eos/effects/elitebonusexpeditionsigradius2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusExpeditionSigRadius2
-#
-# Used by:
-# Ship: Prospect
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("signatureRadius", ship.getModifiedItemAttr("eliteBonusExpedition2"),
- skill="Expedition Frigates")
diff --git a/eos/effects/elitebonusflagcruiserallresistances1.py b/eos/effects/elitebonusflagcruiserallresistances1.py
deleted file mode 100644
index 5ca4a504d..000000000
--- a/eos/effects/elitebonusflagcruiserallresistances1.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# eliteBonusFlagCruiserAllResistances1
-#
-# Used by:
-# Ship: Monitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("explosiveDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("thermalDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("kineticDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
- fit.ship.boostItemAttr("emDamageResonance", src.getModifiedItemAttr("eliteBonusFlagCruisers1"), skill="Flag Cruisers")
diff --git a/eos/effects/elitebonusgunshiparmoremresistance1.py b/eos/effects/elitebonusgunshiparmoremresistance1.py
deleted file mode 100644
index d65a4a148..000000000
--- a/eos/effects/elitebonusgunshiparmoremresistance1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipArmorEmResistance1
-#
-# Used by:
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshiparmorexplosiveresistance1.py b/eos/effects/elitebonusgunshiparmorexplosiveresistance1.py
deleted file mode 100644
index 937dd7309..000000000
--- a/eos/effects/elitebonusgunshiparmorexplosiveresistance1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipArmorExplosiveResistance1
-#
-# Used by:
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshiparmorkineticresistance1.py b/eos/effects/elitebonusgunshiparmorkineticresistance1.py
deleted file mode 100644
index e9be2dd52..000000000
--- a/eos/effects/elitebonusgunshiparmorkineticresistance1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipArmorKineticResistance1
-#
-# Used by:
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshiparmorthermalresistance1.py b/eos/effects/elitebonusgunshiparmorthermalresistance1.py
deleted file mode 100644
index ef7175b0b..000000000
--- a/eos/effects/elitebonusgunshiparmorthermalresistance1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipArmorThermalResistance1
-#
-# Used by:
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshipcaprecharge2.py b/eos/effects/elitebonusgunshipcaprecharge2.py
deleted file mode 100644
index ddce4507c..000000000
--- a/eos/effects/elitebonusgunshipcaprecharge2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusGunshipCapRecharge2
-#
-# Used by:
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("rechargeRate", ship.getModifiedItemAttr("eliteBonusGunship2"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshipemmissiledamage1.py b/eos/effects/elitebonusgunshipemmissiledamage1.py
deleted file mode 100644
index ae5a4aed2..000000000
--- a/eos/effects/elitebonusgunshipemmissiledamage1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipEMMissileDamage1
-#
-# Used by:
-# Ship: Jaguar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "emDamage",
- src.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshipexplosionvelocity2.py b/eos/effects/elitebonusgunshipexplosionvelocity2.py
deleted file mode 100644
index e17de01c1..000000000
--- a/eos/effects/elitebonusgunshipexplosionvelocity2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipExplosionVelocity2
-#
-# Used by:
-# Ship: Jaguar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "aoeVelocity",
- src.getModifiedItemAttr("eliteBonusGunship2"), stackingPenalties=True, skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshipexplosivemissiledamage1.py b/eos/effects/elitebonusgunshipexplosivemissiledamage1.py
deleted file mode 100644
index 626f6ce51..000000000
--- a/eos/effects/elitebonusgunshipexplosivemissiledamage1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipExplosiveMissileDamage1
-#
-# Used by:
-# Ship: Jaguar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "explosiveDamage",
- src.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshiphybriddmg2.py b/eos/effects/elitebonusgunshiphybriddmg2.py
deleted file mode 100644
index 2b5b31e5d..000000000
--- a/eos/effects/elitebonusgunshiphybriddmg2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusGunshipHybridDmg2
-#
-# Used by:
-# Ship: Harpy
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusGunship2"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshiphybridoptimal1.py b/eos/effects/elitebonusgunshiphybridoptimal1.py
deleted file mode 100644
index df9a7dbb0..000000000
--- a/eos/effects/elitebonusgunshiphybridoptimal1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteBonusGunshipHybridOptimal1
-#
-# Used by:
-# Ship: Enyo
-# Ship: Harpy
-# Ship: Ishkur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshiphybridtracking2.py b/eos/effects/elitebonusgunshiphybridtracking2.py
deleted file mode 100644
index 9fc26ca51..000000000
--- a/eos/effects/elitebonusgunshiphybridtracking2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusGunshipHybridTracking2
-#
-# Used by:
-# Ship: Enyo
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusGunship2"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshipkineticmissiledamage1.py b/eos/effects/elitebonusgunshipkineticmissiledamage1.py
deleted file mode 100644
index 18afde89e..000000000
--- a/eos/effects/elitebonusgunshipkineticmissiledamage1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipKineticMissileDamage1
-#
-# Used by:
-# Ship: Jaguar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage",
- src.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshiplaserdamage2.py b/eos/effects/elitebonusgunshiplaserdamage2.py
deleted file mode 100644
index 198854651..000000000
--- a/eos/effects/elitebonusgunshiplaserdamage2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusGunshipLaserDamage2
-#
-# Used by:
-# Ship: Retribution
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusGunship2"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshiplaseroptimal1.py b/eos/effects/elitebonusgunshiplaseroptimal1.py
deleted file mode 100644
index ea410651b..000000000
--- a/eos/effects/elitebonusgunshiplaseroptimal1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipLaserOptimal1
-#
-# Used by:
-# Ship: Retribution
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshipprojectiledamage1.py b/eos/effects/elitebonusgunshipprojectiledamage1.py
deleted file mode 100644
index f0545ec68..000000000
--- a/eos/effects/elitebonusgunshipprojectiledamage1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusGunshipProjectileDamage1
-#
-# Used by:
-# Ship: Wolf
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusGunship1"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshipprojectilefalloff2.py b/eos/effects/elitebonusgunshipprojectilefalloff2.py
deleted file mode 100644
index df8ed9532..000000000
--- a/eos/effects/elitebonusgunshipprojectilefalloff2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipProjectileFalloff2
-#
-# Used by:
-# Ship: Wolf
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("eliteBonusGunship2"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshipshieldboost2.py b/eos/effects/elitebonusgunshipshieldboost2.py
deleted file mode 100644
index 883b11110..000000000
--- a/eos/effects/elitebonusgunshipshieldboost2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusGunshipShieldBoost2
-#
-# Used by:
-# Ship: Hawk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", ship.getModifiedItemAttr("eliteBonusGunship2"),
- skill="Assault Frigates")
diff --git a/eos/effects/elitebonusgunshipthermalmissiledamage1.py b/eos/effects/elitebonusgunshipthermalmissiledamage1.py
deleted file mode 100644
index 04ee9c25d..000000000
--- a/eos/effects/elitebonusgunshipthermalmissiledamage1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusGunshipThermalMissileDamage1
-#
-# Used by:
-# Ship: Jaguar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "thermalDamage",
- src.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
diff --git a/eos/effects/elitebonusheavygunshipassaultmissileflighttime1.py b/eos/effects/elitebonusheavygunshipassaultmissileflighttime1.py
deleted file mode 100644
index 8ff8a12c9..000000000
--- a/eos/effects/elitebonusheavygunshipassaultmissileflighttime1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipAssaultMissileFlightTime1
-#
-# Used by:
-# Ship: Cerberus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "explosionDelay", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipassaultmissilelaunhcerrof2.py b/eos/effects/elitebonusheavygunshipassaultmissilelaunhcerrof2.py
deleted file mode 100644
index 27b7cefba..000000000
--- a/eos/effects/elitebonusheavygunshipassaultmissilelaunhcerrof2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipAssaultMissileLaunhcerRof2
-#
-# Used by:
-# Ship: Cerberus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Light",
- "speed", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipdronecontrolrange1.py b/eos/effects/elitebonusheavygunshipdronecontrolrange1.py
deleted file mode 100644
index 8c2a95017..000000000
--- a/eos/effects/elitebonusheavygunshipdronecontrolrange1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusHeavyGunshipDroneControlRange1
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.extraAttributes.increase("droneControlRange", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipheavyandheavyassaultandassaultmissilelauncherrof.py b/eos/effects/elitebonusheavygunshipheavyandheavyassaultandassaultmissilelauncherrof.py
deleted file mode 100644
index e3aa5470f..000000000
--- a/eos/effects/elitebonusheavygunshipheavyandheavyassaultandassaultmissilelauncherrof.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteBonusHeavyGunshipHeavyAndHeavyAssaultAndAssaultMissileLauncherROF
-#
-# Used by:
-# Ship: Sacrilege
-type = "passive"
-
-
-def handler(fit, ship, context):
- groups = ("Missile Launcher Rapid Light", "Missile Launcher Heavy Assault", "Missile Launcher Heavy")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "speed", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipheavyassaultmissilelaunhcerrof2.py b/eos/effects/elitebonusheavygunshipheavyassaultmissilelaunhcerrof2.py
deleted file mode 100644
index c3de080b1..000000000
--- a/eos/effects/elitebonusheavygunshipheavyassaultmissilelaunhcerrof2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipHeavyAssaultMissileLaunhcerRof2
-#
-# Used by:
-# Ship: Cerberus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault",
- "speed", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipheavymissileflighttime1.py b/eos/effects/elitebonusheavygunshipheavymissileflighttime1.py
deleted file mode 100644
index 3e2799483..000000000
--- a/eos/effects/elitebonusheavygunshipheavymissileflighttime1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipHeavyMissileFlightTime1
-#
-# Used by:
-# Ship: Cerberus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "explosionDelay", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipheavymissilelaunhcerrof2.py b/eos/effects/elitebonusheavygunshipheavymissilelaunhcerrof2.py
deleted file mode 100644
index 178f96aa9..000000000
--- a/eos/effects/elitebonusheavygunshipheavymissilelaunhcerrof2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipHeavyMissileLaunhcerRof2
-#
-# Used by:
-# Ship: Cerberus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy",
- "speed", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshiphybriddmg2.py b/eos/effects/elitebonusheavygunshiphybriddmg2.py
deleted file mode 100644
index c2cfc53cb..000000000
--- a/eos/effects/elitebonusheavygunshiphybriddmg2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteBonusHeavyGunshipHybridDmg2
-#
-# Used by:
-# Ship: Deimos
-# Ship: Eagle
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshiphybridfalloff1.py b/eos/effects/elitebonusheavygunshiphybridfalloff1.py
deleted file mode 100644
index 11e858e78..000000000
--- a/eos/effects/elitebonusheavygunshiphybridfalloff1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipHybridFallOff1
-#
-# Used by:
-# Ship: Deimos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "falloff", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshiphybridoptimal1.py b/eos/effects/elitebonusheavygunshiphybridoptimal1.py
deleted file mode 100644
index 1c697dcd9..000000000
--- a/eos/effects/elitebonusheavygunshiphybridoptimal1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipHybridOptimal1
-#
-# Used by:
-# Ship: Eagle
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshiplaserdmg2.py b/eos/effects/elitebonusheavygunshiplaserdmg2.py
deleted file mode 100644
index fb52f881d..000000000
--- a/eos/effects/elitebonusheavygunshiplaserdmg2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipLaserDmg2
-#
-# Used by:
-# Ship: Zealot
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshiplaseroptimal1.py b/eos/effects/elitebonusheavygunshiplaseroptimal1.py
deleted file mode 100644
index 8b292f824..000000000
--- a/eos/effects/elitebonusheavygunshiplaseroptimal1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipLaserOptimal1
-#
-# Used by:
-# Ship: Zealot
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshiplightmissileflighttime1.py b/eos/effects/elitebonusheavygunshiplightmissileflighttime1.py
deleted file mode 100644
index c4244df02..000000000
--- a/eos/effects/elitebonusheavygunshiplightmissileflighttime1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipLightMissileFlightTime1
-#
-# Used by:
-# Ship: Cerberus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "explosionDelay", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipprojectiledmg2.py b/eos/effects/elitebonusheavygunshipprojectiledmg2.py
deleted file mode 100644
index 92a9f9049..000000000
--- a/eos/effects/elitebonusheavygunshipprojectiledmg2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipProjectileDmg2
-#
-# Used by:
-# Ship: Vagabond
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipprojectilefalloff1.py b/eos/effects/elitebonusheavygunshipprojectilefalloff1.py
deleted file mode 100644
index 310bc6bb1..000000000
--- a/eos/effects/elitebonusheavygunshipprojectilefalloff1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipProjectileFallOff1
-#
-# Used by:
-# Ship: Vagabond
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipprojectileoptimal1.py b/eos/effects/elitebonusheavygunshipprojectileoptimal1.py
deleted file mode 100644
index 4d9a93161..000000000
--- a/eos/effects/elitebonusheavygunshipprojectileoptimal1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipProjectileOptimal1
-#
-# Used by:
-# Ship: Muninn
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavygunshipprojectiletracking2.py b/eos/effects/elitebonusheavygunshipprojectiletracking2.py
deleted file mode 100644
index a4f3e915b..000000000
--- a/eos/effects/elitebonusheavygunshipprojectiletracking2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyGunshipProjectileTracking2
-#
-# Used by:
-# Ship: Muninn
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/elitebonusheavyinterdictorheavyassaultmissilevelocitybonus.py b/eos/effects/elitebonusheavyinterdictorheavyassaultmissilevelocitybonus.py
deleted file mode 100644
index ef0e91456..000000000
--- a/eos/effects/elitebonusheavyinterdictorheavyassaultmissilevelocitybonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyInterdictorHeavyAssaultMissileVelocityBonus
-#
-# Used by:
-# Ship: Onyx
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("eliteBonusHeavyInterdictors1"),
- skill="Heavy Interdiction Cruisers")
diff --git a/eos/effects/elitebonusheavyinterdictorheavymissilevelocitybonus1.py b/eos/effects/elitebonusheavyinterdictorheavymissilevelocitybonus1.py
deleted file mode 100644
index 6f5239340..000000000
--- a/eos/effects/elitebonusheavyinterdictorheavymissilevelocitybonus1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyInterdictorHeavyMissileVelocityBonus1
-#
-# Used by:
-# Ship: Onyx
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("eliteBonusHeavyInterdictors1"),
- skill="Heavy Interdiction Cruisers")
diff --git a/eos/effects/elitebonusheavyinterdictorlightmissilevelocitybonus.py b/eos/effects/elitebonusheavyinterdictorlightmissilevelocitybonus.py
deleted file mode 100644
index aee02924c..000000000
--- a/eos/effects/elitebonusheavyinterdictorlightmissilevelocitybonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyInterdictorLightMissileVelocityBonus
-#
-# Used by:
-# Ship: Onyx
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("eliteBonusHeavyInterdictors1"),
- skill="Heavy Interdiction Cruisers")
diff --git a/eos/effects/elitebonusheavyinterdictorshybridoptimal1.py b/eos/effects/elitebonusheavyinterdictorshybridoptimal1.py
deleted file mode 100644
index a257bc062..000000000
--- a/eos/effects/elitebonusheavyinterdictorshybridoptimal1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyInterdictorsHybridOptimal1
-#
-# Used by:
-# Ship: Phobos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusHeavyInterdictors1"),
- skill="Heavy Interdiction Cruisers")
diff --git a/eos/effects/elitebonusheavyinterdictorsmetoptimal.py b/eos/effects/elitebonusheavyinterdictorsmetoptimal.py
deleted file mode 100644
index f671da4c6..000000000
--- a/eos/effects/elitebonusheavyinterdictorsmetoptimal.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyInterdictorsMETOptimal
-#
-# Used by:
-# Ship: Devoter
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusHeavyInterdictors1"),
- skill="Heavy Interdiction Cruisers")
diff --git a/eos/effects/elitebonusheavyinterdictorsprojectilefalloff1.py b/eos/effects/elitebonusheavyinterdictorsprojectilefalloff1.py
deleted file mode 100644
index b5d232374..000000000
--- a/eos/effects/elitebonusheavyinterdictorsprojectilefalloff1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyInterdictorsProjectileFalloff1
-#
-# Used by:
-# Ship: Broadsword
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("eliteBonusHeavyInterdictors1"),
- skill="Heavy Interdiction Cruisers")
diff --git a/eos/effects/elitebonusheavyinterdictorswarpdisruptfieldgeneratorwarpscramblerange2.py b/eos/effects/elitebonusheavyinterdictorswarpdisruptfieldgeneratorwarpscramblerange2.py
deleted file mode 100644
index 20a47e364..000000000
--- a/eos/effects/elitebonusheavyinterdictorswarpdisruptfieldgeneratorwarpscramblerange2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusHeavyInterdictorsWarpDisruptFieldGeneratorWarpScrambleRange2
-#
-# Used by:
-# Ships from group: Heavy Interdiction Cruiser (5 of 5)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Disrupt Field Generator",
- "warpScrambleRange", ship.getModifiedItemAttr("eliteBonusHeavyInterdictors2"),
- skill="Heavy Interdiction Cruisers")
diff --git a/eos/effects/elitebonusinterdictorsarmorresist1.py b/eos/effects/elitebonusinterdictorsarmorresist1.py
deleted file mode 100644
index 7a1492fc8..000000000
--- a/eos/effects/elitebonusinterdictorsarmorresist1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusInterdictorsArmorResist1
-#
-# Used by:
-# Ship: Heretic
-type = "passive"
-
-
-def handler(fit, ship, context):
- for damageType in ("Em", "Thermal", "Explosive", "Kinetic"):
- fit.ship.boostItemAttr("armor%sDamageResonance" % damageType,
- ship.getModifiedItemAttr("eliteBonusInterdictors1"), skill="Interdictors")
diff --git a/eos/effects/elitebonusinterdictorsmissilekineticdamage1.py b/eos/effects/elitebonusinterdictorsmissilekineticdamage1.py
deleted file mode 100644
index 310c19504..000000000
--- a/eos/effects/elitebonusinterdictorsmissilekineticdamage1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusInterdictorsMissileKineticDamage1
-#
-# Used by:
-# Ship: Flycatcher
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Light Missiles") or mod.charge.requiresSkill("Rockets"),
- "kineticDamage", ship.getModifiedItemAttr("eliteBonusInterdictors1"), skill="Interdictors")
diff --git a/eos/effects/elitebonusinterdictorsmwdsigradius2.py b/eos/effects/elitebonusinterdictorsmwdsigradius2.py
deleted file mode 100644
index 5107837b5..000000000
--- a/eos/effects/elitebonusinterdictorsmwdsigradius2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusInterdictorsMWDSigRadius2
-#
-# Used by:
-# Ships from group: Interdictor (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "signatureRadiusBonus", ship.getModifiedItemAttr("eliteBonusInterdictors2"),
- skill="Interdictors")
diff --git a/eos/effects/elitebonusinterdictorsprojectilefalloff1.py b/eos/effects/elitebonusinterdictorsprojectilefalloff1.py
deleted file mode 100644
index 2b7450e2b..000000000
--- a/eos/effects/elitebonusinterdictorsprojectilefalloff1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusInterdictorsProjectileFalloff1
-#
-# Used by:
-# Ship: Sabre
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("eliteBonusInterdictors1"), skill="Interdictors")
diff --git a/eos/effects/elitebonusinterdictorsshtrof1.py b/eos/effects/elitebonusinterdictorsshtrof1.py
deleted file mode 100644
index a01812c19..000000000
--- a/eos/effects/elitebonusinterdictorsshtrof1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusInterdictorsSHTRoF1
-#
-# Used by:
-# Ship: Eris
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "speed", ship.getModifiedItemAttr("eliteBonusInterdictors1"), skill="Interdictors")
diff --git a/eos/effects/elitebonusjumpfreighterarmorhp1.py b/eos/effects/elitebonusjumpfreighterarmorhp1.py
deleted file mode 100644
index ecfe3e25a..000000000
--- a/eos/effects/elitebonusjumpfreighterarmorhp1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusJumpFreighterArmorHP1
-#
-# Used by:
-# Ship: Anshar
-# Ship: Ark
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorHP", ship.getModifiedItemAttr("eliteBonusJumpFreighter1"), skill="Jump Freighters")
diff --git a/eos/effects/elitebonusjumpfreighterhullhp1.py b/eos/effects/elitebonusjumpfreighterhullhp1.py
deleted file mode 100644
index df631889f..000000000
--- a/eos/effects/elitebonusjumpfreighterhullhp1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusJumpFreighterHullHP1
-#
-# Used by:
-# Ships from group: Jump Freighter (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("hp", ship.getModifiedItemAttr("eliteBonusJumpFreighter1"), skill="Jump Freighters")
diff --git a/eos/effects/elitebonusjumpfreighterjumpdriveconsumptionamount2.py b/eos/effects/elitebonusjumpfreighterjumpdriveconsumptionamount2.py
deleted file mode 100644
index 811dc7770..000000000
--- a/eos/effects/elitebonusjumpfreighterjumpdriveconsumptionamount2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusJumpFreighterJumpDriveConsumptionAmount2
-#
-# Used by:
-# Ships from group: Jump Freighter (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("jumpDriveConsumptionAmount", ship.getModifiedItemAttr("eliteBonusJumpFreighter2"),
- skill="Jump Freighters")
diff --git a/eos/effects/elitebonusjumpfreightershieldhp1.py b/eos/effects/elitebonusjumpfreightershieldhp1.py
deleted file mode 100644
index 7fa846975..000000000
--- a/eos/effects/elitebonusjumpfreightershieldhp1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusJumpFreighterShieldHP1
-#
-# Used by:
-# Ship: Nomad
-# Ship: Rhea
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldCapacity", ship.getModifiedItemAttr("eliteBonusJumpFreighter1"),
- skill="Jump Freighters")
diff --git a/eos/effects/elitebonuslogifrigarmorhp2.py b/eos/effects/elitebonuslogifrigarmorhp2.py
deleted file mode 100644
index 99453cb57..000000000
--- a/eos/effects/elitebonuslogifrigarmorhp2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusLogiFrigArmorHP2
-#
-# Used by:
-# Ship: Deacon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorHP", src.getModifiedItemAttr("eliteBonusLogiFrig2"), skill="Logistics Frigates")
diff --git a/eos/effects/elitebonuslogifrigarmorrepspeedcap1.py b/eos/effects/elitebonuslogifrigarmorrepspeedcap1.py
deleted file mode 100644
index ceb9a3d09..000000000
--- a/eos/effects/elitebonuslogifrigarmorrepspeedcap1.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteBonusLogiFrigArmorRepSpeedCap1
-#
-# Used by:
-# Ship: Deacon
-# Ship: Thalia
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed",
- src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "duration",
- src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates")
diff --git a/eos/effects/elitebonuslogifrigshieldhp2.py b/eos/effects/elitebonuslogifrigshieldhp2.py
deleted file mode 100644
index b99cde37f..000000000
--- a/eos/effects/elitebonuslogifrigshieldhp2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusLogiFrigShieldHP2
-#
-# Used by:
-# Ship: Kirin
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldCapacity", src.getModifiedItemAttr("eliteBonusLogiFrig2"), skill="Logistics Frigates")
diff --git a/eos/effects/elitebonuslogifrigshieldrepspeedcap1.py b/eos/effects/elitebonuslogifrigshieldrepspeedcap1.py
deleted file mode 100644
index 8f2e8b53d..000000000
--- a/eos/effects/elitebonuslogifrigshieldrepspeedcap1.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteBonusLogiFrigShieldRepSpeedCap1
-#
-# Used by:
-# Ship: Kirin
-# Ship: Scalpel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "duration",
- src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "capacitorNeed",
- src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates")
diff --git a/eos/effects/elitebonuslogifrigsignature2.py b/eos/effects/elitebonuslogifrigsignature2.py
deleted file mode 100644
index 3f4de996a..000000000
--- a/eos/effects/elitebonuslogifrigsignature2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogiFrigSignature2
-#
-# Used by:
-# Ship: Scalpel
-# Ship: Thalia
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("signatureRadius", src.getModifiedItemAttr("eliteBonusLogiFrig2"),
- skill="Logistics Frigates")
diff --git a/eos/effects/elitebonuslogisticenergytransfercapneed1.py b/eos/effects/elitebonuslogisticenergytransfercapneed1.py
deleted file mode 100644
index 14d95aae6..000000000
--- a/eos/effects/elitebonuslogisticenergytransfercapneed1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogisticEnergyTransferCapNeed1
-#
-# Used by:
-# Ship: Guardian
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
- "capacitorNeed", ship.getModifiedItemAttr("eliteBonusLogistics1"),
- skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticenergytransfercapneed2.py b/eos/effects/elitebonuslogisticenergytransfercapneed2.py
deleted file mode 100644
index a18cb0a34..000000000
--- a/eos/effects/elitebonuslogisticenergytransfercapneed2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteBonusLogisticEnergyTransferCapNeed2
-#
-# Used by:
-# Ship: Basilisk
-# Ship: Etana
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
- "capacitorNeed", ship.getModifiedItemAttr("eliteBonusLogistics2"),
- skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticremotearmorrepaircapneed1.py b/eos/effects/elitebonuslogisticremotearmorrepaircapneed1.py
deleted file mode 100644
index 2c954a502..000000000
--- a/eos/effects/elitebonuslogisticremotearmorrepaircapneed1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusLogisticRemoteArmorRepairCapNeed1
-#
-# Used by:
-# Ship: Oneiros
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed",
- src.getModifiedItemAttr("eliteBonusLogistics1"), skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticremotearmorrepaircapneed2.py b/eos/effects/elitebonuslogisticremotearmorrepaircapneed2.py
deleted file mode 100644
index bb031021b..000000000
--- a/eos/effects/elitebonuslogisticremotearmorrepaircapneed2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogisticRemoteArmorRepairCapNeed2
-#
-# Used by:
-# Ship: Guardian
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed",
- src.getModifiedItemAttr("eliteBonusLogistics2"), skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticremotearmorrepairduration3.py b/eos/effects/elitebonuslogisticremotearmorrepairduration3.py
deleted file mode 100644
index 5c9b24c1c..000000000
--- a/eos/effects/elitebonuslogisticremotearmorrepairduration3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusLogisticRemoteArmorRepairDuration3
-#
-# Used by:
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "duration",
- src.getModifiedItemAttr("eliteBonusLogistics3"), skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticremotearmorrepairoptimalfalloff1.py b/eos/effects/elitebonuslogisticremotearmorrepairoptimalfalloff1.py
deleted file mode 100644
index cacbd4478..000000000
--- a/eos/effects/elitebonuslogisticremotearmorrepairoptimalfalloff1.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# eliteBonusLogisticRemoteArmorRepairOptimalFalloff1
-#
-# Used by:
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "falloffEffectiveness",
- src.getModifiedItemAttr("eliteBonusLogistics1"),
- skill="Logistics Cruisers")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "maxRange",
- src.getModifiedItemAttr("eliteBonusLogistics1"),
- skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticshieldtransfercapneed1.py b/eos/effects/elitebonuslogisticshieldtransfercapneed1.py
deleted file mode 100644
index 3060ef3be..000000000
--- a/eos/effects/elitebonuslogisticshieldtransfercapneed1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogisticShieldTransferCapNeed1
-#
-# Used by:
-# Ship: Basilisk
-# Ship: Etana
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "capacitorNeed",
- src.getModifiedItemAttr("eliteBonusLogistics1"), skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticshieldtransfercapneed2.py b/eos/effects/elitebonuslogisticshieldtransfercapneed2.py
deleted file mode 100644
index 81b94ee96..000000000
--- a/eos/effects/elitebonuslogisticshieldtransfercapneed2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusLogisticShieldTransferCapNeed2
-#
-# Used by:
-# Ship: Scimitar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "capacitorNeed",
- src.getModifiedItemAttr("eliteBonusLogistics2"), skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticstrackinglinkfalloffbonus1.py b/eos/effects/elitebonuslogisticstrackinglinkfalloffbonus1.py
deleted file mode 100644
index b1c5b908d..000000000
--- a/eos/effects/elitebonuslogisticstrackinglinkfalloffbonus1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogisticsTrackingLinkFalloffBonus1
-#
-# Used by:
-# Ship: Scimitar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
- "falloffBonus", ship.getModifiedItemAttr("eliteBonusLogistics1"),
- skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticstrackinglinkfalloffbonus2.py b/eos/effects/elitebonuslogisticstrackinglinkfalloffbonus2.py
deleted file mode 100644
index e13cef64b..000000000
--- a/eos/effects/elitebonuslogisticstrackinglinkfalloffbonus2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogisticsTrackingLinkFalloffBonus2
-#
-# Used by:
-# Ship: Oneiros
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
- "falloffBonus", ship.getModifiedItemAttr("eliteBonusLogistics2"),
- skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticstrackinglinkmaxrangebonus1.py b/eos/effects/elitebonuslogisticstrackinglinkmaxrangebonus1.py
deleted file mode 100644
index 87225755e..000000000
--- a/eos/effects/elitebonuslogisticstrackinglinkmaxrangebonus1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogisticsTrackingLinkMaxRangeBonus1
-#
-# Used by:
-# Ship: Scimitar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
- "maxRangeBonus", ship.getModifiedItemAttr("eliteBonusLogistics1"),
- skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticstrackinglinkmaxrangebonus2.py b/eos/effects/elitebonuslogisticstrackinglinkmaxrangebonus2.py
deleted file mode 100644
index f95e79062..000000000
--- a/eos/effects/elitebonuslogisticstrackinglinkmaxrangebonus2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogisticsTrackingLinkMaxRangeBonus2
-#
-# Used by:
-# Ship: Oneiros
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
- "maxRangeBonus", ship.getModifiedItemAttr("eliteBonusLogistics2"),
- skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticstrackinglinktrackingspeedbonus1.py b/eos/effects/elitebonuslogisticstrackinglinktrackingspeedbonus1.py
deleted file mode 100644
index dcb3c5d3a..000000000
--- a/eos/effects/elitebonuslogisticstrackinglinktrackingspeedbonus1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogisticsTrackingLinkTrackingSpeedBonus1
-#
-# Used by:
-# Ship: Scimitar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
- "trackingSpeedBonus", ship.getModifiedItemAttr("eliteBonusLogistics1"),
- skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonuslogisticstrackinglinktrackingspeedbonus2.py b/eos/effects/elitebonuslogisticstrackinglinktrackingspeedbonus2.py
deleted file mode 100644
index b79d6faf0..000000000
--- a/eos/effects/elitebonuslogisticstrackinglinktrackingspeedbonus2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusLogisticsTrackingLinkTrackingSpeedBonus2
-#
-# Used by:
-# Ship: Oneiros
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
- "trackingSpeedBonus", ship.getModifiedItemAttr("eliteBonusLogistics2"),
- skill="Logistics Cruisers")
diff --git a/eos/effects/elitebonusmarauderscruiseandtorpedodamagerole1.py b/eos/effects/elitebonusmarauderscruiseandtorpedodamagerole1.py
deleted file mode 100644
index 0541914fc..000000000
--- a/eos/effects/elitebonusmarauderscruiseandtorpedodamagerole1.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteBonusMaraudersCruiseAndTorpedoDamageRole1
-#
-# Used by:
-# Ship: Golem
-type = "passive"
-
-
-def handler(fit, ship, context):
- damageTypes = ("em", "explosive", "kinetic", "thermal")
- for damageType in damageTypes:
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Cruise Missiles") or mod.charge.requiresSkill("Torpedoes"),
- "{0}Damage".format(damageType), ship.getModifiedItemAttr("eliteBonusViolatorsRole1"))
diff --git a/eos/effects/elitebonusmaraudersheavymissiledamageemrole1.py b/eos/effects/elitebonusmaraudersheavymissiledamageemrole1.py
deleted file mode 100644
index 81a99b02c..000000000
--- a/eos/effects/elitebonusmaraudersheavymissiledamageemrole1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusMaraudersHeavyMissileDamageEMRole1
-#
-# Used by:
-# Ship: Golem
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "emDamage", ship.getModifiedItemAttr("eliteBonusViolatorsRole1"))
diff --git a/eos/effects/elitebonusmaraudersheavymissiledamageexprole1.py b/eos/effects/elitebonusmaraudersheavymissiledamageexprole1.py
deleted file mode 100644
index 3bffe8e41..000000000
--- a/eos/effects/elitebonusmaraudersheavymissiledamageexprole1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusMaraudersHeavyMissileDamageExpRole1
-#
-# Used by:
-# Ship: Golem
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "explosiveDamage", ship.getModifiedItemAttr("eliteBonusViolatorsRole1"))
diff --git a/eos/effects/elitebonusmaraudersheavymissiledamagekinrole1.py b/eos/effects/elitebonusmaraudersheavymissiledamagekinrole1.py
deleted file mode 100644
index 68646cd8d..000000000
--- a/eos/effects/elitebonusmaraudersheavymissiledamagekinrole1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusMaraudersHeavyMissileDamageKinRole1
-#
-# Used by:
-# Ship: Golem
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("eliteBonusViolatorsRole1"))
diff --git a/eos/effects/elitebonusmaraudersheavymissiledamagethermrole1.py b/eos/effects/elitebonusmaraudersheavymissiledamagethermrole1.py
deleted file mode 100644
index 70abcb387..000000000
--- a/eos/effects/elitebonusmaraudersheavymissiledamagethermrole1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusMaraudersHeavyMissileDamageThermRole1
-#
-# Used by:
-# Ship: Golem
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "thermalDamage", ship.getModifiedItemAttr("eliteBonusViolatorsRole1"))
diff --git a/eos/effects/elitebonusmaraudershieldbonus2a.py b/eos/effects/elitebonusmaraudershieldbonus2a.py
deleted file mode 100644
index 4856571cf..000000000
--- a/eos/effects/elitebonusmaraudershieldbonus2a.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusMarauderShieldBonus2a
-#
-# Used by:
-# Ship: Golem
-# Ship: Vargur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", ship.getModifiedItemAttr("eliteBonusViolators2"), skill="Marauders")
diff --git a/eos/effects/elitebonusreconscanprobestrength2.py b/eos/effects/elitebonusreconscanprobestrength2.py
deleted file mode 100644
index 55db46631..000000000
--- a/eos/effects/elitebonusreconscanprobestrength2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusReconScanProbeStrength2
-#
-# Used by:
-# Ship: Tiamat
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"), "baseSensorStrength",
- src.getModifiedItemAttr("eliteBonusReconShip2"), skill="Recon Ships")
diff --git a/eos/effects/elitebonusreconship3pctdamagepercycle.py b/eos/effects/elitebonusreconship3pctdamagepercycle.py
deleted file mode 100644
index 5aabfdcb7..000000000
--- a/eos/effects/elitebonusreconship3pctdamagepercycle.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusReconShip3PCTdamagePerCycle
-#
-# Used by:
-# Ship: Tiamat
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Medium Precursor Weapon"), "damageMultiplierBonusPerCycle",
- src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")
diff --git a/eos/effects/elitebonusreconwarpvelocity3.py b/eos/effects/elitebonusreconwarpvelocity3.py
deleted file mode 100644
index 909c577a1..000000000
--- a/eos/effects/elitebonusreconwarpvelocity3.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteBonusReconWarpVelocity3
-#
-# Used by:
-# Ship: Enforcer
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")
diff --git a/eos/effects/elitebonusvampiredrainamount2.py b/eos/effects/elitebonusvampiredrainamount2.py
deleted file mode 100644
index 8fb5bac49..000000000
--- a/eos/effects/elitebonusvampiredrainamount2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteBonusVampireDrainAmount2
-#
-# Used by:
-# Ship: Curse
-# Ship: Pilgrim
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount", ship.getModifiedItemAttr("eliteBonusReconShip2"),
- skill="Recon Ships")
diff --git a/eos/effects/elitebonusviolatorsewtargetpainting1.py b/eos/effects/elitebonusviolatorsewtargetpainting1.py
deleted file mode 100644
index cf16508e5..000000000
--- a/eos/effects/elitebonusviolatorsewtargetpainting1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusViolatorsEwTargetPainting1
-#
-# Used by:
-# Ship: Golem
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter",
- "signatureRadiusBonus", ship.getModifiedItemAttr("eliteBonusViolators1"),
- skill="Marauders")
diff --git a/eos/effects/elitebonusviolatorslargeenergyturretdamage1.py b/eos/effects/elitebonusviolatorslargeenergyturretdamage1.py
deleted file mode 100644
index fd2aad0bb..000000000
--- a/eos/effects/elitebonusviolatorslargeenergyturretdamage1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteBonusViolatorsLargeEnergyTurretDamage1
-#
-# Used by:
-# Ship: Paladin
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusViolators1"),
- skill="Marauders")
diff --git a/eos/effects/elitebonusviolatorslargeenergyturretdamagerole1.py b/eos/effects/elitebonusviolatorslargeenergyturretdamagerole1.py
deleted file mode 100644
index 9b25bb56f..000000000
--- a/eos/effects/elitebonusviolatorslargeenergyturretdamagerole1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusViolatorsLargeEnergyTurretDamageRole1
-#
-# Used by:
-# Ship: Paladin
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusViolatorsRole1"))
diff --git a/eos/effects/elitebonusviolatorslargehybridturretdamagerole1.py b/eos/effects/elitebonusviolatorslargehybridturretdamagerole1.py
deleted file mode 100644
index 932faef41..000000000
--- a/eos/effects/elitebonusviolatorslargehybridturretdamagerole1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusViolatorsLargeHybridTurretDamageRole1
-#
-# Used by:
-# Ship: Kronos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusViolatorsRole1"))
diff --git a/eos/effects/elitebonusviolatorslargehybridturrettracking1.py b/eos/effects/elitebonusviolatorslargehybridturrettracking1.py
deleted file mode 100644
index da791d457..000000000
--- a/eos/effects/elitebonusviolatorslargehybridturrettracking1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusViolatorsLargeHybridTurretTracking1
-#
-# Used by:
-# Ship: Kronos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusViolators1"), skill="Marauders")
diff --git a/eos/effects/elitebonusviolatorslargeprojectileturretdamagerole1.py b/eos/effects/elitebonusviolatorslargeprojectileturretdamagerole1.py
deleted file mode 100644
index b0166442e..000000000
--- a/eos/effects/elitebonusviolatorslargeprojectileturretdamagerole1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusViolatorsLargeProjectileTurretDamageRole1
-#
-# Used by:
-# Ship: Vargur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusViolatorsRole1"))
diff --git a/eos/effects/elitebonusviolatorslargeprojectileturrettracking1.py b/eos/effects/elitebonusviolatorslargeprojectileturrettracking1.py
deleted file mode 100644
index 708c6098c..000000000
--- a/eos/effects/elitebonusviolatorslargeprojectileturrettracking1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusViolatorsLargeProjectileTurretTracking1
-#
-# Used by:
-# Ship: Vargur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusViolators1"), skill="Marauders")
diff --git a/eos/effects/elitebonusviolatorsrepairsystemsarmordamageamount2.py b/eos/effects/elitebonusviolatorsrepairsystemsarmordamageamount2.py
deleted file mode 100644
index 648b65203..000000000
--- a/eos/effects/elitebonusviolatorsrepairsystemsarmordamageamount2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteBonusViolatorsRepairSystemsArmorDamageAmount2
-#
-# Used by:
-# Ship: Kronos
-# Ship: Paladin
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("eliteBonusViolators2"),
- skill="Marauders")
diff --git a/eos/effects/elitebonusviolatorstractorbeammaxrangerole2.py b/eos/effects/elitebonusviolatorstractorbeammaxrangerole2.py
deleted file mode 100644
index e6e49cbd3..000000000
--- a/eos/effects/elitebonusviolatorstractorbeammaxrangerole2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusViolatorsTractorBeamMaxRangeRole2
-#
-# Used by:
-# Ships from group: Marauder (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam",
- "maxRange", ship.getModifiedItemAttr("eliteBonusViolatorsRole2"))
diff --git a/eos/effects/elitebonusviolatorstractorbeammaxtractorvelocityrole3.py b/eos/effects/elitebonusviolatorstractorbeammaxtractorvelocityrole3.py
deleted file mode 100644
index 747b01bb9..000000000
--- a/eos/effects/elitebonusviolatorstractorbeammaxtractorvelocityrole3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteBonusViolatorsTractorBeamMaxTractorVelocityRole3
-#
-# Used by:
-# Ships from group: Marauder (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam",
- "maxTractorVelocity", ship.getModifiedItemAttr("eliteBonusViolatorsRole3"))
diff --git a/eos/effects/elitecovertopsbonusarmorrepamount4.py b/eos/effects/elitecovertopsbonusarmorrepamount4.py
deleted file mode 100644
index 00a63046b..000000000
--- a/eos/effects/elitecovertopsbonusarmorrepamount4.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteCovertOpsBonusArmorRepAmount4
-#
-# Used by:
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "armorDamageAmount",
- src.getModifiedItemAttr("eliteBonusCovertOps4"), skill="Covert Ops")
diff --git a/eos/effects/eliteindustrialabheatbonus.py b/eos/effects/eliteindustrialabheatbonus.py
deleted file mode 100644
index 2bfd6fe21..000000000
--- a/eos/effects/eliteindustrialabheatbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteIndustrialABHeatBonus
-#
-# Used by:
-# Ships from group: Deep Space Transport (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "overloadSpeedFactorBonus", ship.getModifiedItemAttr("roleBonusOverheatDST"))
diff --git a/eos/effects/eliteindustrialarmorhardenerheatbonus.py b/eos/effects/eliteindustrialarmorhardenerheatbonus.py
deleted file mode 100644
index c0e4dec0c..000000000
--- a/eos/effects/eliteindustrialarmorhardenerheatbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteIndustrialArmorHardenerHeatBonus
-#
-# Used by:
-# Ships from group: Deep Space Transport (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"),
- "overloadHardeningBonus", ship.getModifiedItemAttr("roleBonusOverheatDST"))
diff --git a/eos/effects/eliteindustrialarmorrepairheatbonus.py b/eos/effects/eliteindustrialarmorrepairheatbonus.py
deleted file mode 100644
index 5bb6ac8c6..000000000
--- a/eos/effects/eliteindustrialarmorrepairheatbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteIndustrialArmorRepairHeatBonus
-#
-# Used by:
-# Ships from group: Deep Space Transport (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "overloadArmorDamageAmount", ship.getModifiedItemAttr("roleBonusOverheatDST"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "overloadSelfDurationBonus", ship.getModifiedItemAttr("roleBonusOverheatDST"))
diff --git a/eos/effects/eliteindustrialarmorresists2.py b/eos/effects/eliteindustrialarmorresists2.py
deleted file mode 100644
index fc4298590..000000000
--- a/eos/effects/eliteindustrialarmorresists2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteIndustrialArmorResists2
-#
-# Used by:
-# Ship: Impel
-# Ship: Occator
-type = "passive"
-
-
-def handler(fit, ship, context):
- for damageType in ("em", "thermal", "explosive", "kinetic"):
- fit.ship.boostItemAttr("armor{}DamageResonance".format(damageType.capitalize()),
- ship.getModifiedItemAttr("eliteBonusIndustrial2"), skill="Transport Ships")
diff --git a/eos/effects/eliteindustrialfleetcapacity1.py b/eos/effects/eliteindustrialfleetcapacity1.py
deleted file mode 100644
index 1cc16aab2..000000000
--- a/eos/effects/eliteindustrialfleetcapacity1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteIndustrialFleetCapacity1
-#
-# Used by:
-# Ships from group: Deep Space Transport (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("fleetHangarCapacity", ship.getModifiedItemAttr("eliteBonusIndustrial1"),
- skill="Transport Ships")
diff --git a/eos/effects/eliteindustrialmwdheatbonus.py b/eos/effects/eliteindustrialmwdheatbonus.py
deleted file mode 100644
index 995b34fd8..000000000
--- a/eos/effects/eliteindustrialmwdheatbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteIndustrialMWDHeatBonus
-#
-# Used by:
-# Ships from group: Deep Space Transport (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "overloadSpeedFactorBonus", ship.getModifiedItemAttr("roleBonusOverheatDST"))
diff --git a/eos/effects/eliteindustrialreactivearmorhardenerheatbonus.py b/eos/effects/eliteindustrialreactivearmorhardenerheatbonus.py
deleted file mode 100644
index 7a7b3de70..000000000
--- a/eos/effects/eliteindustrialreactivearmorhardenerheatbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteIndustrialReactiveArmorHardenerHeatBonus
-#
-# Used by:
-# Ships from group: Deep Space Transport (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"),
- "overloadSelfDurationBonus", ship.getModifiedItemAttr("roleBonusOverheatDST"))
diff --git a/eos/effects/eliteindustrialshieldboosterheatbonus.py b/eos/effects/eliteindustrialshieldboosterheatbonus.py
deleted file mode 100644
index 73766a8a8..000000000
--- a/eos/effects/eliteindustrialshieldboosterheatbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteIndustrialShieldBoosterHeatBonus
-#
-# Used by:
-# Ships from group: Deep Space Transport (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "overloadShieldBonus", ship.getModifiedItemAttr("roleBonusOverheatDST"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "overloadSelfDurationBonus", ship.getModifiedItemAttr("roleBonusOverheatDST"))
diff --git a/eos/effects/eliteindustrialshieldhardenerheatbonus.py b/eos/effects/eliteindustrialshieldhardenerheatbonus.py
deleted file mode 100644
index a90f769ac..000000000
--- a/eos/effects/eliteindustrialshieldhardenerheatbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteIndustrialShieldHardenerHeatBonus
-#
-# Used by:
-# Ships from group: Deep Space Transport (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Tactical Shield Manipulation"),
- "overloadHardeningBonus", ship.getModifiedItemAttr("roleBonusOverheatDST"))
diff --git a/eos/effects/eliteindustrialshieldresists2.py b/eos/effects/eliteindustrialshieldresists2.py
deleted file mode 100644
index c21754443..000000000
--- a/eos/effects/eliteindustrialshieldresists2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteIndustrialShieldResists2
-#
-# Used by:
-# Ship: Bustard
-# Ship: Mastodon
-type = "passive"
-
-
-def handler(fit, ship, context):
- for damageType in ("em", "thermal", "explosive", "kinetic"):
- fit.ship.boostItemAttr("shield{}DamageResonance".format(damageType.capitalize()),
- ship.getModifiedItemAttr("eliteBonusIndustrial2"), skill="Transport Ships")
diff --git a/eos/effects/eliteindustrialwarpspeedbonus1.py b/eos/effects/eliteindustrialwarpspeedbonus1.py
deleted file mode 100644
index 826ff22ec..000000000
--- a/eos/effects/eliteindustrialwarpspeedbonus1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteIndustrialWarpSpeedBonus1
-#
-# Used by:
-# Ships from group: Blockade Runner (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", ship.getModifiedItemAttr("eliteBonusIndustrial1"),
- skill="Transport Ships")
diff --git a/eos/effects/elitereconbonusarmorrepamount3.py b/eos/effects/elitereconbonusarmorrepamount3.py
deleted file mode 100644
index 658f94883..000000000
--- a/eos/effects/elitereconbonusarmorrepamount3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteReconBonusArmorRepAmount3
-#
-# Used by:
-# Ship: Victor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "armorDamageAmount",
- src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusenergyneutamount2.py b/eos/effects/elitereconbonusenergyneutamount2.py
deleted file mode 100644
index a7051eb62..000000000
--- a/eos/effects/elitereconbonusenergyneutamount2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteReconBonusEnergyNeutAmount2
-#
-# Used by:
-# Ship: Curse
-# Ship: Pilgrim
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer",
- "energyNeutralizerAmount", ship.getModifiedItemAttr("eliteBonusReconShip2"),
- skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusgravimetricstrength2.py b/eos/effects/elitereconbonusgravimetricstrength2.py
deleted file mode 100644
index a023201da..000000000
--- a/eos/effects/elitereconbonusgravimetricstrength2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteReconBonusGravimetricStrength2
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Falcon
-# Ship: Rook
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scanGravimetricStrengthBonus", ship.getModifiedItemAttr("eliteBonusReconShip2"),
- skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusheavyassaultmissilevelocity.py b/eos/effects/elitereconbonusheavyassaultmissilevelocity.py
deleted file mode 100644
index fc223a167..000000000
--- a/eos/effects/elitereconbonusheavyassaultmissilevelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteReconBonusHeavyAssaultMissileVelocity
-#
-# Used by:
-# Ship: Rook
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("eliteBonusReconShip1"),
- skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusheavymissilevelocity.py b/eos/effects/elitereconbonusheavymissilevelocity.py
deleted file mode 100644
index 8f73c136a..000000000
--- a/eos/effects/elitereconbonusheavymissilevelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteReconBonusHeavyMissileVelocity
-#
-# Used by:
-# Ship: Rook
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("eliteBonusReconShip1"),
- skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusladarstrength2.py b/eos/effects/elitereconbonusladarstrength2.py
deleted file mode 100644
index 3bab26dfa..000000000
--- a/eos/effects/elitereconbonusladarstrength2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteReconBonusLadarStrength2
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Falcon
-# Ship: Rook
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scanLadarStrengthBonus", ship.getModifiedItemAttr("eliteBonusReconShip2"),
- skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusmagnetometricstrength2.py b/eos/effects/elitereconbonusmagnetometricstrength2.py
deleted file mode 100644
index 89baa4a80..000000000
--- a/eos/effects/elitereconbonusmagnetometricstrength2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteReconBonusMagnetometricStrength2
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Falcon
-# Ship: Rook
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scanMagnetometricStrengthBonus", ship.getModifiedItemAttr("eliteBonusReconShip2"),
- skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusmhtdamage1.py b/eos/effects/elitereconbonusmhtdamage1.py
deleted file mode 100644
index 3bb0f6833..000000000
--- a/eos/effects/elitereconbonusmhtdamage1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteReconBonusMHTDamage1
-#
-# Used by:
-# Ship: Victor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"), "damageMultiplier",
- src.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusmhtoptimalrange1.py b/eos/effects/elitereconbonusmhtoptimalrange1.py
deleted file mode 100644
index 921c8d7d2..000000000
--- a/eos/effects/elitereconbonusmhtoptimalrange1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# eliteReconBonusMHTOptimalRange1
-#
-# Used by:
-# Ship: Lachesis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusmptdamage1.py b/eos/effects/elitereconbonusmptdamage1.py
deleted file mode 100644
index 7d66fc0c5..000000000
--- a/eos/effects/elitereconbonusmptdamage1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# eliteReconBonusMPTdamage1
-#
-# Used by:
-# Ship: Huginn
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusReconShip1"),
- skill="Recon Ships")
diff --git a/eos/effects/elitereconbonusradarstrength2.py b/eos/effects/elitereconbonusradarstrength2.py
deleted file mode 100644
index fec2c9490..000000000
--- a/eos/effects/elitereconbonusradarstrength2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteReconBonusRadarStrength2
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Falcon
-# Ship: Rook
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scanRadarStrengthBonus", ship.getModifiedItemAttr("eliteBonusReconShip2"),
- skill="Recon Ships")
diff --git a/eos/effects/elitereconscramblerrangebonus2.py b/eos/effects/elitereconscramblerrangebonus2.py
deleted file mode 100644
index d308a56ba..000000000
--- a/eos/effects/elitereconscramblerrangebonus2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# eliteReconScramblerRangeBonus2
-#
-# Used by:
-# Ship: Arazu
-# Ship: Enforcer
-# Ship: Lachesis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler",
- "maxRange", ship.getModifiedItemAttr("eliteBonusReconShip2"), skill="Recon Ships")
diff --git a/eos/effects/elitereconstasiswebbonus1.py b/eos/effects/elitereconstasiswebbonus1.py
deleted file mode 100644
index abbf4f6c6..000000000
--- a/eos/effects/elitereconstasiswebbonus1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# eliteReconStasisWebBonus1
-#
-# Used by:
-# Ship: Enforcer
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "maxRange", src.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships")
diff --git a/eos/effects/elitereconstasiswebbonus2.py b/eos/effects/elitereconstasiswebbonus2.py
deleted file mode 100644
index 071739847..000000000
--- a/eos/effects/elitereconstasiswebbonus2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# eliteReconStasisWebBonus2
-#
-# Used by:
-# Ship: Huginn
-# Ship: Moracha
-# Ship: Rapier
-# Ship: Victor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "maxRange", ship.getModifiedItemAttr("eliteBonusReconShip2"), skill="Recon Ships")
diff --git a/eos/effects/emarmorcompensationhardeningbonusgrouparmorcoating.py b/eos/effects/emarmorcompensationhardeningbonusgrouparmorcoating.py
deleted file mode 100644
index 26e453172..000000000
--- a/eos/effects/emarmorcompensationhardeningbonusgrouparmorcoating.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# emArmorCompensationHardeningBonusGroupArmorCoating
-#
-# Used by:
-# Skill: EM Armor Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Coating",
- "emDamageResistanceBonus", skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/emarmorcompensationhardeningbonusgroupenergized.py b/eos/effects/emarmorcompensationhardeningbonusgroupenergized.py
deleted file mode 100644
index 837cf6912..000000000
--- a/eos/effects/emarmorcompensationhardeningbonusgroupenergized.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# emArmorCompensationHardeningBonusGroupEnergized
-#
-# Used by:
-# Skill: EM Armor Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Plating Energized",
- "emDamageResistanceBonus", skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/emergencyhullenergizer.py b/eos/effects/emergencyhullenergizer.py
deleted file mode 100644
index c2de4f4f5..000000000
--- a/eos/effects/emergencyhullenergizer.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# emergencyHullEnergizer
-#
-# Used by:
-# Variations of module: Capital Emergency Hull Energizer I (5 of 5)
-type = "active"
-runtime = "late"
-
-
-def handler(fit, src, context):
- for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):
- fit.ship.multiplyItemAttr('{}DamageResonance'.format(dmgType),
- src.getModifiedItemAttr("hull{}DamageResonance".format(dmgType.title())),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/empwave.py b/eos/effects/empwave.py
deleted file mode 100644
index 898cd270f..000000000
--- a/eos/effects/empwave.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# empWave
-#
-# Used by:
-# Modules from group: Smart Bomb (118 of 118)
-type = "active"
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/emshieldcompensationhardeningbonusgroupshieldamp.py b/eos/effects/emshieldcompensationhardeningbonusgroupshieldamp.py
deleted file mode 100644
index 189738822..000000000
--- a/eos/effects/emshieldcompensationhardeningbonusgroupshieldamp.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# emShieldCompensationHardeningBonusGroupShieldAmp
-#
-# Used by:
-# Skill: EM Shield Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Shield Resistance Amplifier",
- "emDamageResistanceBonus", skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/energygridupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringenergygridupgrades.py b/eos/effects/energygridupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringenergygridupgrades.py
deleted file mode 100644
index 46d6f847e..000000000
--- a/eos/effects/energygridupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringenergygridupgrades.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# energyGridUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringEnergyGridUpgrades
-#
-# Used by:
-# Implants named like: Inherent Implants 'Squire' Energy Grid Upgrades EU (6 of 6)
-# Modules named like: Powergrid Subroutine Maximizer (8 of 8)
-# Skill: Energy Grid Upgrades
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Energy Grid Upgrades"),
- "cpu", container.getModifiedItemAttr("cpuNeedBonus") * level)
diff --git a/eos/effects/energymanagementcapacitorbonuspostpercentcapacitylocationshipgroupcapacitorcapacitybonus.py b/eos/effects/energymanagementcapacitorbonuspostpercentcapacitylocationshipgroupcapacitorcapacitybonus.py
deleted file mode 100644
index da1896d18..000000000
--- a/eos/effects/energymanagementcapacitorbonuspostpercentcapacitylocationshipgroupcapacitorcapacitybonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# energyManagementCapacitorBonusPostPercentCapacityLocationShipGroupCapacitorCapacityBonus
-#
-# Used by:
-# Implants named like: Inherent Implants 'Squire' Capacitor Management EM (6 of 6)
-# Implants named like: Mindflood Booster (4 of 4)
-# Modules named like: Semiconductor Memory Cell (8 of 8)
-# Implant: Antipharmakon Aeolis
-# Implant: Genolution Core Augmentation CA-1
-# Skill: Capacitor Management
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("capacitorCapacity", container.getModifiedItemAttr("capacitorCapacityBonus") * level)
diff --git a/eos/effects/energyneutralizerfalloff.py b/eos/effects/energyneutralizerfalloff.py
deleted file mode 100644
index 2ee279d44..000000000
--- a/eos/effects/energyneutralizerfalloff.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# energyNeutralizerFalloff
-#
-# Used by:
-# Modules from group: Energy Neutralizer (54 of 54)
-from eos.const import FittingModuleState
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-type = "active", "projected"
-
-
-def handler(fit, src, context, **kwargs):
- if "projected" in context and ((hasattr(src, "state") and src.state >= FittingModuleState.ACTIVE) or
- hasattr(src, "amountActive")):
- amount = src.getModifiedItemAttr("energyNeutralizerAmount")
-
- if 'effect' in kwargs:
- amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- time = src.getModifiedItemAttr("duration")
-
- fit.addDrain(src, time, amount, 0)
diff --git a/eos/effects/energynosferatufalloff.py b/eos/effects/energynosferatufalloff.py
deleted file mode 100644
index 2d6414e61..000000000
--- a/eos/effects/energynosferatufalloff.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# energyNosferatuFalloff
-#
-# Used by:
-# Modules from group: Energy Nosferatu (54 of 54)
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-type = "active", "projected"
-runTime = "late"
-
-
-def handler(fit, src, context, **kwargs):
- amount = src.getModifiedItemAttr("powerTransferAmount")
- time = src.getModifiedItemAttr("duration")
-
- if 'effect' in kwargs and "projected" in context:
- amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- if "projected" in context:
- fit.addDrain(src, time, amount, 0)
- elif "module" in context:
- src.itemModifiedAttributes.force("capacitorNeed", -amount)
diff --git a/eos/effects/energypulseweaponsdurationbonuspostpercentdurationlocationshipmodulesrequiringenergypulseweapons.py b/eos/effects/energypulseweaponsdurationbonuspostpercentdurationlocationshipmodulesrequiringenergypulseweapons.py
deleted file mode 100644
index 6db95e742..000000000
--- a/eos/effects/energypulseweaponsdurationbonuspostpercentdurationlocationshipmodulesrequiringenergypulseweapons.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# energyPulseWeaponsDurationBonusPostPercentDurationLocationShipModulesRequiringEnergyPulseWeapons
-#
-# Used by:
-# Implants named like: Inherent Implants 'Squire' Energy Pulse Weapons EP (6 of 6)
-# Skill: Energy Pulse Weapons
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Energy Pulse Weapons"),
- "duration", container.getModifiedItemAttr("durationBonus") * level)
diff --git a/eos/effects/energysystemsoperationcaprechargebonuspostpercentrechargeratelocationshipgroupcapacitor.py b/eos/effects/energysystemsoperationcaprechargebonuspostpercentrechargeratelocationshipgroupcapacitor.py
deleted file mode 100644
index 991640a10..000000000
--- a/eos/effects/energysystemsoperationcaprechargebonuspostpercentrechargeratelocationshipgroupcapacitor.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# energysystemsoperationCapRechargeBonusPostPercentRechargeRateLocationShipGroupCapacitor
-#
-# Used by:
-# Implants named like: Inherent Implants 'Squire' Capacitor Systems Operation EO (6 of 6)
-# Modules named like: Capacitor Control Circuit (8 of 8)
-# Implant: Genolution Core Augmentation CA-2
-# Skill: Capacitor Systems Operation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("rechargeRate", container.getModifiedItemAttr("capRechargeBonus") * level)
diff --git a/eos/effects/energytransferarraymaxrangebonus.py b/eos/effects/energytransferarraymaxrangebonus.py
deleted file mode 100644
index cc26638ad..000000000
--- a/eos/effects/energytransferarraymaxrangebonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# energyTransferArrayMaxRangeBonus
-#
-# Used by:
-# Ship: Augoror
-# Ship: Osprey
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
- "maxRange", ship.getModifiedItemAttr("maxRangeBonus2"))
diff --git a/eos/effects/energytransferarraytransferamountbonus.py b/eos/effects/energytransferarraytransferamountbonus.py
deleted file mode 100644
index b863b95ec..000000000
--- a/eos/effects/energytransferarraytransferamountbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# energyTransferArrayTransferAmountBonus
-#
-# Used by:
-# Ship: Augoror
-# Ship: Osprey
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
- "powerTransferAmount", ship.getModifiedItemAttr("energyTransferAmountBonus"))
diff --git a/eos/effects/energyweapondamagemultiply.py b/eos/effects/energyweapondamagemultiply.py
deleted file mode 100644
index 42dddd186..000000000
--- a/eos/effects/energyweapondamagemultiply.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# energyWeaponDamageMultiply
-#
-# Used by:
-# Modules from group: Heat Sink (19 of 19)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Energy Weapon",
- "damageMultiplier", module.getModifiedItemAttr("damageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/energyweapondamagemultiplypassive.py b/eos/effects/energyweapondamagemultiplypassive.py
deleted file mode 100644
index 5e4cad460..000000000
--- a/eos/effects/energyweapondamagemultiplypassive.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# energyWeaponDamageMultiplyPassive
-#
-# Used by:
-# Modules named like: Energy Collision Accelerator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Energy Weapon",
- "damageMultiplier", module.getModifiedItemAttr("damageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/energyweaponspeedmultiply.py b/eos/effects/energyweaponspeedmultiply.py
deleted file mode 100644
index 19dacfb85..000000000
--- a/eos/effects/energyweaponspeedmultiply.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# energyWeaponSpeedMultiply
-#
-# Used by:
-# Modules from group: Heat Sink (19 of 19)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Energy Weapon",
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/energyweaponspeedmultiplypassive.py b/eos/effects/energyweaponspeedmultiplypassive.py
deleted file mode 100644
index bcee87d6b..000000000
--- a/eos/effects/energyweaponspeedmultiplypassive.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# energyWeaponSpeedMultiplyPassive
-#
-# Used by:
-# Modules named like: Energy Burst Aerator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Energy Weapon",
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/engineeringpowerengineeringoutputbonuspostpercentpoweroutputlocationshipgrouppowercore.py b/eos/effects/engineeringpowerengineeringoutputbonuspostpercentpoweroutputlocationshipgrouppowercore.py
deleted file mode 100644
index a6c38728b..000000000
--- a/eos/effects/engineeringpowerengineeringoutputbonuspostpercentpoweroutputlocationshipgrouppowercore.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# engineeringPowerEngineeringOutputBonusPostPercentPowerOutputLocationShipGroupPowerCore
-#
-# Used by:
-# Implants named like: Inherent Implants 'Squire' Power Grid Management EG (6 of 6)
-# Modules named like: Ancillary Current Router (8 of 8)
-# Subsystems named like: Core Augmented Reactor (4 of 4)
-# Implant: Genolution Core Augmentation CA-1
-# Skill: Power Grid Management
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("powerOutput", container.getModifiedItemAttr("powerEngineeringOutputBonus") * level)
diff --git a/eos/effects/entityecmfalloff.py b/eos/effects/entityecmfalloff.py
deleted file mode 100644
index 9e382a641..000000000
--- a/eos/effects/entityecmfalloff.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# entityECMFalloff
-#
-# Used by:
-# Drones named like: EC (3 of 3)
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-type = "projected", "active"
-
-
-def handler(fit, module, context, **kwargs):
- if "projected" in context:
- # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
- strModifier = 1 - module.getModifiedItemAttr("scan{0}StrengthBonus".format(fit.scanType)) / fit.scanStrength
-
- if 'effect' in kwargs:
- strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- fit.ecmProjectedStr *= strModifier
diff --git a/eos/effects/entityenergyneutralizerfalloff.py b/eos/effects/entityenergyneutralizerfalloff.py
deleted file mode 100644
index ade55d190..000000000
--- a/eos/effects/entityenergyneutralizerfalloff.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# entityEnergyNeutralizerFalloff
-#
-# Used by:
-# Drones from group: Energy Neutralizer Drone (3 of 3)
-from eos.const import FittingModuleState
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-type = "active", "projected"
-
-
-def handler(fit, src, context, **kwargs):
- if "projected" in context and ((hasattr(src, "state") and src.state >= FittingModuleState.ACTIVE) or
- hasattr(src, "amountActive")):
- amount = src.getModifiedItemAttr("energyNeutralizerAmount")
- time = src.getModifiedItemAttr("energyNeutralizerDuration")
-
- if 'effect' in kwargs:
- amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- fit.addDrain(src, time, amount, 0)
diff --git a/eos/effects/entosiscpuaddition.py b/eos/effects/entosiscpuaddition.py
deleted file mode 100644
index a29e38f85..000000000
--- a/eos/effects/entosiscpuaddition.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# entosisCPUAddition
-#
-# Used by:
-# Modules from group: Entosis Link (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.increaseItemAttr("cpu", module.getModifiedItemAttr("entosisCPUAdd"))
diff --git a/eos/effects/entosiscpupenalty.py b/eos/effects/entosiscpupenalty.py
deleted file mode 100644
index a382ed70a..000000000
--- a/eos/effects/entosiscpupenalty.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# entosisCPUPenalty
-#
-# Used by:
-# Ships from group: Interceptor (10 of 10)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Infomorph Psychology"),
- "entosisCPUAdd", ship.getModifiedItemAttr("entosisCPUPenalty"))
diff --git a/eos/effects/entosisdurationmultiply.py b/eos/effects/entosisdurationmultiply.py
deleted file mode 100644
index fae2e74ec..000000000
--- a/eos/effects/entosisdurationmultiply.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# entosisDurationMultiply
-#
-# Used by:
-# Items from market group: Ships > Capital Ships (31 of 40)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Infomorph Psychology"),
- "duration", ship.getModifiedItemAttr("entosisDurationMultiplier") or 1)
diff --git a/eos/effects/entosislink.py b/eos/effects/entosislink.py
deleted file mode 100644
index 11b5faa28..000000000
--- a/eos/effects/entosislink.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# entosisLink
-#
-# Used by:
-# Modules from group: Entosis Link (6 of 6)
-type = "active"
-
-
-def handler(fit, module, context):
- fit.ship.forceItemAttr("disallowAssistance", module.getModifiedItemAttr("disallowAssistance"))
- for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
- fit.ship.boostItemAttr(
- "scan{}Strength".format(scanType),
- module.getModifiedItemAttr("scan{}StrengthPercent".format(scanType)),
- stackingPenalties=True
- )
diff --git a/eos/effects/evasivemaneuveringagilitybonuspostpercentagilityship.py b/eos/effects/evasivemaneuveringagilitybonuspostpercentagilityship.py
deleted file mode 100644
index b2f81c56e..000000000
--- a/eos/effects/evasivemaneuveringagilitybonuspostpercentagilityship.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# evasiveManeuveringAgilityBonusPostPercentAgilityShip
-#
-# Used by:
-# Modules from group: Rig Anchor (4 of 4)
-# Implants named like: Eifyr and Co. 'Rogue' Evasive Maneuvering EM (6 of 6)
-# Implants named like: grade Nomad (10 of 12)
-# Modules named like: Low Friction Nozzle Joints (8 of 8)
-# Implant: Genolution Core Augmentation CA-4
-# Skill: Evasive Maneuvering
-# Skill: Spaceship Command
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("agility", container.getModifiedItemAttr("agilityBonus") * level,
- stackingPenalties="skill" not in context and "implant" not in context)
diff --git a/eos/effects/ewgroupecmburstmaxrangebonus.py b/eos/effects/ewgroupecmburstmaxrangebonus.py
deleted file mode 100644
index 11c4f01cb..000000000
--- a/eos/effects/ewgroupecmburstmaxrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ewGroupEcmBurstMaxRangeBonus
-#
-# Used by:
-# Implants named like: grade Centurion (10 of 12)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Burst Projectors",
- "maxRange", implant.getModifiedItemAttr("rangeSkillBonus"))
diff --git a/eos/effects/ewgrouprsdmaxrangebonus.py b/eos/effects/ewgrouprsdmaxrangebonus.py
deleted file mode 100644
index cd2c3cf5e..000000000
--- a/eos/effects/ewgrouprsdmaxrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ewGroupRsdMaxRangeBonus
-#
-# Used by:
-# Implants named like: grade Centurion (10 of 12)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "maxRange", implant.getModifiedItemAttr("rangeSkillBonus"))
diff --git a/eos/effects/ewgrouptdmaxrangebonus.py b/eos/effects/ewgrouptdmaxrangebonus.py
deleted file mode 100644
index 5fcc86c66..000000000
--- a/eos/effects/ewgrouptdmaxrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ewGroupTdMaxRangeBonus
-#
-# Used by:
-# Implants named like: grade Centurion (10 of 12)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Weapon Disruptor",
- "maxRange", implant.getModifiedItemAttr("rangeSkillBonus"))
diff --git a/eos/effects/ewgrouptpmaxrangebonus.py b/eos/effects/ewgrouptpmaxrangebonus.py
deleted file mode 100644
index a764367c0..000000000
--- a/eos/effects/ewgrouptpmaxrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ewGroupTpMaxRangeBonus
-#
-# Used by:
-# Implants named like: grade Centurion (10 of 12)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter",
- "maxRange", implant.getModifiedItemAttr("rangeSkillBonus"))
diff --git a/eos/effects/ewskillecmburstcapneedbonus.py b/eos/effects/ewskillecmburstcapneedbonus.py
deleted file mode 100644
index 0e836193a..000000000
--- a/eos/effects/ewskillecmburstcapneedbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ewSkillEcmBurstCapNeedBonus
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' Electronic Warfare EW (6 of 6)
-# Modules named like: Signal Disruption Amplifier (8 of 8)
-# Skill: Electronic Warfare
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Burst Jammer",
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/ewskillecmburstrangebonus.py b/eos/effects/ewskillecmburstrangebonus.py
deleted file mode 100644
index 1f257c03c..000000000
--- a/eos/effects/ewskillecmburstrangebonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ewSkillEcmBurstRangeBonus
-#
-# Used by:
-# Modules named like: Particle Dispersion Projector (8 of 8)
-# Skill: Long Distance Jamming
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Burst Jammer",
- "ecmBurstRange", container.getModifiedItemAttr("rangeSkillBonus") * level,
- stackingPenalties=False if "skill" in context else True)
diff --git a/eos/effects/ewskillewcapneedskilllevel.py b/eos/effects/ewskillewcapneedskilllevel.py
deleted file mode 100644
index 6b1a25c5d..000000000
--- a/eos/effects/ewskillewcapneedskilllevel.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ewSkillEwCapNeedSkillLevel
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' Electronic Warfare EW (6 of 6)
-# Modules named like: Signal Disruption Amplifier (8 of 8)
-# Skill: Electronic Warfare
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/ewskillewfalloffbonus.py b/eos/effects/ewskillewfalloffbonus.py
deleted file mode 100644
index 931a640f6..000000000
--- a/eos/effects/ewskillewfalloffbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ewSkillEwFallOffBonus
-#
-# Used by:
-# Skill: Frequency Modulation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "falloffEffectiveness", skill.getModifiedItemAttr("falloffBonus") * skill.level)
diff --git a/eos/effects/ewskillewmaxrangebonus.py b/eos/effects/ewskillewmaxrangebonus.py
deleted file mode 100644
index 68cbc4d83..000000000
--- a/eos/effects/ewskillewmaxrangebonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# ewSkillEwMaxRangeBonus
-#
-# Used by:
-# Implants named like: grade Centurion (10 of 12)
-# Modules named like: Particle Dispersion Projector (8 of 8)
-# Skill: Long Distance Jamming
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "maxRange", container.getModifiedItemAttr("rangeSkillBonus") * level,
- stackingPenalties="skill" not in context and "implant" not in context)
diff --git a/eos/effects/ewskillguidancedisruptionbonus.py b/eos/effects/ewskillguidancedisruptionbonus.py
deleted file mode 100644
index 71c4a3dc9..000000000
--- a/eos/effects/ewskillguidancedisruptionbonus.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# ewSkillGuidanceDisruptionBonus
-#
-# Used by:
-# Modules named like: Tracking Diagnostic Subroutines (8 of 8)
-# Skill: Weapon Destabilization
-type = "passive"
-
-
-def handler(fit, src, context):
- level = src.level if "skill" in context else 1
- for attr in (
- "explosionDelayBonus",
- "aoeVelocityBonus",
- "aoeCloudSizeBonus",
- "missileVelocityBonus"
- ):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
- attr, src.getModifiedItemAttr("scanSkillEwStrengthBonus") * level)
diff --git a/eos/effects/ewskillrsdcapneedbonusskilllevel.py b/eos/effects/ewskillrsdcapneedbonusskilllevel.py
deleted file mode 100644
index e7f0f80cb..000000000
--- a/eos/effects/ewskillrsdcapneedbonusskilllevel.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# ewSkillRsdCapNeedBonusSkillLevel
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' Sensor Linking SL (6 of 6)
-# Skill: Sensor Linking
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Sensor Linking"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/ewskillrsdfalloffbonus.py b/eos/effects/ewskillrsdfalloffbonus.py
deleted file mode 100644
index 21ab67c21..000000000
--- a/eos/effects/ewskillrsdfalloffbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ewSkillRsdFallOffBonus
-#
-# Used by:
-# Skill: Frequency Modulation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Sensor Linking"),
- "falloffEffectiveness", skill.getModifiedItemAttr("falloffBonus") * skill.level)
diff --git a/eos/effects/ewskillrsdmaxrangebonus.py b/eos/effects/ewskillrsdmaxrangebonus.py
deleted file mode 100644
index a0d8a7db7..000000000
--- a/eos/effects/ewskillrsdmaxrangebonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ewSkillRsdMaxRangeBonus
-#
-# Used by:
-# Modules named like: Particle Dispersion Projector (8 of 8)
-# Skill: Long Distance Jamming
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Sensor Linking"),
- "maxRange", container.getModifiedItemAttr("rangeSkillBonus") * level,
- stackingPenalties="skill" not in context)
diff --git a/eos/effects/ewskillscanstrengthbonus.py b/eos/effects/ewskillscanstrengthbonus.py
deleted file mode 100644
index 1af9d30f4..000000000
--- a/eos/effects/ewskillscanstrengthbonus.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# ewSkillScanStrengthBonus
-#
-# Used by:
-# Modules named like: Particle Dispersion Augmentor (8 of 8)
-# Skill: Signal Dispersion
-type = "passive"
-
-
-def handler(fit, container, context):
- groups = ("ECM", "Burst Jammer")
- level = container.level if "skill" in context else 1
- for scanType in ("Gravimetric", "Ladar", "Magnetometric", "Radar"):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "scan{0}StrengthBonus".format(scanType),
- container.getModifiedItemAttr("scanSkillEwStrengthBonus") * level,
- stackingPenalties=False if "skill" in context else True)
diff --git a/eos/effects/ewskillsignalsuppressionmaxtargetrangebonus.py b/eos/effects/ewskillsignalsuppressionmaxtargetrangebonus.py
deleted file mode 100644
index 534c3af7a..000000000
--- a/eos/effects/ewskillsignalsuppressionmaxtargetrangebonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ewSkillSignalSuppressionMaxTargetRangeBonus
-#
-# Used by:
-# Modules named like: Inverted Signal Field Projector (8 of 8)
-# Skill: Signal Suppression
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "maxTargetRangeBonus",
- container.getModifiedItemAttr("scanSkillEwStrengthBonus") * level)
diff --git a/eos/effects/ewskillsignalsuppressionscanresolutionbonus.py b/eos/effects/ewskillsignalsuppressionscanresolutionbonus.py
deleted file mode 100644
index 0f218ec69..000000000
--- a/eos/effects/ewskillsignalsuppressionscanresolutionbonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# ewSkillSignalSuppressionScanResolutionBonus
-#
-# Used by:
-# Modules named like: Inverted Signal Field Projector (8 of 8)
-# Skill: Signal Suppression
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- penalized = False if "skill" in context else True
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "scanResolutionBonus",
- container.getModifiedItemAttr("scanSkillEwStrengthBonus") * level,
- stackingPenalties=penalized)
diff --git a/eos/effects/ewskilltargetpaintingstrengthbonus.py b/eos/effects/ewskilltargetpaintingstrengthbonus.py
deleted file mode 100644
index bf1267d77..000000000
--- a/eos/effects/ewskilltargetpaintingstrengthbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# ewSkillTargetPaintingStrengthBonus
-#
-# Used by:
-# Skill: Signature Focusing
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter",
- "signatureRadiusBonus",
- skill.getModifiedItemAttr("scanSkillTargetPaintStrengthBonus") * skill.level)
diff --git a/eos/effects/ewskilltdcapneedbonusskilllevel.py b/eos/effects/ewskilltdcapneedbonusskilllevel.py
deleted file mode 100644
index 88e084361..000000000
--- a/eos/effects/ewskilltdcapneedbonusskilllevel.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# ewSkillTdCapNeedBonusSkillLevel
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' Weapon Disruption WD (6 of 6)
-# Skill: Weapon Disruption
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/ewskilltdfalloffbonus.py b/eos/effects/ewskilltdfalloffbonus.py
deleted file mode 100644
index 6b1490fc6..000000000
--- a/eos/effects/ewskilltdfalloffbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ewSkillTdFallOffBonus
-#
-# Used by:
-# Skill: Frequency Modulation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Weapon Disruptor",
- "falloffEffectiveness", skill.getModifiedItemAttr("falloffBonus") * skill.level)
diff --git a/eos/effects/ewskilltdmaxrangebonus.py b/eos/effects/ewskilltdmaxrangebonus.py
deleted file mode 100644
index 1ed5b55d5..000000000
--- a/eos/effects/ewskilltdmaxrangebonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ewSkillTdMaxRangeBonus
-#
-# Used by:
-# Modules named like: Particle Dispersion Projector (8 of 8)
-# Skill: Long Distance Jamming
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Weapon Disruptor",
- "maxRange", container.getModifiedItemAttr("rangeSkillBonus") * level,
- stackingPenalties="skill" not in context)
diff --git a/eos/effects/ewskilltpcapneedbonusskilllevel.py b/eos/effects/ewskilltpcapneedbonusskilllevel.py
deleted file mode 100644
index 720cea451..000000000
--- a/eos/effects/ewskilltpcapneedbonusskilllevel.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# ewSkillTpCapNeedBonusSkillLevel
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' Target Painting TG (6 of 6)
-# Skill: Target Painting
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Target Painting"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/ewskilltpfalloffbonus.py b/eos/effects/ewskilltpfalloffbonus.py
deleted file mode 100644
index 38eebe10a..000000000
--- a/eos/effects/ewskilltpfalloffbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ewSkillTpFallOffBonus
-#
-# Used by:
-# Skill: Frequency Modulation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter",
- "falloffEffectiveness", skill.getModifiedItemAttr("falloffBonus") * skill.level)
diff --git a/eos/effects/ewskilltpmaxrangebonus.py b/eos/effects/ewskilltpmaxrangebonus.py
deleted file mode 100644
index 901d4c45b..000000000
--- a/eos/effects/ewskilltpmaxrangebonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ewSkillTpMaxRangeBonus
-#
-# Used by:
-# Modules named like: Particle Dispersion Projector (8 of 8)
-# Skill: Long Distance Jamming
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter",
- "maxRange", container.getModifiedItemAttr("rangeSkillBonus") * level,
- stackingPenalties="skill" not in context)
diff --git a/eos/effects/ewskilltrackingdisruptionrangedisruptionbonus.py b/eos/effects/ewskilltrackingdisruptionrangedisruptionbonus.py
deleted file mode 100644
index fbd6ae8af..000000000
--- a/eos/effects/ewskilltrackingdisruptionrangedisruptionbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ewSkillTrackingDisruptionRangeDisruptionBonus
-#
-# Used by:
-# Modules named like: Tracking Diagnostic Subroutines (8 of 8)
-# Skill: Weapon Destabilization
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- for attr in ("maxRangeBonus", "falloffBonus"):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
- attr, container.getModifiedItemAttr("scanSkillEwStrengthBonus") * level)
diff --git a/eos/effects/ewskilltrackingdisruptiontrackingspeedbonus.py b/eos/effects/ewskilltrackingdisruptiontrackingspeedbonus.py
deleted file mode 100644
index 6a532270d..000000000
--- a/eos/effects/ewskilltrackingdisruptiontrackingspeedbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# ewSkillTrackingDisruptionTrackingSpeedBonus
-#
-# Used by:
-# Modules named like: Tracking Diagnostic Subroutines (8 of 8)
-# Skill: Weapon Destabilization
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Weapon Disruptor",
- "trackingSpeedBonus",
- container.getModifiedItemAttr("scanSkillEwStrengthBonus") * level)
diff --git a/eos/effects/expeditionfrigatebonusiceharvestingcycletime2.py b/eos/effects/expeditionfrigatebonusiceharvestingcycletime2.py
deleted file mode 100644
index 65889bd4d..000000000
--- a/eos/effects/expeditionfrigatebonusiceharvestingcycletime2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# expeditionFrigateBonusIceHarvestingCycleTime2
-#
-# Used by:
-# Ship: Endurance
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"), "duration",
- src.getModifiedItemAttr("eliteBonusExpedition2"), skill="Expedition Frigates")
diff --git a/eos/effects/expeditionfrigateshieldresistance1.py b/eos/effects/expeditionfrigateshieldresistance1.py
deleted file mode 100644
index ff05639dc..000000000
--- a/eos/effects/expeditionfrigateshieldresistance1.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# expeditionFrigateShieldResistance1
-#
-# Used by:
-# Ship: Endurance
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("eliteBonusExpedition1"),
- skill="Expedition Frigates")
- fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("eliteBonusExpedition1"),
- skill="Expedition Frigates")
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("eliteBonusExpedition1"),
- skill="Expedition Frigates")
- fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("eliteBonusExpedition1"),
- skill="Expedition Frigates")
diff --git a/eos/effects/explosivearmorcompensationhardeningbonusgrouparmorcoating.py b/eos/effects/explosivearmorcompensationhardeningbonusgrouparmorcoating.py
deleted file mode 100644
index 05511b42f..000000000
--- a/eos/effects/explosivearmorcompensationhardeningbonusgrouparmorcoating.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# explosiveArmorCompensationHardeningBonusGroupArmorCoating
-#
-# Used by:
-# Skill: Explosive Armor Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Coating",
- "explosiveDamageResistanceBonus",
- skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/explosivearmorcompensationhardeningbonusgroupenergized.py b/eos/effects/explosivearmorcompensationhardeningbonusgroupenergized.py
deleted file mode 100644
index 556cbb7f2..000000000
--- a/eos/effects/explosivearmorcompensationhardeningbonusgroupenergized.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# explosiveArmorCompensationHardeningBonusGroupEnergized
-#
-# Used by:
-# Skill: Explosive Armor Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Plating Energized",
- "explosiveDamageResistanceBonus",
- skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/explosiveshieldcompensationhardeningbonusgroupshieldamp.py b/eos/effects/explosiveshieldcompensationhardeningbonusgroupshieldamp.py
deleted file mode 100644
index 332ccae6e..000000000
--- a/eos/effects/explosiveshieldcompensationhardeningbonusgroupshieldamp.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# explosiveShieldCompensationHardeningBonusGroupShieldAmp
-#
-# Used by:
-# Skill: Explosive Shield Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Shield Resistance Amplifier",
- "explosiveDamageResistanceBonus",
- skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/falloffbonuseffecthybrids.py b/eos/effects/falloffbonuseffecthybrids.py
deleted file mode 100644
index 94f3ab90b..000000000
--- a/eos/effects/falloffbonuseffecthybrids.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# falloffBonusEffectHybrids
-#
-# Used by:
-# Modules named like: Hybrid Ambit Extension (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "falloff", module.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/falloffbonuseffectlasers.py b/eos/effects/falloffbonuseffectlasers.py
deleted file mode 100644
index dd5838c5a..000000000
--- a/eos/effects/falloffbonuseffectlasers.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# falloffBonusEffectLasers
-#
-# Used by:
-# Modules named like: Energy Ambit Extension (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Weapon",
- "falloff", module.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/falloffbonuseffectprojectiles.py b/eos/effects/falloffbonuseffectprojectiles.py
deleted file mode 100644
index 0de580e18..000000000
--- a/eos/effects/falloffbonuseffectprojectiles.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# falloffBonusEffectProjectiles
-#
-# Used by:
-# Modules named like: Projectile Ambit Extension (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Projectile Weapon",
- "falloff", module.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/federationsetbonus3.py b/eos/effects/federationsetbonus3.py
deleted file mode 100644
index f73c4d6af..000000000
--- a/eos/effects/federationsetbonus3.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# federationsetbonus3
-#
-# Used by:
-# Implants named like: High grade Spur (6 of 6)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
- "scanMagnetometricStrengthPercent",
- implant.getModifiedItemAttr("implantSetFederationNavy"))
diff --git a/eos/effects/federationsetlgbonus.py b/eos/effects/federationsetlgbonus.py
deleted file mode 100644
index a393582ba..000000000
--- a/eos/effects/federationsetlgbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# federationsetLGbonus
-#
-# Used by:
-# Implants named like: Low grade Spur (6 of 6)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
- "scanMagnetometricStrengthModifier",
- implant.getModifiedItemAttr("implantSetLGFederationNavy"))
diff --git a/eos/effects/fighterabilityattackm.py b/eos/effects/fighterabilityattackm.py
deleted file mode 100644
index d0a028f48..000000000
--- a/eos/effects/fighterabilityattackm.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# fighterAbilityAttackM
-#
-# Used by:
-# Items from category: Fighter (50 of 82)
-# Fighters from group: Heavy Fighter (34 of 34)
-"""
-Since fighter abilities do not have any sort of item entity in the EVE database, we must derive the abilities from the
-effects, and thus this effect file contains some custom information useful only to fighters.
-"""
-# User-friendly name for the ability
-displayName = "Turret Attack"
-
-# Attribute prefix that this ability targets
-prefix = "fighterAbilityAttackMissile"
-
-type = "active"
-
-
-def handler(fit, src, context):
- pass
diff --git a/eos/effects/fighterabilityecm.py b/eos/effects/fighterabilityecm.py
deleted file mode 100644
index cfc9c21db..000000000
--- a/eos/effects/fighterabilityecm.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# fighterAbilityECM
-#
-# Used by:
-# Fighters named like: Scarab (4 of 4)
-"""
-Since fighter abilities do not have any sort of item entity in the EVE database, we must derive the abilities from the
-effects, and thus this effect file contains some custom information useful only to fighters.
-"""
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-# User-friendly name for the ability
-displayName = "ECM"
-
-prefix = "fighterAbilityECM"
-
-type = "projected", "active"
-grouped = True
-
-
-def handler(fit, module, context, **kwargs):
- if "projected" not in context:
- return
- # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
- strModifier = 1 - (module.getModifiedItemAttr("{}Strength{}".format(prefix, fit.scanType)) * module.amountActive) / fit.scanStrength
-
- if 'effect' in kwargs:
- strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- fit.ecmProjectedStr *= strModifier
diff --git a/eos/effects/fighterabilityenergyneutralizer.py b/eos/effects/fighterabilityenergyneutralizer.py
deleted file mode 100644
index 28b68d089..000000000
--- a/eos/effects/fighterabilityenergyneutralizer.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# fighterAbilityEnergyNeutralizer
-#
-# Used by:
-# Fighters named like: Cenobite (4 of 4)
-"""
-Since fighter abilities do not have any sort of item entity in the EVE database, we must derive the abilities from the
-effects, and thus this effect file contains some custom information useful only to fighters.
-"""
-# User-friendly name for the ability
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-displayName = "Energy Neutralizer"
-prefix = "fighterAbilityEnergyNeutralizer"
-type = "active", "projected"
-grouped = True
-
-
-def handler(fit, src, context, **kwargs):
- if "projected" in context:
- amount = src.getModifiedItemAttr("{}Amount".format(prefix)) * src.amountActive
- time = src.getModifiedItemAttr("{}Duration".format(prefix))
-
- if 'effect' in kwargs:
- amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- fit.addDrain(src, time, amount, 0)
diff --git a/eos/effects/fighterabilityevasivemaneuvers.py b/eos/effects/fighterabilityevasivemaneuvers.py
deleted file mode 100644
index 151effaaa..000000000
--- a/eos/effects/fighterabilityevasivemaneuvers.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# fighterAbilityEvasiveManeuvers
-#
-# Used by:
-# Fighters from group: Light Fighter (16 of 32)
-"""
-Since fighter abilities do not have any sort of item entity in the EVE database, we must derive the abilities from the
-effects, and thus this effect file contains some custom information useful only to fighters.
-"""
-# User-friendly name for the ability
-displayName = "Evasive Maneuvers"
-
-prefix = "fighterAbilityEvasiveManeuvers"
-
-# Is ability applied to the fighter squad as a whole, or per fighter?
-grouped = True
-
-type = "active"
-runTime = "late"
-
-
-def handler(fit, container, context):
- container.boostItemAttr("maxVelocity",
- container.getModifiedItemAttr("fighterAbilityEvasiveManeuversSpeedBonus"))
- container.boostItemAttr("signatureRadius",
- container.getModifiedItemAttr("fighterAbilityEvasiveManeuversSignatureRadiusBonus"),
- stackingPenalties=True)
-
- # These may not have stacking penalties, but there's nothing else that affects the attributes yet to check.
- container.multiplyItemAttr("shieldEmDamageResonance",
- container.getModifiedItemAttr("fighterAbilityEvasiveManeuversEmResonance"),
- stackingPenalties=True)
- container.multiplyItemAttr("shieldThermalDamageResonance",
- container.getModifiedItemAttr("fighterAbilityEvasiveManeuversThermResonance"),
- stackingPenalties=True)
- container.multiplyItemAttr("shieldKineticDamageResonance",
- container.getModifiedItemAttr("fighterAbilityEvasiveManeuversKinResonance"),
- stackingPenalties=True)
- container.multiplyItemAttr("shieldExplosiveDamageResonance",
- container.getModifiedItemAttr("fighterAbilityEvasiveManeuversExpResonance"),
- stackingPenalties=True)
diff --git a/eos/effects/fighterabilitylaunchbomb.py b/eos/effects/fighterabilitylaunchbomb.py
deleted file mode 100644
index 03763fd5a..000000000
--- a/eos/effects/fighterabilitylaunchbomb.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# fighterAbilityLaunchBomb
-#
-# Used by:
-# Fighters from group: Heavy Fighter (16 of 34)
-"""
-Since fighter abilities do not have any sort of item entity in the EVE database, we must derive the abilities from the
-effects, and thus this effect file contains some custom information useful only to fighters.
-"""
-# User-friendly name for the ability
-displayName = "Bomb"
-
-# Attribute prefix that this ability targets
-prefix = "fighterAbilityLaunchBomb"
-
-type = "active"
-
-# This flag is required for effects that use charges in order to properly calculate reload time
-hasCharges = True
-
-
-def handler(fit, src, context):
- pass
diff --git a/eos/effects/fighterabilitymicrowarpdrive.py b/eos/effects/fighterabilitymicrowarpdrive.py
deleted file mode 100644
index d9cfdbe47..000000000
--- a/eos/effects/fighterabilitymicrowarpdrive.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# fighterAbilityMicroWarpDrive
-#
-# Used by:
-# Items from category: Fighter (48 of 82)
-"""
-Since fighter abilities do not have any sort of item entity in the EVE database, we must derive the abilities from the
-effects, and thus this effect file contains some custom information useful only to fighters.
-"""
-# User-friendly name for the ability
-displayName = "Microwarpdrive"
-
-# Is ability applied to the fighter squad as a whole, or per fighter?
-grouped = True
-
-type = "active"
-runTime = "late"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("maxVelocity", module.getModifiedItemAttr("fighterAbilityMicroWarpDriveSpeedBonus"),
- stackingPenalties=True)
- module.boostItemAttr("signatureRadius",
- module.getModifiedItemAttr("fighterAbilityMicroWarpDriveSignatureRadiusBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/fighterabilitymissiles.py b/eos/effects/fighterabilitymissiles.py
deleted file mode 100644
index c6dde777e..000000000
--- a/eos/effects/fighterabilitymissiles.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# fighterAbilityMissiles
-#
-# Used by:
-# Items from category: Fighter (48 of 82)
-# Fighters from group: Light Fighter (32 of 32)
-"""
-Since fighter abilities do not have any sort of item entity in the EVE database, we must derive the abilities from the
-effects, and thus this effect file contains some custom information useful only to fighters.
-"""
-# User-friendly name for the ability
-displayName = "Missile Attack"
-
-# Attribute prefix that this ability targets
-prefix = "fighterAbilityMissiles"
-
-type = "active"
-
-# This flag is required for effects that use charges in order to properly calculate reload time
-hasCharges = True
-
-
-def handler(fit, src, context):
- pass
diff --git a/eos/effects/fighterabilitystasiswebifier.py b/eos/effects/fighterabilitystasiswebifier.py
deleted file mode 100644
index 640cff4c0..000000000
--- a/eos/effects/fighterabilitystasiswebifier.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# fighterAbilityStasisWebifier
-#
-# Used by:
-# Fighters named like: Dromi (4 of 4)
-"""
-Since fighter abilities do not have any sort of item entity in the EVE database, we must derive the abilities from the
-effects, and thus this effect file contains some custom information useful only to fighters.
-"""
-
-# User-friendly name for the ability
-displayName = "Stasis Webifier"
-prefix = "fighterAbilityStasisWebifier"
-type = "active", "projected"
-grouped = True
-
-
-def handler(fit, src, context):
- if "projected" not in context:
- return
- fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("{}SpeedPenalty".format(prefix)) * src.amountActive,
- stackingPenalties=True)
diff --git a/eos/effects/fighterabilitywarpdisruption.py b/eos/effects/fighterabilitywarpdisruption.py
deleted file mode 100644
index e62c34de7..000000000
--- a/eos/effects/fighterabilitywarpdisruption.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# fighterAbilityWarpDisruption
-#
-# Used by:
-# Fighters named like: Siren (4 of 4)
-"""
-Since fighter abilities do not have any sort of item entity in the EVE database, we must derive the abilities from the
-effects, and thus this effect file contains some custom information useful only to fighters.
-"""
-
-# User-friendly name for the ability
-displayName = "Warp Disruption"
-prefix = "fighterAbilityWarpDisruption"
-type = "active", "projected"
-grouped = True
-
-
-def handler(fit, src, context):
- if "projected" not in context:
- return
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("{}PointStrength".format(prefix)) * src.amountActive)
diff --git a/eos/effects/freighteragilitybonus2o2.py b/eos/effects/freighteragilitybonus2o2.py
deleted file mode 100644
index 740a25522..000000000
--- a/eos/effects/freighteragilitybonus2o2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# freighterAgilityBonus2O2
-#
-# Used by:
-# Ship: Bowhead
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shipMaintenanceBayCapacity", ship.getModifiedItemAttr("freighterBonusO1"),
- skill="ORE Freighter")
diff --git a/eos/effects/freighteragilitybonusa1.py b/eos/effects/freighteragilitybonusa1.py
deleted file mode 100644
index 8aa4fa822..000000000
--- a/eos/effects/freighteragilitybonusa1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterAgilityBonusA1
-#
-# Used by:
-# Ship: Ark
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("freighterBonusA1"), skill="Amarr Freighter")
diff --git a/eos/effects/freighteragilitybonusc1.py b/eos/effects/freighteragilitybonusc1.py
deleted file mode 100644
index 02d6f9eae..000000000
--- a/eos/effects/freighteragilitybonusc1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterAgilityBonusC1
-#
-# Used by:
-# Ship: Rhea
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("freighterBonusC1"), skill="Caldari Freighter")
diff --git a/eos/effects/freighteragilitybonusg1.py b/eos/effects/freighteragilitybonusg1.py
deleted file mode 100644
index 54f7e1a62..000000000
--- a/eos/effects/freighteragilitybonusg1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterAgilityBonusG1
-#
-# Used by:
-# Ship: Anshar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("freighterBonusG1"), skill="Gallente Freighter")
diff --git a/eos/effects/freighteragilitybonusm1.py b/eos/effects/freighteragilitybonusm1.py
deleted file mode 100644
index 99100cf31..000000000
--- a/eos/effects/freighteragilitybonusm1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterAgilityBonusM1
-#
-# Used by:
-# Ship: Nomad
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("freighterBonusM1"), skill="Minmatar Freighter")
diff --git a/eos/effects/freightercargobonusa2.py b/eos/effects/freightercargobonusa2.py
deleted file mode 100644
index beda51a4c..000000000
--- a/eos/effects/freightercargobonusa2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterCargoBonusA2
-#
-# Used by:
-# Variations of ship: Providence (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("capacity", ship.getModifiedItemAttr("freighterBonusA2"), skill="Amarr Freighter")
diff --git a/eos/effects/freightercargobonusc2.py b/eos/effects/freightercargobonusc2.py
deleted file mode 100644
index 35085c886..000000000
--- a/eos/effects/freightercargobonusc2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterCargoBonusC2
-#
-# Used by:
-# Variations of ship: Charon (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("capacity", ship.getModifiedItemAttr("freighterBonusC2"), skill="Caldari Freighter")
diff --git a/eos/effects/freightercargobonusg2.py b/eos/effects/freightercargobonusg2.py
deleted file mode 100644
index 4b4807871..000000000
--- a/eos/effects/freightercargobonusg2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterCargoBonusG2
-#
-# Used by:
-# Variations of ship: Obelisk (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("capacity", ship.getModifiedItemAttr("freighterBonusG2"), skill="Gallente Freighter")
diff --git a/eos/effects/freightercargobonusm2.py b/eos/effects/freightercargobonusm2.py
deleted file mode 100644
index ee616cb53..000000000
--- a/eos/effects/freightercargobonusm2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterCargoBonusM2
-#
-# Used by:
-# Variations of ship: Fenrir (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("capacity", ship.getModifiedItemAttr("freighterBonusM2"), skill="Minmatar Freighter")
diff --git a/eos/effects/freightermaxvelocitybonusa1.py b/eos/effects/freightermaxvelocitybonusa1.py
deleted file mode 100644
index 0842ef288..000000000
--- a/eos/effects/freightermaxvelocitybonusa1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterMaxVelocityBonusA1
-#
-# Used by:
-# Ship: Providence
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("freighterBonusA1"), skill="Amarr Freighter")
diff --git a/eos/effects/freightermaxvelocitybonusc1.py b/eos/effects/freightermaxvelocitybonusc1.py
deleted file mode 100644
index e81e55459..000000000
--- a/eos/effects/freightermaxvelocitybonusc1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterMaxVelocityBonusC1
-#
-# Used by:
-# Ship: Charon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("freighterBonusC1"), skill="Caldari Freighter")
diff --git a/eos/effects/freightermaxvelocitybonusg1.py b/eos/effects/freightermaxvelocitybonusg1.py
deleted file mode 100644
index 4fc3f4844..000000000
--- a/eos/effects/freightermaxvelocitybonusg1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterMaxVelocityBonusG1
-#
-# Used by:
-# Ship: Obelisk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("freighterBonusG1"), skill="Gallente Freighter")
diff --git a/eos/effects/freightermaxvelocitybonusm1.py b/eos/effects/freightermaxvelocitybonusm1.py
deleted file mode 100644
index 497d0797f..000000000
--- a/eos/effects/freightermaxvelocitybonusm1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# freighterMaxVelocityBonusM1
-#
-# Used by:
-# Ship: Fenrir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("freighterBonusM1"), skill="Minmatar Freighter")
diff --git a/eos/effects/freightersmacapacitybonuso1.py b/eos/effects/freightersmacapacitybonuso1.py
deleted file mode 100644
index 92df1ab36..000000000
--- a/eos/effects/freightersmacapacitybonuso1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# freighterSMACapacityBonusO1
-#
-# Used by:
-# Ship: Bowhead
-type = "passive"
-
-
-def handler(fit, ship, context):
- # todo: stacking?
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("freighterBonusO2"), skill="ORE Freighter",
- stackingPenalties=True)
diff --git a/eos/effects/frequencymininglasermaxrangebonus.py b/eos/effects/frequencymininglasermaxrangebonus.py
deleted file mode 100644
index 9285d51b8..000000000
--- a/eos/effects/frequencymininglasermaxrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# frequencyMiningLaserMaxRangeBonus
-#
-# Used by:
-# Implants named like: grade Harvest (10 of 12)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Frequency Mining Laser",
- "maxRange", implant.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/fuelconservationcapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringafterburner.py b/eos/effects/fuelconservationcapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringafterburner.py
deleted file mode 100644
index bdc5f5269..000000000
--- a/eos/effects/fuelconservationcapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringafterburner.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# fuelConservationCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringAfterburner
-#
-# Used by:
-# Skill: Afterburner
-# Skill: Fuel Conservation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "capacitorNeed", skill.getModifiedItemAttr("capNeedBonus") * skill.level)
diff --git a/eos/effects/fueledarmorrepair.py b/eos/effects/fueledarmorrepair.py
deleted file mode 100644
index 79f9cf1e2..000000000
--- a/eos/effects/fueledarmorrepair.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# fueledArmorRepair
-#
-# Used by:
-# Modules from group: Ancillary Armor Repairer (7 of 7)
-runTime = "late"
-type = "active"
-
-
-def handler(fit, module, context):
- if module.charge and module.charge.name == "Nanite Repair Paste":
- multiplier = 3
- else:
- multiplier = 1
-
- amount = module.getModifiedItemAttr("armorDamageAmount") * multiplier
- speed = module.getModifiedItemAttr("duration") / 1000.0
- rps = amount / speed
- fit.extraAttributes.increase("armorRepair", rps)
- fit.extraAttributes.increase("armorRepairPreSpool", rps)
- fit.extraAttributes.increase("armorRepairFullSpool", rps)
diff --git a/eos/effects/fueledshieldboosting.py b/eos/effects/fueledshieldboosting.py
deleted file mode 100644
index 0cbbd439c..000000000
--- a/eos/effects/fueledshieldboosting.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# fueledShieldBoosting
-#
-# Used by:
-# Modules from group: Ancillary Shield Booster (8 of 8)
-runTime = "late"
-type = "active"
-
-
-def handler(fit, module, context):
- amount = module.getModifiedItemAttr("shieldBonus")
- speed = module.getModifiedItemAttr("duration") / 1000.0
- fit.extraAttributes.increase("shieldRepair", amount / speed)
diff --git a/eos/effects/gascloudharvestingmaxgroupskilllevel.py b/eos/effects/gascloudharvestingmaxgroupskilllevel.py
deleted file mode 100644
index 3491f2f44..000000000
--- a/eos/effects/gascloudharvestingmaxgroupskilllevel.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# gasCloudHarvestingMaxGroupSkillLevel
-#
-# Used by:
-# Skill: Gas Cloud Harvesting
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Gas Cloud Harvester",
- "maxGroupActive", skill.level)
diff --git a/eos/effects/gasharvestermaxrangebonus.py b/eos/effects/gasharvestermaxrangebonus.py
deleted file mode 100644
index dbfd9f564..000000000
--- a/eos/effects/gasharvestermaxrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# gasHarvesterMaxRangeBonus
-#
-# Used by:
-# Implants named like: grade Harvest (10 of 12)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Gas Cloud Harvester",
- "maxRange", implant.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/gasharvestingcycletimemodulesrequiringgascloudharvesting.py b/eos/effects/gasharvestingcycletimemodulesrequiringgascloudharvesting.py
deleted file mode 100644
index 015bad393..000000000
--- a/eos/effects/gasharvestingcycletimemodulesrequiringgascloudharvesting.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# gasHarvestingCycleTimeModulesRequiringGasCloudHarvesting
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Alchemist' Gas Harvesting GH (3 of 3)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gas Cloud Harvesting"),
- "duration", implant.getModifiedItemAttr("durationBonus"))
diff --git a/eos/effects/gchyieldmultiplypassive.py b/eos/effects/gchyieldmultiplypassive.py
deleted file mode 100644
index c62e662e5..000000000
--- a/eos/effects/gchyieldmultiplypassive.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# GCHYieldMultiplyPassive
-#
-# Used by:
-# Ship: Prospect
-# Ship: Venture
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Gas Cloud Harvester",
- "miningAmount", module.getModifiedItemAttr("miningAmountMultiplier"))
diff --git a/eos/effects/gunneryfalloffbonusonline.py b/eos/effects/gunneryfalloffbonusonline.py
deleted file mode 100644
index 00532b254..000000000
--- a/eos/effects/gunneryfalloffbonusonline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# gunneryFalloffBonusOnline
-#
-# Used by:
-# Modules from group: Tracking Enhancer (10 of 10)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "falloff", module.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/gunnerymaxrangebonusonline.py b/eos/effects/gunnerymaxrangebonusonline.py
deleted file mode 100644
index 284d5b3ca..000000000
--- a/eos/effects/gunnerymaxrangebonusonline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# gunneryMaxRangeBonusOnline
-#
-# Used by:
-# Modules from group: Tracking Enhancer (10 of 10)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "maxRange", module.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/gunnerymaxrangefallofftrackingspeedbonus.py b/eos/effects/gunnerymaxrangefallofftrackingspeedbonus.py
deleted file mode 100644
index ef6c60e3b..000000000
--- a/eos/effects/gunnerymaxrangefallofftrackingspeedbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# gunneryMaxRangeFalloffTrackingSpeedBonus
-#
-# Used by:
-# Modules from group: Tracking Computer (11 of 11)
-type = "active"
-
-
-def handler(fit, module, context):
- for attr in ("maxRange", "falloff", "trackingSpeed"):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- attr, module.getModifiedItemAttr("%sBonus" % attr),
- stackingPenalties=True)
diff --git a/eos/effects/gunnerytrackingspeedbonusonline.py b/eos/effects/gunnerytrackingspeedbonusonline.py
deleted file mode 100644
index bec1111d7..000000000
--- a/eos/effects/gunnerytrackingspeedbonusonline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# gunneryTrackingSpeedBonusOnline
-#
-# Used by:
-# Modules from group: Tracking Enhancer (10 of 10)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/gunneryturretspeebonuspostpercentspeedlocationshipmodulesrequiringgunnery.py b/eos/effects/gunneryturretspeebonuspostpercentspeedlocationshipmodulesrequiringgunnery.py
deleted file mode 100644
index fc4a45d26..000000000
--- a/eos/effects/gunneryturretspeebonuspostpercentspeedlocationshipmodulesrequiringgunnery.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# gunneryTurretSpeeBonusPostPercentSpeedLocationShipModulesRequiringGunnery
-#
-# Used by:
-# Implants named like: Inherent Implants 'Lancer' Gunnery RF (6 of 6)
-# Implant: Pashan's Turret Customization Mindlink
-# Skill: Gunnery
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "speed", container.getModifiedItemAttr("turretSpeeBonus") * level)
diff --git a/eos/effects/hackingskillvirusbonus.py b/eos/effects/hackingskillvirusbonus.py
deleted file mode 100644
index 45610c4f9..000000000
--- a/eos/effects/hackingskillvirusbonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# hackingSkillVirusBonus
-#
-# Used by:
-# Modules named like: Memetic Algorithm Bank (8 of 8)
-# Implant: Neural Lace 'Blackglass' Net Intrusion 920-40
-# Implant: Poteque 'Prospector' Environmental Analysis EY-1005
-# Implant: Poteque 'Prospector' Hacking HC-905
-# Skill: Hacking
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Hacking"),
- "virusCoherence", container.getModifiedItemAttr("virusCoherenceBonus") * level)
diff --git a/eos/effects/hackingvirusstrengthbonus.py b/eos/effects/hackingvirusstrengthbonus.py
deleted file mode 100644
index 6307a9224..000000000
--- a/eos/effects/hackingvirusstrengthbonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# hackingVirusStrengthBonus
-#
-# Used by:
-# Implant: Neural Lace 'Blackglass' Net Intrusion 920-40
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Hacking"), "virusStrength", src.getModifiedItemAttr("virusStrengthBonus"))
diff --git a/eos/effects/hardpointmodifiereffect.py b/eos/effects/hardpointmodifiereffect.py
deleted file mode 100644
index 33f3fc576..000000000
--- a/eos/effects/hardpointmodifiereffect.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# hardPointModifierEffect
-#
-# Used by:
-# Subsystems from group: Offensive Systems (12 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("turretSlotsLeft", module.getModifiedItemAttr("turretHardPointModifier"))
- fit.ship.increaseItemAttr("launcherSlotsLeft", module.getModifiedItemAttr("launcherHardPointModifier"))
diff --git a/eos/effects/heatdamagebonus.py b/eos/effects/heatdamagebonus.py
deleted file mode 100644
index a4648cefa..000000000
--- a/eos/effects/heatdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# heatDamageBonus
-#
-# Used by:
-# Modules from group: Shield Boost Amplifier (25 of 25)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "heatDamage", module.getModifiedItemAttr("heatDamageBonus"))
diff --git a/eos/effects/highspeedmanuveringcapacitorneedmultiplierpostpercentcapacitorneedlocationshipmodulesrequiringhighspeedmanuvering.py b/eos/effects/highspeedmanuveringcapacitorneedmultiplierpostpercentcapacitorneedlocationshipmodulesrequiringhighspeedmanuvering.py
deleted file mode 100644
index 12ae33b27..000000000
--- a/eos/effects/highspeedmanuveringcapacitorneedmultiplierpostpercentcapacitorneedlocationshipmodulesrequiringhighspeedmanuvering.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# highSpeedManuveringCapacitorNeedMultiplierPostPercentCapacitorNeedLocationShipModulesRequiringHighSpeedManuvering
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Rogue' High Speed Maneuvering HS (6 of 6)
-# Skill: High Speed Maneuvering
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/hullupgradesarmorhpbonuspostpercenthplocationship.py b/eos/effects/hullupgradesarmorhpbonuspostpercenthplocationship.py
deleted file mode 100644
index 9d9ba7b72..000000000
--- a/eos/effects/hullupgradesarmorhpbonuspostpercenthplocationship.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# hullUpgradesArmorHpBonusPostPercentHpLocationShip
-#
-# Used by:
-# Implants named like: grade Slave (15 of 18)
-# Modules named like: Trimark Armor Pump (8 of 8)
-# Implant: Low-grade Snake Epsilon
-# Implant: Mid-grade Snake Epsilon
-# Skill: Hull Upgrades
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("armorHP", (container.getModifiedItemAttr("armorHpBonus") or 0) * level)
diff --git a/eos/effects/hybridweapondamagemultiply.py b/eos/effects/hybridweapondamagemultiply.py
deleted file mode 100644
index 87166fc7c..000000000
--- a/eos/effects/hybridweapondamagemultiply.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# hybridWeaponDamageMultiply
-#
-# Used by:
-# Modules from group: Magnetic Field Stabilizer (15 of 15)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "damageMultiplier", module.getModifiedItemAttr("damageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/hybridweapondamagemultiplypassive.py b/eos/effects/hybridweapondamagemultiplypassive.py
deleted file mode 100644
index 53dcbda89..000000000
--- a/eos/effects/hybridweapondamagemultiplypassive.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# hybridWeaponDamageMultiplyPassive
-#
-# Used by:
-# Modules named like: Hybrid Collision Accelerator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "damageMultiplier", module.getModifiedItemAttr("damageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/hybridweaponspeedmultiply.py b/eos/effects/hybridweaponspeedmultiply.py
deleted file mode 100644
index 876ef5b3c..000000000
--- a/eos/effects/hybridweaponspeedmultiply.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# hybridWeaponSpeedMultiply
-#
-# Used by:
-# Modules from group: Magnetic Field Stabilizer (15 of 15)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/hybridweaponspeedmultiplypassive.py b/eos/effects/hybridweaponspeedmultiplypassive.py
deleted file mode 100644
index d40a2d630..000000000
--- a/eos/effects/hybridweaponspeedmultiplypassive.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# hybridWeaponSpeedMultiplyPassive
-#
-# Used by:
-# Modules named like: Hybrid Burst Aerator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/iceharvestcycletimemodulesrequiringiceharvesting.py b/eos/effects/iceharvestcycletimemodulesrequiringiceharvesting.py
deleted file mode 100644
index 7066cba7b..000000000
--- a/eos/effects/iceharvestcycletimemodulesrequiringiceharvesting.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# iceHarvestCycleTimeModulesRequiringIceHarvesting
-#
-# Used by:
-# Implants named like: Inherent Implants 'Yeti' Ice Harvesting IH (3 of 3)
-# Module: Medium Ice Harvester Accelerator I
-# Skill: Ice Harvesting
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
- "duration", container.getModifiedItemAttr("iceHarvestCycleBonus") * level)
diff --git a/eos/effects/iceharvestcycletimemodulesrequiringiceharvestingonline.py b/eos/effects/iceharvestcycletimemodulesrequiringiceharvestingonline.py
deleted file mode 100644
index 500775345..000000000
--- a/eos/effects/iceharvestcycletimemodulesrequiringiceharvestingonline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# iceHarvestCycleTimeModulesRequiringIceHarvestingOnline
-#
-# Used by:
-# Variations of module: Ice Harvester Upgrade I (5 of 5)
-# Module: Frostline 'Omnivore' Harvester Upgrade
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
- "duration", module.getModifiedItemAttr("iceHarvestCycleBonus"))
diff --git a/eos/effects/iceharvesterdurationmultiplier.py b/eos/effects/iceharvesterdurationmultiplier.py
deleted file mode 100644
index 2b2cc75c8..000000000
--- a/eos/effects/iceharvesterdurationmultiplier.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# iceHarvesterDurationMultiplier
-#
-# Used by:
-# Ship: Endurance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
- "duration", ship.getModifiedItemAttr("iceHarvestCycleBonus"))
diff --git a/eos/effects/iceharvestingdroneoperationdurationbonus.py b/eos/effects/iceharvestingdroneoperationdurationbonus.py
deleted file mode 100644
index 9cd10d66a..000000000
--- a/eos/effects/iceharvestingdroneoperationdurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# iceHarvestingDroneOperationDurationBonus
-#
-# Used by:
-# Modules named like: Drone Mining Augmentor (8 of 8)
-# Skill: Ice Harvesting Drone Operation
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting Drone Operation"), "duration", src.getModifiedItemAttr("rofBonus") * lvl)
diff --git a/eos/effects/iceharvestingdronespecbonus.py b/eos/effects/iceharvestingdronespecbonus.py
deleted file mode 100644
index 18af9f3b1..000000000
--- a/eos/effects/iceharvestingdronespecbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# iceHarvestingDroneSpecBonus
-#
-# Used by:
-# Skill: Ice Harvesting Drone Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting Drone Specialization"), "duration",
- src.getModifiedItemAttr("rofBonus") * lvl)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting Drone Specialization"),
- "maxVelocity", src.getModifiedItemAttr("maxVelocityBonus") * lvl)
diff --git a/eos/effects/iceminercpuusagepercent.py b/eos/effects/iceminercpuusagepercent.py
deleted file mode 100644
index 666c030a6..000000000
--- a/eos/effects/iceminercpuusagepercent.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# iceMinerCpuUsagePercent
-#
-# Used by:
-# Variations of module: Ice Harvester Upgrade I (5 of 5)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
- "cpu", module.getModifiedItemAttr("cpuPenaltyPercent"))
diff --git a/eos/effects/ignorecloakvelocitypenalty.py b/eos/effects/ignorecloakvelocitypenalty.py
deleted file mode 100644
index 4ddfb60b1..000000000
--- a/eos/effects/ignorecloakvelocitypenalty.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# ignoreCloakVelocityPenalty
-#
-# Used by:
-# Ship: Endurance
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemForce(lambda mod: mod.item.group.name == "Cloaking Device",
- "maxVelocityModifier", src.getModifiedItemAttr("velocityPenaltyReduction"))
diff --git a/eos/effects/imperialsetbonus3.py b/eos/effects/imperialsetbonus3.py
deleted file mode 100644
index bcd755f7f..000000000
--- a/eos/effects/imperialsetbonus3.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# imperialsetbonus3
-#
-# Used by:
-# Implants named like: High grade Grail (6 of 6)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
- "scanRadarStrengthPercent",
- implant.getModifiedItemAttr("implantSetImperialNavy"))
diff --git a/eos/effects/imperialsetlgbonus.py b/eos/effects/imperialsetlgbonus.py
deleted file mode 100644
index fc14ae72d..000000000
--- a/eos/effects/imperialsetlgbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# imperialsetLGbonus
-#
-# Used by:
-# Implants named like: Low grade Grail (6 of 6)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
- "scanRadarStrengthModifier",
- implant.getModifiedItemAttr("implantSetLGImperialNavy"))
diff --git a/eos/effects/implantarmorhpbonus2.py b/eos/effects/implantarmorhpbonus2.py
deleted file mode 100644
index 36c997118..000000000
--- a/eos/effects/implantarmorhpbonus2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# implantArmorHpBonus2
-#
-# Used by:
-# Implants named like: Inherent Implants 'Noble' Hull Upgrades HG (7 of 7)
-# Implant: Genolution Core Augmentation CA-4
-# Implant: Imperial Navy Modified 'Noble' Implant
-# Implant: Imperial Special Ops Field Enhancer - Standard
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.boostItemAttr("armorHP", implant.getModifiedItemAttr("armorHpBonus2"))
diff --git a/eos/effects/implanthardwiringabcapacitorneed.py b/eos/effects/implanthardwiringabcapacitorneed.py
deleted file mode 100644
index 1f0adf21c..000000000
--- a/eos/effects/implanthardwiringabcapacitorneed.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# implantHardwiringABcapacitorNeed
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Rogue' Fuel Conservation FC (6 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "capacitorNeed", implant.getModifiedItemAttr("capNeedBonus"))
diff --git a/eos/effects/implantsetwarpspeed.py b/eos/effects/implantsetwarpspeed.py
deleted file mode 100644
index ce351f428..000000000
--- a/eos/effects/implantsetwarpspeed.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# implantSetWarpSpeed
-#
-# Used by:
-# Implants named like: grade Ascendancy (12 of 12)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
- "WarpSBonus", implant.getModifiedItemAttr("implantSetWarpSpeed"))
diff --git a/eos/effects/implantvelocitybonus.py b/eos/effects/implantvelocitybonus.py
deleted file mode 100644
index d7841ad64..000000000
--- a/eos/effects/implantvelocitybonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# implantVelocityBonus
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Rogue' Navigation NN (6 of 6)
-# Implant: Genolution Core Augmentation CA-3
-# Implant: Shaqil's Speed Enhancer
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.boostItemAttr("maxVelocity", implant.getModifiedItemAttr("implantBonusVelocity"))
diff --git a/eos/effects/implantvelocitybonus2.py b/eos/effects/implantvelocitybonus2.py
deleted file mode 100644
index 3a39e759f..000000000
--- a/eos/effects/implantvelocitybonus2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# implantVelocityBonus2
-#
-# Used by:
-# Implant: Republic Special Ops Field Enhancer - Gamma
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.boostItemAttr("maxVelocity", implant.getModifiedItemAttr("velocityBonus2"))
diff --git a/eos/effects/implantwarpscramblerangebonus.py b/eos/effects/implantwarpscramblerangebonus.py
deleted file mode 100644
index 8eea16959..000000000
--- a/eos/effects/implantwarpscramblerangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# implantWarpScrambleRangeBonus
-#
-# Used by:
-# Implants named like: Inquest 'Hedone' Entanglement Optimizer WS (3 of 3)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler", "maxRange",
- src.getModifiedItemAttr("warpScrambleRangeBonus"), stackingPenalties=False)
diff --git a/eos/effects/increasesignatureradiusonline.py b/eos/effects/increasesignatureradiusonline.py
deleted file mode 100644
index 1ae8fe69a..000000000
--- a/eos/effects/increasesignatureradiusonline.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# increaseSignatureRadiusOnline
-#
-# Used by:
-# Modules from group: Inertial Stabilizer (7 of 7)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusBonus"), stackingPenalties=True)
diff --git a/eos/effects/industrialbonusdronedamage.py b/eos/effects/industrialbonusdronedamage.py
deleted file mode 100644
index f6c5137bd..000000000
--- a/eos/effects/industrialbonusdronedamage.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# industrialBonusDroneDamage
-#
-# Used by:
-# Ships from group: Blockade Runner (4 of 4)
-# Ships from group: Deep Space Transport (4 of 4)
-# Ships from group: Exhumer (3 of 3)
-# Ships from group: Industrial (17 of 17)
-# Ships from group: Industrial Command Ship (2 of 2)
-# Ships from group: Mining Barge (3 of 3)
-# Variations of ship: Venture (3 of 3)
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier",
- src.getModifiedItemAttr("industrialBonusDroneDamage"))
diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py
deleted file mode 100644
index f9efed36c..000000000
--- a/eos/effects/industrialcoreeffect2.py
+++ /dev/null
@@ -1,114 +0,0 @@
-# industrialCoreEffect2
-#
-# Used by:
-# Variations of module: Industrial Core I (2 of 2)
-type = "active"
-runTime = "early"
-
-
-def handler(fit, src, context):
- fit.extraAttributes["siege"] = True
- fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("speedFactor"), stackingPenalties=True)
- fit.ship.multiplyItemAttr("mass", src.getModifiedItemAttr("siegeMassMultiplier"))
- fit.ship.multiplyItemAttr("scanResolution",
- src.getModifiedItemAttr("scanResolutionMultiplier"),
- stackingPenalties=True)
-
- # Remote Shield Repper Bonuses
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
- "duration",
- src.getModifiedItemAttr("industrialCoreRemoteLogisticsDurationBonus"),
- )
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
- "maxRange",
- src.getModifiedItemAttr("industrialCoreRemoteLogisticsRangeBonus"),
- stackingPenalties=True
- )
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
- "capacitorNeed",
- src.getModifiedItemAttr("industrialCoreRemoteLogisticsDurationBonus")
- )
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
- "falloffEffectiveness",
- src.getModifiedItemAttr("industrialCoreRemoteLogisticsRangeBonus"),
- stackingPenalties=True
- )
-
- # Local Shield Repper Bonuses
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"),
- "duration",
- src.getModifiedItemAttr("industrialCoreLocalLogisticsDurationBonus"),
- )
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"),
- "shieldBonus",
- src.getModifiedItemAttr("industrialCoreLocalLogisticsAmountBonus"),
- stackingPenalties=True
- )
-
- # Mining Burst Bonuses
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"),
- "warfareBuff1Value",
- src.getModifiedItemAttr("industrialCoreBonusMiningBurstStrength"),
- )
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"),
- "warfareBuff2Value",
- src.getModifiedItemAttr("industrialCoreBonusMiningBurstStrength"),
- )
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"),
- "warfareBuff3Value",
- src.getModifiedItemAttr("industrialCoreBonusMiningBurstStrength"),
- )
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"),
- "warfareBuff4Value",
- src.getModifiedItemAttr("industrialCoreBonusMiningBurstStrength"),
- )
-
- # Command Burst Range Bonus
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"),
- "maxRange",
- src.getModifiedItemAttr("industrialCoreBonusCommandBurstRange"),
- stackingPenalties=True
- )
-
- # Drone Bonuses
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Ice Harvesting Drone Operation"),
- "duration",
- src.getModifiedItemAttr("industrialCoreBonusDroneIceHarvesting"),
- )
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"),
- "miningAmount",
- src.getModifiedItemAttr("industrialCoreBonusDroneMining"),
- )
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "maxVelocity",
- src.getModifiedItemAttr("industrialCoreBonusDroneVelocity"),
- )
-
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier",
- src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"),
- stackingPenalties=True
- )
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "shieldCapacity",
- src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"),
- )
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "armorHP",
- src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"),
- )
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "hp",
- src.getModifiedItemAttr("industrialCoreBonusDroneDamageHP"),
- )
-
- # Todo: remote impedance (no reps, etc)
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("siegeModeWarpStatus"))
- fit.ship.boostItemAttr("remoteRepairImpedance", src.getModifiedItemAttr("remoteRepairImpedanceBonus"))
- fit.ship.increaseItemAttr("disallowTethering", src.getModifiedItemAttr("disallowTethering"))
- fit.ship.boostItemAttr("sensorDampenerResistance", src.getModifiedItemAttr("sensorDampenerResistanceBonus"))
- fit.ship.boostItemAttr("remoteAssistanceImpedance", src.getModifiedItemAttr("remoteAssistanceImpedanceBonus"))
- fit.ship.increaseItemAttr("disallowDocking", src.getModifiedItemAttr("disallowDocking"))
diff --git a/eos/effects/informationcommanddurationbonus.py b/eos/effects/informationcommanddurationbonus.py
deleted file mode 100644
index f5a7dc351..000000000
--- a/eos/effects/informationcommanddurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# informationCommandDurationBonus
-#
-# Used by:
-# Skill: Information Command
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "buffDuration",
- src.getModifiedItemAttr("durationBonus") * lvl)
diff --git a/eos/effects/informationcommandmindlink.py b/eos/effects/informationcommandmindlink.py
deleted file mode 100644
index f545ab629..000000000
--- a/eos/effects/informationcommandmindlink.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# informationCommandMindlink
-#
-# Used by:
-# Implant: Caldari Navy Command Mindlink
-# Implant: Imperial Navy Command Mindlink
-# Implant: Information Command Mindlink
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "buffDuration",
- src.getModifiedItemAttr("mindlinkBonus"))
diff --git a/eos/effects/informationcommandstrengthbonus.py b/eos/effects/informationcommandstrengthbonus.py
deleted file mode 100644
index e4431bee0..000000000
--- a/eos/effects/informationcommandstrengthbonus.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# informationCommandStrengthBonus
-#
-# Used by:
-# Skill: Information Command Specialist
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
diff --git a/eos/effects/interceptor2hybridtracking.py b/eos/effects/interceptor2hybridtracking.py
deleted file mode 100644
index c13c7bdea..000000000
--- a/eos/effects/interceptor2hybridtracking.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# interceptor2HybridTracking
-#
-# Used by:
-# Ship: Taranis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusInterceptor2"),
- skill="Interceptors")
diff --git a/eos/effects/interceptor2lasertracking.py b/eos/effects/interceptor2lasertracking.py
deleted file mode 100644
index bc71ac1e2..000000000
--- a/eos/effects/interceptor2lasertracking.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# interceptor2LaserTracking
-#
-# Used by:
-# Ship: Crusader
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusInterceptor2"),
- skill="Interceptors")
diff --git a/eos/effects/interceptor2projectiledamage.py b/eos/effects/interceptor2projectiledamage.py
deleted file mode 100644
index 9d4cfeb97..000000000
--- a/eos/effects/interceptor2projectiledamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# interceptor2ProjectileDamage
-#
-# Used by:
-# Ship: Claw
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("eliteBonusInterceptor2"),
- skill="Interceptors")
diff --git a/eos/effects/interceptor2shieldresist.py b/eos/effects/interceptor2shieldresist.py
deleted file mode 100644
index 301cc98c4..000000000
--- a/eos/effects/interceptor2shieldresist.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# Interceptor2ShieldResist
-#
-# Used by:
-# Ship: Raptor
-type = "passive"
-
-
-def handler(fit, ship, context):
- damageTypes = ("Em", "Explosive", "Kinetic", "Thermal")
- for damageType in damageTypes:
- fit.ship.boostItemAttr("shield{0}DamageResonance".format(damageType),
- ship.getModifiedItemAttr("eliteBonusInterceptor2"), skill="Interceptors")
diff --git a/eos/effects/interceptor2warpscramblerange.py b/eos/effects/interceptor2warpscramblerange.py
deleted file mode 100644
index d878926d0..000000000
--- a/eos/effects/interceptor2warpscramblerange.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# Interceptor2WarpScrambleRange
-#
-# Used by:
-# Ships from group: Interceptor (6 of 10)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler",
- "maxRange", ship.getModifiedItemAttr("eliteBonusInterceptor2"), skill="Interceptors")
diff --git a/eos/effects/interceptormwdsignatureradiusbonus.py b/eos/effects/interceptormwdsignatureradiusbonus.py
deleted file mode 100644
index 73157a691..000000000
--- a/eos/effects/interceptormwdsignatureradiusbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# interceptorMWDSignatureRadiusBonus
-#
-# Used by:
-# Ships from group: Interceptor (10 of 10)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "signatureRadiusBonus", ship.getModifiedItemAttr("eliteBonusInterceptor"),
- skill="Interceptors")
diff --git a/eos/effects/invulnerabilitycoredurationbonus.py b/eos/effects/invulnerabilitycoredurationbonus.py
deleted file mode 100644
index b318f11cb..000000000
--- a/eos/effects/invulnerabilitycoredurationbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# invulnerabilityCoreDurationBonus
-#
-# Used by:
-# Skill: Invulnerability Core Operation
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Invulnerability Core Operation"), "buffDuration",
- src.getModifiedItemAttr("durationBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Invulnerability Core Operation"), "duration",
- src.getModifiedItemAttr("durationBonus") * lvl)
diff --git a/eos/effects/jumpdriveskillscapacitorneedbonus.py b/eos/effects/jumpdriveskillscapacitorneedbonus.py
deleted file mode 100644
index 578b0f47f..000000000
--- a/eos/effects/jumpdriveskillscapacitorneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# jumpDriveSkillsCapacitorNeedBonus
-#
-# Used by:
-# Skill: Jump Drive Operation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.ship.boostItemAttr("jumpDriveCapacitorNeed",
- skill.getModifiedItemAttr("jumpDriveCapacitorNeedBonus") * skill.level)
diff --git a/eos/effects/jumpdriveskillsrangebonus.py b/eos/effects/jumpdriveskillsrangebonus.py
deleted file mode 100644
index 86ff1b5ce..000000000
--- a/eos/effects/jumpdriveskillsrangebonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# jumpDriveSkillsRangeBonus
-#
-# Used by:
-# Skill: Jump Drive Calibration
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.ship.boostItemAttr("jumpDriveRange", skill.getModifiedItemAttr("jumpDriveRangeBonus") * skill.level)
diff --git a/eos/effects/jumpportalconsumptionbonuspercentskill.py b/eos/effects/jumpportalconsumptionbonuspercentskill.py
deleted file mode 100644
index b823680ed..000000000
--- a/eos/effects/jumpportalconsumptionbonuspercentskill.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# jumpPortalConsumptionBonusPercentSkill
-#
-# Used by:
-# Skill: Jump Portal Generation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), "consumptionQuantity",
- skill.getModifiedItemAttr("consumptionQuantityBonusPercent") * skill.level)
diff --git a/eos/effects/kineticarmorcompensationhardeningbonusgrouparmorcoating.py b/eos/effects/kineticarmorcompensationhardeningbonusgrouparmorcoating.py
deleted file mode 100644
index 90df83fb9..000000000
--- a/eos/effects/kineticarmorcompensationhardeningbonusgrouparmorcoating.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# kineticArmorCompensationHardeningBonusGroupArmorCoating
-#
-# Used by:
-# Skill: Kinetic Armor Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Coating",
- "kineticDamageResistanceBonus",
- skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/kineticarmorcompensationhardeningbonusgroupenergized.py b/eos/effects/kineticarmorcompensationhardeningbonusgroupenergized.py
deleted file mode 100644
index 6300b21af..000000000
--- a/eos/effects/kineticarmorcompensationhardeningbonusgroupenergized.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# kineticArmorCompensationHardeningBonusGroupEnergized
-#
-# Used by:
-# Skill: Kinetic Armor Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Plating Energized",
- "kineticDamageResistanceBonus",
- skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/kineticshieldcompensationhardeningbonusgroupshieldamp.py b/eos/effects/kineticshieldcompensationhardeningbonusgroupshieldamp.py
deleted file mode 100644
index 3b07f5957..000000000
--- a/eos/effects/kineticshieldcompensationhardeningbonusgroupshieldamp.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# kineticShieldCompensationHardeningBonusGroupShieldAmp
-#
-# Used by:
-# Skill: Kinetic Shield Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Shield Resistance Amplifier",
- "kineticDamageResistanceBonus",
- skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/largedisintegratorskilldmgbonus.py b/eos/effects/largedisintegratorskilldmgbonus.py
deleted file mode 100644
index c3b03337d..000000000
--- a/eos/effects/largedisintegratorskilldmgbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# largeDisintegratorSkillDmgBonus
-#
-# Used by:
-# Skill: Large Disintegrator Specialization
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Disintegrator Specialization"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/largeenergyturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringlargeenergyturret.py b/eos/effects/largeenergyturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringlargeenergyturret.py
deleted file mode 100644
index 09ffdc5fb..000000000
--- a/eos/effects/largeenergyturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringlargeenergyturret.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# largeEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeEnergyTurret
-#
-# Used by:
-# Implants named like: Inherent Implants 'Lancer' Large Energy Turret LE (6 of 6)
-# Implant: Pashan's Turret Handling Mindlink
-# Skill: Large Energy Turret
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/largehybridturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringlargehybridturret.py b/eos/effects/largehybridturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringlargehybridturret.py
deleted file mode 100644
index ea808b755..000000000
--- a/eos/effects/largehybridturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringlargehybridturret.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# largeHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeHybridTurret
-#
-# Used by:
-# Implants named like: Zainou 'Deadeye' Large Hybrid Turret LH (6 of 6)
-# Skill: Large Hybrid Turret
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/largeprecursorturretdmgbonusrequiredskill.py b/eos/effects/largeprecursorturretdmgbonusrequiredskill.py
deleted file mode 100644
index 32ba9bb8b..000000000
--- a/eos/effects/largeprecursorturretdmgbonusrequiredskill.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# largePrecursorTurretDmgBonusRequiredSkill
-#
-# Used by:
-# Skill: Large Precursor Weapon
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Precursor Weapon"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/largeprojectileturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringlargeprojectileturret.py b/eos/effects/largeprojectileturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringlargeprojectileturret.py
deleted file mode 100644
index e7f214d19..000000000
--- a/eos/effects/largeprojectileturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringlargeprojectileturret.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# largeProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringLargeProjectileTurret
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Gunslinger' Large Projectile Turret LP (6 of 6)
-# Skill: Large Projectile Turret
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/lightningweapon.py b/eos/effects/lightningweapon.py
deleted file mode 100644
index 81987466e..000000000
--- a/eos/effects/lightningweapon.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# lightningWeapon
-#
-# Used by:
-# Structure Module: Standup Arcing Vorton Projector I
-type = 'active'
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/longrangetargetingmaxtargetrangebonuspostpercentmaxtargetrangelocationshipgroupelectronic.py b/eos/effects/longrangetargetingmaxtargetrangebonuspostpercentmaxtargetrangelocationshipgroupelectronic.py
deleted file mode 100644
index ac11238db..000000000
--- a/eos/effects/longrangetargetingmaxtargetrangebonuspostpercentmaxtargetrangelocationshipgroupelectronic.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# longRangeTargetingMaxTargetRangeBonusPostPercentMaxTargetRangeLocationShipGroupElectronic
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' Long Range Targeting LT (6 of 6)
-# Skill: Long Range Targeting
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("maxTargetRange", container.getModifiedItemAttr("maxTargetRangeBonus") * level)
diff --git a/eos/effects/massentanglereffect5.py b/eos/effects/massentanglereffect5.py
deleted file mode 100644
index ebeb25f5a..000000000
--- a/eos/effects/massentanglereffect5.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# massEntanglerEffect5
-#
-# Used by:
-# Module: Zero-Point Mass Entangler
-type = "active"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("warpScrambleStrength"))
- fit.ship.boostItemAttr("mass", src.getModifiedItemAttr("massBonusPercentage"), stackingPenalties=True)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"), "speedFactor",
- src.getModifiedItemAttr("speedFactorBonus"), stackingPenalties=True)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"), "speedBoostFactor",
- src.getModifiedItemAttr("speedBoostFactorBonus"))
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"), "activationBlocked",
- src.getModifiedItemAttr("activationBlockedStrenght"))
- fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("maxVelocityBonus"), stackingPenalties=True)
diff --git a/eos/effects/massreductionbonuspassive.py b/eos/effects/massreductionbonuspassive.py
deleted file mode 100644
index abc1dddde..000000000
--- a/eos/effects/massreductionbonuspassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# massReductionBonusPassive
-#
-# Used by:
-# Modules from group: Rig Anchor (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("mass", module.getModifiedItemAttr("massBonusPercentage"), stackingPenalties=True)
diff --git a/eos/effects/maxrangebonuseffecthybrids.py b/eos/effects/maxrangebonuseffecthybrids.py
deleted file mode 100644
index 68f035cc6..000000000
--- a/eos/effects/maxrangebonuseffecthybrids.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# maxRangeBonusEffectHybrids
-#
-# Used by:
-# Modules named like: Hybrid Locus Coordinator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "maxRange", module.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/maxrangebonuseffectlasers.py b/eos/effects/maxrangebonuseffectlasers.py
deleted file mode 100644
index 7f4126ad8..000000000
--- a/eos/effects/maxrangebonuseffectlasers.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# maxRangeBonusEffectLasers
-#
-# Used by:
-# Modules named like: Energy Locus Coordinator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Weapon",
- "maxRange", module.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/maxrangebonuseffectprojectiles.py b/eos/effects/maxrangebonuseffectprojectiles.py
deleted file mode 100644
index 5f433584c..000000000
--- a/eos/effects/maxrangebonuseffectprojectiles.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# maxRangeBonusEffectProjectiles
-#
-# Used by:
-# Modules named like: Projectile Locus Coordinator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Projectile Weapon",
- "maxRange", module.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/maxtargetingrangebonuspostpercentpassive.py b/eos/effects/maxtargetingrangebonuspostpercentpassive.py
deleted file mode 100644
index 6a0c0e916..000000000
--- a/eos/effects/maxtargetingrangebonuspostpercentpassive.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# maxTargetingRangeBonusPostPercentPassive
-#
-# Used by:
-# Modules named like: Ionic Field Projector (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/maxtargetrangeaddpassive.py b/eos/effects/maxtargetrangeaddpassive.py
deleted file mode 100644
index 2b999329f..000000000
--- a/eos/effects/maxtargetrangeaddpassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# maxTargetRangeAddPassive
-#
-# Used by:
-# Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRange"))
diff --git a/eos/effects/maxtargetrangebonus.py b/eos/effects/maxtargetrangebonus.py
deleted file mode 100644
index 96731483b..000000000
--- a/eos/effects/maxtargetrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# maxTargetRangeBonus
-#
-# Used by:
-# Modules from group: Warp Core Stabilizer (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/mechanichullhpbonuspostpercenthpship.py b/eos/effects/mechanichullhpbonuspostpercenthpship.py
deleted file mode 100644
index 3f01c5422..000000000
--- a/eos/effects/mechanichullhpbonuspostpercenthpship.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# mechanicHullHpBonusPostPercentHpShip
-#
-# Used by:
-# Implants named like: Inherent Implants 'Noble' Mechanic MC (6 of 6)
-# Modules named like: Transverse Bulkhead (8 of 8)
-# Skill: Mechanics
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("hp", container.getModifiedItemAttr("hullHpBonus") * level)
diff --git a/eos/effects/mediumdisintegratorskilldmgbonus.py b/eos/effects/mediumdisintegratorskilldmgbonus.py
deleted file mode 100644
index f7a2cc10e..000000000
--- a/eos/effects/mediumdisintegratorskilldmgbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# mediumDisintegratorSkillDmgBonus
-#
-# Used by:
-# Skill: Medium Disintegrator Specialization
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Disintegrator Specialization"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/mediumenergyturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringmediumenergyturret.py b/eos/effects/mediumenergyturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringmediumenergyturret.py
deleted file mode 100644
index c70854c90..000000000
--- a/eos/effects/mediumenergyturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringmediumenergyturret.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# mediumEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumEnergyTurret
-#
-# Used by:
-# Implants named like: Inherent Implants 'Lancer' Medium Energy Turret ME (6 of 6)
-# Skill: Medium Energy Turret
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/mediumhybridturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringmediumhybridturret.py b/eos/effects/mediumhybridturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringmediumhybridturret.py
deleted file mode 100644
index e64a0d35b..000000000
--- a/eos/effects/mediumhybridturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringmediumhybridturret.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# mediumHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumHybridTurret
-#
-# Used by:
-# Implants named like: Zainou 'Deadeye' Medium Hybrid Turret MH (6 of 6)
-# Skill: Medium Hybrid Turret
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/mediumprecursorturretdmgbonusrequiredskill.py b/eos/effects/mediumprecursorturretdmgbonusrequiredskill.py
deleted file mode 100644
index c35fcda31..000000000
--- a/eos/effects/mediumprecursorturretdmgbonusrequiredskill.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# mediumPrecursorTurretDmgBonusRequiredSkill
-#
-# Used by:
-# Skill: Medium Precursor Weapon
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Precursor Weapon"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/mediumprojectileturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringmediumprojectileturret.py b/eos/effects/mediumprojectileturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringmediumprojectileturret.py
deleted file mode 100644
index 8bd3dec22..000000000
--- a/eos/effects/mediumprojectileturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringmediumprojectileturret.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# mediumProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringMediumProjectileTurret
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Gunslinger' Medium Projectile Turret MP (6 of 6)
-# Skill: Medium Projectile Turret
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/mediumremoterepfittingadjustment.py b/eos/effects/mediumremoterepfittingadjustment.py
deleted file mode 100644
index b5d4c577c..000000000
--- a/eos/effects/mediumremoterepfittingadjustment.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# mediumRemoteRepFittingAdjustment
-#
-# Used by:
-# Variations of module: Medium Remote Armor Repairer I (12 of 12)
-# Variations of module: Medium Remote Shield Booster I (11 of 11)
-# Module: Medium Ancillary Remote Armor Repairer
-# Module: Medium Ancillary Remote Shield Booster
-type = "passive"
-
-
-def handler(fit, module, context):
- module.multiplyItemAttr("power", module.getModifiedItemAttr("mediumRemoteRepFittingMultiplier"))
- module.multiplyItemAttr("cpu", module.getModifiedItemAttr("mediumRemoteRepFittingMultiplier"))
diff --git a/eos/effects/mercoxitcrystalbonus.py b/eos/effects/mercoxitcrystalbonus.py
deleted file mode 100644
index 97a255397..000000000
--- a/eos/effects/mercoxitcrystalbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# mercoxitCrystalBonus
-#
-# Used by:
-# Module: Medium Mercoxit Mining Crystal Optimization I
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, module, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Mercoxit Processing"),
- "specialisationAsteroidYieldMultiplier",
- module.getModifiedItemAttr("miningAmountBonus"))
diff --git a/eos/effects/microjumpdrive.py b/eos/effects/microjumpdrive.py
deleted file mode 100644
index c8797d7d0..000000000
--- a/eos/effects/microjumpdrive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# microJumpDrive
-#
-# Used by:
-# Modules from group: Micro Jump Drive (2 of 2)
-type = "active"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusBonusPercent"))
diff --git a/eos/effects/microjumpportaldrive.py b/eos/effects/microjumpportaldrive.py
deleted file mode 100644
index 0b96a9743..000000000
--- a/eos/effects/microjumpportaldrive.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# microJumpPortalDrive
-#
-# Used by:
-# Module: Micro Jump Field Generator
-type = "active"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusBonusPercent"),
- stackingPenalties=True)
diff --git a/eos/effects/minercpuusagemultiplypercent2.py b/eos/effects/minercpuusagemultiplypercent2.py
deleted file mode 100644
index 7cba56603..000000000
--- a/eos/effects/minercpuusagemultiplypercent2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# minerCpuUsageMultiplyPercent2
-#
-# Used by:
-# Variations of module: Mining Laser Upgrade I (5 of 5)
-# Module: Frostline 'Omnivore' Harvester Upgrade
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
- "cpu", module.getModifiedItemAttr("cpuPenaltyPercent"))
diff --git a/eos/effects/minigamevirusstrengthbonus.py b/eos/effects/minigamevirusstrengthbonus.py
deleted file mode 100644
index 0e60325db..000000000
--- a/eos/effects/minigamevirusstrengthbonus.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# minigameVirusStrengthBonus
-#
-# Used by:
-# Ships from group: Covert Ops (7 of 8)
-# Ships named like: Stratios (2 of 2)
-# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
-# Ship: Astero
-# Ship: Heron
-# Ship: Imicus
-# Ship: Magnate
-# Ship: Nestor
-# Ship: Probe
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemIncrease(
- lambda mod: (mod.item.requiresSkill("Hacking") or mod.item.requiresSkill("Archaeology")),
- "virusStrength", container.getModifiedItemAttr("virusStrengthBonus") * level)
diff --git a/eos/effects/mining.py b/eos/effects/mining.py
deleted file mode 100644
index de0c95cac..000000000
--- a/eos/effects/mining.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# mining
-#
-# Used by:
-# Drones from group: Mining Drone (10 of 10)
-
-type = "passive"
-grouped = True
-
-
-def handler(fit, container, context):
- miningDroneAmountPercent = container.getModifiedItemAttr("miningDroneAmountPercent")
- if (miningDroneAmountPercent is None) or (miningDroneAmountPercent == 0):
- pass
- else:
- container.multiplyItemAttr("miningAmount", miningDroneAmountPercent / 100)
diff --git a/eos/effects/miningclouds.py b/eos/effects/miningclouds.py
deleted file mode 100644
index f37896233..000000000
--- a/eos/effects/miningclouds.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# miningClouds
-#
-# Used by:
-# Modules from group: Gas Cloud Harvester (5 of 5)
-type = "active"
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/miningdroneoperationminingamountbonuspostpercentminingdroneamountpercentchar.py b/eos/effects/miningdroneoperationminingamountbonuspostpercentminingdroneamountpercentchar.py
deleted file mode 100644
index 79977637f..000000000
--- a/eos/effects/miningdroneoperationminingamountbonuspostpercentminingdroneamountpercentchar.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# miningDroneOperationMiningAmountBonusPostPercentMiningDroneAmountPercentChar
-#
-# Used by:
-# Modules named like: Drone Mining Augmentor (8 of 8)
-# Skill: Mining Drone Operation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"),
- "miningAmount",
- container.getModifiedItemAttr("miningAmountBonus") * level)
diff --git a/eos/effects/miningdronespecbonus.py b/eos/effects/miningdronespecbonus.py
deleted file mode 100644
index fe8cdff5a..000000000
--- a/eos/effects/miningdronespecbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# miningDroneSpecBonus
-#
-# Used by:
-# Skill: Mining Drone Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Drone Specialization"), "miningAmount",
- src.getModifiedItemAttr("miningAmountBonus") * lvl)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Drone Specialization"), "maxVelocity",
- src.getModifiedItemAttr("maxVelocityBonus") * lvl)
diff --git a/eos/effects/miningdurationmultiplieronline.py b/eos/effects/miningdurationmultiplieronline.py
deleted file mode 100644
index 3d4cad5a5..000000000
--- a/eos/effects/miningdurationmultiplieronline.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# miningDurationMultiplierOnline
-#
-# Used by:
-# Module: Frostline 'Omnivore' Harvester Upgrade
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mining Laser",
- "duration", module.getModifiedItemAttr("miningDurationMultiplier"))
diff --git a/eos/effects/miningforemanburstbonusics2.py b/eos/effects/miningforemanburstbonusics2.py
deleted file mode 100644
index 0e1140e0e..000000000
--- a/eos/effects/miningforemanburstbonusics2.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# miningForemanBurstBonusICS2
-#
-# Used by:
-# Ships from group: Industrial Command Ship (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff4Value",
- src.getModifiedItemAttr("shipBonusICS2"), skill="Industrial Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff1Value",
- src.getModifiedItemAttr("shipBonusICS2"), skill="Industrial Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "buffDuration",
- src.getModifiedItemAttr("shipBonusICS2"), skill="Industrial Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff3Value",
- src.getModifiedItemAttr("shipBonusICS2"), skill="Industrial Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff2Value",
- src.getModifiedItemAttr("shipBonusICS2"), skill="Industrial Command Ships")
diff --git a/eos/effects/miningforemanburstbonusorecapital2.py b/eos/effects/miningforemanburstbonusorecapital2.py
deleted file mode 100644
index 29d55819e..000000000
--- a/eos/effects/miningforemanburstbonusorecapital2.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# miningForemanBurstBonusORECapital2
-#
-# Used by:
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff1Value",
- src.getModifiedItemAttr("shipBonusORECapital2"), skill="Capital Industrial Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff2Value",
- src.getModifiedItemAttr("shipBonusORECapital2"), skill="Capital Industrial Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff4Value",
- src.getModifiedItemAttr("shipBonusORECapital2"), skill="Capital Industrial Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff3Value",
- src.getModifiedItemAttr("shipBonusORECapital2"), skill="Capital Industrial Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "buffDuration",
- src.getModifiedItemAttr("shipBonusORECapital2"), skill="Capital Industrial Ships")
diff --git a/eos/effects/miningforemandurationbonus.py b/eos/effects/miningforemandurationbonus.py
deleted file mode 100644
index 14a290d2e..000000000
--- a/eos/effects/miningforemandurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# miningForemanDurationBonus
-#
-# Used by:
-# Skill: Mining Foreman
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "buffDuration",
- src.getModifiedItemAttr("durationBonus") * lvl)
diff --git a/eos/effects/miningforemanmindlink.py b/eos/effects/miningforemanmindlink.py
deleted file mode 100644
index ad4339f67..000000000
--- a/eos/effects/miningforemanmindlink.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# miningForemanMindlink
-#
-# Used by:
-# Implant: Mining Foreman Mindlink
-# Implant: ORE Mining Director Mindlink
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "buffDuration",
- src.getModifiedItemAttr("mindlinkBonus"))
diff --git a/eos/effects/miningforemanstrengthbonus.py b/eos/effects/miningforemanstrengthbonus.py
deleted file mode 100644
index e7af57839..000000000
--- a/eos/effects/miningforemanstrengthbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# miningForemanStrengthBonus
-#
-# Used by:
-# Skill: Mining Director
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff4Value", src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff3Value", src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff2Value", src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Foreman"), "warfareBuff1Value", src.getModifiedItemAttr("commandStrengthBonus") * lvl)
diff --git a/eos/effects/miningfrigatebonusiceharvestingcycletime2.py b/eos/effects/miningfrigatebonusiceharvestingcycletime2.py
deleted file mode 100644
index 094e01713..000000000
--- a/eos/effects/miningfrigatebonusiceharvestingcycletime2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# miningFrigateBonusIceHarvestingCycleTime2
-#
-# Used by:
-# Ship: Endurance
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"), "duration",
- src.getModifiedItemAttr("shipBonusOREfrig2"), skill="Mining Frigate")
diff --git a/eos/effects/mininginfomultiplier.py b/eos/effects/mininginfomultiplier.py
deleted file mode 100644
index c8a6c04f3..000000000
--- a/eos/effects/mininginfomultiplier.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# miningInfoMultiplier
-#
-# Used by:
-# Charges from group: Mining Crystal (40 of 40)
-# Charges named like: Mining Crystal (42 of 42)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.multiplyItemAttr("specialtyMiningAmount",
- module.getModifiedChargeAttr("specialisationAsteroidYieldMultiplier"))
- # module.multiplyItemAttr("miningAmount", module.getModifiedChargeAttr("specialisationAsteroidYieldMultiplier"))
diff --git a/eos/effects/mininglaser.py b/eos/effects/mininglaser.py
deleted file mode 100644
index 1351132dd..000000000
--- a/eos/effects/mininglaser.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# miningLaser
-#
-# Used by:
-# Modules from group: Frequency Mining Laser (3 of 3)
-# Modules from group: Mining Laser (15 of 15)
-# Modules from group: Strip Miner (5 of 5)
-# Module: Citizen Miner
-type = 'active'
-
-
-def handler(fit, module, context):
- # Set reload time to 1 second
- module.reloadTime = 1000
diff --git a/eos/effects/mininglaserrangebonus.py b/eos/effects/mininglaserrangebonus.py
deleted file mode 100644
index 163574ba9..000000000
--- a/eos/effects/mininglaserrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# miningLaserRangeBonus
-#
-# Used by:
-# Implants named like: grade Harvest (10 of 12)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mining Laser",
- "maxRange", implant.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/miningupgradecpupenaltyreductionmodulesrequiringminingupgradepercent.py b/eos/effects/miningupgradecpupenaltyreductionmodulesrequiringminingupgradepercent.py
deleted file mode 100644
index f5afa70b6..000000000
--- a/eos/effects/miningupgradecpupenaltyreductionmodulesrequiringminingupgradepercent.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# miningUpgradeCPUPenaltyReductionModulesRequiringMiningUpgradePercent
-#
-# Used by:
-# Implants named like: Inherent Implants 'Highwall' Mining Upgrades MU (3 of 3)
-# Skill: Mining Upgrades
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Upgrades"),
- "cpuPenaltyPercent",
- container.getModifiedItemAttr("miningUpgradeCPUReductionBonus") * level)
diff --git a/eos/effects/miningyieldmultiplypassive.py b/eos/effects/miningyieldmultiplypassive.py
deleted file mode 100644
index 13b45eb39..000000000
--- a/eos/effects/miningyieldmultiplypassive.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# miningYieldMultiplyPassive
-#
-# Used by:
-# Variations of ship: Venture (3 of 3)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Mining"),
- "miningAmount", module.getModifiedItemAttr("miningAmountMultiplier"))
diff --git a/eos/effects/miningyieldmultiplypercent.py b/eos/effects/miningyieldmultiplypercent.py
deleted file mode 100644
index a02b4333b..000000000
--- a/eos/effects/miningyieldmultiplypercent.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# miningYieldMultiplyPercent
-#
-# Used by:
-# Variations of module: Mining Laser Upgrade I (5 of 5)
-# Module: Frostline 'Omnivore' Harvester Upgrade
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
- "miningAmount", module.getModifiedItemAttr("miningAmountBonus"))
diff --git a/eos/effects/minmatarshipewtargetpaintermc1.py b/eos/effects/minmatarshipewtargetpaintermc1.py
deleted file mode 100644
index e1f9fcb2d..000000000
--- a/eos/effects/minmatarshipewtargetpaintermc1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# minmatarShipEwTargetPainterMC1
-#
-# Used by:
-# Ship: Bellicose
-# Ship: Rapier
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter",
- "signatureRadiusBonus", ship.getModifiedItemAttr("shipBonusMC"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/minmatarshipewtargetpaintermc2.py b/eos/effects/minmatarshipewtargetpaintermc2.py
deleted file mode 100644
index cb80fba62..000000000
--- a/eos/effects/minmatarshipewtargetpaintermc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# minmatarShipEwTargetPainterMC2
-#
-# Used by:
-# Ship: Huginn
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter",
- "signatureRadiusBonus", ship.getModifiedItemAttr("shipBonusMC2"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/minmatarshipewtargetpaintermf2.py b/eos/effects/minmatarshipewtargetpaintermf2.py
deleted file mode 100644
index 0140a5d57..000000000
--- a/eos/effects/minmatarshipewtargetpaintermf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# minmatarShipEwTargetPainterMF2
-#
-# Used by:
-# Ship: Hyena
-# Ship: Vigil
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter",
- "signatureRadiusBonus", ship.getModifiedItemAttr("shipBonusMF2"),
- skill="Minmatar Frigate")
diff --git a/eos/effects/minmatarshipewtargetpainterrookie.py b/eos/effects/minmatarshipewtargetpainterrookie.py
deleted file mode 100644
index 92b3330dc..000000000
--- a/eos/effects/minmatarshipewtargetpainterrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# minmatarShipEwTargetPainterRookie
-#
-# Used by:
-# Ship: Reaper
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter",
- "signatureRadiusBonus", ship.getModifiedItemAttr("rookieTargetPainterStrengthBonus"))
diff --git a/eos/effects/missileaoecloudsizebonusonline.py b/eos/effects/missileaoecloudsizebonusonline.py
deleted file mode 100644
index bbc42b61b..000000000
--- a/eos/effects/missileaoecloudsizebonusonline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# missileAOECloudSizeBonusOnline
-#
-# Used by:
-# Modules from group: Missile Guidance Enhancer (3 of 3)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeCloudSize", module.getModifiedItemAttr("aoeCloudSizeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/missileaoevelocitybonusonline.py b/eos/effects/missileaoevelocitybonusonline.py
deleted file mode 100644
index 03ddd6715..000000000
--- a/eos/effects/missileaoevelocitybonusonline.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# missileAOEVelocityBonusOnline
-#
-# Used by:
-# Modules from group: Missile Guidance Enhancer (3 of 3)
-# Module: ML-EKP 'Polybolos' Ballistic Control System
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeVelocity", module.getModifiedItemAttr("aoeVelocityBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/missilebombardmentmaxflighttimebonuspostpercentexplosiondelayownercharmodulesrequiringmissilelauncheroperation.py b/eos/effects/missilebombardmentmaxflighttimebonuspostpercentexplosiondelayownercharmodulesrequiringmissilelauncheroperation.py
deleted file mode 100644
index e7356d260..000000000
--- a/eos/effects/missilebombardmentmaxflighttimebonuspostpercentexplosiondelayownercharmodulesrequiringmissilelauncheroperation.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# missileBombardmentMaxFlightTimeBonusPostPercentExplosionDelayOwnerCharModulesRequiringMissileLauncherOperation
-#
-# Used by:
-# Implants named like: Zainou 'Deadeye' Missile Bombardment MB (6 of 6)
-# Modules named like: Rocket Fuel Cache Partition (8 of 8)
-# Implant: Antipharmakon Toxot
-# Skill: Missile Bombardment
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- penalized = False if "skill" in context or "implant" in context or "booster" in context else True
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosionDelay", container.getModifiedItemAttr("maxFlightTimeBonus") * level,
- stackingPenalties=penalized)
diff --git a/eos/effects/missiledmgbonus.py b/eos/effects/missiledmgbonus.py
deleted file mode 100644
index 4fca60500..000000000
--- a/eos/effects/missiledmgbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# missileDMGBonus
-#
-# Used by:
-# Modules from group: Ballistic Control system (22 of 22)
-type = "passive"
-
-
-def handler(fit, container, context):
- for dmgType in ("em", "kinetic", "explosive", "thermal"):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "%sDamage" % dmgType,
- container.getModifiedItemAttr("missileDamageMultiplierBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/missiledmgbonuspassive.py b/eos/effects/missiledmgbonuspassive.py
deleted file mode 100644
index 4934dc7cf..000000000
--- a/eos/effects/missiledmgbonuspassive.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# missileDMGBonusPassive
-#
-# Used by:
-# Modules named like: Warhead Calefaction Catalyst (8 of 8)
-type = "passive"
-
-
-def handler(fit, container, context):
- for dmgType in ("em", "kinetic", "explosive", "thermal"):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "%sDamage" % dmgType,
- container.getModifiedItemAttr("missileDamageMultiplierBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/missileemdmgbonus.py b/eos/effects/missileemdmgbonus.py
deleted file mode 100644
index 4b745afd2..000000000
--- a/eos/effects/missileemdmgbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# missileEMDmgBonus
-#
-# Used by:
-# Skills named like: Missiles (5 of 7)
-# Skill: Rockets
-# Skill: Torpedoes
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),
- "emDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/missileemdmgbonuscruise3.py b/eos/effects/missileemdmgbonuscruise3.py
deleted file mode 100644
index c7f718062..000000000
--- a/eos/effects/missileemdmgbonuscruise3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileEMDmgBonusCruise3
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "emDamage", implant.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileemdmgbonusham.py b/eos/effects/missileemdmgbonusham.py
deleted file mode 100644
index 93b008b9a..000000000
--- a/eos/effects/missileemdmgbonusham.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileEMDmgBonusHAM
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "emDamage", implant.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileemdmgbonusheavy.py b/eos/effects/missileemdmgbonusheavy.py
deleted file mode 100644
index 35a8f634b..000000000
--- a/eos/effects/missileemdmgbonusheavy.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileEMDmgBonusHeavy
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "emDamage", implant.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileemdmgbonusrocket.py b/eos/effects/missileemdmgbonusrocket.py
deleted file mode 100644
index cf4d1e826..000000000
--- a/eos/effects/missileemdmgbonusrocket.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileEMDmgBonusRocket
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "emDamage", implant.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileemdmgbonusstandard.py b/eos/effects/missileemdmgbonusstandard.py
deleted file mode 100644
index 82b69159a..000000000
--- a/eos/effects/missileemdmgbonusstandard.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileEMDmgBonusStandard
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "emDamage", implant.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileemdmgbonustorpedo.py b/eos/effects/missileemdmgbonustorpedo.py
deleted file mode 100644
index 82b228f3e..000000000
--- a/eos/effects/missileemdmgbonustorpedo.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileEMDmgBonusTorpedo
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "emDamage", implant.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileexplosiondelaybonusonline.py b/eos/effects/missileexplosiondelaybonusonline.py
deleted file mode 100644
index a23f9a2fe..000000000
--- a/eos/effects/missileexplosiondelaybonusonline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# missileExplosionDelayBonusOnline
-#
-# Used by:
-# Modules from group: Missile Guidance Enhancer (3 of 3)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosionDelay", module.getModifiedItemAttr("explosionDelayBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/missileexplosivedmgbonus.py b/eos/effects/missileexplosivedmgbonus.py
deleted file mode 100644
index 6f12347b3..000000000
--- a/eos/effects/missileexplosivedmgbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# missileExplosiveDmgBonus
-#
-# Used by:
-# Skills named like: Missiles (5 of 7)
-# Skill: Rockets
-# Skill: Torpedoes
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),
- "explosiveDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/missileexplosivedmgbonuscruise3.py b/eos/effects/missileexplosivedmgbonuscruise3.py
deleted file mode 100644
index 861799510..000000000
--- a/eos/effects/missileexplosivedmgbonuscruise3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileExplosiveDmgBonusCruise3
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "explosiveDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileexplosivedmgbonusham.py b/eos/effects/missileexplosivedmgbonusham.py
deleted file mode 100644
index 8000c3df0..000000000
--- a/eos/effects/missileexplosivedmgbonusham.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileExplosiveDmgBonusHAM
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "explosiveDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileexplosivedmgbonusheavy.py b/eos/effects/missileexplosivedmgbonusheavy.py
deleted file mode 100644
index dc68d5aed..000000000
--- a/eos/effects/missileexplosivedmgbonusheavy.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileExplosiveDmgBonusHeavy
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "explosiveDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileexplosivedmgbonusrocket.py b/eos/effects/missileexplosivedmgbonusrocket.py
deleted file mode 100644
index 437d99761..000000000
--- a/eos/effects/missileexplosivedmgbonusrocket.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileExplosiveDmgBonusRocket
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "explosiveDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileexplosivedmgbonusstandard.py b/eos/effects/missileexplosivedmgbonusstandard.py
deleted file mode 100644
index 67c75f102..000000000
--- a/eos/effects/missileexplosivedmgbonusstandard.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileExplosiveDmgBonusStandard
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "explosiveDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileexplosivedmgbonustorpedo.py b/eos/effects/missileexplosivedmgbonustorpedo.py
deleted file mode 100644
index 9611c2b22..000000000
--- a/eos/effects/missileexplosivedmgbonustorpedo.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileExplosiveDmgBonusTorpedo
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "explosiveDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missileguidancecomputerbonus4.py b/eos/effects/missileguidancecomputerbonus4.py
deleted file mode 100644
index a276fe2db..000000000
--- a/eos/effects/missileguidancecomputerbonus4.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# missileGuidanceComputerBonus4
-#
-# Used by:
-# Modules from group: Missile Guidance Computer (3 of 3)
-type = "active"
-
-
-def handler(fit, container, 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, container.getModifiedItemAttr(srcAttr),
- stackingPenalties=True)
diff --git a/eos/effects/missilekineticdmgbonus2.py b/eos/effects/missilekineticdmgbonus2.py
deleted file mode 100644
index 4de267555..000000000
--- a/eos/effects/missilekineticdmgbonus2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# missileKineticDmgBonus2
-#
-# Used by:
-# Skills named like: Missiles (5 of 7)
-# Skill: Rockets
-# Skill: Torpedoes
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),
- "kineticDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/missilekineticdmgbonuscruise3.py b/eos/effects/missilekineticdmgbonuscruise3.py
deleted file mode 100644
index 7ce36c44b..000000000
--- a/eos/effects/missilekineticdmgbonuscruise3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileKineticDmgBonusCruise3
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "kineticDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilekineticdmgbonusham.py b/eos/effects/missilekineticdmgbonusham.py
deleted file mode 100644
index 4a01de0bb..000000000
--- a/eos/effects/missilekineticdmgbonusham.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileKineticDmgBonusHAM
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "kineticDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilekineticdmgbonusheavy.py b/eos/effects/missilekineticdmgbonusheavy.py
deleted file mode 100644
index 56296feb1..000000000
--- a/eos/effects/missilekineticdmgbonusheavy.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileKineticDmgBonusHeavy
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "kineticDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilekineticdmgbonusrocket.py b/eos/effects/missilekineticdmgbonusrocket.py
deleted file mode 100644
index ab04fedf1..000000000
--- a/eos/effects/missilekineticdmgbonusrocket.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileKineticDmgBonusRocket
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "kineticDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilekineticdmgbonusstandard.py b/eos/effects/missilekineticdmgbonusstandard.py
deleted file mode 100644
index e8f3714fa..000000000
--- a/eos/effects/missilekineticdmgbonusstandard.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileKineticDmgBonusStandard
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "kineticDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilekineticdmgbonustorpedo.py b/eos/effects/missilekineticdmgbonustorpedo.py
deleted file mode 100644
index de8d92fb6..000000000
--- a/eos/effects/missilekineticdmgbonustorpedo.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileKineticDmgBonusTorpedo
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "kineticDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilelauncherspeedmultiplier.py b/eos/effects/missilelauncherspeedmultiplier.py
deleted file mode 100644
index 2655e614e..000000000
--- a/eos/effects/missilelauncherspeedmultiplier.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# missileLauncherSpeedMultiplier
-#
-# Used by:
-# Modules from group: Ballistic Control system (22 of 22)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/missilelauncherspeedmultiplierpassive.py b/eos/effects/missilelauncherspeedmultiplierpassive.py
deleted file mode 100644
index 6c3c147bb..000000000
--- a/eos/effects/missilelauncherspeedmultiplierpassive.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# missileLauncherSpeedMultiplierPassive
-#
-# Used by:
-# Modules named like: Bay Loading Accelerator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/missileskillaoecloudsizebonus.py b/eos/effects/missileskillaoecloudsizebonus.py
deleted file mode 100644
index 0e3bfdddf..000000000
--- a/eos/effects/missileskillaoecloudsizebonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# missileSkillAoeCloudSizeBonus
-#
-# Used by:
-# Implants named like: Zainou 'Deadeye' Guided Missile Precision GP (6 of 6)
-# Modules named like: Warhead Rigor Catalyst (8 of 8)
-# Skill: Guided Missile Precision
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- penalize = False if "skill" in context or "implant" in context else True
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeCloudSize", container.getModifiedItemAttr("aoeCloudSizeBonus") * level,
- stackingPenalties=penalize)
diff --git a/eos/effects/missileskillaoecloudsizebonusallincludingcapitals.py b/eos/effects/missileskillaoecloudsizebonusallincludingcapitals.py
deleted file mode 100644
index 9593201fc..000000000
--- a/eos/effects/missileskillaoecloudsizebonusallincludingcapitals.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileSkillAoeCloudSizeBonusAllIncludingCapitals
-#
-# Used by:
-# Implants named like: Crash Booster (4 of 4)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeCloudSize", implant.getModifiedItemAttr("aoeCloudSizeBonus"))
diff --git a/eos/effects/missileskillaoevelocitybonus.py b/eos/effects/missileskillaoevelocitybonus.py
deleted file mode 100644
index 28fdae111..000000000
--- a/eos/effects/missileskillaoevelocitybonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# missileSkillAoeVelocityBonus
-#
-# Used by:
-# Implants named like: Zainou 'Deadeye' Target Navigation Prediction TN (6 of 6)
-# Modules named like: Warhead Flare Catalyst (8 of 8)
-# Skill: Target Navigation Prediction
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- penalize = False if "skill" in context or "implant" in context else True
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeVelocity", container.getModifiedItemAttr("aoeVelocityBonus") * level,
- stackingPenalties=penalize)
diff --git a/eos/effects/missileskillfofaoecloudsizebonus.py b/eos/effects/missileskillfofaoecloudsizebonus.py
deleted file mode 100644
index a4cb02f67..000000000
--- a/eos/effects/missileskillfofaoecloudsizebonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# missileSkillFoFAoeCloudSizeBonus
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Auto Targeting Explosion Radius FR (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("FoF Missiles"),
- "aoeCloudSize", container.getModifiedItemAttr("aoeCloudSizeBonus") * level)
diff --git a/eos/effects/missileskillmissileprojectilevelocitybonus.py b/eos/effects/missileskillmissileprojectilevelocitybonus.py
deleted file mode 100644
index 3c7cee775..000000000
--- a/eos/effects/missileskillmissileprojectilevelocitybonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# missileSkillMissileProjectileVelocityBonus
-#
-# Used by:
-# Implants named like: Zainou 'Deadeye' Missile Projection MP (6 of 6)
-# Modules named like: Hydraulic Bay Thrusters (8 of 8)
-# Skill: Missile Projection
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- penalized = False if "skill" in context or "implant" in context else True
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", container.getModifiedItemAttr("speedFactor") * level,
- stackingPenalties=penalized)
diff --git a/eos/effects/missileskillrapidlauncherrof.py b/eos/effects/missileskillrapidlauncherrof.py
deleted file mode 100644
index 9cdc9a0f6..000000000
--- a/eos/effects/missileskillrapidlauncherrof.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# missileSkillRapidLauncherRoF
-#
-# Used by:
-# Implants named like: Zainou 'Deadeye' Rapid Launch RL (6 of 6)
-# Implant: Standard Cerebral Accelerator
-# Implant: Whelan Machorin's Ballistic Smartlink
-# Skill: Missile Launcher Operation
-# Skill: Rapid Launch
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "speed", container.getModifiedItemAttr("rofBonus") * level)
diff --git a/eos/effects/missileskillwarheadupgradesemdamagebonus.py b/eos/effects/missileskillwarheadupgradesemdamagebonus.py
deleted file mode 100644
index 63e95f67f..000000000
--- a/eos/effects/missileskillwarheadupgradesemdamagebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# missileSkillWarheadUpgradesEmDamageBonus
-#
-# Used by:
-# Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
-# Skill: Warhead Upgrades
-type = "passive"
-
-
-def handler(fit, src, context):
- mod = src.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "emDamage", src.getModifiedItemAttr("damageMultiplierBonus") * mod)
diff --git a/eos/effects/missileskillwarheadupgradesexplosivedamagebonus.py b/eos/effects/missileskillwarheadupgradesexplosivedamagebonus.py
deleted file mode 100644
index 6a6228e8e..000000000
--- a/eos/effects/missileskillwarheadupgradesexplosivedamagebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# missileSkillWarheadUpgradesExplosiveDamageBonus
-#
-# Used by:
-# Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
-# Skill: Warhead Upgrades
-type = "passive"
-
-
-def handler(fit, src, context):
- mod = src.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosiveDamage", src.getModifiedItemAttr("damageMultiplierBonus") * mod)
diff --git a/eos/effects/missileskillwarheadupgradeskineticdamagebonus.py b/eos/effects/missileskillwarheadupgradeskineticdamagebonus.py
deleted file mode 100644
index 8b25142a8..000000000
--- a/eos/effects/missileskillwarheadupgradeskineticdamagebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# missileSkillWarheadUpgradesKineticDamageBonus
-#
-# Used by:
-# Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
-# Skill: Warhead Upgrades
-type = "passive"
-
-
-def handler(fit, src, context):
- mod = src.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", src.getModifiedItemAttr("damageMultiplierBonus") * mod)
diff --git a/eos/effects/missileskillwarheadupgradesthermaldamagebonus.py b/eos/effects/missileskillwarheadupgradesthermaldamagebonus.py
deleted file mode 100644
index 737e5d20d..000000000
--- a/eos/effects/missileskillwarheadupgradesthermaldamagebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# missileSkillWarheadUpgradesThermalDamageBonus
-#
-# Used by:
-# Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
-# Skill: Warhead Upgrades
-type = "passive"
-
-
-def handler(fit, src, context):
- mod = src.level if "skill" in context else 1
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "thermalDamage", src.getModifiedItemAttr("damageMultiplierBonus") * mod)
diff --git a/eos/effects/missilethermaldmgbonus.py b/eos/effects/missilethermaldmgbonus.py
deleted file mode 100644
index 162e5beb6..000000000
--- a/eos/effects/missilethermaldmgbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# missileThermalDmgBonus
-#
-# Used by:
-# Skills named like: Missiles (5 of 7)
-# Skill: Rockets
-# Skill: Torpedoes
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill(skill),
- "thermalDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/missilethermaldmgbonuscruise3.py b/eos/effects/missilethermaldmgbonuscruise3.py
deleted file mode 100644
index 47bd9feeb..000000000
--- a/eos/effects/missilethermaldmgbonuscruise3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileThermalDmgBonusCruise3
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Cruise Missiles CM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "thermalDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilethermaldmgbonusham.py b/eos/effects/missilethermaldmgbonusham.py
deleted file mode 100644
index 13e2d3398..000000000
--- a/eos/effects/missilethermaldmgbonusham.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileThermalDmgBonusHAM
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Heavy Assault Missiles AM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "thermalDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilethermaldmgbonusheavy.py b/eos/effects/missilethermaldmgbonusheavy.py
deleted file mode 100644
index 5e4087e84..000000000
--- a/eos/effects/missilethermaldmgbonusheavy.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileThermalDmgBonusHeavy
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Heavy Missiles HM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "thermalDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilethermaldmgbonusrocket.py b/eos/effects/missilethermaldmgbonusrocket.py
deleted file mode 100644
index 20694a704..000000000
--- a/eos/effects/missilethermaldmgbonusrocket.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileThermalDmgBonusRocket
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Rockets RD (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "thermalDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilethermaldmgbonusstandard.py b/eos/effects/missilethermaldmgbonusstandard.py
deleted file mode 100644
index 49a8006e7..000000000
--- a/eos/effects/missilethermaldmgbonusstandard.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileThermalDmgBonusStandard
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Light Missiles LM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "thermalDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilethermaldmgbonustorpedo.py b/eos/effects/missilethermaldmgbonustorpedo.py
deleted file mode 100644
index 22293eb06..000000000
--- a/eos/effects/missilethermaldmgbonustorpedo.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileThermalDmgBonusTorpedo
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Torpedoes TD (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "thermalDamage", container.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/missilevelocitybonusdefender.py b/eos/effects/missilevelocitybonusdefender.py
deleted file mode 100644
index 350eabe4d..000000000
--- a/eos/effects/missilevelocitybonusdefender.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# missileVelocityBonusDefender
-#
-# Used by:
-# Implants named like: Zainou 'Snapshot' Defender Missiles DM (6 of 6)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Defender Missiles"),
- "maxVelocity", container.getModifiedItemAttr("missileVelocityBonus"))
diff --git a/eos/effects/missilevelocitybonusonline.py b/eos/effects/missilevelocitybonusonline.py
deleted file mode 100644
index f04d47292..000000000
--- a/eos/effects/missilevelocitybonusonline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# missileVelocityBonusOnline
-#
-# Used by:
-# Modules from group: Missile Guidance Enhancer (3 of 3)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", module.getModifiedItemAttr("missileVelocityBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/modeagilitypostdiv.py b/eos/effects/modeagilitypostdiv.py
deleted file mode 100644
index 485100a7a..000000000
--- a/eos/effects/modeagilitypostdiv.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# modeAgilityPostDiv
-#
-# Used by:
-# Modules named like: Propulsion Mode (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr(
- "agility",
- 1 / module.getModifiedItemAttr("modeAgilityPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/modearmorrepdurationpostdiv.py b/eos/effects/modearmorrepdurationpostdiv.py
deleted file mode 100644
index 58f61b557..000000000
--- a/eos/effects/modearmorrepdurationpostdiv.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# modeArmorRepDurationPostDiv
-#
-# Used by:
-# Module: Hecate Defense Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("Repair Systems"),
- "duration",
- 1 / module.getModifiedItemAttr("modeArmorRepDurationPostDiv")
- )
diff --git a/eos/effects/modearmorresonancepostdiv.py b/eos/effects/modearmorresonancepostdiv.py
deleted file mode 100644
index f6a744c4d..000000000
--- a/eos/effects/modearmorresonancepostdiv.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# modeArmorResonancePostDiv
-#
-# Used by:
-# Modules named like: Defense Mode (3 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- for srcResType, tgtResType in (
- ("Em", "Em"),
- ("Explosive", "Explosive"),
- ("Kinetic", "Kinetic"),
- ("Thermic", "Thermal")
- ):
- fit.ship.multiplyItemAttr(
- "armor{0}DamageResonance".format(tgtResType),
- 1 / module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(srcResType)),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/modedamptdresistspostdiv.py b/eos/effects/modedamptdresistspostdiv.py
deleted file mode 100644
index 891b84a82..000000000
--- a/eos/effects/modedamptdresistspostdiv.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# modeDampTDResistsPostDiv
-#
-# Used by:
-# Modules named like: Sharpshooter Mode (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("weaponDisruptionResistance", 1 / module.getModifiedItemAttr("modeEwarResistancePostDiv"))
- fit.ship.multiplyItemAttr("sensorDampenerResistance", 1 / module.getModifiedItemAttr("modeEwarResistancePostDiv"))
diff --git a/eos/effects/modehullresonancepostdiv.py b/eos/effects/modehullresonancepostdiv.py
deleted file mode 100644
index ae13c4b7d..000000000
--- a/eos/effects/modehullresonancepostdiv.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# modeHullResonancePostDiv
-#
-# Used by:
-# Module: Hecate Defense Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- for srcResType, tgtResType in (
- ("Em", "em"),
- ("Explosive", "explosive"),
- ("Kinetic", "kinetic"),
- ("Thermic", "thermal")
- ):
- fit.ship.multiplyItemAttr(
- "{0}DamageResonance".format(tgtResType),
- 1 / module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(srcResType))
- )
diff --git a/eos/effects/modemwdandabboostpostdiv.py b/eos/effects/modemwdandabboostpostdiv.py
deleted file mode 100644
index fdc4a67d3..000000000
--- a/eos/effects/modemwdandabboostpostdiv.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# modeMWDandABBoostPostDiv
-#
-# Used by:
-# Module: Confessor Propulsion Mode
-# Module: Svipul Propulsion Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("High Speed Maneuvering") or mod.item.requiresSkill("Afterburner"),
- "speedFactor",
- 1 / module.getModifiedItemAttr("modeVelocityPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/modemwdboostpostdiv.py b/eos/effects/modemwdboostpostdiv.py
deleted file mode 100644
index ad9ddf55e..000000000
--- a/eos/effects/modemwdboostpostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# modeMWDBoostPostDiv
-#
-# Used by:
-# Module: Hecate Propulsion Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "speedFactor",
- 1 / module.getModifiedItemAttr("modeMWDVelocityPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/modemwdcappostdiv.py b/eos/effects/modemwdcappostdiv.py
deleted file mode 100644
index 6d16ea720..000000000
--- a/eos/effects/modemwdcappostdiv.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# modeMWDCapPostDiv
-#
-# Used by:
-# Module: Hecate Propulsion Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "capacitorNeed",
- 1 / module.getModifiedItemAttr("modeMWDCapPostDiv")
- )
diff --git a/eos/effects/modemwdsigradiuspostdiv.py b/eos/effects/modemwdsigradiuspostdiv.py
deleted file mode 100644
index f1aeca8eb..000000000
--- a/eos/effects/modemwdsigradiuspostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# modeMWDSigRadiusPostDiv
-#
-# Used by:
-# Module: Svipul Defense Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "signatureRadiusBonus",
- 1 / module.getModifiedItemAttr("modeMWDSigPenaltyPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/modeshieldresonancepostdiv.py b/eos/effects/modeshieldresonancepostdiv.py
deleted file mode 100644
index 7213168b0..000000000
--- a/eos/effects/modeshieldresonancepostdiv.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# modeShieldResonancePostDiv
-#
-# Used by:
-# Module: Jackdaw Defense Mode
-# Module: Svipul Defense Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- for srcResType, tgtResType in (
- ("Em", "Em"),
- ("Explosive", "Explosive"),
- ("Kinetic", "Kinetic"),
- ("Thermic", "Thermal")
- ):
- fit.ship.multiplyItemAttr(
- "shield{0}DamageResonance".format(tgtResType),
- 1 / module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(srcResType)),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/modesigradiuspostdiv.py b/eos/effects/modesigradiuspostdiv.py
deleted file mode 100644
index 7d3b69001..000000000
--- a/eos/effects/modesigradiuspostdiv.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# modeSigRadiusPostDiv
-#
-# Used by:
-# Module: Confessor Defense Mode
-# Module: Jackdaw Defense Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("signatureRadius", 1 / module.getModifiedItemAttr("modeSignatureRadiusPostDiv"),
- stackingPenalties=True, penaltyGroup="postDiv")
diff --git a/eos/effects/modevelocitypostdiv.py b/eos/effects/modevelocitypostdiv.py
deleted file mode 100644
index 7a563dcef..000000000
--- a/eos/effects/modevelocitypostdiv.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# modeVelocityPostDiv
-#
-# Used by:
-# Module: Jackdaw Propulsion Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr(
- "maxVelocity",
- 1 / module.getModifiedItemAttr("modeVelocityPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/modifyactivearmorresonancepostpercent.py b/eos/effects/modifyactivearmorresonancepostpercent.py
deleted file mode 100644
index 6a6a9e571..000000000
--- a/eos/effects/modifyactivearmorresonancepostpercent.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# modifyActiveArmorResonancePostPercent
-#
-# Used by:
-# Modules from group: Armor Hardener (156 of 156)
-# Modules from group: Flex Armor Hardener (4 of 4)
-type = "active"
-
-
-def handler(fit, module, context):
- for damageType in ("kinetic", "thermal", "explosive", "em"):
- fit.ship.boostItemAttr("armor%sDamageResonance" % damageType.capitalize(),
- module.getModifiedItemAttr("%sDamageResistanceBonus" % damageType),
- stackingPenalties=True)
diff --git a/eos/effects/modifyactiveshieldresonancepostpercent.py b/eos/effects/modifyactiveshieldresonancepostpercent.py
deleted file mode 100644
index 04c2edac3..000000000
--- a/eos/effects/modifyactiveshieldresonancepostpercent.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# modifyActiveShieldResonancePostPercent
-#
-# Used by:
-# Modules from group: Flex Shield Hardener (5 of 5)
-# Modules from group: Shield Hardener (97 of 97)
-type = "active"
-
-
-def handler(fit, module, context):
- for damageType in ("kinetic", "thermal", "explosive", "em"):
- fit.ship.boostItemAttr("shield" + damageType.capitalize() + "DamageResonance",
- module.getModifiedItemAttr(damageType + "DamageResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/modifyarmorresonancepostpercent.py b/eos/effects/modifyarmorresonancepostpercent.py
deleted file mode 100644
index f5316cb3a..000000000
--- a/eos/effects/modifyarmorresonancepostpercent.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# modifyArmorResonancePostPercent
-#
-# Used by:
-# Modules from group: Armor Coating (202 of 202)
-# Modules from group: Armor Plating Energized (187 of 187)
-type = "passive"
-
-
-def handler(fit, module, context):
- for type in ("kinetic", "thermal", "explosive", "em"):
- fit.ship.boostItemAttr("armor%sDamageResonance" % type.capitalize(),
- module.getModifiedItemAttr("%sDamageResistanceBonus" % type),
- stackingPenalties=True)
diff --git a/eos/effects/modifyarmorresonancepostpercentpassive.py b/eos/effects/modifyarmorresonancepostpercentpassive.py
deleted file mode 100644
index 3478f268f..000000000
--- a/eos/effects/modifyarmorresonancepostpercentpassive.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# modifyArmorResonancePostPercentPassive
-#
-# Used by:
-# Modules named like: Anti Pump (32 of 32)
-type = "passive"
-
-
-def handler(fit, module, context):
- for type in ("kinetic", "thermal", "explosive", "em"):
- fit.ship.boostItemAttr("armor" + type.capitalize() + "DamageResonance",
- module.getModifiedItemAttr(type + "DamageResistanceBonus") or 0,
- stackingPenalties=True)
diff --git a/eos/effects/modifyboostereffectchancewithboosterchancebonuspostpercent.py b/eos/effects/modifyboostereffectchancewithboosterchancebonuspostpercent.py
deleted file mode 100644
index 604e3e14b..000000000
--- a/eos/effects/modifyboostereffectchancewithboosterchancebonuspostpercent.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# modifyBoosterEffectChanceWithBoosterChanceBonusPostPercent
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Alchemist' Neurotoxin Recovery NR (2 of 2)
-# Skill: Neurotoxin Recovery
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- for i in range(5):
- attr = "boosterEffectChance{0}".format(i + 1)
- fit.boosters.filteredItemBoost(lambda booster: attr in booster.itemModifiedAttributes,
- attr, container.getModifiedItemAttr("boosterChanceBonus") * level)
diff --git a/eos/effects/modifyenergywarfareresistance.py b/eos/effects/modifyenergywarfareresistance.py
deleted file mode 100644
index 874cbf0d7..000000000
--- a/eos/effects/modifyenergywarfareresistance.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# modifyEnergyWarfareResistance
-#
-# Used by:
-# Modules from group: Capacitor Battery (30 of 30)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("energyWarfareResistance",
- module.getModifiedItemAttr("energyWarfareResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/modifymaxvelocityofshippassive.py b/eos/effects/modifymaxvelocityofshippassive.py
deleted file mode 100644
index 24e833fb3..000000000
--- a/eos/effects/modifymaxvelocityofshippassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# modifyMaxVelocityOfShipPassive
-#
-# Used by:
-# Modules from group: Expanded Cargohold (7 of 7)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("maxVelocity", module.getModifiedItemAttr("maxVelocityModifier"), stackingPenalties=True)
diff --git a/eos/effects/modifypowerrechargerate.py b/eos/effects/modifypowerrechargerate.py
deleted file mode 100644
index 95814ce8c..000000000
--- a/eos/effects/modifypowerrechargerate.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# modifyPowerRechargeRate
-#
-# Used by:
-# Modules from group: Capacitor Flux Coil (6 of 6)
-# Modules from group: Capacitor Power Relay (20 of 20)
-# Modules from group: Capacitor Recharger (18 of 18)
-# Modules from group: Power Diagnostic System (23 of 23)
-# Modules from group: Reactor Control Unit (22 of 22)
-# Modules from group: Shield Power Relay (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("rechargeRate", module.getModifiedItemAttr("capacitorRechargeRateMultiplier"))
diff --git a/eos/effects/modifyshieldrechargerate.py b/eos/effects/modifyshieldrechargerate.py
deleted file mode 100644
index bebf517a7..000000000
--- a/eos/effects/modifyshieldrechargerate.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# modifyShieldRechargeRate
-#
-# Used by:
-# Modules from group: Capacitor Power Relay (20 of 20)
-# Modules from group: Power Diagnostic System (23 of 23)
-# Modules from group: Reactor Control Unit (22 of 22)
-# Modules from group: Shield Recharger (4 of 4)
-# Modules named like: Flux Coil (12 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("shieldRechargeRate", module.getModifiedItemAttr("shieldRechargeRateMultiplier") or 1)
diff --git a/eos/effects/modifyshieldrechargeratepassive.py b/eos/effects/modifyshieldrechargeratepassive.py
deleted file mode 100644
index f66994415..000000000
--- a/eos/effects/modifyshieldrechargeratepassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# modifyShieldRechargeRatePassive
-#
-# Used by:
-# Modules named like: Processor Overclocking Unit (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("shieldRechargeRate", module.getModifiedItemAttr("shieldRechargeRateMultiplier"))
diff --git a/eos/effects/modifyshieldresonancepostpercent.py b/eos/effects/modifyshieldresonancepostpercent.py
deleted file mode 100644
index 93125bf7c..000000000
--- a/eos/effects/modifyshieldresonancepostpercent.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# modifyShieldResonancePostPercent
-#
-# Used by:
-# Modules from group: Shield Resistance Amplifier (88 of 88)
-type = "passive"
-
-
-def handler(fit, module, context):
- for type in ("kinetic", "thermal", "explosive", "em"):
- fit.ship.boostItemAttr("shield%sDamageResonance" % type.capitalize(),
- module.getModifiedItemAttr("%sDamageResistanceBonus" % type),
- stackingPenalties=True)
diff --git a/eos/effects/modifyshieldresonancepostpercentpassive.py b/eos/effects/modifyshieldresonancepostpercentpassive.py
deleted file mode 100644
index dfb7b35a8..000000000
--- a/eos/effects/modifyshieldresonancepostpercentpassive.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# modifyShieldResonancePostPercentPassive
-#
-# Used by:
-# Modules named like: Anti Screen Reinforcer (32 of 32)
-type = "passive"
-
-
-def handler(fit, module, context):
- for type in ("kinetic", "thermal", "explosive", "em"):
- fit.ship.boostItemAttr("shield" + type.capitalize() + "DamageResonance",
- module.getModifiedItemAttr(type + "DamageResistanceBonus") or 0,
- stackingPenalties=True)
diff --git a/eos/effects/modulebonusafterburner.py b/eos/effects/modulebonusafterburner.py
deleted file mode 100644
index 71f4c96b1..000000000
--- a/eos/effects/modulebonusafterburner.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# moduleBonusAfterburner
-#
-# Used by:
-# Modules from group: Propulsion Module (65 of 133)
-type = "active"
-runTime = "late"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("mass", module.getModifiedItemAttr("massAddition"))
- speedBoost = module.getModifiedItemAttr("speedFactor")
- mass = fit.ship.getModifiedItemAttr("mass")
- thrust = module.getModifiedItemAttr("speedBoostFactor")
- fit.ship.boostItemAttr("maxVelocity", speedBoost * thrust / mass)
diff --git a/eos/effects/modulebonusassaultdamagecontrol.py b/eos/effects/modulebonusassaultdamagecontrol.py
deleted file mode 100644
index a7a6d9551..000000000
--- a/eos/effects/modulebonusassaultdamagecontrol.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# moduleBonusAssaultDamageControl
-#
-# Used by:
-# Variations of module: Assault Damage Control I (5 of 5)
-type = "active"
-runTime = "early"
-
-
-def handler(fit, src, context):
- for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):
- for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):
- bonus = "%s%sDamageResonance" % (attrPrefix, damageType)
- bonus = "%s%s" % (bonus[0].lower(), bonus[1:])
- booster = "%s%sDamageResonance" % (layer, damageType)
-
- src.forceItemAttr(booster, src.getModifiedItemAttr("resistanceMultiplier"))
diff --git a/eos/effects/modulebonusbastionmodule.py b/eos/effects/modulebonusbastionmodule.py
deleted file mode 100644
index 09f0bd008..000000000
--- a/eos/effects/modulebonusbastionmodule.py
+++ /dev/null
@@ -1,72 +0,0 @@
-# moduleBonusBastionModule
-#
-# Used by:
-# Module: Bastion Module I
-type = "active"
-runTime = "early"
-
-
-def handler(fit, src, context):
- # Resistances
- for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):
- for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):
- bonus = "%s%sDamageResonance" % (attrPrefix, damageType)
- bonus = "%s%s" % (bonus[0].lower(), bonus[1:])
- booster = "%s%sDamageResonance" % (layer, damageType)
- penalize = False if layer == 'hull' else True
- fit.ship.multiplyItemAttr(bonus, src.getModifiedItemAttr(booster),
- stackingPenalties=penalize, penaltyGroup="preMul")
-
- # Turrets
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret") or
- mod.item.requiresSkill("Large Hybrid Turret") or
- mod.item.requiresSkill("Large Projectile Turret"),
- "maxRange", src.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret") or
- mod.item.requiresSkill("Large Hybrid Turret") or
- mod.item.requiresSkill("Large Projectile Turret"),
- "falloff", src.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True)
-
- # Missiles
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes") or
- mod.charge.requiresSkill("Cruise Missiles") or
- mod.charge.requiresSkill("Heavy Missiles"),
- "maxVelocity", src.getModifiedItemAttr("missileVelocityBonus"))
-
- # Tanking
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("armorDamageAmountBonus"),
- stackingPenalties=True)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", src.getModifiedItemAttr("shieldBoostMultiplier"),
- stackingPenalties=True)
-
- # Speed penalty
- fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("speedFactor"))
-
- # @todo: test these for April 2016 release
- # Max locked targets
- fit.ship.forceItemAttr("maxLockedTargets", src.getModifiedItemAttr("maxLockedTargets"))
-
- # Block Hostile ewar
- fit.ship.forceItemAttr("disallowOffensiveModifiers", src.getModifiedItemAttr("disallowOffensiveModifiers"))
-
- # new with April 2016 release
- for scanType in ('Magnetometric', 'Ladar', 'Gravimetric', 'Radar'):
- fit.ship.boostItemAttr("scan{}Strength".format(scanType),
- src.getModifiedItemAttr("scan{}StrengthPercent".format(scanType)),
- stackingPenalties=True)
-
- fit.ship.boostItemAttr("remoteRepairImpedance", src.getModifiedItemAttr("remoteRepairImpedanceBonus"))
- fit.ship.boostItemAttr("remoteAssistanceImpedance", src.getModifiedItemAttr("remoteAssistanceImpedanceBonus"))
- fit.ship.boostItemAttr("sensorDampenerResistance", src.getModifiedItemAttr("sensorDampenerResistanceBonus"))
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Micro Jump Drive Operation"),
- "activationBlocked", src.getModifiedItemAttr("activationBlockedStrenght"))
- fit.ship.boostItemAttr("targetPainterResistance", src.getModifiedItemAttr("targetPainterResistanceBonus"))
- fit.ship.boostItemAttr("weaponDisruptionResistance", src.getModifiedItemAttr("weaponDisruptionResistanceBonus"))
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("siegeModeWarpStatus"))
-
- fit.ship.forceItemAttr("disallowDocking", src.getModifiedItemAttr("disallowDocking"))
- fit.ship.forceItemAttr("disallowTethering", src.getModifiedItemAttr("disallowTethering"))
diff --git a/eos/effects/modulebonuscapitaldronedurabilityenhancer.py b/eos/effects/modulebonuscapitaldronedurabilityenhancer.py
deleted file mode 100644
index 754bbf2f1..000000000
--- a/eos/effects/modulebonuscapitaldronedurabilityenhancer.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# moduleBonusCapitalDroneDurabilityEnhancer
-#
-# Used by:
-# Variations of module: Capital Drone Durability Enhancer I (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP",
- src.getModifiedItemAttr("hullHpBonus"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp",
- src.getModifiedItemAttr("hullHpBonus"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity",
- src.getModifiedItemAttr("hullHpBonus"))
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "shieldCapacity",
- src.getModifiedItemAttr("hullHpBonus"))
- fit.ship.boostItemAttr("cpuOutput", src.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/modulebonuscapitaldronescopechip.py b/eos/effects/modulebonuscapitaldronescopechip.py
deleted file mode 100644
index 68be67520..000000000
--- a/eos/effects/modulebonuscapitaldronescopechip.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# moduleBonusCapitalDroneScopeChip
-#
-# Used by:
-# Variations of module: Capital Drone Scope Chip I (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "maxRange",
- src.getModifiedItemAttr("rangeSkillBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityMissilesRange",
- src.getModifiedItemAttr("rangeSkillBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretRangeOptimal", src.getModifiedItemAttr("rangeSkillBonus"),
- stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileRangeOptimal",
- src.getModifiedItemAttr("rangeSkillBonus"), stackingPenalties=True)
- fit.ship.boostItemAttr("cpuOutput", src.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/modulebonuscapitaldronespeedaugmentor.py b/eos/effects/modulebonuscapitaldronespeedaugmentor.py
deleted file mode 100644
index c98e00110..000000000
--- a/eos/effects/modulebonuscapitaldronespeedaugmentor.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# moduleBonusCapitalDroneSpeedAugmentor
-#
-# Used by:
-# Variations of module: Capital Drone Speed Augmentor I (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "maxVelocity",
- src.getModifiedItemAttr("droneMaxVelocityBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "maxVelocity",
- src.getModifiedItemAttr("droneMaxVelocityBonus"), stackingPenalties=True)
- fit.ship.boostItemAttr("cpuOutput", src.getModifiedItemAttr("drawback"))
diff --git a/eos/effects/modulebonusdronedamageamplifier.py b/eos/effects/modulebonusdronedamageamplifier.py
deleted file mode 100644
index e3a87f990..000000000
--- a/eos/effects/modulebonusdronedamageamplifier.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# moduleBonusDroneDamageAmplifier
-#
-# Used by:
-# Modules from group: Drone Damage Modules (11 of 11)
-# Modules named like: C3 'Hivaa Saitsuo' Ballistic Control System (2 of 2)
-# Module: Abyssal Ballistic Control System
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("droneDamageBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("droneDamageBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("droneDamageBonus"), stackingPenalties=True)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier",
- src.getModifiedItemAttr("droneDamageBonus"), stackingPenalties=True)
diff --git a/eos/effects/modulebonusdronenavigationcomputer.py b/eos/effects/modulebonusdronenavigationcomputer.py
deleted file mode 100644
index 9c7f9e777..000000000
--- a/eos/effects/modulebonusdronenavigationcomputer.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# moduleBonusDroneNavigationComputer
-#
-# Used by:
-# Modules from group: Drone Navigation Computer (8 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "maxVelocity",
- src.getModifiedItemAttr("speedFactor"), stackingPenalties=True)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "maxVelocity",
- src.getModifiedItemAttr("speedFactor"), stackingPenalties=True)
diff --git a/eos/effects/modulebonusfightersupportunit.py b/eos/effects/modulebonusfightersupportunit.py
deleted file mode 100644
index e79f21515..000000000
--- a/eos/effects/modulebonusfightersupportunit.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# moduleBonusFighterSupportUnit
-#
-# Used by:
-# Modules from group: Fighter Support Unit (8 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Fighters"), "shieldCapacity",
- src.getModifiedItemAttr("fighterBonusShieldCapacityPercent"))
- fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Fighters"), "maxVelocity",
- src.getModifiedItemAttr("fighterBonusVelocityPercent"), stackingPenalties=True, penaltyGroup="postMul")
- fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDuration",
- src.getModifiedItemAttr("fighterBonusROFPercent"), stackingPenalties=True, penaltyGroup="postMul")
- fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityAttackTurretDuration",
- src.getModifiedItemAttr("fighterBonusROFPercent"), stackingPenalties=True, penaltyGroup="postMul")
- fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityMissilesDuration",
- src.getModifiedItemAttr("fighterBonusROFPercent"), stackingPenalties=True, penaltyGroup="postMul")
- fit.fighters.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Fighters"), "shieldRechargeRate",
- src.getModifiedItemAttr("fighterBonusShieldRechargePercent"))
diff --git a/eos/effects/modulebonusmicrowarpdrive.py b/eos/effects/modulebonusmicrowarpdrive.py
deleted file mode 100644
index 70478fa71..000000000
--- a/eos/effects/modulebonusmicrowarpdrive.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# moduleBonusMicrowarpdrive
-#
-# Used by:
-# Modules from group: Propulsion Module (68 of 133)
-type = "active"
-runTime = "late"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("mass", module.getModifiedItemAttr("massAddition"))
- speedBoost = module.getModifiedItemAttr("speedFactor")
- mass = fit.ship.getModifiedItemAttr("mass")
- thrust = module.getModifiedItemAttr("speedBoostFactor")
- fit.ship.boostItemAttr("maxVelocity", speedBoost * thrust / mass)
- fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/modulebonusnetworkedsensorarray.py b/eos/effects/modulebonusnetworkedsensorarray.py
deleted file mode 100644
index fb58a5928..000000000
--- a/eos/effects/modulebonusnetworkedsensorarray.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# moduleBonusNetworkedSensorArray
-#
-# Used by:
-# Module: Networked Sensor Array
-type = "active"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("scanResolution", src.getModifiedItemAttr("scanResolutionBonus"), stackingPenalties=True)
-
- for scanType in ('Magnetometric', 'Ladar', 'Gravimetric', 'Radar'):
- attr = "scan{}Strength".format(scanType)
- bonus = src.getModifiedItemAttr("scan{}StrengthPercent".format(scanType))
- fit.ship.boostItemAttr(attr, bonus, stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), attr, bonus,
- stackingPenalties=True)
-
- # EW cap need increase
- groups = [
- 'Burst Jammer',
- 'Weapon Disruptor',
- 'ECM',
- 'Stasis Grappler',
- 'Sensor Dampener',
- 'Target Painter']
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups or
- mod.item.requiresSkill("Propulsion Jamming"),
- "capacitorNeed", src.getModifiedItemAttr("ewCapacitorNeedBonus"))
diff --git a/eos/effects/modulebonusomnidirectionaltrackingenhancer.py b/eos/effects/modulebonusomnidirectionaltrackingenhancer.py
deleted file mode 100644
index c6e8884e5..000000000
--- a/eos/effects/modulebonusomnidirectionaltrackingenhancer.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# moduleBonusOmnidirectionalTrackingEnhancer
-#
-# Used by:
-# Modules from group: Drone Tracking Enhancer (10 of 10)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileExplosionRadius",
- src.getModifiedItemAttr("aoeCloudSizeBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileRangeOptimal", src.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretRangeFalloff", src.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesExplosionRadius",
- src.getModifiedItemAttr("aoeCloudSizeBonus"), stackingPenalties=True)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "falloff",
- src.getModifiedItemAttr("falloffBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileRangeFalloff", src.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretTrackingSpeed",
- src.getModifiedItemAttr("trackingSpeedBonus"), stackingPenalties=True)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "maxRange",
- src.getModifiedItemAttr("maxRangeBonus"), stackingPenalties=True)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "trackingSpeed",
- src.getModifiedItemAttr("trackingSpeedBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretRangeOptimal", src.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesExplosionVelocity",
- src.getModifiedItemAttr("aoeVelocityBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileExplosionVelocity",
- src.getModifiedItemAttr("aoeVelocityBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityMissilesRange",
- src.getModifiedItemAttr("maxRangeBonus"), stackingPenalties=True)
diff --git a/eos/effects/modulebonusomnidirectionaltrackinglink.py b/eos/effects/modulebonusomnidirectionaltrackinglink.py
deleted file mode 100644
index d589475bd..000000000
--- a/eos/effects/modulebonusomnidirectionaltrackinglink.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# moduleBonusOmnidirectionalTrackingLink
-#
-# Used by:
-# Modules from group: Drone Tracking Modules (10 of 10)
-type = "active"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretRangeFalloff", src.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesExplosionVelocity",
- src.getModifiedItemAttr("aoeVelocityBonus"), stackingPenalties=True)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "trackingSpeed",
- src.getModifiedItemAttr("trackingSpeedBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileExplosionRadius",
- src.getModifiedItemAttr("aoeCloudSizeBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretTrackingSpeed",
- src.getModifiedItemAttr("trackingSpeedBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesExplosionRadius",
- src.getModifiedItemAttr("aoeCloudSizeBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityMissilesRange",
- src.getModifiedItemAttr("maxRangeBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileRangeOptimal", src.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "falloff",
- src.getModifiedItemAttr("falloffBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileExplosionVelocity",
- src.getModifiedItemAttr("aoeVelocityBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileRangeFalloff", src.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "maxRange",
- src.getModifiedItemAttr("maxRangeBonus"), stackingPenalties=True)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretRangeOptimal", src.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/modulebonusomnidirectionaltrackinglinkoverload.py b/eos/effects/modulebonusomnidirectionaltrackinglinkoverload.py
deleted file mode 100644
index cb4d4b21e..000000000
--- a/eos/effects/modulebonusomnidirectionaltrackinglinkoverload.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# moduleBonusOmnidirectionalTrackingLinkOverload
-#
-# Used by:
-# Modules from group: Drone Tracking Modules (10 of 10)
-type = "overheat"
-
-
-def handler(fit, module, context):
- overloadBonus = module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus")
- module.boostItemAttr("maxRangeBonus", overloadBonus)
- module.boostItemAttr("falloffBonus", overloadBonus)
- module.boostItemAttr("trackingSpeedBonus", overloadBonus)
- module.boostItemAttr("aoeCloudSizeBonus", overloadBonus)
- module.boostItemAttr("aoeVelocityBonus", overloadBonus)
diff --git a/eos/effects/modulebonussiegemodule.py b/eos/effects/modulebonussiegemodule.py
deleted file mode 100644
index c63e33440..000000000
--- a/eos/effects/modulebonussiegemodule.py
+++ /dev/null
@@ -1,64 +0,0 @@
-# moduleBonusSiegeModule
-#
-# Used by:
-# Variations of module: Siege Module I (2 of 2)
-type = "active"
-runTime = "early"
-
-
-def handler(fit, src, context):
- # Turrets
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret") or
- mod.item.requiresSkill("Capital Hybrid Turret") or
- mod.item.requiresSkill("Capital Projectile Turret"),
- "damageMultiplier", src.getModifiedItemAttr("siegeTurretDamageBonus"))
-
- # Missiles
- for type in ("kinetic", "thermal", "explosive", "em"):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes") or
- mod.charge.requiresSkill("XL Cruise Missiles") or
- mod.charge.requiresSkill("Torpedoes"),
- "%sDamage" % type, src.getModifiedItemAttr("siegeMissileDamageBonus"))
-
- # Reppers
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation") or
- mod.item.requiresSkill("Capital Repair Systems"),
- "duration", src.getModifiedItemAttr("siegeLocalLogisticsDurationBonus"))
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"),
- "shieldBonus", src.getModifiedItemAttr("siegeLocalLogisticsAmountBonus"),
- stackingPenalties=True)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("siegeLocalLogisticsAmountBonus"),
- stackingPenalties=True)
-
- # Speed penalty
- fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("speedFactor"))
-
- # Mass
- fit.ship.multiplyItemAttr("mass", src.getModifiedItemAttr("siegeMassMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
-
- # @ todo: test for April 2016 release
- # Block Hostile EWAR and friendly effects
- fit.ship.forceItemAttr("disallowOffensiveModifiers", src.getModifiedItemAttr("disallowOffensiveModifiers"))
- fit.ship.forceItemAttr("disallowAssistance", src.getModifiedItemAttr("disallowAssistance"))
-
- # new in April 2016 release
- # missile ROF bonus
- for group in ("Missile Launcher XL Torpedo", "Missile Launcher Rapid Torpedo", "Missile Launcher XL Cruise"):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == group, "speed",
- src.getModifiedItemAttr("siegeLauncherROFBonus"))
-
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "maxVelocity",
- src.getModifiedItemAttr("siegeTorpedoVelocityBonus"), stackingPenalties=True)
-
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("siegeModeWarpStatus"))
- fit.ship.boostItemAttr("remoteRepairImpedance", src.getModifiedItemAttr("remoteRepairImpedanceBonus"))
- fit.ship.boostItemAttr("sensorDampenerResistance", src.getModifiedItemAttr("sensorDampenerResistanceBonus"))
- fit.ship.boostItemAttr("remoteAssistanceImpedance", src.getModifiedItemAttr("remoteAssistanceImpedanceBonus"))
- fit.ship.boostItemAttr("weaponDisruptionResistance", src.getModifiedItemAttr("weaponDisruptionResistanceBonus"))
-
- fit.ship.forceItemAttr("disallowDocking", src.getModifiedItemAttr("disallowDocking"))
- fit.ship.forceItemAttr("disallowTethering", src.getModifiedItemAttr("disallowTethering"))
diff --git a/eos/effects/modulebonustriagemodule.py b/eos/effects/modulebonustriagemodule.py
deleted file mode 100644
index 3474de594..000000000
--- a/eos/effects/modulebonustriagemodule.py
+++ /dev/null
@@ -1,76 +0,0 @@
-# moduleBonusTriageModule
-#
-# Used by:
-# Variations of module: Triage Module I (2 of 2)
-type = "active"
-runTime = "early"
-
-
-def handler(fit, src, context):
- # Remote effect bonuses (duration / amount / range / fallout)
- for skill, amtAttr, stack in (
- ("Capital Remote Armor Repair Systems", "armorDamageAmount", True),
- ("Capital Shield Emission Systems", "shieldBonus", True),
- ("Capital Capacitor Emission Systems", "powerTransferAmount", False),
- ("Capital Remote Hull Repair Systems", "structureDamageAmount", False)):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), "duration",
- src.getModifiedItemAttr("siegeRemoteLogisticsDurationBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), amtAttr,
- src.getModifiedItemAttr("siegeRemoteLogisticsAmountBonus"),
- stackingPenalties=stack)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), "maxRange",
- src.getModifiedItemAttr("siegeRemoteLogisticsRangeBonus"), stackingPenalties=True)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), "falloffEffectiveness",
- src.getModifiedItemAttr("siegeRemoteLogisticsRangeBonus"), stackingPenalties=True)
-
- # Local armor/shield rep effects (duration / amoutn)
- for skill, amtAttr in (
- ("Capital Shield Operation", "shieldBonus"),
- ("Capital Repair Systems", "armorDamageAmount")):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), "duration",
- src.getModifiedItemAttr("siegeLocalLogisticsDurationBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), amtAttr,
- src.getModifiedItemAttr("siegeLocalLogisticsAmountBonus"))
-
- # Speed bonus
- fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("speedFactor"), stackingPenalties=True)
-
- # Scan resolution multiplier
- fit.ship.multiplyItemAttr("scanResolution", src.getModifiedItemAttr("scanResolutionMultiplier"),
- stackingPenalties=True)
-
- # Mass multiplier
- fit.ship.multiplyItemAttr("mass", src.getModifiedItemAttr("siegeMassMultiplier"), stackingPenalties=True)
-
- # Max locked targets
- fit.ship.increaseItemAttr("maxLockedTargets", src.getModifiedItemAttr("maxLockedTargetsBonus"))
-
- # EW cap need increase
- groups = [
- 'Burst Jammer',
- 'Weapon Disruptor',
- 'ECM',
- 'Stasis Grappler',
- 'Sensor Dampener',
- 'Target Painter']
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups or
- mod.item.requiresSkill("Propulsion Jamming"),
- "capacitorNeed", src.getModifiedItemAttr("ewCapacitorNeedBonus"))
-
- # todo: test for April 2016 release
- # Block EWAR & projected effects
- fit.ship.forceItemAttr("disallowOffensiveModifiers", src.getModifiedItemAttr("disallowOffensiveModifiers"))
- fit.ship.forceItemAttr("disallowAssistance", src.getModifiedItemAttr("disallowAssistance"))
-
- # new in April 2016 release
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier",
- src.getModifiedItemAttr("droneDamageBonus"), stackingPenalties=True)
-
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("siegeModeWarpStatus"))
- fit.ship.boostItemAttr("sensorDampenerResistance", src.getModifiedItemAttr("sensorDampenerResistanceBonus"))
- fit.ship.boostItemAttr("remoteAssistanceImpedance", src.getModifiedItemAttr("remoteAssistanceImpedanceBonus"))
- fit.ship.boostItemAttr("remoteRepairImpedance", src.getModifiedItemAttr("remoteRepairImpedanceBonus"))
-
- fit.ship.forceItemAttr("disallowTethering", src.getModifiedItemAttr("disallowTethering"))
- fit.ship.forceItemAttr("disallowDocking", src.getModifiedItemAttr("disallowDocking"))
diff --git a/eos/effects/modulebonuswarfarelinkarmor.py b/eos/effects/modulebonuswarfarelinkarmor.py
deleted file mode 100644
index c7cf29ce3..000000000
--- a/eos/effects/modulebonuswarfarelinkarmor.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# moduleBonusWarfareLinkArmor
-#
-# Used by:
-# Variations of module: Armor Command Burst I (2 of 2)
-
-"""
-Some documentation:
-When the fit is calculated, we gather up all the gang effects and stick them onto the fit. We don't run the actual
-effect yet, only give the fit details so that it can run the effect at a later time. We need to do this so that we can
-only run the strongest effect. When we are done, one of the last things that we do with the fit is to loop through those
-bonuses and actually run the effect. To do this, we have a special argument passed into the effect handler that tells it
-which warfareBuffID to run (shouldn't need this right now, but better safe than sorry)
-"""
-
-type = "active", "gang"
-
-
-def handler(fit, module, context, **kwargs):
- for x in range(1, 5):
- if module.getModifiedChargeAttr("warfareBuff{}ID".format(x)):
- value = module.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = module.getModifiedChargeAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, module, kwargs['effect'])
diff --git a/eos/effects/modulebonuswarfarelinkinfo.py b/eos/effects/modulebonuswarfarelinkinfo.py
deleted file mode 100644
index dd1e1111b..000000000
--- a/eos/effects/modulebonuswarfarelinkinfo.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# moduleBonusWarfareLinkInfo
-#
-# Used by:
-# Variations of module: Information Command Burst I (2 of 2)
-
-type = "active", "gang"
-
-
-def handler(fit, module, context, **kwargs):
- for x in range(1, 5):
- if module.getModifiedChargeAttr("warfareBuff{}ID".format(x)):
- value = module.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = module.getModifiedChargeAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, module, kwargs['effect'])
diff --git a/eos/effects/modulebonuswarfarelinkmining.py b/eos/effects/modulebonuswarfarelinkmining.py
deleted file mode 100644
index 55876bc34..000000000
--- a/eos/effects/modulebonuswarfarelinkmining.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# moduleBonusWarfareLinkMining
-#
-# Used by:
-# Variations of module: Mining Foreman Burst I (2 of 2)
-
-type = "active", "gang"
-
-
-def handler(fit, module, context, **kwargs):
- for x in range(1, 5):
- if module.getModifiedChargeAttr("warfareBuff{}ID".format(x)):
- value = module.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = module.getModifiedChargeAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, module, kwargs['effect'])
diff --git a/eos/effects/modulebonuswarfarelinkshield.py b/eos/effects/modulebonuswarfarelinkshield.py
deleted file mode 100644
index 45cd0ac6f..000000000
--- a/eos/effects/modulebonuswarfarelinkshield.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# moduleBonusWarfareLinkShield
-#
-# Used by:
-# Variations of module: Shield Command Burst I (2 of 2)
-
-type = "active", "gang"
-
-
-def handler(fit, module, context, **kwargs):
- for x in range(1, 5):
- if module.getModifiedChargeAttr("warfareBuff{}ID".format(x)):
- value = module.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = module.getModifiedChargeAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, module, kwargs['effect'])
diff --git a/eos/effects/modulebonuswarfarelinkskirmish.py b/eos/effects/modulebonuswarfarelinkskirmish.py
deleted file mode 100644
index fc400c791..000000000
--- a/eos/effects/modulebonuswarfarelinkskirmish.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# moduleBonusWarfareLinkSkirmish
-#
-# Used by:
-# Variations of module: Skirmish Command Burst I (2 of 2)
-
-type = "active", "gang"
-
-
-def handler(fit, module, context, **kwargs):
- for x in range(1, 5):
- if module.getModifiedChargeAttr("warfareBuff{}ID".format(x)):
- value = module.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = module.getModifiedChargeAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, module, kwargs['effect'])
diff --git a/eos/effects/moduletitaneffectgenerator.py b/eos/effects/moduletitaneffectgenerator.py
deleted file mode 100644
index 741de5ba4..000000000
--- a/eos/effects/moduletitaneffectgenerator.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# moduleTitanEffectGenerator
-#
-# Used by:
-# Modules from group: Titan Phenomena Generator (4 of 4)
-type = "active", "gang"
-
-
-def handler(fit, module, context, **kwargs):
- for x in range(1, 5):
- if module.getModifiedItemAttr("warfareBuff{}ID".format(x)):
- value = module.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = module.getModifiedItemAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, module, kwargs['effect'])
diff --git a/eos/effects/mwdsignatureradiusrolebonus.py b/eos/effects/mwdsignatureradiusrolebonus.py
deleted file mode 100644
index 2c5ce0bbc..000000000
--- a/eos/effects/mwdsignatureradiusrolebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# MWDSignatureRadiusRoleBonus
-#
-# Used by:
-# Ships from group: Assault Frigate (8 of 12)
-# Ships from group: Command Destroyer (4 of 4)
-# Ships from group: Heavy Assault Cruiser (8 of 11)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "signatureRadiusBonus", ship.getModifiedItemAttr("MWDSignatureRadiusBonus"))
diff --git a/eos/effects/navigationvelocitybonuspostpercentmaxvelocitylocationship.py b/eos/effects/navigationvelocitybonuspostpercentmaxvelocitylocationship.py
deleted file mode 100644
index 143f84076..000000000
--- a/eos/effects/navigationvelocitybonuspostpercentmaxvelocitylocationship.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# navigationVelocityBonusPostPercentMaxVelocityLocationShip
-#
-# Used by:
-# Implant: Low-grade Snake Alpha
-# Implant: Mid-grade Snake Alpha
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.boostItemAttr("maxVelocity", implant.getModifiedItemAttr("velocityBonus"))
diff --git a/eos/effects/navigationvelocitybonuspostpercentmaxvelocityship.py b/eos/effects/navigationvelocitybonuspostpercentmaxvelocityship.py
deleted file mode 100644
index 6f68c7292..000000000
--- a/eos/effects/navigationvelocitybonuspostpercentmaxvelocityship.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# navigationVelocityBonusPostPercentMaxVelocityShip
-#
-# Used by:
-# Modules from group: Rig Anchor (4 of 4)
-# Implants named like: Agency 'Overclocker' SB Dose (4 of 4)
-# Implants named like: grade Snake (16 of 18)
-# Modules named like: Auxiliary Thrusters (8 of 8)
-# Implant: Quafe Zero
-# Skill: Navigation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- amount = container.getModifiedItemAttr("velocityBonus") or 0
- fit.ship.boostItemAttr("maxVelocity", amount * level,
- stackingPenalties="skill" not in context and "implant" not in context and "booster" not in context)
diff --git a/eos/effects/npcentityremotearmorrepairer.py b/eos/effects/npcentityremotearmorrepairer.py
deleted file mode 100644
index e74505c96..000000000
--- a/eos/effects/npcentityremotearmorrepairer.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# npcEntityRemoteArmorRepairer
-#
-# Used by:
-# Drones named like: Armor Maintenance Bot (6 of 6)
-type = "projected", "active"
-
-
-def handler(fit, container, context):
- if "projected" in context:
- bonus = container.getModifiedItemAttr("armorDamageAmount")
- duration = container.getModifiedItemAttr("duration") / 1000.0
- rps = bonus / duration
- fit.extraAttributes.increase("armorRepair", rps)
- fit.extraAttributes.increase("armorRepairPreSpool", rps)
- fit.extraAttributes.increase("armorRepairFullSpool", rps)
diff --git a/eos/effects/npcentityremotehullrepairer.py b/eos/effects/npcentityremotehullrepairer.py
deleted file mode 100644
index b3d935bc9..000000000
--- a/eos/effects/npcentityremotehullrepairer.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# npcEntityRemoteHullRepairer
-#
-# Used by:
-# Drones named like: Hull Maintenance Bot (6 of 6)
-type = "projected", "active"
-runTime = "late"
-
-
-def handler(fit, module, context):
- if "projected" not in context:
- return
- bonus = module.getModifiedItemAttr("structureDamageAmount")
- duration = module.getModifiedItemAttr("duration") / 1000.0
- fit.extraAttributes.increase("hullRepair", bonus / duration)
diff --git a/eos/effects/npcentityremoteshieldbooster.py b/eos/effects/npcentityremoteshieldbooster.py
deleted file mode 100644
index 35e49b9d5..000000000
--- a/eos/effects/npcentityremoteshieldbooster.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# npcEntityRemoteShieldBooster
-#
-# Used by:
-# Drones named like: Shield Maintenance Bot (6 of 6)
-type = "projected", "active"
-
-
-def handler(fit, container, context):
- if "projected" in context:
- bonus = container.getModifiedItemAttr("shieldBonus")
- duration = container.getModifiedItemAttr("duration") / 1000.0
- fit.extraAttributes.increase("shieldRepair", bonus / duration)
diff --git a/eos/effects/npcentityweapondisruptor.py b/eos/effects/npcentityweapondisruptor.py
deleted file mode 100644
index 28661af18..000000000
--- a/eos/effects/npcentityweapondisruptor.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# npcEntityWeaponDisruptor
-#
-# Used by:
-# Drones named like: TD (3 of 3)
-type = "projected", "active"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" in context:
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
- stackingPenalties=True, *args, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "maxRange", module.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True, *args, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "falloff", module.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/offensivedefensivereduction.py b/eos/effects/offensivedefensivereduction.py
deleted file mode 100644
index 39c120f49..000000000
--- a/eos/effects/offensivedefensivereduction.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# OffensiveDefensiveReduction
-#
-# Used by:
-# Celestials named like: Drifter Incursion (6 of 6)
-# Celestials named like: Incursion ship attributes effects (3 of 3)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- damages = ("em", "thermal", "kinetic", "explosive")
- for damage in damages:
- # Nerf missile damage
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "{0}Damage".format(damage),
- beacon.getModifiedItemAttr("systemEffectDamageReduction"))
- # Nerf smartbomb damage
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Smart Bomb",
- "{0}Damage".format(damage),
- beacon.getModifiedItemAttr("systemEffectDamageReduction"))
- # Nerf armor resistances
- fit.ship.boostItemAttr("armor{0}DamageResonance".format(damage.capitalize()),
- beacon.getModifiedItemAttr("armor{0}DamageResistanceBonus".format(damage.capitalize())))
- # Nerf shield resistances
- fit.ship.boostItemAttr("shield{0}DamageResonance".format(damage.capitalize()),
- beacon.getModifiedItemAttr("shield{0}DamageResistanceBonus".format(damage.capitalize())))
- # Nerf drone damage output
- fit.drones.filteredItemBoost(lambda drone: True,
- "damageMultiplier", beacon.getModifiedItemAttr("systemEffectDamageReduction"))
- # Nerf turret damage output
- fit.modules.filteredItemBoost(lambda module: module.item.requiresSkill("Gunnery"),
- "damageMultiplier", beacon.getModifiedItemAttr("systemEffectDamageReduction"))
diff --git a/eos/effects/onlinejumpdriveconsumptionamountbonuspercentage.py b/eos/effects/onlinejumpdriveconsumptionamountbonuspercentage.py
deleted file mode 100644
index 55e0cb883..000000000
--- a/eos/effects/onlinejumpdriveconsumptionamountbonuspercentage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# onlineJumpDriveConsumptionAmountBonusPercentage
-#
-# Used by:
-# Modules from group: Jump Drive Economizer (3 of 3)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("jumpDriveConsumptionAmount",
- module.getModifiedItemAttr("consumptionQuantityBonusPercentage"), stackingPenalties=True)
diff --git a/eos/effects/overloadrofbonus.py b/eos/effects/overloadrofbonus.py
deleted file mode 100644
index c0fedef1a..000000000
--- a/eos/effects/overloadrofbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# overloadRofBonus
-#
-# Used by:
-# Modules from group: Missile Launcher Torpedo (22 of 22)
-# Items from market group: Ship Equipment > Turrets & Bays (429 of 883)
-# Module: Interdiction Sphere Launcher I
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("speed", module.getModifiedItemAttr("overloadRofBonus"))
diff --git a/eos/effects/overloadselfarmordamageamountdurationbonus.py b/eos/effects/overloadselfarmordamageamountdurationbonus.py
deleted file mode 100644
index c7a2a1049..000000000
--- a/eos/effects/overloadselfarmordamageamountdurationbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# overloadSelfArmorDamageAmountDurationBonus
-#
-# Used by:
-# Modules from group: Ancillary Armor Repairer (7 of 7)
-# Modules from group: Armor Repair Unit (108 of 108)
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("duration", module.getModifiedItemAttr("overloadSelfDurationBonus"))
- module.boostItemAttr("armorDamageAmount", module.getModifiedItemAttr("overloadArmorDamageAmount"),
- stackingPenalties=True)
diff --git a/eos/effects/overloadselfdamagebonus.py b/eos/effects/overloadselfdamagebonus.py
deleted file mode 100644
index 073b1ead3..000000000
--- a/eos/effects/overloadselfdamagebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# overloadSelfDamageBonus
-#
-# Used by:
-# Modules from group: Energy Weapon (101 of 214)
-# Modules from group: Hybrid Weapon (105 of 221)
-# Modules from group: Precursor Weapon (15 of 15)
-# Modules from group: Projectile Weapon (99 of 165)
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("damageMultiplier", module.getModifiedItemAttr("overloadDamageModifier"))
diff --git a/eos/effects/overloadselfdurationbonus.py b/eos/effects/overloadselfdurationbonus.py
deleted file mode 100644
index e4ecde55c..000000000
--- a/eos/effects/overloadselfdurationbonus.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# overloadSelfDurationBonus
-#
-# Used by:
-# Modules from group: Ancillary Remote Shield Booster (4 of 4)
-# Modules from group: Capacitor Booster (59 of 59)
-# Modules from group: Energy Neutralizer (54 of 54)
-# Modules from group: Energy Nosferatu (54 of 54)
-# Modules from group: Hull Repair Unit (25 of 25)
-# Modules from group: Remote Armor Repairer (39 of 39)
-# Modules from group: Remote Capacitor Transmitter (41 of 41)
-# Modules from group: Remote Shield Booster (38 of 38)
-# Modules from group: Smart Bomb (118 of 118)
-# Modules from group: Warp Disrupt Field Generator (7 of 7)
-# Modules named like: Remote Repairer (56 of 56)
-# Module: Reactive Armor Hardener
-# Module: Target Spectrum Breaker
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("duration", module.getModifiedItemAttr("overloadSelfDurationBonus") or 0)
diff --git a/eos/effects/overloadselfecmstrenghtbonus.py b/eos/effects/overloadselfecmstrenghtbonus.py
deleted file mode 100644
index f39a5eed1..000000000
--- a/eos/effects/overloadselfecmstrenghtbonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# overloadSelfECMStrenghtBonus
-#
-# Used by:
-# Modules from group: Burst Jammer (11 of 11)
-# Modules from group: ECM (39 of 39)
-type = "overheat"
-
-
-def handler(fit, module, context):
- if "projected" not in context:
- for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
- module.boostItemAttr("scan{0}StrengthBonus".format(scanType),
- module.getModifiedItemAttr("overloadECMStrengthBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/overloadselfemhardeningbonus.py b/eos/effects/overloadselfemhardeningbonus.py
deleted file mode 100644
index 7e6cc6166..000000000
--- a/eos/effects/overloadselfemhardeningbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# overloadSelfEmHardeningBonus
-#
-# Used by:
-# Variations of module: Armor EM Hardener I (39 of 39)
-# Variations of module: EM Ward Field I (19 of 19)
-# Module: Civilian EM Ward Field
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("emDamageResistanceBonus", module.getModifiedItemAttr("overloadHardeningBonus"))
diff --git a/eos/effects/overloadselfexplosivehardeningbonus.py b/eos/effects/overloadselfexplosivehardeningbonus.py
deleted file mode 100644
index 9762eaf14..000000000
--- a/eos/effects/overloadselfexplosivehardeningbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# overloadSelfExplosiveHardeningBonus
-#
-# Used by:
-# Variations of module: Armor Explosive Hardener I (39 of 39)
-# Variations of module: Explosive Deflection Field I (19 of 19)
-# Module: Civilian Explosive Deflection Field
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("explosiveDamageResistanceBonus", module.getModifiedItemAttr("overloadHardeningBonus"))
diff --git a/eos/effects/overloadselfhardeninginvulnerabilitybonus.py b/eos/effects/overloadselfhardeninginvulnerabilitybonus.py
deleted file mode 100644
index 59e6a1575..000000000
--- a/eos/effects/overloadselfhardeninginvulnerabilitybonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# overloadSelfHardeningInvulnerabilityBonus
-#
-# Used by:
-# Modules named like: Capital Flex Hardener (9 of 9)
-# Variations of module: Adaptive Invulnerability Field I (17 of 17)
-type = "overheat"
-
-
-def handler(fit, module, context):
- for type in ("kinetic", "thermal", "explosive", "em"):
- module.boostItemAttr("%sDamageResistanceBonus" % type,
- module.getModifiedItemAttr("overloadHardeningBonus"))
diff --git a/eos/effects/overloadselfkinetichardeningbonus.py b/eos/effects/overloadselfkinetichardeningbonus.py
deleted file mode 100644
index 549ddf5e7..000000000
--- a/eos/effects/overloadselfkinetichardeningbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# overloadSelfKineticHardeningBonus
-#
-# Used by:
-# Variations of module: Armor Kinetic Hardener I (39 of 39)
-# Variations of module: Kinetic Deflection Field I (19 of 19)
-# Module: Civilian Kinetic Deflection Field
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("kineticDamageResistanceBonus", module.getModifiedItemAttr("overloadHardeningBonus"))
diff --git a/eos/effects/overloadselfmissileguidancebonus5.py b/eos/effects/overloadselfmissileguidancebonus5.py
deleted file mode 100644
index f92b98aea..000000000
--- a/eos/effects/overloadselfmissileguidancebonus5.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# overloadSelfMissileGuidanceBonus5
-#
-# Used by:
-# Modules from group: Missile Guidance Computer (3 of 3)
-type = "overheat"
-
-
-def handler(fit, module, context):
- for tgtAttr in (
- "aoeCloudSizeBonus",
- "explosionDelayBonus",
- "missileVelocityBonus",
- "maxVelocityModifier",
- "aoeVelocityBonus"
- ):
- module.boostItemAttr(tgtAttr, module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
diff --git a/eos/effects/overloadselfmissileguidancemodulebonus.py b/eos/effects/overloadselfmissileguidancemodulebonus.py
deleted file mode 100644
index 3a8a9ab52..000000000
--- a/eos/effects/overloadselfmissileguidancemodulebonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# overloadSelfMissileGuidanceModuleBonus
-#
-# Used by:
-# Variations of module: Guidance Disruptor I (6 of 6)
-type = "overheat"
-
-
-def handler(fit, module, context):
- for tgtAttr in (
- "aoeCloudSizeBonus",
- "explosionDelayBonus",
- "missileVelocityBonus",
- "aoeVelocityBonus"
- ):
- module.boostItemAttr(tgtAttr, module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
diff --git a/eos/effects/overloadselfpainterbonus.py b/eos/effects/overloadselfpainterbonus.py
deleted file mode 100644
index 67b69fc55..000000000
--- a/eos/effects/overloadselfpainterbonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# overloadSelfPainterBonus
-#
-# Used by:
-# Modules from group: Target Painter (8 of 8)
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("signatureRadiusBonus", module.getModifiedItemAttr("overloadPainterStrengthBonus") or 0)
diff --git a/eos/effects/overloadselfrangebonus.py b/eos/effects/overloadselfrangebonus.py
deleted file mode 100644
index 781bf4794..000000000
--- a/eos/effects/overloadselfrangebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# overloadSelfRangeBonus
-#
-# Used by:
-# Modules from group: Stasis Grappler (7 of 7)
-# Modules from group: Stasis Web (19 of 19)
-# Modules from group: Warp Scrambler (54 of 55)
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("maxRange", module.getModifiedItemAttr("overloadRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/overloadselfsensormodulebonus.py b/eos/effects/overloadselfsensormodulebonus.py
deleted file mode 100644
index 378e739b1..000000000
--- a/eos/effects/overloadselfsensormodulebonus.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# overloadSelfSensorModuleBonus
-#
-# Used by:
-# Modules from group: Remote Sensor Booster (8 of 8)
-# Modules from group: Sensor Booster (16 of 16)
-# Modules from group: Sensor Dampener (6 of 6)
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("maxTargetRangeBonus", module.getModifiedItemAttr("overloadSensorModuleStrengthBonus"))
- module.boostItemAttr("scanResolutionBonus", module.getModifiedItemAttr("overloadSensorModuleStrengthBonus"),
- stackingPenalties=True)
-
- for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
- module.boostItemAttr(
- "scan{}StrengthPercent".format(scanType),
- module.getModifiedItemAttr("overloadSensorModuleStrengthBonus"),
- stackingPenalties=True
- )
diff --git a/eos/effects/overloadselfshieldbonusdurationbonus.py b/eos/effects/overloadselfshieldbonusdurationbonus.py
deleted file mode 100644
index 4706ccbca..000000000
--- a/eos/effects/overloadselfshieldbonusdurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# overloadSelfShieldBonusDurationBonus
-#
-# Used by:
-# Modules from group: Ancillary Shield Booster (8 of 8)
-# Modules from group: Shield Booster (97 of 97)
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("duration", module.getModifiedItemAttr("overloadSelfDurationBonus"))
- module.boostItemAttr("shieldBonus", module.getModifiedItemAttr("overloadShieldBonus"), stackingPenalties=True)
diff --git a/eos/effects/overloadselfspeedbonus.py b/eos/effects/overloadselfspeedbonus.py
deleted file mode 100644
index cc5dbe3f6..000000000
--- a/eos/effects/overloadselfspeedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# overloadSelfSpeedBonus
-#
-# Used by:
-# Modules from group: Propulsion Module (133 of 133)
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("speedFactor", module.getModifiedItemAttr("overloadSpeedFactorBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/overloadselfthermalhardeningbonus.py b/eos/effects/overloadselfthermalhardeningbonus.py
deleted file mode 100644
index a97ab16fb..000000000
--- a/eos/effects/overloadselfthermalhardeningbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# overloadSelfThermalHardeningBonus
-#
-# Used by:
-# Variations of module: Armor Thermal Hardener I (39 of 39)
-# Variations of module: Thermal Dissipation Field I (19 of 19)
-# Module: Civilian Thermal Dissipation Field
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("thermalDamageResistanceBonus", module.getModifiedItemAttr("overloadHardeningBonus"))
diff --git a/eos/effects/overloadselftrackingmodulebonus.py b/eos/effects/overloadselftrackingmodulebonus.py
deleted file mode 100644
index fb217b93d..000000000
--- a/eos/effects/overloadselftrackingmodulebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# overloadSelfTrackingModuleBonus
-#
-# Used by:
-# Modules named like: Tracking Computer (19 of 19)
-# Variations of module: Tracking Disruptor I (6 of 6)
-type = "overheat"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("maxRangeBonus", module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
- module.boostItemAttr("falloffBonus", module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
- module.boostItemAttr("trackingSpeedBonus", module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
diff --git a/eos/effects/passivespeedlimit.py b/eos/effects/passivespeedlimit.py
deleted file mode 100644
index c8744ddcf..000000000
--- a/eos/effects/passivespeedlimit.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# passiveSpeedLimit
-#
-# Used by:
-# Modules from group: Entosis Link (6 of 6)
-runtime = "late"
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.extraAttributes['speedLimit'] = src.getModifiedItemAttr("speedLimit")
diff --git a/eos/effects/pointdefense.py b/eos/effects/pointdefense.py
deleted file mode 100644
index 44cf69af7..000000000
--- a/eos/effects/pointdefense.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# pointDefense
-#
-# Used by:
-# Structure Modules from group: Structure Area Denial Module (2 of 2)
-type = 'active'
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/powerbooster.py b/eos/effects/powerbooster.py
deleted file mode 100644
index 42dcaca89..000000000
--- a/eos/effects/powerbooster.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# powerBooster
-#
-# Used by:
-# Modules from group: Capacitor Booster (59 of 59)
-type = "active"
-
-
-def handler(fit, module, context):
- # Set reload time to 10 seconds
- module.reloadTime = 10000
- # Make so that reloads are always taken into account during clculations
- module.forceReload = True
-
- if module.charge is None:
- return
- capAmount = module.getModifiedChargeAttr("capacitorBonus") or 0
- module.itemModifiedAttributes["capacitorNeed"] = -capAmount
diff --git a/eos/effects/powerincrease.py b/eos/effects/powerincrease.py
deleted file mode 100644
index 2d953deb4..000000000
--- a/eos/effects/powerincrease.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# powerIncrease
-#
-# Used by:
-# Modules from group: Auxiliary Power Core (5 of 5)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("powerOutput", module.getModifiedItemAttr("powerIncrease"))
diff --git a/eos/effects/poweroutputaddpassive.py b/eos/effects/poweroutputaddpassive.py
deleted file mode 100644
index bbaaddd28..000000000
--- a/eos/effects/poweroutputaddpassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# powerOutputAddPassive
-#
-# Used by:
-# Subsystems from group: Offensive Systems (8 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("powerOutput", module.getModifiedItemAttr("powerOutput"))
diff --git a/eos/effects/poweroutputmultiply.py b/eos/effects/poweroutputmultiply.py
deleted file mode 100644
index 2add2137d..000000000
--- a/eos/effects/poweroutputmultiply.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# powerOutputMultiply
-#
-# Used by:
-# Modules from group: Capacitor Flux Coil (6 of 6)
-# Modules from group: Capacitor Power Relay (20 of 20)
-# Modules from group: Power Diagnostic System (23 of 23)
-# Modules from group: Reactor Control Unit (22 of 22)
-# Variations of structure module: Standup Reactor Control Unit I (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- # We default this to None as there are times when the source attribute doesn't exist (for example, Cap Power Relay).
- # It will return 0 as it doesn't exist, which would nullify whatever the target attribute is
- fit.ship.multiplyItemAttr("powerOutput", module.getModifiedItemAttr("powerOutputMultiplier", None))
diff --git a/eos/effects/probelaunchercpupercentrolebonust3.py b/eos/effects/probelaunchercpupercentrolebonust3.py
deleted file mode 100644
index b78379d9a..000000000
--- a/eos/effects/probelaunchercpupercentrolebonust3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# probeLauncherCPUPercentRoleBonusT3
-#
-# Used by:
-# Ships from group: Strategic Cruiser (4 of 4)
-# Ships from group: Tactical Destroyer (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"), "cpu", src.getModifiedItemAttr("roleBonusT3ProbeCPU"))
diff --git a/eos/effects/projectilefired.py b/eos/effects/projectilefired.py
deleted file mode 100644
index 491b73f0c..000000000
--- a/eos/effects/projectilefired.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# projectileFired
-#
-# Used by:
-# Modules from group: Hybrid Weapon (221 of 221)
-# Modules from group: Projectile Weapon (165 of 165)
-type = 'active'
-
-
-def handler(fit, module, context):
- rt = module.getModifiedItemAttr("reloadTime")
- if not rt:
- # Set reload time to 10 seconds
- module.reloadTime = 10000
- else:
- module.reloadTime = rt
diff --git a/eos/effects/projectileweapondamagemultiply.py b/eos/effects/projectileweapondamagemultiply.py
deleted file mode 100644
index aeafffff7..000000000
--- a/eos/effects/projectileweapondamagemultiply.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# projectileWeaponDamageMultiply
-#
-# Used by:
-# Modules from group: Gyrostabilizer (14 of 14)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Projectile Weapon",
- "damageMultiplier", module.getModifiedItemAttr("damageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/projectileweapondamagemultiplypassive.py b/eos/effects/projectileweapondamagemultiplypassive.py
deleted file mode 100644
index 0060dafc8..000000000
--- a/eos/effects/projectileweapondamagemultiplypassive.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# projectileWeaponDamageMultiplyPassive
-#
-# Used by:
-# Modules named like: Projectile Collision Accelerator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Projectile Weapon",
- "damageMultiplier", module.getModifiedItemAttr("damageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/projectileweaponspeedmultiply.py b/eos/effects/projectileweaponspeedmultiply.py
deleted file mode 100644
index 73c1d538d..000000000
--- a/eos/effects/projectileweaponspeedmultiply.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# projectileWeaponSpeedMultiply
-#
-# Used by:
-# Modules from group: Gyrostabilizer (14 of 14)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Projectile Weapon",
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/projectileweaponspeedmultiplypassive.py b/eos/effects/projectileweaponspeedmultiplypassive.py
deleted file mode 100644
index 6a1b54d15..000000000
--- a/eos/effects/projectileweaponspeedmultiplypassive.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# projectileWeaponSpeedMultiplyPassive
-#
-# Used by:
-# Modules named like: Projectile Burst Aerator (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Projectile Weapon",
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/propulsionskillcapneedbonusskilllevel.py b/eos/effects/propulsionskillcapneedbonusskilllevel.py
deleted file mode 100644
index 80cacae21..000000000
--- a/eos/effects/propulsionskillcapneedbonusskilllevel.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# propulsionSkillCapNeedBonusSkillLevel
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' Propulsion Jamming PJ (6 of 6)
-# Skill: Propulsion Jamming
-type = "passive"
-
-
-def handler(fit, container, context):
-
- level = container.level if "skill" in context else 1
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Propulsion Jamming"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/rapidfiringrofbonuspostpercentspeedlocationshipmodulesrequiringgunnery.py b/eos/effects/rapidfiringrofbonuspostpercentspeedlocationshipmodulesrequiringgunnery.py
deleted file mode 100644
index fa0994205..000000000
--- a/eos/effects/rapidfiringrofbonuspostpercentspeedlocationshipmodulesrequiringgunnery.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# rapidFiringRofBonusPostPercentSpeedLocationShipModulesRequiringGunnery
-#
-# Used by:
-# Skill: Rapid Firing
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "speed", skill.getModifiedItemAttr("rofBonus") * skill.level)
diff --git a/eos/effects/reconshipcloakcpubonus1.py b/eos/effects/reconshipcloakcpubonus1.py
deleted file mode 100644
index e7c05671c..000000000
--- a/eos/effects/reconshipcloakcpubonus1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# reconShipCloakCpuBonus1
-#
-# Used by:
-# Ships from group: Force Recon Ship (7 of 9)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Cloaking Device",
- "cpu", ship.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships")
diff --git a/eos/effects/remotearmorsystemscapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringremotearmorsystems.py b/eos/effects/remotearmorsystemscapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringremotearmorsystems.py
deleted file mode 100644
index 73ff83db6..000000000
--- a/eos/effects/remotearmorsystemscapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringremotearmorsystems.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# remoteArmorSystemsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringRemoteArmorSystems
-#
-# Used by:
-# Implants named like: Inherent Implants 'Noble' Remote Armor Repair Systems RA (6 of 6)
-# Modules named like: Remote Repair Augmentor (6 of 8)
-# Skill: Remote Armor Repair Systems
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/remotecapacitortransmitterpowerneedbonuseffect.py b/eos/effects/remotecapacitortransmitterpowerneedbonuseffect.py
deleted file mode 100644
index 54897ba12..000000000
--- a/eos/effects/remotecapacitortransmitterpowerneedbonuseffect.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# remoteCapacitorTransmitterPowerNeedBonusEffect
-#
-# Used by:
-# Ships from group: Logistics (3 of 7)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
- "power", ship.getModifiedItemAttr("powerTransferPowerNeedBonus"))
diff --git a/eos/effects/remoteecmfalloff.py b/eos/effects/remoteecmfalloff.py
deleted file mode 100644
index 3ab1e4010..000000000
--- a/eos/effects/remoteecmfalloff.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# remoteECMFalloff
-#
-# Used by:
-# Modules from group: ECM (39 of 39)
-# Starbases from group: Electronic Warfare Battery (12 of 12)
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-type = "projected", "active"
-
-
-def handler(fit, module, context, **kwargs):
- if "projected" in context:
- # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
- strModifier = 1 - module.getModifiedItemAttr("scan{0}StrengthBonus".format(fit.scanType)) / fit.scanStrength
-
- if 'effect' in kwargs:
- strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- fit.ecmProjectedStr *= strModifier
diff --git a/eos/effects/remotesensorboostfalloff.py b/eos/effects/remotesensorboostfalloff.py
deleted file mode 100644
index a649c80e4..000000000
--- a/eos/effects/remotesensorboostfalloff.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# remoteSensorBoostFalloff
-#
-# Used by:
-# Modules from group: Remote Sensor Booster (8 of 8)
-type = "projected", "active"
-
-
-def handler(fit, module, context):
- if "projected" not in context:
- return
-
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
- stackingPenalties=True)
- fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionBonus"),
- stackingPenalties=True)
-
- for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
- fit.ship.boostItemAttr(
- "scan{}Strength".format(scanType),
- module.getModifiedItemAttr("scan{}StrengthPercent".format(scanType)),
- stackingPenalties=True
- )
diff --git a/eos/effects/remotesensordampentity.py b/eos/effects/remotesensordampentity.py
deleted file mode 100644
index 642b55411..000000000
--- a/eos/effects/remotesensordampentity.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# remoteSensorDampEntity
-#
-# Used by:
-# Drones named like: SD (3 of 3)
-type = "projected", "active"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" not in context:
- return
-
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
- stackingPenalties=True, *args, **kwargs)
-
- fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/remotesensordampfalloff.py b/eos/effects/remotesensordampfalloff.py
deleted file mode 100644
index cc60e1986..000000000
--- a/eos/effects/remotesensordampfalloff.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# remoteSensorDampFalloff
-#
-# Used by:
-# Modules from group: Sensor Dampener (6 of 6)
-# Starbases from group: Sensor Dampening Battery (3 of 3)
-type = "projected", "active"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" not in context:
- return
-
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
- stackingPenalties=True, *args, **kwargs)
-
- fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/remotetargetpaintentity.py b/eos/effects/remotetargetpaintentity.py
deleted file mode 100644
index 07b8c9169..000000000
--- a/eos/effects/remotetargetpaintentity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# remoteTargetPaintEntity
-#
-# Used by:
-# Drones named like: TP (3 of 3)
-type = "projected", "active"
-
-
-def handler(fit, container, context, *args, **kwargs):
- if "projected" in context:
- fit.ship.boostItemAttr("signatureRadius", container.getModifiedItemAttr("signatureRadiusBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/remotetargetpaintfalloff.py b/eos/effects/remotetargetpaintfalloff.py
deleted file mode 100644
index 0e80806ca..000000000
--- a/eos/effects/remotetargetpaintfalloff.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# remoteTargetPaintFalloff
-#
-# Used by:
-# Modules from group: Target Painter (8 of 8)
-type = "projected", "active"
-
-
-def handler(fit, container, context, *args, **kwargs):
- if "projected" in context:
- fit.ship.boostItemAttr("signatureRadius", container.getModifiedItemAttr("signatureRadiusBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/remotewebifierentity.py b/eos/effects/remotewebifierentity.py
deleted file mode 100644
index ca4b34de7..000000000
--- a/eos/effects/remotewebifierentity.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# remoteWebifierEntity
-#
-# Used by:
-# Drones from group: Stasis Webifying Drone (3 of 3)
-type = "active", "projected"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" not in context:
- return
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/remotewebifierfalloff.py b/eos/effects/remotewebifierfalloff.py
deleted file mode 100644
index c50e08141..000000000
--- a/eos/effects/remotewebifierfalloff.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# remoteWebifierFalloff
-#
-# Used by:
-# Modules from group: Stasis Grappler (7 of 7)
-# Modules from group: Stasis Web (19 of 19)
-# Starbases from group: Stasis Webification Battery (3 of 3)
-type = "active", "projected"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" not in context:
- return
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/remotewebifiermaxrangebonus.py b/eos/effects/remotewebifiermaxrangebonus.py
deleted file mode 100644
index 531f18ded..000000000
--- a/eos/effects/remotewebifiermaxrangebonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# remoteWebifierMaxRangeBonus
-#
-# Used by:
-# Implants named like: Inquest 'Eros' Stasis Webifier MR (3 of 3)
-# Implants named like: Inquest 'Hedone' Entanglement Optimizer WS (3 of 3)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "maxRange",
- src.getModifiedItemAttr("stasisWebRangeBonus"), stackingPenalties=False)
diff --git a/eos/effects/repairdronearmordamageamountbonus.py b/eos/effects/repairdronearmordamageamountbonus.py
deleted file mode 100644
index 3d7d56d4b..000000000
--- a/eos/effects/repairdronearmordamageamountbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# repairDroneArmorDamageAmountBonus
-#
-# Used by:
-# Modules named like: Drone Repair Augmentor (8 of 8)
-# Skill: Repair Drone Operation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Logistic Drone",
- "armorDamageAmount", container.getModifiedItemAttr("damageHP") * level,
- stackingPenalties=True)
diff --git a/eos/effects/repairdronehullbonusbonus.py b/eos/effects/repairdronehullbonusbonus.py
deleted file mode 100644
index 9e1ea724a..000000000
--- a/eos/effects/repairdronehullbonusbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# repairDroneHullBonusBonus
-#
-# Used by:
-# Modules named like: Drone Repair Augmentor (8 of 8)
-# Skill: Repair Drone Operation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Logistic Drone",
- "structureDamageAmount", container.getModifiedItemAttr("damageHP") * level)
diff --git a/eos/effects/repairdroneshieldbonusbonus.py b/eos/effects/repairdroneshieldbonusbonus.py
deleted file mode 100644
index 86bcba79b..000000000
--- a/eos/effects/repairdroneshieldbonusbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# repairDroneShieldBonusBonus
-#
-# Used by:
-# Modules named like: Drone Repair Augmentor (8 of 8)
-# Skill: Repair Drone Operation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Logistic Drone",
- "shieldBonus", container.getModifiedItemAttr("damageHP") * level)
diff --git a/eos/effects/repairsystemsdurationbonuspostpercentdurationlocationshipmodulesrequiringrepairsystems.py b/eos/effects/repairsystemsdurationbonuspostpercentdurationlocationshipmodulesrequiringrepairsystems.py
deleted file mode 100644
index 79a48defa..000000000
--- a/eos/effects/repairsystemsdurationbonuspostpercentdurationlocationshipmodulesrequiringrepairsystems.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# repairSystemsDurationBonusPostPercentDurationLocationShipModulesRequiringRepairSystems
-#
-# Used by:
-# Implants named like: Inherent Implants 'Noble' Repair Systems RS (6 of 6)
-# Modules named like: Nanobot Accelerator (8 of 8)
-# Implant: Numon Family Heirloom
-# Skill: Repair Systems
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "duration", container.getModifiedItemAttr("durationSkillBonus") * level)
diff --git a/eos/effects/republicsetbonus3.py b/eos/effects/republicsetbonus3.py
deleted file mode 100644
index c4275fa9b..000000000
--- a/eos/effects/republicsetbonus3.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# republicsetbonus3
-#
-# Used by:
-# Implants named like: High grade Jackal (6 of 6)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
- "scanLadarStrengthPercent",
- implant.getModifiedItemAttr("implantSetRepublicFleet"))
diff --git a/eos/effects/republicsetlgbonus.py b/eos/effects/republicsetlgbonus.py
deleted file mode 100644
index c853ebed7..000000000
--- a/eos/effects/republicsetlgbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# republicsetLGbonus
-#
-# Used by:
-# Implants named like: Low grade Jackal (6 of 6)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
- "scanLadarStrengthModifier",
- implant.getModifiedItemAttr("implantSetLGRepublicFleet"))
diff --git a/eos/effects/resistancekillerhullall.py b/eos/effects/resistancekillerhullall.py
deleted file mode 100644
index cdf18fee6..000000000
--- a/eos/effects/resistancekillerhullall.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# resistanceKillerHullAll
-#
-# Used by:
-# Modules named like: Polarized (12 of 18)
-type = "passive"
-
-
-def handler(fit, module, context):
- for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):
- tgtAttr = '{}DamageResonance'.format(dmgType)
- fit.ship.forceItemAttr(tgtAttr, module.getModifiedItemAttr("resistanceKillerHull"))
diff --git a/eos/effects/resistancekillershieldarmorall.py b/eos/effects/resistancekillershieldarmorall.py
deleted file mode 100644
index c89b4d310..000000000
--- a/eos/effects/resistancekillershieldarmorall.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# resistanceKillerShieldArmorAll
-#
-# Used by:
-# Modules named like: Polarized (12 of 18)
-type = "passive"
-
-
-def handler(fit, module, context):
- for layer in ('armor', 'shield'):
- for dmgType in ('em', 'thermal', 'kinetic', 'explosive'):
- tgtAttr = '{}{}DamageResonance'.format(layer, dmgType.capitalize())
- fit.ship.forceItemAttr(tgtAttr, module.getModifiedItemAttr("resistanceKiller"))
diff --git a/eos/effects/rigdrawbackreductionarmor.py b/eos/effects/rigdrawbackreductionarmor.py
deleted file mode 100644
index 312e04d7a..000000000
--- a/eos/effects/rigdrawbackreductionarmor.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# rigDrawbackReductionArmor
-#
-# Used by:
-# Skill: Armor Rigging
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Armor", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Resource Processing", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
diff --git a/eos/effects/rigdrawbackreductionastronautics.py b/eos/effects/rigdrawbackreductionastronautics.py
deleted file mode 100644
index 679e381eb..000000000
--- a/eos/effects/rigdrawbackreductionastronautics.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# rigDrawbackReductionAstronautics
-#
-# Used by:
-# Skill: Astronautics Rigging
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Navigation", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Anchor", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
diff --git a/eos/effects/rigdrawbackreductiondrones.py b/eos/effects/rigdrawbackreductiondrones.py
deleted file mode 100644
index 1761fae59..000000000
--- a/eos/effects/rigdrawbackreductiondrones.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# rigDrawbackReductionDrones
-#
-# Used by:
-# Skill: Drones Rigging
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Drones", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
diff --git a/eos/effects/rigdrawbackreductionelectronic.py b/eos/effects/rigdrawbackreductionelectronic.py
deleted file mode 100644
index 7e27b8d0b..000000000
--- a/eos/effects/rigdrawbackreductionelectronic.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# rigDrawbackReductionElectronic
-#
-# Used by:
-# Skill: Electronic Superiority Rigging
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Electronic Systems", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Scanning", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Targeting", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
diff --git a/eos/effects/rigdrawbackreductionenergyweapon.py b/eos/effects/rigdrawbackreductionenergyweapon.py
deleted file mode 100644
index 9d99e3513..000000000
--- a/eos/effects/rigdrawbackreductionenergyweapon.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# rigDrawbackReductionEnergyWeapon
-#
-# Used by:
-# Skill: Energy Weapon Rigging
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Energy Weapon", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
diff --git a/eos/effects/rigdrawbackreductionhybrid.py b/eos/effects/rigdrawbackreductionhybrid.py
deleted file mode 100644
index b7ffc0955..000000000
--- a/eos/effects/rigdrawbackreductionhybrid.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# rigDrawbackReductionHybrid
-#
-# Used by:
-# Skill: Hybrid Weapon Rigging
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Hybrid Weapon", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
diff --git a/eos/effects/rigdrawbackreductionlauncher.py b/eos/effects/rigdrawbackreductionlauncher.py
deleted file mode 100644
index 04276c9b9..000000000
--- a/eos/effects/rigdrawbackreductionlauncher.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# rigDrawbackReductionLauncher
-#
-# Used by:
-# Skill: Launcher Rigging
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Launcher", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
diff --git a/eos/effects/rigdrawbackreductionprojectile.py b/eos/effects/rigdrawbackreductionprojectile.py
deleted file mode 100644
index c6c339041..000000000
--- a/eos/effects/rigdrawbackreductionprojectile.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# rigDrawbackReductionProjectile
-#
-# Used by:
-# Skill: Projectile Weapon Rigging
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Projectile Weapon", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
diff --git a/eos/effects/rigdrawbackreductionshield.py b/eos/effects/rigdrawbackreductionshield.py
deleted file mode 100644
index fa2f75f88..000000000
--- a/eos/effects/rigdrawbackreductionshield.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# rigDrawbackReductionShield
-#
-# Used by:
-# Skill: Shield Rigging
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Rig Shield", "drawback",
- src.getModifiedItemAttr("rigDrawbackBonus") * lvl)
diff --git a/eos/effects/rolebonus2boosterpenaltyreduction.py b/eos/effects/rolebonus2boosterpenaltyreduction.py
deleted file mode 100644
index 19645f49e..000000000
--- a/eos/effects/rolebonus2boosterpenaltyreduction.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# roleBonus2BoosterPenaltyReduction
-#
-# Used by:
-# Ship: Victor
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterMissileAOECloudPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterCapacitorCapacityPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterAOEVelocityPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterArmorRepairAmountPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterMissileVelocityPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterTurretTrackingPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterShieldCapacityPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterTurretOptimalRangePenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterShieldBoostAmountPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterTurretFalloffPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterArmorHPPenalty", src.getModifiedItemAttr("shipBonusRole2"))
- fit.boosters.filteredItemBoost(lambda mod: mod.item.group.name == "Booster", "boosterMaxVelocityPenalty", src.getModifiedItemAttr("shipBonusRole2"))
diff --git a/eos/effects/rolebonusbomblauncherpwgcpu3.py b/eos/effects/rolebonusbomblauncherpwgcpu3.py
deleted file mode 100644
index e61365e2a..000000000
--- a/eos/effects/rolebonusbomblauncherpwgcpu3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# roleBonusBombLauncherPWGCPU3
-#
-# Used by:
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Bomb Deployment"), "power", src.getModifiedItemAttr("shipBonusRole3"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Bomb Deployment"), "cpu", src.getModifiedItemAttr("shipBonusRole3"))
diff --git a/eos/effects/rolebonusbulkheadcpu.py b/eos/effects/rolebonusbulkheadcpu.py
deleted file mode 100644
index 51ed0d68b..000000000
--- a/eos/effects/rolebonusbulkheadcpu.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# roleBonusBulkheadCPU
-#
-# Used by:
-# Ships from group: Freighter (4 of 5)
-# Ships from group: Jump Freighter (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Reinforced Bulkhead",
- "cpu", ship.getModifiedItemAttr("cpuNeedBonus"))
diff --git a/eos/effects/rolebonuscdlinkspgreduction.py b/eos/effects/rolebonuscdlinkspgreduction.py
deleted file mode 100644
index 619d3e9e0..000000000
--- a/eos/effects/rolebonuscdlinkspgreduction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# roleBonusCDLinksPGReduction
-#
-# Used by:
-# Ships from group: Command Destroyer (4 of 4)
-# Ship: Porpoise
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "power",
- src.getModifiedItemAttr("roleBonusCD"))
diff --git a/eos/effects/rolebonusecmcapcpu.py b/eos/effects/rolebonusecmcapcpu.py
deleted file mode 100644
index 3b8c77525..000000000
--- a/eos/effects/rolebonusecmcapcpu.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# roleBonusECMCapCPU
-#
-# Used by:
-# Ship: Griffin Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "capacitorNeed",
- src.getModifiedItemAttr("roleBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "cpu", src.getModifiedItemAttr("roleBonus"))
diff --git a/eos/effects/rolebonusecmrange.py b/eos/effects/rolebonusecmrange.py
deleted file mode 100644
index a981b4f94..000000000
--- a/eos/effects/rolebonusecmrange.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# roleBonusECMRange
-#
-# Used by:
-# Ship: Griffin Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "falloffEffectiveness",
- src.getModifiedItemAttr("roleBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "maxRange",
- src.getModifiedItemAttr("roleBonus"))
diff --git a/eos/effects/rolebonusflagcruisermodulefittingreduction.py b/eos/effects/rolebonusflagcruisermodulefittingreduction.py
deleted file mode 100644
index 2020db2d9..000000000
--- a/eos/effects/rolebonusflagcruisermodulefittingreduction.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# roleBonusFlagCruiserModuleFittingReduction
-#
-# Used by:
-# Ship: Monitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Propulsion Module", "Micro Jump Drive"),
- "power", src.getModifiedItemAttr("flagCruiserFittingBonusPropMods"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Propulsion Module", "Micro Jump Drive"),
- "cpu", src.getModifiedItemAttr("flagCruiserFittingBonusPropMods"))
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Target Painter", "Scan Probe Launcher"),
- "cpu", src.getModifiedItemAttr("flagCruiserFittingBonusPainterProbes"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Target Painter", "Scan Probe Launcher"),
- "power", src.getModifiedItemAttr("flagCruiserFittingBonusPainterProbes"))
diff --git a/eos/effects/rolebonusflagcruisertargetpaintermodifications.py b/eos/effects/rolebonusflagcruisertargetpaintermodifications.py
deleted file mode 100644
index 7400a0707..000000000
--- a/eos/effects/rolebonusflagcruisertargetpaintermodifications.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# roleBonusFlagCruiserTargetPainterModifications
-#
-# Used by:
-# Ship: Monitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter", "signatureRadiusBonus",
- src.getModifiedItemAttr("targetPainterStrengthModifierFlagCruisers"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Painter", "maxRange",
- src.getModifiedItemAttr("targetPainterRangeModifierFlagCruisers"))
diff --git a/eos/effects/rolebonusiceoreminingdurationcap.py b/eos/effects/rolebonusiceoreminingdurationcap.py
deleted file mode 100644
index f2dfdf612..000000000
--- a/eos/effects/rolebonusiceoreminingdurationcap.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# roleBonusIceOreMiningDurationCap
-#
-# Used by:
-# Variations of ship: Covetor (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"), "capacitorNeed",
- src.getModifiedItemAttr("miningDurationRoleBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"), "duration",
- src.getModifiedItemAttr("miningDurationRoleBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"), "duration",
- src.getModifiedItemAttr("miningDurationRoleBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"), "capacitorNeed",
- src.getModifiedItemAttr("miningDurationRoleBonus"))
diff --git a/eos/effects/rolebonusjustscramblerstrength.py b/eos/effects/rolebonusjustscramblerstrength.py
deleted file mode 100644
index 7be57333b..000000000
--- a/eos/effects/rolebonusjustscramblerstrength.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# roleBonusJustScramblerStrength
-#
-# Used by:
-# Ship: Maulus Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Navigation"),
- "warpScrambleStrength", ship.getModifiedItemAttr("roleBonus"))
diff --git a/eos/effects/rolebonusmaraudermjdrreactivationdelaybonus.py b/eos/effects/rolebonusmaraudermjdrreactivationdelaybonus.py
deleted file mode 100644
index 4f2dd193e..000000000
--- a/eos/effects/rolebonusmaraudermjdrreactivationdelaybonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# roleBonusMarauderMJDRReactivationDelayBonus
-#
-# Used by:
-# Ships from group: Marauder (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Micro Jump Drive",
- "moduleReactivationDelay", ship.getModifiedItemAttr("roleBonusMarauder"))
diff --git a/eos/effects/rolebonusmhtdamage1.py b/eos/effects/rolebonusmhtdamage1.py
deleted file mode 100644
index bbec67fbd..000000000
--- a/eos/effects/rolebonusmhtdamage1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# roleBonusMHTDamage1
-#
-# Used by:
-# Ship: Victor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"), "damageMultiplier", src.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/rolebonusremotearmorrepairoptimalfalloff.py b/eos/effects/rolebonusremotearmorrepairoptimalfalloff.py
deleted file mode 100644
index fae8acfac..000000000
--- a/eos/effects/rolebonusremotearmorrepairoptimalfalloff.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# roleBonusRemoteArmorRepairOptimalFalloff
-#
-# Used by:
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "falloffEffectiveness",
- src.getModifiedItemAttr("roleBonusRepairRange"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "maxRange",
- src.getModifiedItemAttr("roleBonusRepairRange"))
diff --git a/eos/effects/rolebonusstasisrange.py b/eos/effects/rolebonusstasisrange.py
deleted file mode 100644
index c08aa135f..000000000
--- a/eos/effects/rolebonusstasisrange.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# roleBonusStasisRange
-#
-# Used by:
-# Ship: Vigil Fleet Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "maxRange",
- src.getModifiedItemAttr("roleBonus"))
diff --git a/eos/effects/rolebonustorprof1.py b/eos/effects/rolebonustorprof1.py
deleted file mode 100644
index c87583d18..000000000
--- a/eos/effects/rolebonustorprof1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# roleBonusTorpRoF1
-#
-# Used by:
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Torpedo", "speed", src.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/rolebonuswarpspeed.py b/eos/effects/rolebonuswarpspeed.py
deleted file mode 100644
index 2532ab94a..000000000
--- a/eos/effects/rolebonuswarpspeed.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# roleBonusWarpSpeed
-#
-# Used by:
-# Ship: Cynabal
-# Ship: Dramiel
-# Ship: Leopard
-# Ship: Machariel
-# Ship: Victorieux Luxury Yacht
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", src.getModifiedItemAttr("shipRoleBonusWarpSpeed"))
diff --git a/eos/effects/rolebonuswdcapcpu.py b/eos/effects/rolebonuswdcapcpu.py
deleted file mode 100644
index c16985002..000000000
--- a/eos/effects/rolebonuswdcapcpu.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# roleBonusWDCapCPU
-#
-# Used by:
-# Ship: Crucifier Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "cpu",
- src.getModifiedItemAttr("roleBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "capacitorNeed",
- src.getModifiedItemAttr("roleBonus"))
diff --git a/eos/effects/rolebonuswdrange.py b/eos/effects/rolebonuswdrange.py
deleted file mode 100644
index 02e61cf78..000000000
--- a/eos/effects/rolebonuswdrange.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# roleBonusWDRange
-#
-# Used by:
-# Ship: Crucifier Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "falloffEffectiveness",
- src.getModifiedItemAttr("roleBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "maxRange",
- src.getModifiedItemAttr("roleBonus"))
diff --git a/eos/effects/rorqualcargoscanrangebonus.py b/eos/effects/rorqualcargoscanrangebonus.py
deleted file mode 100644
index 1b10ac223..000000000
--- a/eos/effects/rorqualcargoscanrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# rorqualCargoScanRangeBonus
-#
-# Used by:
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Cargo Scanner",
- "cargoScanRange", ship.getModifiedItemAttr("cargoScannerRangeBonus"))
diff --git a/eos/effects/rorqualsurveyscannerrangebonus.py b/eos/effects/rorqualsurveyscannerrangebonus.py
deleted file mode 100644
index 1a49d68ce..000000000
--- a/eos/effects/rorqualsurveyscannerrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# rorqualSurveyScannerRangeBonus
-#
-# Used by:
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Survey Scanner",
- "surveyScanRange", ship.getModifiedItemAttr("surveyScannerRangeBonus"))
diff --git a/eos/effects/salvagermoduledurationreduction.py b/eos/effects/salvagermoduledurationreduction.py
deleted file mode 100644
index ecf0ee4cf..000000000
--- a/eos/effects/salvagermoduledurationreduction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# salvagerModuleDurationReduction
-#
-# Used by:
-# Implant: Poteque 'Prospector' Environmental Analysis EY-1005
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Salvager",
- "duration", implant.getModifiedItemAttr("durationBonus"))
diff --git a/eos/effects/salvaging.py b/eos/effects/salvaging.py
deleted file mode 100644
index f9445babc..000000000
--- a/eos/effects/salvaging.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# salvaging
-#
-# Used by:
-# Modules from group: Salvager (3 of 3)
-type = "active"
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/salvagingaccessdifficultybonuseffectpassive.py b/eos/effects/salvagingaccessdifficultybonuseffectpassive.py
deleted file mode 100644
index f762ce8f0..000000000
--- a/eos/effects/salvagingaccessdifficultybonuseffectpassive.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# salvagingAccessDifficultyBonusEffectPassive
-#
-# Used by:
-# Modules from group: Rig Resource Processing (8 of 10)
-# Implant: Poteque 'Prospector' Salvaging SV-905
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Salvaging"),
- "accessDifficultyBonus", container.getModifiedItemAttr("accessDifficultyBonus"),
- position="post")
diff --git a/eos/effects/scangravimetricstrengthmodifiereffect.py b/eos/effects/scangravimetricstrengthmodifiereffect.py
deleted file mode 100644
index 64388c877..000000000
--- a/eos/effects/scangravimetricstrengthmodifiereffect.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# ScanGravimetricStrengthModifierEffect
-#
-# Used by:
-# Implants named like: Low grade Talon (5 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.increaseItemAttr("scanGravimetricStrength", implant.getModifiedItemAttr("scanGravimetricStrengthModifier"))
diff --git a/eos/effects/scanladarstrengthmodifiereffect.py b/eos/effects/scanladarstrengthmodifiereffect.py
deleted file mode 100644
index 43c9aeafd..000000000
--- a/eos/effects/scanladarstrengthmodifiereffect.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# ScanLadarStrengthModifierEffect
-#
-# Used by:
-# Implants named like: Low grade Jackal (5 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.increaseItemAttr("scanLadarStrength", implant.getModifiedItemAttr("scanLadarStrengthModifier"))
diff --git a/eos/effects/scanmagnetometricstrengthmodifiereffect.py b/eos/effects/scanmagnetometricstrengthmodifiereffect.py
deleted file mode 100644
index a4c66463f..000000000
--- a/eos/effects/scanmagnetometricstrengthmodifiereffect.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# ScanMagnetometricStrengthModifierEffect
-#
-# Used by:
-# Implants named like: Low grade Spur (5 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.increaseItemAttr("scanMagnetometricStrength",
- implant.getModifiedItemAttr("scanMagnetometricStrengthModifier"))
diff --git a/eos/effects/scanradarstrengthmodifiereffect.py b/eos/effects/scanradarstrengthmodifiereffect.py
deleted file mode 100644
index 94069c92f..000000000
--- a/eos/effects/scanradarstrengthmodifiereffect.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# ScanRadarStrengthModifierEffect
-#
-# Used by:
-# Implants named like: Low grade Grail (5 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.increaseItemAttr("scanRadarStrength", implant.getModifiedItemAttr("scanRadarStrengthModifier"))
diff --git a/eos/effects/scanresolutionmultiplieronline.py b/eos/effects/scanresolutionmultiplieronline.py
deleted file mode 100644
index 9b453a4c8..000000000
--- a/eos/effects/scanresolutionmultiplieronline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# scanResolutionMultiplierOnline
-#
-# Used by:
-# Modules from group: Warp Core Stabilizer (8 of 8)
-# Module: Target Spectrum Breaker
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/scanstrengthbonuspercentonline.py b/eos/effects/scanstrengthbonuspercentonline.py
deleted file mode 100644
index bccd06a4a..000000000
--- a/eos/effects/scanstrengthbonuspercentonline.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# scanStrengthBonusPercentOnline
-#
-# Used by:
-# Modules from group: Signal Amplifier (7 of 7)
-type = "passive"
-
-
-def handler(fit, module, context):
- for type in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
- fit.ship.boostItemAttr("scan%sStrength" % type,
- module.getModifiedItemAttr("scan%sStrengthPercent" % type),
- stackingPenalties=True)
diff --git a/eos/effects/scanstrengthbonuspercentpassive.py b/eos/effects/scanstrengthbonuspercentpassive.py
deleted file mode 100644
index d00f4e2b6..000000000
--- a/eos/effects/scanstrengthbonuspercentpassive.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# scanStrengthBonusPercentPassive
-#
-# Used by:
-# Implants named like: High grade (20 of 66)
-type = "passive"
-
-
-def handler(fit, implant, context):
- for type in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
- sensorType = "scan{0}Strength".format(type)
- sensorBoost = "scan{0}StrengthPercent".format(type)
- if sensorBoost in implant.item.attributes:
- fit.ship.boostItemAttr(sensorType, implant.getModifiedItemAttr(sensorBoost))
diff --git a/eos/effects/scoutdroneoperationdronerangebonusmodadddronecontroldistancechar.py b/eos/effects/scoutdroneoperationdronerangebonusmodadddronecontroldistancechar.py
deleted file mode 100644
index ba150045c..000000000
--- a/eos/effects/scoutdroneoperationdronerangebonusmodadddronecontroldistancechar.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# scoutDroneOperationDroneRangeBonusModAddDroneControlDistanceChar
-#
-# Used by:
-# Modules named like: Drone Control Range Augmentor (8 of 8)
-# Skills named like: Drone Avionics (2 of 2)
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- amount = container.getModifiedItemAttr("droneRangeBonus") * level
- fit.extraAttributes.increase("droneControlRange", amount)
diff --git a/eos/effects/scriptdurationbonus.py b/eos/effects/scriptdurationbonus.py
deleted file mode 100644
index 23361f87b..000000000
--- a/eos/effects/scriptdurationbonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# scriptDurationBonus
-#
-# Used by:
-# Charges from group: Warp Disruption Script (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("duration", module.getModifiedChargeAttr("durationBonus"))
diff --git a/eos/effects/scriptmassbonuspercentagebonus.py b/eos/effects/scriptmassbonuspercentagebonus.py
deleted file mode 100644
index dcf4a6c02..000000000
--- a/eos/effects/scriptmassbonuspercentagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptMassBonusPercentageBonus
-#
-# Used by:
-# Charges from group: Warp Disruption Script (2 of 2)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("massBonusPercentage", module.getModifiedChargeAttr("massBonusPercentageBonus"))
diff --git a/eos/effects/scriptmissileguidancecomputeraoecloudsizebonusbonus.py b/eos/effects/scriptmissileguidancecomputeraoecloudsizebonusbonus.py
deleted file mode 100644
index 12be7588b..000000000
--- a/eos/effects/scriptmissileguidancecomputeraoecloudsizebonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptMissileGuidanceComputerAOECloudSizeBonusBonus
-#
-# Used by:
-# Charges from group: Tracking Script (2 of 2)
-# Charges named like: Missile Script (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("aoeCloudSizeBonus", module.getModifiedChargeAttr("aoeCloudSizeBonusBonus"))
diff --git a/eos/effects/scriptmissileguidancecomputeraoevelocitybonusbonus.py b/eos/effects/scriptmissileguidancecomputeraoevelocitybonusbonus.py
deleted file mode 100644
index 800c91a08..000000000
--- a/eos/effects/scriptmissileguidancecomputeraoevelocitybonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptMissileGuidanceComputerAOEVelocityBonusBonus
-#
-# Used by:
-# Charges from group: Tracking Script (2 of 2)
-# Charges named like: Missile Script (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("aoeVelocityBonus", module.getModifiedChargeAttr("aoeVelocityBonusBonus"))
diff --git a/eos/effects/scriptmissileguidancecomputerexplosiondelaybonusbonus.py b/eos/effects/scriptmissileguidancecomputerexplosiondelaybonusbonus.py
deleted file mode 100644
index 5f6b2e00b..000000000
--- a/eos/effects/scriptmissileguidancecomputerexplosiondelaybonusbonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# scriptMissileGuidanceComputerExplosionDelayBonusBonus
-#
-# Used by:
-# Charges named like: Missile Script (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("explosionDelayBonus", module.getModifiedChargeAttr("explosionDelayBonusBonus"))
diff --git a/eos/effects/scriptmissileguidancecomputermissilevelocitybonusbonus.py b/eos/effects/scriptmissileguidancecomputermissilevelocitybonusbonus.py
deleted file mode 100644
index 9867c0a84..000000000
--- a/eos/effects/scriptmissileguidancecomputermissilevelocitybonusbonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# scriptMissileGuidanceComputerMissileVelocityBonusBonus
-#
-# Used by:
-# Charges named like: Missile Script (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("missileVelocityBonus", module.getModifiedChargeAttr("missileVelocityBonusBonus"))
diff --git a/eos/effects/scriptresistancebonusbonus.py b/eos/effects/scriptresistancebonusbonus.py
deleted file mode 100644
index d2c313dca..000000000
--- a/eos/effects/scriptresistancebonusbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# scriptResistanceBonusBonus
-#
-# Used by:
-# Charges named like: Resistance Script (8 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- src.boostItemAttr("emDamageResistanceBonus", src.getModifiedChargeAttr("emDamageResistanceBonusBonus"))
- src.boostItemAttr("explosiveDamageResistanceBonus",
- src.getModifiedChargeAttr("explosiveDamageResistanceBonusBonus"))
- src.boostItemAttr("kineticDamageResistanceBonus", src.getModifiedChargeAttr("kineticDamageResistanceBonusBonus"))
- src.boostItemAttr("thermalDamageResistanceBonus", src.getModifiedChargeAttr("thermalDamageResistanceBonusBonus"))
diff --git a/eos/effects/scriptscangravimetricstrengthbonusbonus.py b/eos/effects/scriptscangravimetricstrengthbonusbonus.py
deleted file mode 100644
index e9003c77d..000000000
--- a/eos/effects/scriptscangravimetricstrengthbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptscanGravimetricStrengthBonusBonus
-#
-# Used by:
-# Charges from group: Structure ECM script (4 of 4)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, src, context, *args, **kwargs):
- src.boostItemAttr("scanGravimetricStrengthBonus", src.getModifiedChargeAttr("scanGravimetricStrengthBonusBonus"))
diff --git a/eos/effects/scriptscanladarstrengthbonusbonus.py b/eos/effects/scriptscanladarstrengthbonusbonus.py
deleted file mode 100644
index 9300e4cca..000000000
--- a/eos/effects/scriptscanladarstrengthbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptscanLadarStrengthBonusBonus
-#
-# Used by:
-# Charges from group: Structure ECM script (4 of 4)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, src, context, *args, **kwargs):
- src.boostItemAttr("scanLadarStrengthBonus", src.getModifiedChargeAttr("scanLadarStrengthBonusBonus"))
diff --git a/eos/effects/scriptscanmagnetometricstrengthbonusbonus.py b/eos/effects/scriptscanmagnetometricstrengthbonusbonus.py
deleted file mode 100644
index 99e18d3c3..000000000
--- a/eos/effects/scriptscanmagnetometricstrengthbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptscanMagnetometricStrengthBonusBonus
-#
-# Used by:
-# Charges from group: Structure ECM script (4 of 4)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, src, context, *args, **kwargs):
- src.boostItemAttr("scanMagnetometricStrengthBonus", src.getModifiedChargeAttr("scanMagnetometricStrengthBonusBonus"))
diff --git a/eos/effects/scriptscanradarstrengthbonusbonus.py b/eos/effects/scriptscanradarstrengthbonusbonus.py
deleted file mode 100644
index d747d6510..000000000
--- a/eos/effects/scriptscanradarstrengthbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptscanRadarStrengthBonusBonus
-#
-# Used by:
-# Charges from group: Structure ECM script (4 of 4)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, src, context, *args, **kwargs):
- src.boostItemAttr("scanRadarStrengthBonus", src.getModifiedChargeAttr("scanRadarStrengthBonusBonus"))
diff --git a/eos/effects/scriptsensorboostermaxtargetrangebonusbonus.py b/eos/effects/scriptsensorboostermaxtargetrangebonusbonus.py
deleted file mode 100644
index a74e9d0bc..000000000
--- a/eos/effects/scriptsensorboostermaxtargetrangebonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptSensorBoosterMaxTargetRangeBonusBonus
-#
-# Used by:
-# Charges from group: Sensor Booster Script (3 of 3)
-# Charges from group: Sensor Dampener Script (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("maxTargetRangeBonus", module.getModifiedChargeAttr("maxTargetRangeBonusBonus"))
diff --git a/eos/effects/scriptsensorboosterscanresolutionbonusbonus.py b/eos/effects/scriptsensorboosterscanresolutionbonusbonus.py
deleted file mode 100644
index c1d064018..000000000
--- a/eos/effects/scriptsensorboosterscanresolutionbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptSensorBoosterScanResolutionBonusBonus
-#
-# Used by:
-# Charges from group: Sensor Booster Script (3 of 3)
-# Charges from group: Sensor Dampener Script (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("scanResolutionBonus", module.getModifiedChargeAttr("scanResolutionBonusBonus"))
diff --git a/eos/effects/scriptsensorboostersensorstrengthbonusbonus.py b/eos/effects/scriptsensorboostersensorstrengthbonusbonus.py
deleted file mode 100644
index 467c7edef..000000000
--- a/eos/effects/scriptsensorboostersensorstrengthbonusbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# scriptSensorBoosterSensorStrengthBonusBonus
-#
-# Used by:
-# Charges from group: Sensor Booster Script (3 of 3)
-type = "active"
-
-
-def handler(fit, module, context):
- for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
- module.boostItemAttr("scan{}StrengthPercent".format(scanType),
- module.getModifiedChargeAttr("sensorStrengthBonusBonus"))
diff --git a/eos/effects/scriptsignatureradiusbonusbonus.py b/eos/effects/scriptsignatureradiusbonusbonus.py
deleted file mode 100644
index 34ee9918f..000000000
--- a/eos/effects/scriptsignatureradiusbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptSignatureRadiusBonusBonus
-#
-# Used by:
-# Charges from group: Warp Disruption Script (2 of 2)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("signatureRadiusBonus", module.getModifiedChargeAttr("signatureRadiusBonusBonus"))
diff --git a/eos/effects/scriptspeedboostfactorbonusbonus.py b/eos/effects/scriptspeedboostfactorbonusbonus.py
deleted file mode 100644
index 7ead7eb03..000000000
--- a/eos/effects/scriptspeedboostfactorbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptSpeedBoostFactorBonusBonus
-#
-# Used by:
-# Charges from group: Warp Disruption Script (2 of 2)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("speedBoostFactorBonus", module.getModifiedChargeAttr("speedBoostFactorBonusBonus"))
diff --git a/eos/effects/scriptspeedfactorbonusbonus.py b/eos/effects/scriptspeedfactorbonusbonus.py
deleted file mode 100644
index f3d560d76..000000000
--- a/eos/effects/scriptspeedfactorbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptSpeedFactorBonusBonus
-#
-# Used by:
-# Charges from group: Warp Disruption Script (2 of 2)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("speedFactorBonus", module.getModifiedChargeAttr("speedFactorBonusBonus"))
diff --git a/eos/effects/scriptstandupwarpscram.py b/eos/effects/scriptstandupwarpscram.py
deleted file mode 100644
index 6f03786d6..000000000
--- a/eos/effects/scriptstandupwarpscram.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# scriptStandupWarpScram
-#
-# Used by:
-# Charge: Standup Focused Warp Scrambling Script
-
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, src, context, *args, **kwargs):
- src.boostItemAttr("maxRange", src.getModifiedChargeAttr("warpScrambleRangeBonus"))
diff --git a/eos/effects/scripttrackingcomputerfalloffbonusbonus.py b/eos/effects/scripttrackingcomputerfalloffbonusbonus.py
deleted file mode 100644
index b2c054606..000000000
--- a/eos/effects/scripttrackingcomputerfalloffbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptTrackingComputerFalloffBonusBonus
-#
-# Used by:
-# Charges from group: Tracking Disruption Script (2 of 2)
-# Charges from group: Tracking Script (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("falloffBonus", module.getModifiedChargeAttr("falloffBonusBonus"))
diff --git a/eos/effects/scripttrackingcomputermaxrangebonusbonus.py b/eos/effects/scripttrackingcomputermaxrangebonusbonus.py
deleted file mode 100644
index c3b510a7b..000000000
--- a/eos/effects/scripttrackingcomputermaxrangebonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptTrackingComputerMaxRangeBonusBonus
-#
-# Used by:
-# Charges from group: Tracking Disruption Script (2 of 2)
-# Charges from group: Tracking Script (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("maxRangeBonus", module.getModifiedChargeAttr("maxRangeBonusBonus"))
diff --git a/eos/effects/scripttrackingcomputertrackingspeedbonusbonus.py b/eos/effects/scripttrackingcomputertrackingspeedbonusbonus.py
deleted file mode 100644
index ff256a748..000000000
--- a/eos/effects/scripttrackingcomputertrackingspeedbonusbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# scriptTrackingComputerTrackingSpeedBonusBonus
-#
-# Used by:
-# Charges from group: Tracking Disruption Script (2 of 2)
-# Charges from group: Tracking Script (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("trackingSpeedBonus", module.getModifiedChargeAttr("trackingSpeedBonusBonus"))
diff --git a/eos/effects/scriptwarpdisruptionfieldgeneratorsetdisallowinempirespace.py b/eos/effects/scriptwarpdisruptionfieldgeneratorsetdisallowinempirespace.py
deleted file mode 100644
index 4c224a0ef..000000000
--- a/eos/effects/scriptwarpdisruptionfieldgeneratorsetdisallowinempirespace.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# scriptWarpDisruptionFieldGeneratorSetDisallowInEmpireSpace
-#
-# Used by:
-# Charges from group: Warp Disruption Script (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.forceItemAttr("disallowInEmpireSpace", module.getModifiedChargeAttr("disallowInEmpireSpace"))
diff --git a/eos/effects/scriptwarpscramblerangebonus.py b/eos/effects/scriptwarpscramblerangebonus.py
deleted file mode 100644
index cc253590b..000000000
--- a/eos/effects/scriptwarpscramblerangebonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# scriptWarpScrambleRangeBonus
-#
-# Used by:
-# Charges from group: Warp Disruption Script (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.boostItemAttr("warpScrambleRange", module.getModifiedChargeAttr("warpScrambleRangeBonus"))
diff --git a/eos/effects/selfrof.py b/eos/effects/selfrof.py
deleted file mode 100644
index b9f0541f2..000000000
--- a/eos/effects/selfrof.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# selfRof
-#
-# Used by:
-# Skills named like: Missile Specialization (4 of 5)
-# Skill: Rocket Specialization
-# Skill: Torpedo Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill),
- "speed", skill.getModifiedItemAttr("rofBonus") * skill.level)
diff --git a/eos/effects/selft2largehybridblasterdamagebonus.py b/eos/effects/selft2largehybridblasterdamagebonus.py
deleted file mode 100644
index 929509540..000000000
--- a/eos/effects/selft2largehybridblasterdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2LargeHybridBlasterDamageBonus
-#
-# Used by:
-# Skill: Large Blaster Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Blaster Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2largehybridraildamagebonus.py b/eos/effects/selft2largehybridraildamagebonus.py
deleted file mode 100644
index 6742d22d8..000000000
--- a/eos/effects/selft2largehybridraildamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2LargeHybridRailDamageBonus
-#
-# Used by:
-# Skill: Large Railgun Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Railgun Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2largelaserbeamdamagebonus.py b/eos/effects/selft2largelaserbeamdamagebonus.py
deleted file mode 100644
index 0a4cbafde..000000000
--- a/eos/effects/selft2largelaserbeamdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2LargeLaserBeamDamageBonus
-#
-# Used by:
-# Skill: Large Beam Laser Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Beam Laser Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2largelaserpulsedamagebonus.py b/eos/effects/selft2largelaserpulsedamagebonus.py
deleted file mode 100644
index 4714dd913..000000000
--- a/eos/effects/selft2largelaserpulsedamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2LargeLaserPulseDamageBonus
-#
-# Used by:
-# Skill: Large Pulse Laser Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Pulse Laser Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2largeprojectileacdamagebonus.py b/eos/effects/selft2largeprojectileacdamagebonus.py
deleted file mode 100644
index 0b3e4c6e3..000000000
--- a/eos/effects/selft2largeprojectileacdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2LargeProjectileACDamageBonus
-#
-# Used by:
-# Skill: Large Autocannon Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Autocannon Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2largeprojectileartydamagebonus.py b/eos/effects/selft2largeprojectileartydamagebonus.py
deleted file mode 100644
index 245a64866..000000000
--- a/eos/effects/selft2largeprojectileartydamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2LargeProjectileArtyDamageBonus
-#
-# Used by:
-# Skill: Large Artillery Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Artillery Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2mediumhybridblasterdamagebonus.py b/eos/effects/selft2mediumhybridblasterdamagebonus.py
deleted file mode 100644
index ca7dffdf5..000000000
--- a/eos/effects/selft2mediumhybridblasterdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2MediumHybridBlasterDamageBonus
-#
-# Used by:
-# Skill: Medium Blaster Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Blaster Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2mediumhybridraildamagebonus.py b/eos/effects/selft2mediumhybridraildamagebonus.py
deleted file mode 100644
index 77b6c5abb..000000000
--- a/eos/effects/selft2mediumhybridraildamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2MediumHybridRailDamageBonus
-#
-# Used by:
-# Skill: Medium Railgun Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Railgun Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2mediumlaserbeamdamagebonus.py b/eos/effects/selft2mediumlaserbeamdamagebonus.py
deleted file mode 100644
index e509d73de..000000000
--- a/eos/effects/selft2mediumlaserbeamdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2MediumLaserBeamDamageBonus
-#
-# Used by:
-# Skill: Medium Beam Laser Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Beam Laser Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2mediumlaserpulsedamagebonus.py b/eos/effects/selft2mediumlaserpulsedamagebonus.py
deleted file mode 100644
index 021493979..000000000
--- a/eos/effects/selft2mediumlaserpulsedamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2MediumLaserPulseDamageBonus
-#
-# Used by:
-# Skill: Medium Pulse Laser Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Pulse Laser Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2mediumprojectileacdamagebonus.py b/eos/effects/selft2mediumprojectileacdamagebonus.py
deleted file mode 100644
index a18d3914a..000000000
--- a/eos/effects/selft2mediumprojectileacdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2MediumProjectileACDamageBonus
-#
-# Used by:
-# Skill: Medium Autocannon Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Autocannon Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2mediumprojectileartydamagebonus.py b/eos/effects/selft2mediumprojectileartydamagebonus.py
deleted file mode 100644
index 8b091e5d8..000000000
--- a/eos/effects/selft2mediumprojectileartydamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2MediumProjectileArtyDamageBonus
-#
-# Used by:
-# Skill: Medium Artillery Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Artillery Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2smallhybridblasterdamagebonus.py b/eos/effects/selft2smallhybridblasterdamagebonus.py
deleted file mode 100644
index 3bc3b79c1..000000000
--- a/eos/effects/selft2smallhybridblasterdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2SmallHybridBlasterDamageBonus
-#
-# Used by:
-# Skill: Small Blaster Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Blaster Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2smallhybridraildamagebonus.py b/eos/effects/selft2smallhybridraildamagebonus.py
deleted file mode 100644
index 8da445f83..000000000
--- a/eos/effects/selft2smallhybridraildamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2SmallHybridRailDamageBonus
-#
-# Used by:
-# Skill: Small Railgun Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Railgun Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2smalllaserbeamdamagebonus.py b/eos/effects/selft2smalllaserbeamdamagebonus.py
deleted file mode 100644
index b6cd4b2fd..000000000
--- a/eos/effects/selft2smalllaserbeamdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2SmallLaserBeamDamageBonus
-#
-# Used by:
-# Skill: Small Beam Laser Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Beam Laser Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2smalllaserpulsedamagebonus.py b/eos/effects/selft2smalllaserpulsedamagebonus.py
deleted file mode 100644
index 92a516038..000000000
--- a/eos/effects/selft2smalllaserpulsedamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2SmallLaserPulseDamageBonus
-#
-# Used by:
-# Skill: Small Pulse Laser Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Pulse Laser Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2smallprojectileacdamagebonus.py b/eos/effects/selft2smallprojectileacdamagebonus.py
deleted file mode 100644
index d86b1ed90..000000000
--- a/eos/effects/selft2smallprojectileacdamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2SmallProjectileACDamageBonus
-#
-# Used by:
-# Skill: Small Autocannon Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Autocannon Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/selft2smallprojectileartydamagebonus.py b/eos/effects/selft2smallprojectileartydamagebonus.py
deleted file mode 100644
index 52510d1cb..000000000
--- a/eos/effects/selft2smallprojectileartydamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# selfT2SmallProjectileArtyDamageBonus
-#
-# Used by:
-# Skill: Small Artillery Specialization
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Artillery Specialization"),
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/sensorboosteractivepercentage.py b/eos/effects/sensorboosteractivepercentage.py
deleted file mode 100644
index f79c16a57..000000000
--- a/eos/effects/sensorboosteractivepercentage.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# sensorBoosterActivePercentage
-#
-# Used by:
-# Modules from group: Sensor Booster (16 of 16)
-type = "active"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
- stackingPenalties=True)
- fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionBonus"),
- stackingPenalties=True)
-
- for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
- fit.ship.boostItemAttr(
- "scan{}Strength".format(scanType),
- module.getModifiedItemAttr("scan{}StrengthPercent".format(scanType)),
- stackingPenalties=True
- )
diff --git a/eos/effects/sensorcompensationsensorstrengthbonusgravimetric.py b/eos/effects/sensorcompensationsensorstrengthbonusgravimetric.py
deleted file mode 100644
index 244f84e2a..000000000
--- a/eos/effects/sensorcompensationsensorstrengthbonusgravimetric.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# sensorCompensationSensorStrengthBonusGravimetric
-#
-# Used by:
-# Skill: Gravimetric Sensor Compensation
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.ship.boostItemAttr("scanGravimetricStrength",
- container.getModifiedItemAttr("sensorStrengthBonus") * container.level)
diff --git a/eos/effects/sensorcompensationsensorstrengthbonusladar.py b/eos/effects/sensorcompensationsensorstrengthbonusladar.py
deleted file mode 100644
index b046ce046..000000000
--- a/eos/effects/sensorcompensationsensorstrengthbonusladar.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# sensorCompensationSensorStrengthBonusLadar
-#
-# Used by:
-# Skill: Ladar Sensor Compensation
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.ship.boostItemAttr("scanLadarStrength", container.getModifiedItemAttr("sensorStrengthBonus") * container.level)
diff --git a/eos/effects/sensorcompensationsensorstrengthbonusmagnetometric.py b/eos/effects/sensorcompensationsensorstrengthbonusmagnetometric.py
deleted file mode 100644
index 6306a2df6..000000000
--- a/eos/effects/sensorcompensationsensorstrengthbonusmagnetometric.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# sensorCompensationSensorStrengthBonusMagnetometric
-#
-# Used by:
-# Skill: Magnetometric Sensor Compensation
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.ship.boostItemAttr("scanMagnetometricStrength",
- container.getModifiedItemAttr("sensorStrengthBonus") * container.level)
diff --git a/eos/effects/sensorcompensationsensorstrengthbonusradar.py b/eos/effects/sensorcompensationsensorstrengthbonusradar.py
deleted file mode 100644
index 2df326dca..000000000
--- a/eos/effects/sensorcompensationsensorstrengthbonusradar.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# sensorCompensationSensorStrengthBonusRadar
-#
-# Used by:
-# Skill: Radar Sensor Compensation
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.ship.boostItemAttr("scanRadarStrength", container.getModifiedItemAttr("sensorStrengthBonus") * container.level)
diff --git a/eos/effects/sensorupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringsensorupgrades.py b/eos/effects/sensorupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringsensorupgrades.py
deleted file mode 100644
index f4d9c0886..000000000
--- a/eos/effects/sensorupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringsensorupgrades.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# sensorUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringSensorUpgrades
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' Electronics Upgrades EU (6 of 6)
-# Modules named like: Liquid Cooled Electronics (8 of 8)
-# Skill: Electronics Upgrades
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Electronics Upgrades"),
- "cpu", container.getModifiedItemAttr("cpuNeedBonus") * level)
diff --git a/eos/effects/sentrydronedamagebonus.py b/eos/effects/sentrydronedamagebonus.py
deleted file mode 100644
index cf8ec25b2..000000000
--- a/eos/effects/sentrydronedamagebonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# sentryDroneDamageBonus
-#
-# Used by:
-# Modules named like: Sentry Damage Augmentor (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "damageMultiplier", module.getModifiedItemAttr("damageMultiplierBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/servicemodulefullpowerhitpointpostassign.py b/eos/effects/servicemodulefullpowerhitpointpostassign.py
deleted file mode 100644
index a4f574110..000000000
--- a/eos/effects/servicemodulefullpowerhitpointpostassign.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# serviceModuleFullPowerHitpointPostAssign
-#
-# Used by:
-# Structure Modules from group: Structure Citadel Service Module (2 of 2)
-# Structure Modules from group: Structure Engineering Service Module (6 of 6)
-# Structure Modules from group: Structure Navigation Service Module (3 of 3)
-# Structure Modules from group: Structure Resource Processing Service Module (4 of 4)
-# Structure Module: Standup Moon Drill I
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, src, context):
- fit.ship.forceItemAttr("structureFullPowerStateHitpointMultiplier", src.getModifiedItemAttr("serviceModuleFullPowerStateHitpointMultiplier"))
diff --git a/eos/effects/setbonusasklepian.py b/eos/effects/setbonusasklepian.py
deleted file mode 100644
index 853626c7d..000000000
--- a/eos/effects/setbonusasklepian.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusAsklepian
-#
-# Used by:
-# Implants named like: grade Asklepian (18 of 18)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Cybernetics"),
- "armorRepairBonus", src.getModifiedItemAttr("implantSetSerpentis2"))
diff --git a/eos/effects/setbonusbloodraider.py b/eos/effects/setbonusbloodraider.py
deleted file mode 100644
index 2b318f6f9..000000000
--- a/eos/effects/setbonusbloodraider.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusBloodraider
-#
-# Used by:
-# Implants named like: grade Talisman (18 of 18)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
- "durationBonus", implant.getModifiedItemAttr("implantSetBloodraider"))
diff --git a/eos/effects/setbonusbloodraidernosferatu.py b/eos/effects/setbonusbloodraidernosferatu.py
deleted file mode 100644
index 81d37c598..000000000
--- a/eos/effects/setbonusbloodraidernosferatu.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# setBonusBloodraiderNosferatu
-#
-# Used by:
-# Implants named like: grade Talisman (15 of 18)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capacitor Emission Systems"),
- "duration", implant.getModifiedItemAttr("durationBonus"))
diff --git a/eos/effects/setbonuschristmasagilitybonus.py b/eos/effects/setbonuschristmasagilitybonus.py
deleted file mode 100644
index d8f472b50..000000000
--- a/eos/effects/setbonuschristmasagilitybonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusChristmasAgilityBonus
-#
-# Used by:
-# Implants named like: Genolution Core Augmentation CA (4 of 4)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Special Edition Implant",
- "agilityBonus", implant.getModifiedItemAttr("implantSetChristmas"))
diff --git a/eos/effects/setbonuschristmasarmorhpbonus2.py b/eos/effects/setbonuschristmasarmorhpbonus2.py
deleted file mode 100644
index b9eb11557..000000000
--- a/eos/effects/setbonuschristmasarmorhpbonus2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusChristmasArmorHPBonus2
-#
-# Used by:
-# Implants named like: Genolution Core Augmentation CA (4 of 4)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Special Edition Implant",
- "armorHpBonus2", implant.getModifiedItemAttr("implantSetChristmas"))
diff --git a/eos/effects/setbonuschristmasbonusvelocity.py b/eos/effects/setbonuschristmasbonusvelocity.py
deleted file mode 100644
index eb2ae35bc..000000000
--- a/eos/effects/setbonuschristmasbonusvelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusChristmasBonusVelocity
-#
-# Used by:
-# Implants named like: Genolution Core Augmentation CA (4 of 4)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Special Edition Implant",
- "implantBonusVelocity", implant.getModifiedItemAttr("implantSetChristmas"))
diff --git a/eos/effects/setbonuschristmascapacitorcapacity.py b/eos/effects/setbonuschristmascapacitorcapacity.py
deleted file mode 100644
index cb2a90ce1..000000000
--- a/eos/effects/setbonuschristmascapacitorcapacity.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# setBonusChristmasCapacitorCapacity
-#
-# Used by:
-# Implants named like: Genolution Core Augmentation CA (4 of 4)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Special Edition Implant",
- "capacitorCapacityBonus",
- implant.getModifiedItemAttr("implantSetChristmas"))
diff --git a/eos/effects/setbonuschristmascapacitorrecharge2.py b/eos/effects/setbonuschristmascapacitorrecharge2.py
deleted file mode 100644
index 39e0d41b4..000000000
--- a/eos/effects/setbonuschristmascapacitorrecharge2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusChristmasCapacitorRecharge2
-#
-# Used by:
-# Implants named like: Genolution Core Augmentation CA (4 of 4)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Special Edition Implant",
- "capRechargeBonus", implant.getModifiedItemAttr("implantSetChristmas"))
diff --git a/eos/effects/setbonuschristmascpuoutput.py b/eos/effects/setbonuschristmascpuoutput.py
deleted file mode 100644
index 2c7d06990..000000000
--- a/eos/effects/setbonuschristmascpuoutput.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusChristmasCPUOutput
-#
-# Used by:
-# Implants named like: Genolution Core Augmentation CA (4 of 4)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Special Edition Implant",
- "cpuOutputBonus2", implant.getModifiedItemAttr("implantSetChristmas"))
diff --git a/eos/effects/setbonuschristmaspowergrid.py b/eos/effects/setbonuschristmaspowergrid.py
deleted file mode 100644
index 183356391..000000000
--- a/eos/effects/setbonuschristmaspowergrid.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# setBonusChristmasPowergrid
-#
-# Used by:
-# Implants named like: Genolution Core Augmentation CA (4 of 4)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Special Edition Implant",
- "powerEngineeringOutputBonus",
- implant.getModifiedItemAttr("implantSetChristmas"))
diff --git a/eos/effects/setbonuschristmasshieldcapacitybonus.py b/eos/effects/setbonuschristmasshieldcapacitybonus.py
deleted file mode 100644
index e9212fe68..000000000
--- a/eos/effects/setbonuschristmasshieldcapacitybonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusChristmasShieldCapacityBonus
-#
-# Used by:
-# Implants named like: Genolution Core Augmentation CA (4 of 4)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Special Edition Implant",
- "shieldCapacityBonus", implant.getModifiedItemAttr("implantSetChristmas"))
diff --git a/eos/effects/setbonusguristas.py b/eos/effects/setbonusguristas.py
deleted file mode 100644
index 18a708dc1..000000000
--- a/eos/effects/setbonusguristas.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusGuristas
-#
-# Used by:
-# Implants named like: grade Crystal (18 of 18)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
- "shieldBoostMultiplier", implant.getModifiedItemAttr("implantSetGuristas"))
diff --git a/eos/effects/setbonusmordus.py b/eos/effects/setbonusmordus.py
deleted file mode 100644
index 6db3789dd..000000000
--- a/eos/effects/setbonusmordus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusMordus
-#
-# Used by:
-# Implants named like: grade Centurion (12 of 12)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
- "rangeSkillBonus", implant.getModifiedItemAttr("implantSetMordus"))
diff --git a/eos/effects/setbonusore.py b/eos/effects/setbonusore.py
deleted file mode 100644
index 0d5a83233..000000000
--- a/eos/effects/setbonusore.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusOre
-#
-# Used by:
-# Implants named like: grade Harvest (12 of 12)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
- "maxRangeBonus", implant.getModifiedItemAttr("implantSetORE"))
diff --git a/eos/effects/setbonussansha.py b/eos/effects/setbonussansha.py
deleted file mode 100644
index 48c915f1d..000000000
--- a/eos/effects/setbonussansha.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# setBonusSansha
-#
-# Used by:
-# Implants named like: grade Slave (18 of 18)
-# Implant: High-grade Halo Omega
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
- "armorHpBonus", implant.getModifiedItemAttr("implantSetSansha") or 1)
diff --git a/eos/effects/setbonusserpentis.py b/eos/effects/setbonusserpentis.py
deleted file mode 100644
index 96f1048f5..000000000
--- a/eos/effects/setbonusserpentis.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusSerpentis
-#
-# Used by:
-# Implants named like: grade Snake (18 of 18)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
- "velocityBonus", implant.getModifiedItemAttr("implantSetSerpentis"))
diff --git a/eos/effects/setbonussisters.py b/eos/effects/setbonussisters.py
deleted file mode 100644
index a63079741..000000000
--- a/eos/effects/setbonussisters.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusSisters
-#
-# Used by:
-# Implants named like: grade Virtue (12 of 12)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
- "scanStrengthBonus", implant.getModifiedItemAttr("implantSetSisters"))
diff --git a/eos/effects/setbonussyndicate.py b/eos/effects/setbonussyndicate.py
deleted file mode 100644
index ffb9c754f..000000000
--- a/eos/effects/setbonussyndicate.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# setBonusSyndicate
-#
-# Used by:
-# Implants named like: grade Edge (12 of 12)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
- "boosterAttributeModifier",
- implant.getModifiedItemAttr("implantSetSyndicate"))
diff --git a/eos/effects/setbonusthukker.py b/eos/effects/setbonusthukker.py
deleted file mode 100644
index 78313ac62..000000000
--- a/eos/effects/setbonusthukker.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# setBonusThukker
-#
-# Used by:
-# Implants named like: grade Nomad (12 of 12)
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.appliedImplants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
- "agilityBonus", implant.getModifiedItemAttr("implantSetThukker"))
diff --git a/eos/effects/sharpshooterrangeskillbonuspostpercentmaxrangelocationshipmodulesrequiringgunnery.py b/eos/effects/sharpshooterrangeskillbonuspostpercentmaxrangelocationshipmodulesrequiringgunnery.py
deleted file mode 100644
index 7b53ea966..000000000
--- a/eos/effects/sharpshooterrangeskillbonuspostpercentmaxrangelocationshipmodulesrequiringgunnery.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# sharpshooterRangeSkillBonusPostPercentMaxRangeLocationShipModulesRequiringGunnery
-#
-# Used by:
-# Implants named like: Frentix Booster (4 of 4)
-# Implants named like: Zainou 'Deadeye' Sharpshooter ST (6 of 6)
-# Skill: Sharpshooter
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "maxRange", container.getModifiedItemAttr("rangeSkillBonus") * level)
diff --git a/eos/effects/shieldboostamplifier.py b/eos/effects/shieldboostamplifier.py
deleted file mode 100644
index 6b37ba157..000000000
--- a/eos/effects/shieldboostamplifier.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shieldBoostAmplifier
-#
-# Used by:
-# Modules from group: Capacitor Power Relay (20 of 20)
-# Modules from group: Shield Boost Amplifier (25 of 25)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Operation") or mod.item.requiresSkill("Capital Shield Operation"),
- "shieldBonus", module.getModifiedItemAttr("shieldBoostMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/shieldboostamplifierpassive.py b/eos/effects/shieldboostamplifierpassive.py
deleted file mode 100644
index 182c04acf..000000000
--- a/eos/effects/shieldboostamplifierpassive.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shieldBoostAmplifierPassive
-#
-# Used by:
-# Implants named like: grade Crystal (15 of 18)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", container.getModifiedItemAttr("shieldBoostMultiplier"))
diff --git a/eos/effects/shieldboostamplifierpassivebooster.py b/eos/effects/shieldboostamplifierpassivebooster.py
deleted file mode 100644
index 30432474d..000000000
--- a/eos/effects/shieldboostamplifierpassivebooster.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shieldBoostAmplifierPassiveBooster
-#
-# Used by:
-# Implants named like: Agency 'Hardshell' TB Dose (4 of 4)
-# Implants named like: Blue Pill Booster (5 of 5)
-# Implant: Antipharmakon Thureo
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Operation") or mod.item.requiresSkill("Capital Shield Operation"),
- "shieldBonus", container.getModifiedItemAttr("shieldBoostMultiplier"))
diff --git a/eos/effects/shieldboosterdurationbonusshieldskills.py b/eos/effects/shieldboosterdurationbonusshieldskills.py
deleted file mode 100644
index 4840594c1..000000000
--- a/eos/effects/shieldboosterdurationbonusshieldskills.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shieldBoosterDurationBonusShieldSkills
-#
-# Used by:
-# Modules named like: Core Defense Operational Solidifier (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Operation") or mod.item.requiresSkill("Capital Shield Operation"),
- "duration", module.getModifiedItemAttr("durationSkillBonus"))
diff --git a/eos/effects/shieldboosting.py b/eos/effects/shieldboosting.py
deleted file mode 100644
index 808e2f1b0..000000000
--- a/eos/effects/shieldboosting.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shieldBoosting
-#
-# Used by:
-# Modules from group: Shield Booster (97 of 97)
-runTime = "late"
-type = "active"
-
-
-def handler(fit, module, context):
- amount = module.getModifiedItemAttr("shieldBonus")
- speed = module.getModifiedItemAttr("duration") / 1000.0
- fit.extraAttributes.increase("shieldRepair", amount / speed)
diff --git a/eos/effects/shieldcapacityaddpassive.py b/eos/effects/shieldcapacityaddpassive.py
deleted file mode 100644
index d5c520560..000000000
--- a/eos/effects/shieldcapacityaddpassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shieldCapacityAddPassive
-#
-# Used by:
-# Subsystems from group: Defensive Systems (8 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("shieldCapacity", module.getModifiedItemAttr("shieldCapacity"))
diff --git a/eos/effects/shieldcapacitybonusonline.py b/eos/effects/shieldcapacitybonusonline.py
deleted file mode 100644
index cba8f70bb..000000000
--- a/eos/effects/shieldcapacitybonusonline.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shieldCapacityBonusOnline
-#
-# Used by:
-# Modules from group: Shield Extender (36 of 36)
-# Modules from group: Shield Resistance Amplifier (88 of 88)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("shieldCapacity", module.getModifiedItemAttr("capacityBonus"))
diff --git a/eos/effects/shieldcapacitymultiply.py b/eos/effects/shieldcapacitymultiply.py
deleted file mode 100644
index 3c9aeea6d..000000000
--- a/eos/effects/shieldcapacitymultiply.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shieldCapacityMultiply
-#
-# Used by:
-# Modules from group: Capacitor Power Relay (20 of 20)
-# Modules from group: Power Diagnostic System (23 of 23)
-# Modules from group: Reactor Control Unit (22 of 22)
-# Modules named like: Flux Coil (12 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- # We default this to None as there are times when the source attribute doesn't exist (for example, Cap Power Relay).
- # It will return 0 as it doesn't exist, which would nullify whatever the target attribute is
- fit.ship.multiplyItemAttr("shieldCapacity", module.getModifiedItemAttr("shieldCapacityMultiplier", None))
diff --git a/eos/effects/shieldcommandburstbonusics3.py b/eos/effects/shieldcommandburstbonusics3.py
deleted file mode 100644
index 1a61286b7..000000000
--- a/eos/effects/shieldcommandburstbonusics3.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# shieldCommandBurstBonusICS3
-#
-# Used by:
-# Ship: Orca
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("shipBonusICS3"), skill="Industrial Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("shipBonusICS3"), skill="Industrial Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("shipBonusICS3"), skill="Industrial Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("shipBonusICS3"), skill="Industrial Command Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "buffDuration",
- src.getModifiedItemAttr("shipBonusICS3"), skill="Industrial Command Ships")
diff --git a/eos/effects/shieldcommandburstbonusorecapital3.py b/eos/effects/shieldcommandburstbonusorecapital3.py
deleted file mode 100644
index 8ad4a3462..000000000
--- a/eos/effects/shieldcommandburstbonusorecapital3.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# shieldCommandBurstBonusORECapital3
-#
-# Used by:
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff4Value",
- src.getModifiedItemAttr("shipBonusORECapital3"), skill="Capital Industrial Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "buffDuration",
- src.getModifiedItemAttr("shipBonusORECapital3"), skill="Capital Industrial Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff1Value",
- src.getModifiedItemAttr("shipBonusORECapital3"), skill="Capital Industrial Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff3Value",
- src.getModifiedItemAttr("shipBonusORECapital3"), skill="Capital Industrial Ships")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff2Value",
- src.getModifiedItemAttr("shipBonusORECapital3"), skill="Capital Industrial Ships")
diff --git a/eos/effects/shieldcommanddurationbonus.py b/eos/effects/shieldcommanddurationbonus.py
deleted file mode 100644
index a7425a974..000000000
--- a/eos/effects/shieldcommanddurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shieldCommandDurationBonus
-#
-# Used by:
-# Skill: Shield Command
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "buffDuration",
- src.getModifiedItemAttr("durationBonus") * lvl)
diff --git a/eos/effects/shieldcommandmindlink.py b/eos/effects/shieldcommandmindlink.py
deleted file mode 100644
index fac7a7720..000000000
--- a/eos/effects/shieldcommandmindlink.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# shieldCommandMindlink
-#
-# Used by:
-# Implants from group: Cyber Leadership (4 of 10)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "buffDuration",
- src.getModifiedItemAttr("mindlinkBonus"))
diff --git a/eos/effects/shieldcommandstrengthbonus.py b/eos/effects/shieldcommandstrengthbonus.py
deleted file mode 100644
index b95fe66df..000000000
--- a/eos/effects/shieldcommandstrengthbonus.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shieldCommandStrengthBonus
-#
-# Used by:
-# Skill: Shield Command Specialist
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
diff --git a/eos/effects/shieldemmisionsystemscapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringshieldemmisionsystems.py b/eos/effects/shieldemmisionsystemscapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringshieldemmisionsystems.py
deleted file mode 100644
index 6161d3fe0..000000000
--- a/eos/effects/shieldemmisionsystemscapneedbonuspostpercentcapacitorneedlocationshipmodulesrequiringshieldemmisionsystems.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shieldEmmisionSystemsCapNeedBonusPostPercentCapacitorNeedLocationShipModulesRequiringShieldEmmisionSystems
-#
-# Used by:
-# Implants named like: Zainou 'Gnome' Shield Emission Systems SE (6 of 6)
-# Skill: Shield Emission Systems
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
diff --git a/eos/effects/shieldmanagementshieldcapacitybonuspostpercentcapacitylocationshipgroupshield.py b/eos/effects/shieldmanagementshieldcapacitybonuspostpercentcapacitylocationshipgroupshield.py
deleted file mode 100644
index d9209c608..000000000
--- a/eos/effects/shieldmanagementshieldcapacitybonuspostpercentcapacitylocationshipgroupshield.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shieldManagementShieldCapacityBonusPostPercentCapacityLocationShipGroupShield
-#
-# Used by:
-# Implants named like: Zainou 'Gnome' Shield Management SM (6 of 6)
-# Modules named like: Core Defense Field Extender (8 of 8)
-# Implant: Genolution Core Augmentation CA-3
-# Implant: Sansha Modified 'Gnome' Implant
-# Skill: Shield Management
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("shieldCapacity", container.getModifiedItemAttr("shieldCapacityBonus") * level)
diff --git a/eos/effects/shieldoperationrechargeratebonuspostpercentonline.py b/eos/effects/shieldoperationrechargeratebonuspostpercentonline.py
deleted file mode 100644
index 266c3776d..000000000
--- a/eos/effects/shieldoperationrechargeratebonuspostpercentonline.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shieldOperationRechargeratebonusPostPercentOnline
-#
-# Used by:
-# Modules from group: Shield Power Relay (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("shieldRechargeRate", module.getModifiedItemAttr("rechargeratebonus") or 0)
diff --git a/eos/effects/shieldoperationrechargeratebonuspostpercentrechargeratelocationshipgroupshield.py b/eos/effects/shieldoperationrechargeratebonuspostpercentrechargeratelocationshipgroupshield.py
deleted file mode 100644
index 919fc8b79..000000000
--- a/eos/effects/shieldoperationrechargeratebonuspostpercentrechargeratelocationshipgroupshield.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shieldOperationRechargeratebonusPostPercentRechargeRateLocationShipGroupShield
-#
-# Used by:
-# Implants named like: Zainou 'Gnome' Shield Operation SP (6 of 6)
-# Modules named like: Core Defense Field Purger (8 of 8)
-# Implant: Sansha Modified 'Gnome' Implant
-# Skill: Shield Operation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("shieldRechargeRate", container.getModifiedItemAttr("rechargeratebonus") * level)
diff --git a/eos/effects/shieldoperationskillboostcapacitorneedbonus.py b/eos/effects/shieldoperationskillboostcapacitorneedbonus.py
deleted file mode 100644
index da4472bd4..000000000
--- a/eos/effects/shieldoperationskillboostcapacitorneedbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shieldOperationSkillBoostCapacitorNeedBonus
-#
-# Used by:
-# Modules named like: Core Defense Capacitor Safeguard (8 of 8)
-# Skill: Shield Compensation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "capacitorNeed", container.getModifiedItemAttr("shieldBoostCapacitorBonus") * level)
diff --git a/eos/effects/shieldtransportcpuneedbonuseffect.py b/eos/effects/shieldtransportcpuneedbonuseffect.py
deleted file mode 100644
index 427290a3f..000000000
--- a/eos/effects/shieldtransportcpuneedbonuseffect.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shieldTransportCpuNeedBonusEffect
-#
-# Used by:
-# Ships from group: Logistics (3 of 7)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "cpu",
- src.getModifiedItemAttr("shieldTransportCpuNeedBonus"))
diff --git a/eos/effects/shieldtransporterfalloffbonus.py b/eos/effects/shieldtransporterfalloffbonus.py
deleted file mode 100644
index 94e282490..000000000
--- a/eos/effects/shieldtransporterfalloffbonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shieldTransporterFalloffBonus
-#
-# Used by:
-# Variations of ship: Bantam (2 of 2)
-# Variations of ship: Burst (2 of 2)
-# Ship: Osprey
-# Ship: Scythe
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Shield Booster", "falloffEffectiveness",
- src.getModifiedItemAttr("falloffBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Ancillary Remote Shield Booster",
- "falloffEffectiveness", src.getModifiedItemAttr("falloffBonus"))
diff --git a/eos/effects/shieldtransportermaxrangebonus.py b/eos/effects/shieldtransportermaxrangebonus.py
deleted file mode 100644
index 8c4ce976e..000000000
--- a/eos/effects/shieldtransportermaxrangebonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shieldTransporterMaxRangeBonus
-#
-# Used by:
-# Ships from group: Industrial Command Ship (2 of 2)
-# Ship: Osprey
-# Ship: Rorqual
-# Ship: Scythe
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Shield Booster", "maxRange",
- ship.getModifiedItemAttr("maxRangeBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Ancillary Remote Shield Booster", "maxRange",
- ship.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/shieldupgradespowerneedbonuspostpercentpowerlocationshipmodulesrequiringshieldupgrades.py b/eos/effects/shieldupgradespowerneedbonuspostpercentpowerlocationshipmodulesrequiringshieldupgrades.py
deleted file mode 100644
index 2d59d3d3a..000000000
--- a/eos/effects/shieldupgradespowerneedbonuspostpercentpowerlocationshipmodulesrequiringshieldupgrades.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shieldUpgradesPowerNeedBonusPostPercentPowerLocationShipModulesRequiringShieldUpgrades
-#
-# Used by:
-# Implants named like: Zainou 'Gnome' Shield Upgrades SU (6 of 6)
-# Modules named like: Core Defense Charge Economizer (8 of 8)
-# Skill: Shield Upgrades
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Upgrades"),
- "power", container.getModifiedItemAttr("powerNeedBonus") * level)
diff --git a/eos/effects/shipadvancedspaceshipcommandagilitybonus.py b/eos/effects/shipadvancedspaceshipcommandagilitybonus.py
deleted file mode 100644
index 34b19d1ac..000000000
--- a/eos/effects/shipadvancedspaceshipcommandagilitybonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipAdvancedSpaceshipCommandAgilityBonus
-#
-# Used by:
-# Items from market group: Ships > Capital Ships (40 of 40)
-type = "passive"
-
-
-def handler(fit, ship, context):
- skillName = "Advanced Spaceship Command"
- skill = fit.character.getSkill(skillName)
- fit.ship.boostItemAttr("agility", skill.getModifiedItemAttr("agilityBonus"), skill=skillName)
diff --git a/eos/effects/shipagilitybonusgc1.py b/eos/effects/shipagilitybonusgc1.py
deleted file mode 100644
index 6c08d527f..000000000
--- a/eos/effects/shipagilitybonusgc1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipAgilityBonusGC1
-#
-# Used by:
-# Ship: Monitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("agility", src.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shiparmoremandexpandkinandthmresistanceac2.py b/eos/effects/shiparmoremandexpandkinandthmresistanceac2.py
deleted file mode 100644
index d19155457..000000000
--- a/eos/effects/shiparmoremandexpandkinandthmresistanceac2.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipArmorEMAndExpAndkinAndThmResistanceAC2
-#
-# Used by:
-# Ships named like: Stratios (2 of 2)
-# Ship: Sacrilege
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, ship, context):
- damageTypes = ("Em", "Explosive", "Kinetic", "Thermal")
- for damageType in damageTypes:
- fit.ship.boostItemAttr("armor{0}DamageResonance".format(damageType), ship.getModifiedItemAttr("shipBonusAC2"),
- skill="Amarr Cruiser")
diff --git a/eos/effects/shiparmoremresistance1abc1.py b/eos/effects/shiparmoremresistance1abc1.py
deleted file mode 100644
index 98ccf2fc8..000000000
--- a/eos/effects/shiparmoremresistance1abc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipArmorEMResistance1ABC1
-#
-# Used by:
-# Variations of ship: Prophecy (2 of 2)
-# Ship: Absolution
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("shipBonusABC1"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shiparmoremresistanceac2.py b/eos/effects/shiparmoremresistanceac2.py
deleted file mode 100644
index 3b38e626e..000000000
--- a/eos/effects/shiparmoremresistanceac2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipArmorEmResistanceAC2
-#
-# Used by:
-# Ship: Maller
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shiparmoremresistanceaf1.py b/eos/effects/shiparmoremresistanceaf1.py
deleted file mode 100644
index ba757a558..000000000
--- a/eos/effects/shiparmoremresistanceaf1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipArmorEMResistanceAF1
-#
-# Used by:
-# Ship: Astero
-# Ship: Malice
-# Ship: Punisher
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shiparmoremresistancemc2.py b/eos/effects/shiparmoremresistancemc2.py
deleted file mode 100644
index 777c51ec0..000000000
--- a/eos/effects/shiparmoremresistancemc2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipArmorEmResistanceMC2
-#
-# Used by:
-# Ship: Mimir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shiparmoremresistancepbc2.py b/eos/effects/shiparmoremresistancepbc2.py
deleted file mode 100644
index 8fcf35f0e..000000000
--- a/eos/effects/shiparmoremresistancepbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorEMResistancePBC2
-#
-# Used by:
-# Ship: Drekavac
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("shipBonusPBC2"),
- skill="Precursor Battlecruiser")
diff --git a/eos/effects/shiparmoremresistancerookie.py b/eos/effects/shiparmoremresistancerookie.py
deleted file mode 100644
index 41cb429c6..000000000
--- a/eos/effects/shiparmoremresistancerookie.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipArmorEMResistanceRookie
-#
-# Used by:
-# Ship: Devoter
-# Ship: Gold Magnate
-# Ship: Impairor
-# Ship: Phobos
-# Ship: Silver Magnate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("rookieArmorResistanceBonus"))
diff --git a/eos/effects/shiparmorexplosiveresistance1abc1.py b/eos/effects/shiparmorexplosiveresistance1abc1.py
deleted file mode 100644
index f1a9d3a72..000000000
--- a/eos/effects/shiparmorexplosiveresistance1abc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipArmorExplosiveResistance1ABC1
-#
-# Used by:
-# Variations of ship: Prophecy (2 of 2)
-# Ship: Absolution
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonusABC1"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shiparmorexplosiveresistanceac2.py b/eos/effects/shiparmorexplosiveresistanceac2.py
deleted file mode 100644
index 76c98a057..000000000
--- a/eos/effects/shiparmorexplosiveresistanceac2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorExplosiveResistanceAC2
-#
-# Used by:
-# Ship: Maller
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonusAC2"),
- skill="Amarr Cruiser")
diff --git a/eos/effects/shiparmorexplosiveresistancemc2.py b/eos/effects/shiparmorexplosiveresistancemc2.py
deleted file mode 100644
index f6ef4cfab..000000000
--- a/eos/effects/shiparmorexplosiveresistancemc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorExplosiveResistanceMC2
-#
-# Used by:
-# Ship: Mimir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonusMC2"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/shiparmorexplosiveresistancepbc2.py b/eos/effects/shiparmorexplosiveresistancepbc2.py
deleted file mode 100644
index 588feda67..000000000
--- a/eos/effects/shiparmorexplosiveresistancepbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorExplosiveResistancePBC2
-#
-# Used by:
-# Ship: Drekavac
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonusPBC2"),
- skill="Precursor Battlecruiser")
diff --git a/eos/effects/shiparmorexresistanceaf1.py b/eos/effects/shiparmorexresistanceaf1.py
deleted file mode 100644
index 448ed9fd3..000000000
--- a/eos/effects/shiparmorexresistanceaf1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipArmorEXResistanceAF1
-#
-# Used by:
-# Ship: Astero
-# Ship: Malice
-# Ship: Punisher
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonusAF"),
- skill="Amarr Frigate")
diff --git a/eos/effects/shiparmorexresistancerookie.py b/eos/effects/shiparmorexresistancerookie.py
deleted file mode 100644
index a3ffd9333..000000000
--- a/eos/effects/shiparmorexresistancerookie.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipArmorEXResistanceRookie
-#
-# Used by:
-# Ship: Devoter
-# Ship: Gold Magnate
-# Ship: Impairor
-# Ship: Phobos
-# Ship: Silver Magnate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("rookieArmorResistanceBonus"))
diff --git a/eos/effects/shiparmorhitpointsac1.py b/eos/effects/shiparmorhitpointsac1.py
deleted file mode 100644
index 853eed5d1..000000000
--- a/eos/effects/shiparmorhitpointsac1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipArmorHitPointsAC1
-#
-# Used by:
-# Ship: Monitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorHP", src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shiparmorhpac2.py b/eos/effects/shiparmorhpac2.py
deleted file mode 100644
index a801712c2..000000000
--- a/eos/effects/shiparmorhpac2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipArmorHpAC2
-#
-# Used by:
-# Ship: Augoror Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorHP", ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shiparmorkineticresistance1abc1.py b/eos/effects/shiparmorkineticresistance1abc1.py
deleted file mode 100644
index 191e50025..000000000
--- a/eos/effects/shiparmorkineticresistance1abc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipArmorKineticResistance1ABC1
-#
-# Used by:
-# Variations of ship: Prophecy (2 of 2)
-# Ship: Absolution
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("shipBonusABC1"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shiparmorkineticresistanceac2.py b/eos/effects/shiparmorkineticresistanceac2.py
deleted file mode 100644
index 5c96ab767..000000000
--- a/eos/effects/shiparmorkineticresistanceac2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorKineticResistanceAC2
-#
-# Used by:
-# Ship: Maller
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("shipBonusAC2"),
- skill="Amarr Cruiser")
diff --git a/eos/effects/shiparmorkineticresistancemc2.py b/eos/effects/shiparmorkineticresistancemc2.py
deleted file mode 100644
index fe1303bd5..000000000
--- a/eos/effects/shiparmorkineticresistancemc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorKineticResistanceMC2
-#
-# Used by:
-# Ship: Mimir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("shipBonusMC2"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/shiparmorkineticresistancepbc2.py b/eos/effects/shiparmorkineticresistancepbc2.py
deleted file mode 100644
index 0248e9374..000000000
--- a/eos/effects/shiparmorkineticresistancepbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorKineticResistancePBC2
-#
-# Used by:
-# Ship: Drekavac
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("shipBonusPBC2"),
- skill="Precursor Battlecruiser")
diff --git a/eos/effects/shiparmorknresistanceaf1.py b/eos/effects/shiparmorknresistanceaf1.py
deleted file mode 100644
index d5d9ea4ac..000000000
--- a/eos/effects/shiparmorknresistanceaf1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipArmorKNResistanceAF1
-#
-# Used by:
-# Ship: Astero
-# Ship: Malice
-# Ship: Punisher
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("shipBonusAF"),
- skill="Amarr Frigate")
diff --git a/eos/effects/shiparmorknresistancerookie.py b/eos/effects/shiparmorknresistancerookie.py
deleted file mode 100644
index 9932056eb..000000000
--- a/eos/effects/shiparmorknresistancerookie.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipArmorKNResistanceRookie
-#
-# Used by:
-# Ship: Devoter
-# Ship: Gold Magnate
-# Ship: Impairor
-# Ship: Phobos
-# Ship: Silver Magnate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("rookieArmorResistanceBonus"))
diff --git a/eos/effects/shiparmorrepairing1gbc2.py b/eos/effects/shiparmorrepairing1gbc2.py
deleted file mode 100644
index 1c4ca9d09..000000000
--- a/eos/effects/shiparmorrepairing1gbc2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipArmorRepairing1GBC2
-#
-# Used by:
-# Variations of ship: Myrmidon (2 of 2)
-# Ship: Astarte
-# Ship: Brutix
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("shipBonusGBC2"),
- skill="Gallente Battlecruiser")
diff --git a/eos/effects/shiparmorrepairinggf2.py b/eos/effects/shiparmorrepairinggf2.py
deleted file mode 100644
index e4da7c41d..000000000
--- a/eos/effects/shiparmorrepairinggf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipArmorRepairingGF2
-#
-# Used by:
-# Ship: Incursus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("shipBonusGF2"),
- skill="Gallente Frigate")
diff --git a/eos/effects/shiparmorrepairingrookie.py b/eos/effects/shiparmorrepairingrookie.py
deleted file mode 100644
index 91a18b03d..000000000
--- a/eos/effects/shiparmorrepairingrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorRepairingRookie
-#
-# Used by:
-# Ship: Velator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("rookieArmorRepBonus"))
diff --git a/eos/effects/shiparmorresistanceaf1.py b/eos/effects/shiparmorresistanceaf1.py
deleted file mode 100644
index 651595294..000000000
--- a/eos/effects/shiparmorresistanceaf1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipArmorResistanceAF1
-#
-# Used by:
-# Ship: Malediction
-type = "passive"
-
-
-def handler(fit, ship, context):
- damageTypes = ("Em", "Explosive", "Kinetic", "Thermal")
- for damageType in damageTypes:
- fit.ship.boostItemAttr("armor{0}DamageResonance".format(damageType), ship.getModifiedItemAttr("shipBonusAF"),
- skill="Amarr Frigate")
diff --git a/eos/effects/shiparmorthermalresistanceac2.py b/eos/effects/shiparmorthermalresistanceac2.py
deleted file mode 100644
index 3e3dab2cf..000000000
--- a/eos/effects/shiparmorthermalresistanceac2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorThermalResistanceAC2
-#
-# Used by:
-# Ship: Maller
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("shipBonusAC2"),
- skill="Amarr Cruiser")
diff --git a/eos/effects/shiparmorthermalresistancemc2.py b/eos/effects/shiparmorthermalresistancemc2.py
deleted file mode 100644
index 85ca998f0..000000000
--- a/eos/effects/shiparmorthermalresistancemc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorThermalResistanceMC2
-#
-# Used by:
-# Ship: Mimir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("shipBonusMC2"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/shiparmorthermalresistancepbc2.py b/eos/effects/shiparmorthermalresistancepbc2.py
deleted file mode 100644
index 99149f084..000000000
--- a/eos/effects/shiparmorthermalresistancepbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipArmorThermalResistancePBC2
-#
-# Used by:
-# Ship: Drekavac
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("shipBonusPBC2"),
- skill="Precursor Battlecruiser")
diff --git a/eos/effects/shiparmorthermresistance1abc1.py b/eos/effects/shiparmorthermresistance1abc1.py
deleted file mode 100644
index b03dffabe..000000000
--- a/eos/effects/shiparmorthermresistance1abc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipArmorThermResistance1ABC1
-#
-# Used by:
-# Variations of ship: Prophecy (2 of 2)
-# Ship: Absolution
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("shipBonusABC1"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shiparmorthresistanceaf1.py b/eos/effects/shiparmorthresistanceaf1.py
deleted file mode 100644
index 3e01abbc3..000000000
--- a/eos/effects/shiparmorthresistanceaf1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipArmorTHResistanceAF1
-#
-# Used by:
-# Ship: Astero
-# Ship: Malice
-# Ship: Punisher
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("shipBonusAF"),
- skill="Amarr Frigate")
diff --git a/eos/effects/shiparmorthresistancerookie.py b/eos/effects/shiparmorthresistancerookie.py
deleted file mode 100644
index 3c4a8f289..000000000
--- a/eos/effects/shiparmorthresistancerookie.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipArmorTHResistanceRookie
-#
-# Used by:
-# Ship: Devoter
-# Ship: Gold Magnate
-# Ship: Impairor
-# Ship: Phobos
-# Ship: Silver Magnate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("rookieArmorResistanceBonus"))
diff --git a/eos/effects/shipbonusaf1torpedoexplosionvelocity.py b/eos/effects/shipbonusaf1torpedoexplosionvelocity.py
deleted file mode 100644
index d3be58566..000000000
--- a/eos/effects/shipbonusaf1torpedoexplosionvelocity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusAF1TorpedoExplosionVelocity
-#
-# Used by:
-# Ship: Purifier
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "aoeVelocity", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusaf1torpedoflighttime.py b/eos/effects/shipbonusaf1torpedoflighttime.py
deleted file mode 100644
index 09b679710..000000000
--- a/eos/effects/shipbonusaf1torpedoflighttime.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusAF1TorpedoFlightTime
-#
-# Used by:
-# Ship: Purifier
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "explosionDelay", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusafterburnercapneedatf.py b/eos/effects/shipbonusafterburnercapneedatf.py
deleted file mode 100644
index 2b3561611..000000000
--- a/eos/effects/shipbonusafterburnercapneedatf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusAfterburnerCapNeedATF
-#
-# Used by:
-# Ship: Freki
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusATF1"))
diff --git a/eos/effects/shipbonusafterburnerspeedfactor2cb.py b/eos/effects/shipbonusafterburnerspeedfactor2cb.py
deleted file mode 100644
index f4a0fe196..000000000
--- a/eos/effects/shipbonusafterburnerspeedfactor2cb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusAfterburnerSpeedFactor2CB
-#
-# Used by:
-# Ship: Nightmare
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "speedFactor", module.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipbonusafterburnerspeedfactorcc2.py b/eos/effects/shipbonusafterburnerspeedfactorcc2.py
deleted file mode 100644
index 6a4dbfe2f..000000000
--- a/eos/effects/shipbonusafterburnerspeedfactorcc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusAfterburnerSpeedFactorCC2
-#
-# Used by:
-# Ship: Fiend
-# Ship: Phantasm
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "speedFactor", module.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipbonusafterburnerspeedfactorcf2.py b/eos/effects/shipbonusafterburnerspeedfactorcf2.py
deleted file mode 100644
index b8c52da97..000000000
--- a/eos/effects/shipbonusafterburnerspeedfactorcf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusAfterburnerSpeedFactorCF2
-#
-# Used by:
-# Ship: Imp
-# Ship: Succubus
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "speedFactor", module.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonusagilityai2.py b/eos/effects/shipbonusagilityai2.py
deleted file mode 100644
index 16c2537ad..000000000
--- a/eos/effects/shipbonusagilityai2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusAgilityAI2
-#
-# Used by:
-# Ship: Sigil
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("shipBonusAI2"), skill="Amarr Industrial")
diff --git a/eos/effects/shipbonusagilityci2.py b/eos/effects/shipbonusagilityci2.py
deleted file mode 100644
index 2fccf4074..000000000
--- a/eos/effects/shipbonusagilityci2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusAgilityCI2
-#
-# Used by:
-# Ship: Badger
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("shipBonusCI2"), skill="Caldari Industrial")
diff --git a/eos/effects/shipbonusagilitygi2.py b/eos/effects/shipbonusagilitygi2.py
deleted file mode 100644
index 3fc84bb06..000000000
--- a/eos/effects/shipbonusagilitygi2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusAgilityGI2
-#
-# Used by:
-# Ship: Nereus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("shipBonusGI2"), skill="Gallente Industrial")
diff --git a/eos/effects/shipbonusagilitymi2.py b/eos/effects/shipbonusagilitymi2.py
deleted file mode 100644
index 8273934e5..000000000
--- a/eos/effects/shipbonusagilitymi2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusAgilityMI2
-#
-# Used by:
-# Ship: Wreathe
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("shipBonusMI2"), skill="Minmatar Industrial")
diff --git a/eos/effects/shipbonusammobaymi2.py b/eos/effects/shipbonusammobaymi2.py
deleted file mode 100644
index 8bb93aaeb..000000000
--- a/eos/effects/shipbonusammobaymi2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusAmmoBayMI2
-#
-# Used by:
-# Ship: Hoarder
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("specialAmmoHoldCapacity", ship.getModifiedItemAttr("shipBonusMI2"),
- skill="Minmatar Industrial")
diff --git a/eos/effects/shipbonusaoevelocitycruiseandtorpedocb2.py b/eos/effects/shipbonusaoevelocitycruiseandtorpedocb2.py
deleted file mode 100644
index 240b2f5ca..000000000
--- a/eos/effects/shipbonusaoevelocitycruiseandtorpedocb2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusAoeVelocityCruiseAndTorpedoCB2
-#
-# Used by:
-# Ship: Golem
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Cruise Missiles") or mod.charge.requiresSkill("Torpedoes"),
- "aoeVelocity", ship.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipbonusaoevelocitycruisemissilesmb2.py b/eos/effects/shipbonusaoevelocitycruisemissilesmb2.py
deleted file mode 100644
index 1bf11ce1a..000000000
--- a/eos/effects/shipbonusaoevelocitycruisemissilesmb2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusAoeVelocityCruiseMissilesMB2
-#
-# Used by:
-# Ship: Typhoon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "aoeVelocity", ship.getModifiedItemAttr("shipBonusMB2"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusaoevelocityrocketscd2.py b/eos/effects/shipbonusaoevelocityrocketscd2.py
deleted file mode 100644
index 3513d9025..000000000
--- a/eos/effects/shipbonusaoevelocityrocketscd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusAoeVelocityRocketsCD2
-#
-# Used by:
-# Ship: Corax
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "aoeVelocity", ship.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusaoevelocityrocketsmf.py b/eos/effects/shipbonusaoevelocityrocketsmf.py
deleted file mode 100644
index 3e7de55ef..000000000
--- a/eos/effects/shipbonusaoevelocityrocketsmf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusAoeVelocityRocketsMF
-#
-# Used by:
-# Ship: Vigil Fleet Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "aoeVelocity",
- src.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonusaoevelocitystandardmissilescd2.py b/eos/effects/shipbonusaoevelocitystandardmissilescd2.py
deleted file mode 100644
index c49324439..000000000
--- a/eos/effects/shipbonusaoevelocitystandardmissilescd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusAoeVelocityStandardMissilesCD2
-#
-# Used by:
-# Ship: Corax
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "aoeVelocity", ship.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusarmorrepairai2.py b/eos/effects/shipbonusarmorrepairai2.py
deleted file mode 100644
index 172163178..000000000
--- a/eos/effects/shipbonusarmorrepairai2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusArmorRepairAI2
-#
-# Used by:
-# Ship: Impel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("shipBonusAI2"),
- skill="Amarr Industrial")
diff --git a/eos/effects/shipbonusarmorrepairgi2.py b/eos/effects/shipbonusarmorrepairgi2.py
deleted file mode 100644
index 3699a8b1e..000000000
--- a/eos/effects/shipbonusarmorrepairgi2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusArmorRepairGI2
-#
-# Used by:
-# Ship: Occator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("shipBonusGI2"),
- skill="Gallente Industrial")
diff --git a/eos/effects/shipbonusarmorrepamountgc2.py b/eos/effects/shipbonusarmorrepamountgc2.py
deleted file mode 100644
index 622b593fd..000000000
--- a/eos/effects/shipbonusarmorrepamountgc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusArmorRepAmountGC2
-#
-# Used by:
-# Ship: Deimos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("shipBonusGC2"),
- skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusarmorresistab.py b/eos/effects/shipbonusarmorresistab.py
deleted file mode 100644
index cc3351844..000000000
--- a/eos/effects/shipbonusarmorresistab.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusArmorResistAB
-#
-# Used by:
-# Ship: Abaddon
-# Ship: Nestor
-type = "passive"
-
-
-def handler(fit, ship, context):
- for type in ("Em", "Explosive", "Kinetic", "Thermal"):
- fit.ship.boostItemAttr("armor{0}DamageResonance".format(type), ship.getModifiedItemAttr("shipBonusAB"),
- skill="Amarr Battleship")
diff --git a/eos/effects/shipbonuscapcapab.py b/eos/effects/shipbonuscapcapab.py
deleted file mode 100644
index 73ccc8035..000000000
--- a/eos/effects/shipbonuscapcapab.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCapCapAB
-#
-# Used by:
-# Ship: Apocalypse Imperial Issue
-# Ship: Paladin
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("capacitorCapacity", ship.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonuscargo2gi.py b/eos/effects/shipbonuscargo2gi.py
deleted file mode 100644
index 85388f312..000000000
--- a/eos/effects/shipbonuscargo2gi.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipBonusCargo2GI
-#
-# Used by:
-# Variations of ship: Miasmos (3 of 4)
-# Variations of ship: Nereus (2 of 2)
-# Ship: Iteron Mark V
-type = "passive"
-
-
-def handler(fit, ship, context):
- # TODO: investigate if we can live without such ifs or hardcoding
- # Viator doesn't have GI bonus
- if "shipBonusGI" in fit.ship.item.attributes:
- bonusAttr = "shipBonusGI"
- else:
- bonusAttr = "shipBonusGI2"
- fit.ship.boostItemAttr("capacity", ship.getModifiedItemAttr(bonusAttr), skill="Gallente Industrial")
diff --git a/eos/effects/shipbonuscargoci.py b/eos/effects/shipbonuscargoci.py
deleted file mode 100644
index 3e80fb36a..000000000
--- a/eos/effects/shipbonuscargoci.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCargoCI
-#
-# Used by:
-# Variations of ship: Badger (2 of 2)
-# Ship: Tayra
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("capacity", ship.getModifiedItemAttr("shipBonusCI"), skill="Caldari Industrial")
diff --git a/eos/effects/shipbonuscargomi.py b/eos/effects/shipbonuscargomi.py
deleted file mode 100644
index bc98e3615..000000000
--- a/eos/effects/shipbonuscargomi.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCargoMI
-#
-# Used by:
-# Variations of ship: Wreathe (2 of 2)
-# Ship: Mammoth
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("capacity", ship.getModifiedItemAttr("shipBonusMI"), skill="Minmatar Industrial")
diff --git a/eos/effects/shipbonuscarriera1armorresists.py b/eos/effects/shipbonuscarriera1armorresists.py
deleted file mode 100644
index ebda73d9d..000000000
--- a/eos/effects/shipbonuscarriera1armorresists.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusCarrierA1ArmorResists
-#
-# Used by:
-# Ship: Archon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusCarrierA1"),
- skill="Amarr Carrier")
- fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusCarrierA1"),
- skill="Amarr Carrier")
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusCarrierA1"),
- skill="Amarr Carrier")
- fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusCarrierA1"),
- skill="Amarr Carrier")
diff --git a/eos/effects/shipbonuscarriera2supportfighterbonus.py b/eos/effects/shipbonuscarriera2supportfighterbonus.py
deleted file mode 100644
index 02228b9c6..000000000
--- a/eos/effects/shipbonuscarriera2supportfighterbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusCarrierA2SupportFighterBonus
-#
-# Used by:
-# Ship: Archon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterSquadronOrbitRange",
- src.getModifiedItemAttr("shipBonusCarrierA2"), skill="Amarr Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"),
- "fighterAbilityEnergyNeutralizerOptimalRange",
- src.getModifiedItemAttr("shipBonusCarrierA2"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonuscarriera4warfarelinksbonus.py b/eos/effects/shipbonuscarriera4warfarelinksbonus.py
deleted file mode 100644
index 31981bba6..000000000
--- a/eos/effects/shipbonuscarriera4warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusCarrierA4WarfareLinksBonus
-#
-# Used by:
-# Ship: Archon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusCarrierA4"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusCarrierA4"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusCarrierA4"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusCarrierA4"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusCarrierA4"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonuscarrierc1shieldresists.py b/eos/effects/shipbonuscarrierc1shieldresists.py
deleted file mode 100644
index 4b8cd7101..000000000
--- a/eos/effects/shipbonuscarrierc1shieldresists.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusCarrierC1ShieldResists
-#
-# Used by:
-# Ship: Chimera
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusCarrierC1"),
- skill="Caldari Carrier")
- fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusCarrierC1"),
- skill="Caldari Carrier")
- fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusCarrierC1"),
- skill="Caldari Carrier")
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusCarrierC1"),
- skill="Caldari Carrier")
diff --git a/eos/effects/shipbonuscarrierc2supportfighterbonus.py b/eos/effects/shipbonuscarrierc2supportfighterbonus.py
deleted file mode 100644
index ff46a2d1d..000000000
--- a/eos/effects/shipbonuscarrierc2supportfighterbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusCarrierC2SupportFighterBonus
-#
-# Used by:
-# Ship: Chimera
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterSquadronOrbitRange",
- src.getModifiedItemAttr("shipBonusCarrierC2"), skill="Caldari Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"),
- "fighterAbilityECMRangeOptimal", src.getModifiedItemAttr("shipBonusCarrierC2"),
- skill="Caldari Carrier")
diff --git a/eos/effects/shipbonuscarrierc4warfarelinksbonus.py b/eos/effects/shipbonuscarrierc4warfarelinksbonus.py
deleted file mode 100644
index 4e19f6916..000000000
--- a/eos/effects/shipbonuscarrierc4warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusCarrierC4WarfareLinksBonus
-#
-# Used by:
-# Ship: Chimera
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusCarrierC4"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusCarrierC4"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusCarrierC4"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusCarrierC4"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusCarrierC4"), skill="Caldari Carrier")
diff --git a/eos/effects/shipbonuscarrierg1fighterdamage.py b/eos/effects/shipbonuscarrierg1fighterdamage.py
deleted file mode 100644
index e17ff621a..000000000
--- a/eos/effects/shipbonuscarrierg1fighterdamage.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipBonusCarrierG1FighterDamage
-#
-# Used by:
-# Ship: Thanatos
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("shipBonusCarrierG1"), skill="Gallente Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("shipBonusCarrierG1"), skill="Gallente Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("shipBonusCarrierG1"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonuscarrierg2supportfighterbonus.py b/eos/effects/shipbonuscarrierg2supportfighterbonus.py
deleted file mode 100644
index e3bfe9f1f..000000000
--- a/eos/effects/shipbonuscarrierg2supportfighterbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusCarrierG2SupportFighterBonus
-#
-# Used by:
-# Ship: Thanatos
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterSquadronOrbitRange",
- src.getModifiedItemAttr("shipBonusCarrierG2"), skill="Gallente Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"),
- "fighterAbilityWarpDisruptionRange", src.getModifiedItemAttr("shipBonusCarrierG2"),
- skill="Gallente Carrier")
diff --git a/eos/effects/shipbonuscarrierg3fighterhitpoints.py b/eos/effects/shipbonuscarrierg3fighterhitpoints.py
deleted file mode 100644
index 4ad0965d0..000000000
--- a/eos/effects/shipbonuscarrierg3fighterhitpoints.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCarrierG3FighterHitpoints
-#
-# Used by:
-# Ship: Thanatos
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "shieldCapacity",
- src.getModifiedItemAttr("shipBonusCarrierG3"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonuscarrierg4warfarelinksbonus.py b/eos/effects/shipbonuscarrierg4warfarelinksbonus.py
deleted file mode 100644
index 05eb85c60..000000000
--- a/eos/effects/shipbonuscarrierg4warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusCarrierG4WarfareLinksBonus
-#
-# Used by:
-# Ship: Thanatos
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusCarrierG4"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusCarrierG4"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusCarrierG4"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusCarrierG4"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusCarrierG4"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonuscarrierm1fighterdamage.py b/eos/effects/shipbonuscarrierm1fighterdamage.py
deleted file mode 100644
index 218947805..000000000
--- a/eos/effects/shipbonuscarrierm1fighterdamage.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipBonusCarrierM1FighterDamage
-#
-# Used by:
-# Ship: Nidhoggur
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("shipBonusCarrierM1"), skill="Minmatar Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("shipBonusCarrierM1"), skill="Minmatar Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("shipBonusCarrierM1"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonuscarrierm2supportfighterbonus.py b/eos/effects/shipbonuscarrierm2supportfighterbonus.py
deleted file mode 100644
index e28ccbfef..000000000
--- a/eos/effects/shipbonuscarrierm2supportfighterbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusCarrierM2SupportFighterBonus
-#
-# Used by:
-# Ship: Nidhoggur
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "fighterSquadronOrbitRange",
- src.getModifiedItemAttr("shipBonusCarrierM2"), skill="Minmatar Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"),
- "fighterAbilityStasisWebifierOptimalRange",
- src.getModifiedItemAttr("shipBonusCarrierM2"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonuscarrierm3fightervelocity.py b/eos/effects/shipbonuscarrierm3fightervelocity.py
deleted file mode 100644
index 63d22459a..000000000
--- a/eos/effects/shipbonuscarrierm3fightervelocity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCarrierM3FighterVelocity
-#
-# Used by:
-# Ship: Nidhoggur
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "maxVelocity",
- src.getModifiedItemAttr("shipBonusCarrierM3"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonuscarrierm4warfarelinksbonus.py b/eos/effects/shipbonuscarrierm4warfarelinksbonus.py
deleted file mode 100644
index 11592c9df..000000000
--- a/eos/effects/shipbonuscarrierm4warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusCarrierM4WarfareLinksBonus
-#
-# Used by:
-# Ship: Nidhoggur
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusCarrierM4"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusCarrierM4"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusCarrierM4"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusCarrierM4"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusCarrierM4"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonuscarrierrole1numwarfarelinks.py b/eos/effects/shipbonuscarrierrole1numwarfarelinks.py
deleted file mode 100644
index fdfc77d94..000000000
--- a/eos/effects/shipbonuscarrierrole1numwarfarelinks.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCarrierRole1NumWarfareLinks
-#
-# Used by:
-# Ships from group: Carrier (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"), "maxGroupActive",
- src.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/shipbonuscf1torpedoexplosionvelocity.py b/eos/effects/shipbonuscf1torpedoexplosionvelocity.py
deleted file mode 100644
index 41a8b9db8..000000000
--- a/eos/effects/shipbonuscf1torpedoexplosionvelocity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCF1TorpedoExplosionVelocity
-#
-# Used by:
-# Ship: Manticore
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "aoeVelocity", ship.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonuscf1torpedoflighttime.py b/eos/effects/shipbonuscf1torpedoflighttime.py
deleted file mode 100644
index 2f00bd515..000000000
--- a/eos/effects/shipbonuscf1torpedoflighttime.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCF1TorpedoFlightTime
-#
-# Used by:
-# Ship: Manticore
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "explosionDelay", ship.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonuscloakcpumc2.py b/eos/effects/shipbonuscloakcpumc2.py
deleted file mode 100644
index ac83921f0..000000000
--- a/eos/effects/shipbonuscloakcpumc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCloakCpuMC2
-#
-# Used by:
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Cloaking"), "cpu",
- src.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonuscloakcpumf1.py b/eos/effects/shipbonuscloakcpumf1.py
deleted file mode 100644
index fe201e1df..000000000
--- a/eos/effects/shipbonuscloakcpumf1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCloakCpuMF1
-#
-# Used by:
-# Ship: Caedes
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Cloaking"), "cpu",
- src.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonuscommanddestroyerrole1defenderbonus.py b/eos/effects/shipbonuscommanddestroyerrole1defenderbonus.py
deleted file mode 100644
index cd2c1e733..000000000
--- a/eos/effects/shipbonuscommanddestroyerrole1defenderbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCommandDestroyerRole1DefenderBonus
-#
-# Used by:
-# Ships from group: Command Destroyer (4 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Defender Missiles"),
- "moduleReactivationDelay", ship.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/shipbonuscruisemissileemdmgmb.py b/eos/effects/shipbonuscruisemissileemdmgmb.py
deleted file mode 100644
index 7a79cd089..000000000
--- a/eos/effects/shipbonuscruisemissileemdmgmb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCruiseMissileEMDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "emDamage", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonuscruisemissileexplodmgmb.py b/eos/effects/shipbonuscruisemissileexplodmgmb.py
deleted file mode 100644
index d4c413987..000000000
--- a/eos/effects/shipbonuscruisemissileexplodmgmb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusCruiseMissileExploDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonuscruisemissilekineticdmgmb.py b/eos/effects/shipbonuscruisemissilekineticdmgmb.py
deleted file mode 100644
index 33fa55ff9..000000000
--- a/eos/effects/shipbonuscruisemissilekineticdmgmb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusCruiseMissileKineticDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonuscruisemissilethermdmgmb.py b/eos/effects/shipbonuscruisemissilethermdmgmb.py
deleted file mode 100644
index 701dcf7e5..000000000
--- a/eos/effects/shipbonuscruisemissilethermdmgmb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusCruiseMissileThermDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonuscruiserofmb.py b/eos/effects/shipbonuscruiserofmb.py
deleted file mode 100644
index 34dc736d2..000000000
--- a/eos/effects/shipbonuscruiserofmb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusCruiseROFMB
-#
-# Used by:
-# Ship: Typhoon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Cruise",
- "speed", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusdreadnoughta1damagebonus.py b/eos/effects/shipbonusdreadnoughta1damagebonus.py
deleted file mode 100644
index 3b85fee4a..000000000
--- a/eos/effects/shipbonusdreadnoughta1damagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtA1DamageBonus
-#
-# Used by:
-# Ship: Revelation
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusDreadnoughtA1"), skill="Amarr Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughta1energywarfareamountbonus.py b/eos/effects/shipbonusdreadnoughta1energywarfareamountbonus.py
deleted file mode 100644
index 86e7725ac..000000000
--- a/eos/effects/shipbonusdreadnoughta1energywarfareamountbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusDreadnoughtA1EnergyWarfareAmountBonus
-#
-# Used by:
-# Ship: Chemosh
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount", src.getModifiedItemAttr("shipBonusDreadnoughtA1"), skill="Amarr Dreadnought")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer",
- "energyNeutralizerAmount", src.getModifiedItemAttr("shipBonusDreadnoughtA1"), skill="Amarr Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughta2armorresists.py b/eos/effects/shipbonusdreadnoughta2armorresists.py
deleted file mode 100644
index 207c827f0..000000000
--- a/eos/effects/shipbonusdreadnoughta2armorresists.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusDreadnoughtA2ArmorResists
-#
-# Used by:
-# Ship: Revelation
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusDreadnoughtA2"),
- skill="Amarr Dreadnought")
- fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusDreadnoughtA2"),
- skill="Amarr Dreadnought")
- fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusDreadnoughtA2"),
- skill="Amarr Dreadnought")
- fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusDreadnoughtA2"),
- skill="Amarr Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughta3capneed.py b/eos/effects/shipbonusdreadnoughta3capneed.py
deleted file mode 100644
index 1571c46bf..000000000
--- a/eos/effects/shipbonusdreadnoughta3capneed.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtA3CapNeed
-#
-# Used by:
-# Ship: Revelation
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret"), "capacitorNeed",
- src.getModifiedItemAttr("shipBonusDreadnoughtA3"), skill="Amarr Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtc1damagebonus.py b/eos/effects/shipbonusdreadnoughtc1damagebonus.py
deleted file mode 100644
index 9d06fd5db..000000000
--- a/eos/effects/shipbonusdreadnoughtc1damagebonus.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# shipBonusDreadnoughtC1DamageBonus
-#
-# Used by:
-# Ship: Phoenix
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "emDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"), "emDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"), "emDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtC1"), skill="Caldari Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtc2shieldresists.py b/eos/effects/shipbonusdreadnoughtc2shieldresists.py
deleted file mode 100644
index 6a533902c..000000000
--- a/eos/effects/shipbonusdreadnoughtc2shieldresists.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusDreadnoughtC2ShieldResists
-#
-# Used by:
-# Variations of ship: Phoenix (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusDreadnoughtC2"),
- skill="Caldari Dreadnought")
- fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusDreadnoughtC2"),
- skill="Caldari Dreadnought")
- fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusDreadnoughtC2"),
- skill="Caldari Dreadnought")
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusDreadnoughtC2"),
- skill="Caldari Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtc3reloadbonus.py b/eos/effects/shipbonusdreadnoughtc3reloadbonus.py
deleted file mode 100644
index 8ba0cc3fc..000000000
--- a/eos/effects/shipbonusdreadnoughtc3reloadbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtC3ReloadBonus
-#
-# Used by:
-# Ship: Phoenix
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"), "reloadTime",
- src.getModifiedItemAttr("shipBonusDreadnoughtC3"), skill="Caldari Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtg1damagebonus.py b/eos/effects/shipbonusdreadnoughtg1damagebonus.py
deleted file mode 100644
index d6d5b9074..000000000
--- a/eos/effects/shipbonusdreadnoughtg1damagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtG1DamageBonus
-#
-# Used by:
-# Ship: Moros
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtg1kinthermdamagebonus.py b/eos/effects/shipbonusdreadnoughtg1kinthermdamagebonus.py
deleted file mode 100644
index e79593c44..000000000
--- a/eos/effects/shipbonusdreadnoughtg1kinthermdamagebonus.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# shipBonusDreadnoughtG1KinThermDamageBonus
-#
-# Used by:
-# Ship: Caiman
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Torpedoes"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Torpedoes"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Torpedoes"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Torpedoes"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missiles"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missiles"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtg2rofbonus.py b/eos/effects/shipbonusdreadnoughtg2rofbonus.py
deleted file mode 100644
index b109e3e30..000000000
--- a/eos/effects/shipbonusdreadnoughtg2rofbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtG2ROFBonus
-#
-# Used by:
-# Variations of ship: Moros (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"), "speed",
- src.getModifiedItemAttr("shipBonusDreadnoughtG2"), skill="Gallente Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtg3repairtime.py b/eos/effects/shipbonusdreadnoughtg3repairtime.py
deleted file mode 100644
index 39b99c0f5..000000000
--- a/eos/effects/shipbonusdreadnoughtg3repairtime.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtG3RepairTime
-#
-# Used by:
-# Ship: Moros
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"), "duration",
- src.getModifiedItemAttr("shipBonusDreadnoughtG3"), skill="Gallente Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtm1damagebonus.py b/eos/effects/shipbonusdreadnoughtm1damagebonus.py
deleted file mode 100644
index c1de5b9f4..000000000
--- a/eos/effects/shipbonusdreadnoughtm1damagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtM1DamageBonus
-#
-# Used by:
-# Ship: Naglfar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusDreadnoughtM1"), skill="Minmatar Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtm1webrangebonus.py b/eos/effects/shipbonusdreadnoughtm1webrangebonus.py
deleted file mode 100644
index f79762142..000000000
--- a/eos/effects/shipbonusdreadnoughtm1webrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtM1WebRangeBonus
-#
-# Used by:
-# Ship: Chemosh
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "maxRange", src.getModifiedItemAttr("shipBonusDreadnoughtM1"), skill="Minmatar Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtm1webstrengthbonus.py b/eos/effects/shipbonusdreadnoughtm1webstrengthbonus.py
deleted file mode 100644
index c822336ba..000000000
--- a/eos/effects/shipbonusdreadnoughtm1webstrengthbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtM1WebStrengthBonus
-#
-# Used by:
-# Ship: Vehement
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "speedFactor",
- src.getModifiedItemAttr("shipBonusDreadnoughtM1"), skill="Minmatar Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtm2rofbonus.py b/eos/effects/shipbonusdreadnoughtm2rofbonus.py
deleted file mode 100644
index c183f3c7b..000000000
--- a/eos/effects/shipbonusdreadnoughtm2rofbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtM2ROFBonus
-#
-# Used by:
-# Ship: Naglfar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"), "speed",
- src.getModifiedItemAttr("shipBonusDreadnoughtM2"), skill="Minmatar Dreadnought")
diff --git a/eos/effects/shipbonusdreadnoughtm3repairtime.py b/eos/effects/shipbonusdreadnoughtm3repairtime.py
deleted file mode 100644
index 0e5ca87f9..000000000
--- a/eos/effects/shipbonusdreadnoughtm3repairtime.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDreadnoughtM3RepairTime
-#
-# Used by:
-# Ship: Naglfar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"), "duration",
- src.getModifiedItemAttr("shipBonusDreadnoughtM2"), skill="Minmatar Dreadnought")
diff --git a/eos/effects/shipbonusdronearmorhitpointsab.py b/eos/effects/shipbonusdronearmorhitpointsab.py
deleted file mode 100644
index 4753c8f3f..000000000
--- a/eos/effects/shipbonusdronearmorhitpointsab.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneArmorHitPointsAB
-#
-# Used by:
-# Ship: Armageddon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "armorHP", ship.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonusdronearmorhitpointsgf2.py b/eos/effects/shipbonusdronearmorhitpointsgf2.py
deleted file mode 100644
index 89cdf8e30..000000000
--- a/eos/effects/shipbonusdronearmorhitpointsgf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneArmorHitpointsGF2
-#
-# Used by:
-# Ship: Ishkur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "armorHP", ship.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusdronedamagegf2.py b/eos/effects/shipbonusdronedamagegf2.py
deleted file mode 100644
index 5f71d4b0f..000000000
--- a/eos/effects/shipbonusdronedamagegf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneDamageGF2
-#
-# Used by:
-# Ship: Utu
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusdronedamagemultiplierab.py b/eos/effects/shipbonusdronedamagemultiplierab.py
deleted file mode 100644
index 3825f9bb3..000000000
--- a/eos/effects/shipbonusdronedamagemultiplierab.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneDamageMultiplierAB
-#
-# Used by:
-# Ship: Armageddon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonusdronedamagemultiplierabc2.py b/eos/effects/shipbonusdronedamagemultiplierabc2.py
deleted file mode 100644
index b93e05392..000000000
--- a/eos/effects/shipbonusdronedamagemultiplierabc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusDroneDamageMultiplierABC2
-#
-# Used by:
-# Ship: Prophecy
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusABC2"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shipbonusdronedamagemultiplierac2.py b/eos/effects/shipbonusdronedamagemultiplierac2.py
deleted file mode 100644
index 24e284817..000000000
--- a/eos/effects/shipbonusdronedamagemultiplierac2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneDamageMultiplierAC2
-#
-# Used by:
-# Variations of ship: Arbitrator (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusdronedamagemultiplierad1.py b/eos/effects/shipbonusdronedamagemultiplierad1.py
deleted file mode 100644
index 3112585a8..000000000
--- a/eos/effects/shipbonusdronedamagemultiplierad1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneDamageMultiplierAD1
-#
-# Used by:
-# Variations of ship: Dragoon (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusdronedamagemultipliergb2.py b/eos/effects/shipbonusdronedamagemultipliergb2.py
deleted file mode 100644
index 19ea8bdde..000000000
--- a/eos/effects/shipbonusdronedamagemultipliergb2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusDroneDamageMultiplierGB2
-#
-# Used by:
-# Variations of ship: Dominix (3 of 3)
-# Ship: Nestor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGB2"),
- skill="Gallente Battleship")
diff --git a/eos/effects/shipbonusdronedamagemultipliergbc1.py b/eos/effects/shipbonusdronedamagemultipliergbc1.py
deleted file mode 100644
index b1f3abe8e..000000000
--- a/eos/effects/shipbonusdronedamagemultipliergbc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusDroneDamageMultiplierGBC1
-#
-# Used by:
-# Variations of ship: Myrmidon (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGBC1"),
- skill="Gallente Battlecruiser")
diff --git a/eos/effects/shipbonusdronedamagemultipliergc2.py b/eos/effects/shipbonusdronedamagemultipliergc2.py
deleted file mode 100644
index 9585f7590..000000000
--- a/eos/effects/shipbonusdronedamagemultipliergc2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusDroneDamageMultiplierGC2
-#
-# Used by:
-# Ships named like: Stratios (2 of 2)
-# Ship: Vexor
-# Ship: Vexor Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusdronedamagemultipliergd1.py b/eos/effects/shipbonusdronedamagemultipliergd1.py
deleted file mode 100644
index 28ba5adfc..000000000
--- a/eos/effects/shipbonusdronedamagemultipliergd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneDamageMultiplierGD1
-#
-# Used by:
-# Variations of ship: Algos (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
diff --git a/eos/effects/shipbonusdronedamagemultiplierrookie.py b/eos/effects/shipbonusdronedamagemultiplierrookie.py
deleted file mode 100644
index 23c9a4b5b..000000000
--- a/eos/effects/shipbonusdronedamagemultiplierrookie.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusDroneDamageMultiplierRookie
-#
-# Used by:
-# Ship: Gnosis
-# Ship: Praxis
-# Ship: Sunesis
-# Ship: Taipan
-# Ship: Velator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier", ship.getModifiedItemAttr("rookieDroneBonus"))
diff --git a/eos/effects/shipbonusdronehitpointsabc2.py b/eos/effects/shipbonusdronehitpointsabc2.py
deleted file mode 100644
index b1738a300..000000000
--- a/eos/effects/shipbonusdronehitpointsabc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusDroneHitpointsABC2
-#
-# Used by:
-# Ship: Prophecy
-type = "passive"
-
-
-def handler(fit, ship, context):
- for layer in ("shieldCapacity", "armorHP", "hp"):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- layer, ship.getModifiedItemAttr("shipBonusABC2"), skill="Amarr Battlecruiser")
diff --git a/eos/effects/shipbonusdronehitpointsad1.py b/eos/effects/shipbonusdronehitpointsad1.py
deleted file mode 100644
index 4015c8f2e..000000000
--- a/eos/effects/shipbonusdronehitpointsad1.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusDroneHitpointsAD1
-#
-# Used by:
-# Variations of ship: Dragoon (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity",
- src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp",
- src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP",
- src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusdronehitpointsfixedac2.py b/eos/effects/shipbonusdronehitpointsfixedac2.py
deleted file mode 100644
index b761c859b..000000000
--- a/eos/effects/shipbonusdronehitpointsfixedac2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusDroneHitpointsFixedAC2
-#
-# Used by:
-# Variations of ship: Arbitrator (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- for type in ("shieldCapacity", "armorHP", "hp"):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- type, ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusdronehitpointsgb2.py b/eos/effects/shipbonusdronehitpointsgb2.py
deleted file mode 100644
index 9a591a4bc..000000000
--- a/eos/effects/shipbonusdronehitpointsgb2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusDroneHitpointsGB2
-#
-# Used by:
-# Variations of ship: Dominix (3 of 3)
-# Ship: Nestor
-type = "passive"
-
-
-def handler(fit, ship, context):
- for type in ("shieldCapacity", "armorHP", "hp"):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- type, ship.getModifiedItemAttr("shipBonusGB2"), skill="Gallente Battleship")
diff --git a/eos/effects/shipbonusdronehitpointsgbc1.py b/eos/effects/shipbonusdronehitpointsgbc1.py
deleted file mode 100644
index 36f77064e..000000000
--- a/eos/effects/shipbonusdronehitpointsgbc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusDroneHitpointsGBC1
-#
-# Used by:
-# Variations of ship: Myrmidon (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- for layer in ("shieldCapacity", "armorHP", "hp"):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- layer, ship.getModifiedItemAttr("shipBonusGBC1"), skill="Gallente Battlecruiser")
diff --git a/eos/effects/shipbonusdronehitpointsgc2.py b/eos/effects/shipbonusdronehitpointsgc2.py
deleted file mode 100644
index 8dabc04f0..000000000
--- a/eos/effects/shipbonusdronehitpointsgc2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusDroneHitpointsGC2
-#
-# Used by:
-# Ships named like: Stratios (2 of 2)
-# Ship: Vexor
-# Ship: Vexor Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- for type in ("shieldCapacity", "armorHP", "hp"):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- type, ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusdronehitpointsgd1.py b/eos/effects/shipbonusdronehitpointsgd1.py
deleted file mode 100644
index e82e28b1a..000000000
--- a/eos/effects/shipbonusdronehitpointsgd1.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusDroneHitpointsGD1
-#
-# Used by:
-# Variations of ship: Algos (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity",
- src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP",
- src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp",
- src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
diff --git a/eos/effects/shipbonusdronehitpointsgf.py b/eos/effects/shipbonusdronehitpointsgf.py
deleted file mode 100644
index 62058ca89..000000000
--- a/eos/effects/shipbonusdronehitpointsgf.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusDroneHitpointsGF
-#
-# Used by:
-# Ship: Astero
-# Ship: Maulus Navy Issue
-# Ship: Tristan
-type = "passive"
-
-
-def handler(fit, ship, context):
- for layer in ("shieldCapacity", "armorHP", "hp"):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- layer, ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusdronehitpointsgf2.py b/eos/effects/shipbonusdronehitpointsgf2.py
deleted file mode 100644
index a2e993f1b..000000000
--- a/eos/effects/shipbonusdronehitpointsgf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneHitpointsGF2
-#
-# Used by:
-# Ship: Ishkur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "hp", ship.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusdronehitpointsrookie.py b/eos/effects/shipbonusdronehitpointsrookie.py
deleted file mode 100644
index 3862e2144..000000000
--- a/eos/effects/shipbonusdronehitpointsrookie.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusDroneHitpointsRookie
-#
-# Used by:
-# Variations of ship: Procurer (2 of 2)
-# Ship: Gnosis
-# Ship: Praxis
-# Ship: Sunesis
-# Ship: Taipan
-# Ship: Velator
-type = "passive"
-
-
-def handler(fit, ship, context):
- for type in ("shieldCapacity", "armorHP", "hp"):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- type, ship.getModifiedItemAttr("rookieDroneBonus"))
diff --git a/eos/effects/shipbonusdronehpdamageminingics4.py b/eos/effects/shipbonusdronehpdamageminingics4.py
deleted file mode 100644
index 8b06c6dec..000000000
--- a/eos/effects/shipbonusdronehpdamageminingics4.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# shipBonusDroneHPDamageMiningICS4
-#
-# Used by:
-# Ships from group: Industrial Command Ship (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier",
- src.getModifiedItemAttr("shipBonusICS4"),
- skill="Industrial Command Ships"
- )
-
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "shieldCapacity",
- src.getModifiedItemAttr("shipBonusICS4"),
- skill="Industrial Command Ships"
- )
-
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "armorHP",
- src.getModifiedItemAttr("shipBonusICS4"),
- skill="Industrial Command Ships"
- )
-
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "hp",
- src.getModifiedItemAttr("shipBonusICS4"),
- skill="Industrial Command Ships"
- )
-
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"),
- "miningAmount",
- src.getModifiedItemAttr("shipBonusICS4"),
- skill="Industrial Command Ships"
- )
diff --git a/eos/effects/shipbonusdronehpdamageminingorecapital4.py b/eos/effects/shipbonusdronehpdamageminingorecapital4.py
deleted file mode 100644
index 8cd53cd81..000000000
--- a/eos/effects/shipbonusdronehpdamageminingorecapital4.py
+++ /dev/null
@@ -1,37 +0,0 @@
-# shipBonusDroneHPDamageMiningORECapital4
-#
-# Used by:
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier",
- src.getModifiedItemAttr("shipBonusORECapital4"),
- skill="Capital Industrial Ships"
- )
-
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "shieldCapacity",
- src.getModifiedItemAttr("shipBonusORECapital4"),
- skill="Capital Industrial Ships"
- )
-
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "armorHP",
- src.getModifiedItemAttr("shipBonusORECapital4"),
- skill="Capital Industrial Ships"
- )
-
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "hp",
- src.getModifiedItemAttr("shipBonusORECapital4"),
- skill="Capital Industrial Ships"
- )
-
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"),
- "miningAmount",
- src.getModifiedItemAttr("shipBonusORECapital4"),
- skill="Capital Industrial Ships"
- )
diff --git a/eos/effects/shipbonusdroneiceharvestingics5.py b/eos/effects/shipbonusdroneiceharvestingics5.py
deleted file mode 100644
index 4119b36c7..000000000
--- a/eos/effects/shipbonusdroneiceharvestingics5.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusDroneIceHarvestingICS5
-#
-# Used by:
-# Ships from group: Industrial Command Ship (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Ice Harvesting Drone Operation"),
- "duration",
- src.getModifiedItemAttr("shipBonusICS5"),
- skill="Industrial Command Ships"
- )
diff --git a/eos/effects/shipbonusdroneiceharvestingorecapital5.py b/eos/effects/shipbonusdroneiceharvestingorecapital5.py
deleted file mode 100644
index 754ea3fe6..000000000
--- a/eos/effects/shipbonusdroneiceharvestingorecapital5.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusDroneIceHarvestingORECapital5
-#
-# Used by:
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Ice Harvesting Drone Operation"),
- "duration",
- src.getModifiedItemAttr("shipBonusORECapital5"),
- skill="Capital Industrial Ships"
- )
diff --git a/eos/effects/shipbonusdroneiceharvestingrole.py b/eos/effects/shipbonusdroneiceharvestingrole.py
deleted file mode 100644
index b45241f9f..000000000
--- a/eos/effects/shipbonusdroneiceharvestingrole.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneIceHarvestingRole
-#
-# Used by:
-# Ship: Orca
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting Drone Operation"), "duration",
- src.getModifiedItemAttr("roleBonusDroneIceHarvestingSpeed"))
diff --git a/eos/effects/shipbonusdroneminingamountac2.py b/eos/effects/shipbonusdroneminingamountac2.py
deleted file mode 100644
index 0fc338bf7..000000000
--- a/eos/effects/shipbonusdroneminingamountac2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneMiningAmountAC2
-#
-# Used by:
-# Ship: Arbitrator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "miningAmount", ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusdroneminingamountgc2.py b/eos/effects/shipbonusdroneminingamountgc2.py
deleted file mode 100644
index e1bbc1314..000000000
--- a/eos/effects/shipbonusdroneminingamountgc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusDroneMiningAmountGC2
-#
-# Used by:
-# Ship: Vexor
-# Ship: Vexor Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"),
- "miningAmount", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusdroneminingamountrole.py b/eos/effects/shipbonusdroneminingamountrole.py
deleted file mode 100644
index 789754258..000000000
--- a/eos/effects/shipbonusdroneminingamountrole.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusDroneMiningAmountRole
-#
-# Used by:
-# Ships from group: Industrial Command Ship (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"),
- "miningAmount",
- src.getModifiedItemAttr("roleBonusDroneMiningYield"),
- )
diff --git a/eos/effects/shipbonusdronemwdboostgc.py b/eos/effects/shipbonusdronemwdboostgc.py
deleted file mode 100644
index 617b0a7a5..000000000
--- a/eos/effects/shipbonusdronemwdboostgc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneMWDboostGC
-#
-# Used by:
-# Ship: Vexor Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusdronemwdboostrole.py b/eos/effects/shipbonusdronemwdboostrole.py
deleted file mode 100644
index a9960c71a..000000000
--- a/eos/effects/shipbonusdronemwdboostrole.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusDroneMWDboostrole
-#
-# Used by:
-# Ship: Algos
-# Ship: Dragoon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusdroneoptimalrangegb.py b/eos/effects/shipbonusdroneoptimalrangegb.py
deleted file mode 100644
index 197aba8ac..000000000
--- a/eos/effects/shipbonusdroneoptimalrangegb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneOptimalRangeGB
-#
-# Used by:
-# Ship: Dominix
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "maxRange", ship.getModifiedItemAttr("shipBonusGB"), skill="Gallente Battleship")
diff --git a/eos/effects/shipbonusdronerepairmc1.py b/eos/effects/shipbonusdronerepairmc1.py
deleted file mode 100644
index 77cc9a69d..000000000
--- a/eos/effects/shipbonusdronerepairmc1.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusDroneRepairMC1
-#
-# Used by:
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldBonus",
- src.getModifiedItemAttr("shipBonusMC"), skill="Minmatar Cruiser")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "structureDamageAmount",
- src.getModifiedItemAttr("shipBonusMC"), skill="Minmatar Cruiser")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorDamageAmount",
- src.getModifiedItemAttr("shipBonusMC"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonusdroneshieldhitpointsab.py b/eos/effects/shipbonusdroneshieldhitpointsab.py
deleted file mode 100644
index e0ed55589..000000000
--- a/eos/effects/shipbonusdroneshieldhitpointsab.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneShieldHitPointsAB
-#
-# Used by:
-# Ship: Armageddon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonusdroneshieldhitpointsgf2.py b/eos/effects/shipbonusdroneshieldhitpointsgf2.py
deleted file mode 100644
index 4a4ca98ae..000000000
--- a/eos/effects/shipbonusdroneshieldhitpointsgf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneShieldHitpointsGF2
-#
-# Used by:
-# Ship: Ishkur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusdronestructurehitpointsab.py b/eos/effects/shipbonusdronestructurehitpointsab.py
deleted file mode 100644
index a37f00d0c..000000000
--- a/eos/effects/shipbonusdronestructurehitpointsab.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneStructureHitPointsAB
-#
-# Used by:
-# Ship: Armageddon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "hp", ship.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonusdronetrackingelitegunship2.py b/eos/effects/shipbonusdronetrackingelitegunship2.py
deleted file mode 100644
index 20c82238a..000000000
--- a/eos/effects/shipbonusdronetrackingelitegunship2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneTrackingEliteGunship2
-#
-# Used by:
-# Ship: Ishkur
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "trackingSpeed",
- src.getModifiedItemAttr("eliteBonusGunship2"), skill="Assault Frigates")
diff --git a/eos/effects/shipbonusdronetrackinggb.py b/eos/effects/shipbonusdronetrackinggb.py
deleted file mode 100644
index 8449ffc78..000000000
--- a/eos/effects/shipbonusdronetrackinggb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneTrackingGB
-#
-# Used by:
-# Ship: Dominix
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGB"), skill="Gallente Battleship")
diff --git a/eos/effects/shipbonusdronetrackinggc.py b/eos/effects/shipbonusdronetrackinggc.py
deleted file mode 100644
index c33d4f02f..000000000
--- a/eos/effects/shipbonusdronetrackinggc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusDroneTrackingGC
-#
-# Used by:
-# Ship: Vexor Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusdronetrackinggf.py b/eos/effects/shipbonusdronetrackinggf.py
deleted file mode 100644
index b98c308e0..000000000
--- a/eos/effects/shipbonusdronetrackinggf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusDroneTrackingGF
-#
-# Used by:
-# Ship: Maulus Navy Issue
-# Ship: Tristan
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusecmstrengthbonuscc.py b/eos/effects/shipbonusecmstrengthbonuscc.py
deleted file mode 100644
index 1eaf7ef56..000000000
--- a/eos/effects/shipbonusecmstrengthbonuscc.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusECMStrengthBonusCC
-#
-# Used by:
-# Ship: Blackbird
-type = "passive"
-
-
-def handler(fit, ship, context):
- for type in ("Gravimetric", "Magnetometric", "Ladar", "Radar"):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scan{0}StrengthBonus".format(type), ship.getModifiedItemAttr("shipBonusCC"),
- skill="Caldari Cruiser")
diff --git a/eos/effects/shipbonuselitecover2torpedoemdamage.py b/eos/effects/shipbonuselitecover2torpedoemdamage.py
deleted file mode 100644
index 89697d829..000000000
--- a/eos/effects/shipbonuselitecover2torpedoemdamage.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEliteCover2TorpedoEMDamage
-#
-# Used by:
-# Ship: Purifier
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "emDamage", ship.getModifiedItemAttr("eliteBonusCovertOps2"), skill="Covert Ops")
diff --git a/eos/effects/shipbonuselitecover2torpedoexplosivedamage.py b/eos/effects/shipbonuselitecover2torpedoexplosivedamage.py
deleted file mode 100644
index 779189de1..000000000
--- a/eos/effects/shipbonuselitecover2torpedoexplosivedamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusEliteCover2TorpedoExplosiveDamage
-#
-# Used by:
-# Ship: Hound
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "explosiveDamage", ship.getModifiedItemAttr("eliteBonusCovertOps2"),
- skill="Covert Ops")
diff --git a/eos/effects/shipbonuselitecover2torpedokineticdamage.py b/eos/effects/shipbonuselitecover2torpedokineticdamage.py
deleted file mode 100644
index 5ed5f7a69..000000000
--- a/eos/effects/shipbonuselitecover2torpedokineticdamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusEliteCover2TorpedoKineticDamage
-#
-# Used by:
-# Ship: Manticore
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "kineticDamage", ship.getModifiedItemAttr("eliteBonusCovertOps2"),
- skill="Covert Ops")
diff --git a/eos/effects/shipbonuselitecover2torpedothermaldamage.py b/eos/effects/shipbonuselitecover2torpedothermaldamage.py
deleted file mode 100644
index 358023fee..000000000
--- a/eos/effects/shipbonuselitecover2torpedothermaldamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusEliteCover2TorpedoThermalDamage
-#
-# Used by:
-# Ship: Nemesis
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "thermalDamage", ship.getModifiedItemAttr("eliteBonusCovertOps2"),
- skill="Covert Ops")
diff --git a/eos/effects/shipbonusemarmorresistancead2.py b/eos/effects/shipbonusemarmorresistancead2.py
deleted file mode 100644
index 745d64420..000000000
--- a/eos/effects/shipbonusemarmorresistancead2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusEMArmorResistanceAD2
-#
-# Used by:
-# Ship: Pontifex
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusemarmorresistancegd2.py b/eos/effects/shipbonusemarmorresistancegd2.py
deleted file mode 100644
index 0c7feb03a..000000000
--- a/eos/effects/shipbonusemarmorresistancegd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEMArmorResistanceGD2
-#
-# Used by:
-# Ship: Magus
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusGD2"),
- skill="Gallente Destroyer")
diff --git a/eos/effects/shipbonusemmissiledamagecd1.py b/eos/effects/shipbonusemmissiledamagecd1.py
deleted file mode 100644
index db491c2b4..000000000
--- a/eos/effects/shipbonusemmissiledamagecd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEMMissileDamageCD1
-#
-# Used by:
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "emDamage",
- src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusemmissiledmgmd1.py b/eos/effects/shipbonusemmissiledmgmd1.py
deleted file mode 100644
index cab979332..000000000
--- a/eos/effects/shipbonusemmissiledmgmd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEMMissileDmgMD1
-#
-# Used by:
-# Ship: Bifrost
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "emDamage",
- src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonusemshieldresistancecb2.py b/eos/effects/shipbonusemshieldresistancecb2.py
deleted file mode 100644
index f69913dfd..000000000
--- a/eos/effects/shipbonusemshieldresistancecb2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusEmShieldResistanceCB2
-#
-# Used by:
-# Ship: Rattlesnake
-# Ship: Rokh
-# Ship: Scorpion Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldEmDamageResonance", ship.getModifiedItemAttr("shipBonus2CB"),
- skill="Caldari Battleship")
diff --git a/eos/effects/shipbonusemshieldresistancemd2.py b/eos/effects/shipbonusemshieldresistancemd2.py
deleted file mode 100644
index 526ad3caf..000000000
--- a/eos/effects/shipbonusemshieldresistancemd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEMShieldResistanceMD2
-#
-# Used by:
-# Ship: Bifrost
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusMD2"),
- skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonusenergyneutfalloffab2.py b/eos/effects/shipbonusenergyneutfalloffab2.py
deleted file mode 100644
index 7540842ce..000000000
--- a/eos/effects/shipbonusenergyneutfalloffab2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutFalloffAB2
-#
-# Used by:
-# Ship: Armageddon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonusenergyneutfalloffac3.py b/eos/effects/shipbonusenergyneutfalloffac3.py
deleted file mode 100644
index fe991894d..000000000
--- a/eos/effects/shipbonusenergyneutfalloffac3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutFalloffAC3
-#
-# Used by:
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonusAC3"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusenergyneutfalloffad1.py b/eos/effects/shipbonusenergyneutfalloffad1.py
deleted file mode 100644
index 9f515fe44..000000000
--- a/eos/effects/shipbonusenergyneutfalloffad1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutFalloffAD1
-#
-# Used by:
-# Ship: Dragoon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusenergyneutfalloffaf3.py b/eos/effects/shipbonusenergyneutfalloffaf3.py
deleted file mode 100644
index f2f20904d..000000000
--- a/eos/effects/shipbonusenergyneutfalloffaf3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutFalloffAF3
-#
-# Used by:
-# Ship: Malice
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonus3AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusenergyneutfalloffeaf3.py b/eos/effects/shipbonusenergyneutfalloffeaf3.py
deleted file mode 100644
index 54a1a972a..000000000
--- a/eos/effects/shipbonusenergyneutfalloffeaf3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusEnergyNeutFalloffEAF3
-#
-# Used by:
-# Ship: Sentinel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness",
- src.getModifiedItemAttr("eliteBonusElectronicAttackShip3"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/shipbonusenergyneutfalloffrs2.py b/eos/effects/shipbonusenergyneutfalloffrs2.py
deleted file mode 100644
index 8299434e6..000000000
--- a/eos/effects/shipbonusenergyneutfalloffrs2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutFalloffRS2
-#
-# Used by:
-# Ship: Pilgrim
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness",
- src.getModifiedItemAttr("eliteBonusReconShip2"), skill="Recon Ships")
diff --git a/eos/effects/shipbonusenergyneutfalloffrs3.py b/eos/effects/shipbonusenergyneutfalloffrs3.py
deleted file mode 100644
index 47434368d..000000000
--- a/eos/effects/shipbonusenergyneutfalloffrs3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutFalloffRS3
-#
-# Used by:
-# Ship: Curse
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness",
- src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")
diff --git a/eos/effects/shipbonusenergyneutoptimalab.py b/eos/effects/shipbonusenergyneutoptimalab.py
deleted file mode 100644
index c8a3351dc..000000000
--- a/eos/effects/shipbonusenergyneutoptimalab.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutOptimalAB
-#
-# Used by:
-# Ship: Armageddon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange",
- src.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonusenergyneutoptimalac1.py b/eos/effects/shipbonusenergyneutoptimalac1.py
deleted file mode 100644
index 10d1d5291..000000000
--- a/eos/effects/shipbonusenergyneutoptimalac1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutOptimalAC1
-#
-# Used by:
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusenergyneutoptimalad2.py b/eos/effects/shipbonusenergyneutoptimalad2.py
deleted file mode 100644
index de8d4804c..000000000
--- a/eos/effects/shipbonusenergyneutoptimalad2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutOptimalAD2
-#
-# Used by:
-# Ship: Dragoon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange",
- src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusenergyneutoptimalaf2.py b/eos/effects/shipbonusenergyneutoptimalaf2.py
deleted file mode 100644
index f85f88f75..000000000
--- a/eos/effects/shipbonusenergyneutoptimalaf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutOptimalAF2
-#
-# Used by:
-# Ship: Malice
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusenergyneutoptimaleaf1.py b/eos/effects/shipbonusenergyneutoptimaleaf1.py
deleted file mode 100644
index f78e0b1ea..000000000
--- a/eos/effects/shipbonusenergyneutoptimaleaf1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusEnergyNeutOptimalEAF1
-#
-# Used by:
-# Ship: Sentinel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange",
- src.getModifiedItemAttr("eliteBonusElectronicAttackShip1"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/shipbonusenergyneutoptimalrs1.py b/eos/effects/shipbonusenergyneutoptimalrs1.py
deleted file mode 100644
index f6141a967..000000000
--- a/eos/effects/shipbonusenergyneutoptimalrs1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutOptimalRS1
-#
-# Used by:
-# Ship: Curse
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange",
- src.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships")
diff --git a/eos/effects/shipbonusenergyneutoptimalrs3.py b/eos/effects/shipbonusenergyneutoptimalrs3.py
deleted file mode 100644
index 9f7dab064..000000000
--- a/eos/effects/shipbonusenergyneutoptimalrs3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNeutOptimalRS3
-#
-# Used by:
-# Ship: Pilgrim
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange",
- src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")
diff --git a/eos/effects/shipbonusenergynosfalloffab2.py b/eos/effects/shipbonusenergynosfalloffab2.py
deleted file mode 100644
index 153506b06..000000000
--- a/eos/effects/shipbonusenergynosfalloffab2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosFalloffAB2
-#
-# Used by:
-# Ship: Armageddon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonusenergynosfalloffac3.py b/eos/effects/shipbonusenergynosfalloffac3.py
deleted file mode 100644
index 5bc01aab7..000000000
--- a/eos/effects/shipbonusenergynosfalloffac3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosFalloffAC3
-#
-# Used by:
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonusAC3"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusenergynosfalloffad1.py b/eos/effects/shipbonusenergynosfalloffad1.py
deleted file mode 100644
index 1de9dcb6f..000000000
--- a/eos/effects/shipbonusenergynosfalloffad1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosFalloffAD1
-#
-# Used by:
-# Ship: Dragoon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusenergynosfalloffaf3.py b/eos/effects/shipbonusenergynosfalloffaf3.py
deleted file mode 100644
index 9316fbb76..000000000
--- a/eos/effects/shipbonusenergynosfalloffaf3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosFalloffAF3
-#
-# Used by:
-# Ship: Malice
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonus3AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusenergynosfalloffeaf3.py b/eos/effects/shipbonusenergynosfalloffeaf3.py
deleted file mode 100644
index 74f6b4ceb..000000000
--- a/eos/effects/shipbonusenergynosfalloffeaf3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusEnergyNosFalloffEAF3
-#
-# Used by:
-# Ship: Sentinel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness",
- src.getModifiedItemAttr("eliteBonusElectronicAttackShip3"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/shipbonusenergynosfalloffrs2.py b/eos/effects/shipbonusenergynosfalloffrs2.py
deleted file mode 100644
index 372b2f1c3..000000000
--- a/eos/effects/shipbonusenergynosfalloffrs2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosFalloffRS2
-#
-# Used by:
-# Ship: Pilgrim
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness",
- src.getModifiedItemAttr("eliteBonusReconShip2"), skill="Recon Ships")
diff --git a/eos/effects/shipbonusenergynosfalloffrs3.py b/eos/effects/shipbonusenergynosfalloffrs3.py
deleted file mode 100644
index d02b92b95..000000000
--- a/eos/effects/shipbonusenergynosfalloffrs3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosFalloffRS3
-#
-# Used by:
-# Ship: Curse
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness",
- src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")
diff --git a/eos/effects/shipbonusenergynosoptimalab.py b/eos/effects/shipbonusenergynosoptimalab.py
deleted file mode 100644
index a3075262c..000000000
--- a/eos/effects/shipbonusenergynosoptimalab.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosOptimalAB
-#
-# Used by:
-# Ship: Armageddon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange",
- src.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonusenergynosoptimalac1.py b/eos/effects/shipbonusenergynosoptimalac1.py
deleted file mode 100644
index d2c101bbd..000000000
--- a/eos/effects/shipbonusenergynosoptimalac1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosOptimalAC1
-#
-# Used by:
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusenergynosoptimalad2.py b/eos/effects/shipbonusenergynosoptimalad2.py
deleted file mode 100644
index 7d7e516b8..000000000
--- a/eos/effects/shipbonusenergynosoptimalad2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosOptimalAD2
-#
-# Used by:
-# Ship: Dragoon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange",
- src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusenergynosoptimalaf2.py b/eos/effects/shipbonusenergynosoptimalaf2.py
deleted file mode 100644
index 4b6adf6f8..000000000
--- a/eos/effects/shipbonusenergynosoptimalaf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosOptimalAF2
-#
-# Used by:
-# Ship: Malice
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusenergynosoptimaleaf1.py b/eos/effects/shipbonusenergynosoptimaleaf1.py
deleted file mode 100644
index 0de8a02d8..000000000
--- a/eos/effects/shipbonusenergynosoptimaleaf1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusEnergyNosOptimalEAF1
-#
-# Used by:
-# Ship: Sentinel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange",
- src.getModifiedItemAttr("eliteBonusElectronicAttackShip1"),
- skill="Electronic Attack Ships")
diff --git a/eos/effects/shipbonusenergynosoptimalrs1.py b/eos/effects/shipbonusenergynosoptimalrs1.py
deleted file mode 100644
index 8eaf6c305..000000000
--- a/eos/effects/shipbonusenergynosoptimalrs1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosOptimalRS1
-#
-# Used by:
-# Ship: Curse
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange",
- src.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships")
diff --git a/eos/effects/shipbonusenergynosoptimalrs3.py b/eos/effects/shipbonusenergynosoptimalrs3.py
deleted file mode 100644
index 670f0c701..000000000
--- a/eos/effects/shipbonusenergynosoptimalrs3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEnergyNosOptimalRS3
-#
-# Used by:
-# Ship: Pilgrim
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange",
- src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")
diff --git a/eos/effects/shipbonusewremotesensordampenerfalloffbonusgc1.py b/eos/effects/shipbonusewremotesensordampenerfalloffbonusgc1.py
deleted file mode 100644
index 0152e33bd..000000000
--- a/eos/effects/shipbonusewremotesensordampenerfalloffbonusgc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusEwRemoteSensorDampenerFalloffBonusGC1
-#
-# Used by:
-# Ship: Celestis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "falloffEffectiveness", ship.getModifiedItemAttr("shipBonusGC"),
- skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusewremotesensordampenermaxtargetrangebonusgc2.py b/eos/effects/shipbonusewremotesensordampenermaxtargetrangebonusgc2.py
deleted file mode 100644
index 7d1afd2ed..000000000
--- a/eos/effects/shipbonusewremotesensordampenermaxtargetrangebonusgc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusGC2
-#
-# Used by:
-# Variations of ship: Celestis (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "maxTargetRangeBonus", ship.getModifiedItemAttr("shipBonusGC2"),
- skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusewremotesensordampenermaxtargetrangebonusgf2.py b/eos/effects/shipbonusewremotesensordampenermaxtargetrangebonusgf2.py
deleted file mode 100644
index bbfd54a57..000000000
--- a/eos/effects/shipbonusewremotesensordampenermaxtargetrangebonusgf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusGF2
-#
-# Used by:
-# Ship: Keres
-# Ship: Maulus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "maxTargetRangeBonus", ship.getModifiedItemAttr("shipBonusGF2"),
- skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusewremotesensordampenermaxtargetrangebonusrookie.py b/eos/effects/shipbonusewremotesensordampenermaxtargetrangebonusrookie.py
deleted file mode 100644
index 82fb26288..000000000
--- a/eos/effects/shipbonusewremotesensordampenermaxtargetrangebonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEwRemoteSensorDampenerMaxTargetRangeBonusRookie
-#
-# Used by:
-# Ship: Velator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "maxTargetRangeBonus", ship.getModifiedItemAttr("rookieDampStrengthBonus"))
diff --git a/eos/effects/shipbonusewremotesensordampeneroptimalbonusgc1.py b/eos/effects/shipbonusewremotesensordampeneroptimalbonusgc1.py
deleted file mode 100644
index 2c87e50e9..000000000
--- a/eos/effects/shipbonusewremotesensordampeneroptimalbonusgc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEwRemoteSensorDampenerOptimalBonusGC1
-#
-# Used by:
-# Ship: Celestis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "maxRange", ship.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusewremotesensordampenerscanresolutionbonusgc2.py b/eos/effects/shipbonusewremotesensordampenerscanresolutionbonusgc2.py
deleted file mode 100644
index b8b1259dc..000000000
--- a/eos/effects/shipbonusewremotesensordampenerscanresolutionbonusgc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusEwRemoteSensorDampenerScanResolutionBonusGC2
-#
-# Used by:
-# Variations of ship: Celestis (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "scanResolutionBonus", ship.getModifiedItemAttr("shipBonusGC2"),
- skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusewremotesensordampenerscanresolutionbonusgf2.py b/eos/effects/shipbonusewremotesensordampenerscanresolutionbonusgf2.py
deleted file mode 100644
index ede9c9d7e..000000000
--- a/eos/effects/shipbonusewremotesensordampenerscanresolutionbonusgf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusEwRemoteSensorDampenerScanResolutionBonusGF2
-#
-# Used by:
-# Ship: Keres
-# Ship: Maulus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "scanResolutionBonus", ship.getModifiedItemAttr("shipBonusGF2"),
- skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusewremotesensordampenerscanresolutionbonusrookie.py b/eos/effects/shipbonusewremotesensordampenerscanresolutionbonusrookie.py
deleted file mode 100644
index 6cc41c30d..000000000
--- a/eos/effects/shipbonusewremotesensordampenerscanresolutionbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusEwRemoteSensorDampenerScanResolutionBonusRookie
-#
-# Used by:
-# Ship: Velator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "scanResolutionBonus", ship.getModifiedItemAttr("rookieDampStrengthBonus"))
diff --git a/eos/effects/shipbonusewweapondisruptionstrengthac1.py b/eos/effects/shipbonusewweapondisruptionstrengthac1.py
deleted file mode 100644
index 6ac7ea077..000000000
--- a/eos/effects/shipbonusewweapondisruptionstrengthac1.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# shipBonusEwWeaponDisruptionStrengthAC1
-#
-# Used by:
-# Variations of ship: Arbitrator (3 of 3)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "missileVelocityBonus",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "aoeVelocityBonus",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "maxRangeBonus",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "explosionDelayBonus",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "aoeCloudSizeBonus",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "trackingSpeedBonus",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "falloffBonus",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusewweapondisruptionstrengthaf2.py b/eos/effects/shipbonusewweapondisruptionstrengthaf2.py
deleted file mode 100644
index d7955172b..000000000
--- a/eos/effects/shipbonusewweapondisruptionstrengthaf2.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# shipBonusEwWeaponDisruptionStrengthAF2
-#
-# Used by:
-# Variations of ship: Crucifier (3 of 3)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "trackingSpeedBonus",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "explosionDelayBonus",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "maxRangeBonus",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "falloffBonus",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "missileVelocityBonus",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "aoeVelocityBonus",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "aoeCloudSizeBonus",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusexplosivearmorresistancead2.py b/eos/effects/shipbonusexplosivearmorresistancead2.py
deleted file mode 100644
index a1e2cc1c8..000000000
--- a/eos/effects/shipbonusexplosivearmorresistancead2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusExplosiveArmorResistanceAD2
-#
-# Used by:
-# Ship: Pontifex
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusAD2"),
- skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusexplosivearmorresistancegd2.py b/eos/effects/shipbonusexplosivearmorresistancegd2.py
deleted file mode 100644
index 37c731132..000000000
--- a/eos/effects/shipbonusexplosivearmorresistancegd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusExplosiveArmorResistanceGD2
-#
-# Used by:
-# Ship: Magus
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusGD2"),
- skill="Gallente Destroyer")
diff --git a/eos/effects/shipbonusexplosivemissiledamagecd1.py b/eos/effects/shipbonusexplosivemissiledamagecd1.py
deleted file mode 100644
index b7c2293f7..000000000
--- a/eos/effects/shipbonusexplosivemissiledamagecd1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusExplosiveMissileDamageCD1
-#
-# Used by:
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosiveDamage", src.getModifiedItemAttr("shipBonusCD1"),
- skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusexplosivemissiledmgmd1.py b/eos/effects/shipbonusexplosivemissiledmgmd1.py
deleted file mode 100644
index b6b2dd692..000000000
--- a/eos/effects/shipbonusexplosivemissiledmgmd1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusExplosiveMissileDmgMD1
-#
-# Used by:
-# Ship: Bifrost
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosiveDamage", src.getModifiedItemAttr("shipBonusMD1"),
- skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonusexplosiveshieldresistancecb2.py b/eos/effects/shipbonusexplosiveshieldresistancecb2.py
deleted file mode 100644
index 8c1459e98..000000000
--- a/eos/effects/shipbonusexplosiveshieldresistancecb2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusExplosiveShieldResistanceCB2
-#
-# Used by:
-# Ship: Rattlesnake
-# Ship: Rokh
-# Ship: Scorpion Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonus2CB"),
- skill="Caldari Battleship")
diff --git a/eos/effects/shipbonusexplosiveshieldresistancemd2.py b/eos/effects/shipbonusexplosiveshieldresistancemd2.py
deleted file mode 100644
index b9f93788b..000000000
--- a/eos/effects/shipbonusexplosiveshieldresistancemd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusExplosiveShieldResistanceMD2
-#
-# Used by:
-# Ship: Bifrost
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusMD2"),
- skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonusforceauxiliarya1nosferatudrainamount.py b/eos/effects/shipbonusforceauxiliarya1nosferatudrainamount.py
deleted file mode 100644
index 113c0e899..000000000
--- a/eos/effects/shipbonusforceauxiliarya1nosferatudrainamount.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusForceAuxiliaryA1NosferatuDrainAmount
-#
-# Used by:
-# Ship: Dagon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount", src.getModifiedItemAttr("shipBonusForceAuxiliaryA1"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonusforceauxiliarya1nosferaturangebonus.py b/eos/effects/shipbonusforceauxiliarya1nosferaturangebonus.py
deleted file mode 100644
index f3a1d2a62..000000000
--- a/eos/effects/shipbonusforceauxiliarya1nosferaturangebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusForceAuxiliaryA1NosferatuRangeBonus
-#
-# Used by:
-# Ship: Dagon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "maxRange", src.getModifiedItemAttr("shipBonusForceAuxiliaryA1"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "falloffEffectiveness", src.getModifiedItemAttr("shipBonusForceAuxiliaryA1"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonusforceauxiliarya1remoterepairandcapamount.py b/eos/effects/shipbonusforceauxiliarya1remoterepairandcapamount.py
deleted file mode 100644
index 2ae2102d6..000000000
--- a/eos/effects/shipbonusforceauxiliarya1remoterepairandcapamount.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusForceAuxiliaryA1RemoteRepairAndCapAmount
-#
-# Used by:
-# Ship: Apostle
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capacitor Emission Systems") or
- mod.item.requiresSkill("Capital Capacitor Emission Systems"),
- "powerTransferAmount", src.getModifiedItemAttr("shipBonusForceAuxiliaryA1"),
- skill="Amarr Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems") or
- mod.item.requiresSkill("Capital Remote Armor Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("shipBonusForceAuxiliaryA1"),
- skill="Amarr Carrier")
diff --git a/eos/effects/shipbonusforceauxiliarya2armorresists.py b/eos/effects/shipbonusforceauxiliarya2armorresists.py
deleted file mode 100644
index 38dc7efd9..000000000
--- a/eos/effects/shipbonusforceauxiliarya2armorresists.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusForceAuxiliaryA2ArmorResists
-#
-# Used by:
-# Ship: Apostle
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusForceAuxiliaryA2"),
- skill="Amarr Carrier")
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusForceAuxiliaryA2"),
- skill="Amarr Carrier")
- fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusForceAuxiliaryA2"),
- skill="Amarr Carrier")
- fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusForceAuxiliaryA2"),
- skill="Amarr Carrier")
diff --git a/eos/effects/shipbonusforceauxiliarya4warfarelinksbonus.py b/eos/effects/shipbonusforceauxiliarya4warfarelinksbonus.py
deleted file mode 100644
index 824f57069..000000000
--- a/eos/effects/shipbonusforceauxiliarya4warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusForceAuxiliaryA4WarfareLinksBonus
-#
-# Used by:
-# Ship: Apostle
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command") or
- mod.item.requiresSkill("Information Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryA4"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command") or
- mod.item.requiresSkill("Information Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryA4"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command") or
- mod.item.requiresSkill("Information Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryA4"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command") or
- mod.item.requiresSkill("Information Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusForceAuxiliaryA4"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command") or
- mod.item.requiresSkill("Information Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryA4"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonusforceauxiliaryc1remoteboostandcapamount.py b/eos/effects/shipbonusforceauxiliaryc1remoteboostandcapamount.py
deleted file mode 100644
index 952cbb532..000000000
--- a/eos/effects/shipbonusforceauxiliaryc1remoteboostandcapamount.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# shipBonusForceAuxiliaryC1RemoteBoostAndCapAmount
-#
-# Used by:
-# Ship: Minokawa
-type = "passive"
-
-
-def handler(fit, src, context):
- if src.getModifiedItemAttr("shipBonusForceAuxiliaryC1") is None:
- return # See GH Issue 1321
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capacitor Emission Systems") or
- mod.item.requiresSkill("Capital Capacitor Emission Systems"),
- "powerTransferAmount", src.getModifiedItemAttr("shipBonusForceAuxiliaryC1"),
- skill="Caldari Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems") or
- mod.item.requiresSkill("Capital Shield Emission Systems"),
- "shieldBonus", src.getModifiedItemAttr("shipBonusForceAuxiliaryC1"),
- skill="Caldari Carrier")
diff --git a/eos/effects/shipbonusforceauxiliaryc2shieldresists.py b/eos/effects/shipbonusforceauxiliaryc2shieldresists.py
deleted file mode 100644
index b18ae263a..000000000
--- a/eos/effects/shipbonusforceauxiliaryc2shieldresists.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusForceAuxiliaryC2ShieldResists
-#
-# Used by:
-# Variations of ship: Minokawa (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusForceAuxiliaryC2"),
- skill="Caldari Carrier")
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusForceAuxiliaryC2"),
- skill="Caldari Carrier")
- fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusForceAuxiliaryC2"),
- skill="Caldari Carrier")
- fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusForceAuxiliaryC2"),
- skill="Caldari Carrier")
diff --git a/eos/effects/shipbonusforceauxiliaryc4warfarelinksbonus.py b/eos/effects/shipbonusforceauxiliaryc4warfarelinksbonus.py
deleted file mode 100644
index fda300de2..000000000
--- a/eos/effects/shipbonusforceauxiliaryc4warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusForceAuxiliaryC4WarfareLinksBonus
-#
-# Used by:
-# Ship: Minokawa
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryC4"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryC4"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryC4"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusForceAuxiliaryC4"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryC4"), skill="Caldari Carrier")
diff --git a/eos/effects/shipbonusforceauxiliaryg1remotecycletime.py b/eos/effects/shipbonusforceauxiliaryg1remotecycletime.py
deleted file mode 100644
index 3ae370e41..000000000
--- a/eos/effects/shipbonusforceauxiliaryg1remotecycletime.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusForceAuxiliaryG1RemoteCycleTime
-#
-# Used by:
-# Ship: Ninazu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems") or
- mod.item.requiresSkill("Capital Shield Emission Systems"),
- "duration", src.getModifiedItemAttr("shipBonusForceAuxiliaryG1"),
- skill="Gallente Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems") or
- mod.item.requiresSkill("Capital Remote Armor Repair Systems"),
- "duration", src.getModifiedItemAttr("shipBonusForceAuxiliaryG1"),
- skill="Gallente Carrier")
diff --git a/eos/effects/shipbonusforceauxiliaryg1remoteshieldboostamount.py b/eos/effects/shipbonusforceauxiliaryg1remoteshieldboostamount.py
deleted file mode 100644
index 08c87ce85..000000000
--- a/eos/effects/shipbonusforceauxiliaryg1remoteshieldboostamount.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusForceAuxiliaryG1RemoteShieldBoostAmount
-#
-# Used by:
-# Ship: Loggerhead
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), "shieldBonus",
- src.getModifiedItemAttr("shipBonusForceAuxiliaryG1"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonusforceauxiliaryg2localrepairamount.py b/eos/effects/shipbonusforceauxiliaryg2localrepairamount.py
deleted file mode 100644
index bdbefdd49..000000000
--- a/eos/effects/shipbonusforceauxiliaryg2localrepairamount.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusForceAuxiliaryG2LocalRepairAmount
-#
-# Used by:
-# Ship: Ninazu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "armorDamageAmount",
- src.getModifiedItemAttr("shipBonusForceAuxiliaryG2"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"), "armorDamageAmount",
- src.getModifiedItemAttr("shipBonusForceAuxiliaryG2"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonusforceauxiliaryg4warfarelinksbonus.py b/eos/effects/shipbonusforceauxiliaryg4warfarelinksbonus.py
deleted file mode 100644
index 63efca50e..000000000
--- a/eos/effects/shipbonusforceauxiliaryg4warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusForceAuxiliaryG4WarfareLinksBonus
-#
-# Used by:
-# Ship: Ninazu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryG4"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryG4"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusForceAuxiliaryG4"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryG4"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryG4"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonusforceauxiliarym1remotearmorrepairduration.py b/eos/effects/shipbonusforceauxiliarym1remotearmorrepairduration.py
deleted file mode 100644
index fd4dca81a..000000000
--- a/eos/effects/shipbonusforceauxiliarym1remotearmorrepairduration.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusForceAuxiliaryM1RemoteArmorRepairDuration
-#
-# Used by:
-# Ship: Dagon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "duration", src.getModifiedItemAttr("shipBonusForceAuxiliaryM1"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonusforceauxiliarym1remoteduration.py b/eos/effects/shipbonusforceauxiliarym1remoteduration.py
deleted file mode 100644
index 71d8d8e07..000000000
--- a/eos/effects/shipbonusforceauxiliarym1remoteduration.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipBonusForceAuxiliaryM1RemoteDuration
-#
-# Used by:
-# Ship: Lif
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems") or
- mod.item.requiresSkill("Capital Shield Emission Systems"),
- "duration", src.getModifiedItemAttr("shipBonusForceAuxiliaryM1"),
- skill="Minmatar Carrier")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems") or
- mod.item.requiresSkill("Capital Remote Armor Repair Systems"),
- "duration", src.getModifiedItemAttr("shipBonusForceAuxiliaryM1"),
- skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonusforceauxiliarym2localboostamount.py b/eos/effects/shipbonusforceauxiliarym2localboostamount.py
deleted file mode 100644
index 2bff2d794..000000000
--- a/eos/effects/shipbonusforceauxiliarym2localboostamount.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusForceAuxiliaryM2LocalBoostAmount
-#
-# Used by:
-# Ship: Lif
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"), "shieldBonus",
- src.getModifiedItemAttr("shipBonusForceAuxiliaryM2"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"), "shieldBonus",
- src.getModifiedItemAttr("shipBonusForceAuxiliaryM2"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonusforceauxiliarym2localrepairamount.py b/eos/effects/shipbonusforceauxiliarym2localrepairamount.py
deleted file mode 100644
index 00531404a..000000000
--- a/eos/effects/shipbonusforceauxiliarym2localrepairamount.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusForceAuxiliaryM2LocalRepairAmount
-#
-# Used by:
-# Ship: Dagon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("shipBonusForceAuxiliaryM2"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("shipBonusForceAuxiliaryM2"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonusforceauxiliarym4warfarelinksbonus.py b/eos/effects/shipbonusforceauxiliarym4warfarelinksbonus.py
deleted file mode 100644
index df5b5181b..000000000
--- a/eos/effects/shipbonusforceauxiliarym4warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusForceAuxiliaryM4WarfareLinksBonus
-#
-# Used by:
-# Ship: Lif
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryM4"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryM4"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryM4"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusForceAuxiliaryM4"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusForceAuxiliaryM4"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonusfrigatesizedlightmissileexplosivedamagemd1.py b/eos/effects/shipbonusfrigatesizedlightmissileexplosivedamagemd1.py
deleted file mode 100644
index 28ce0aedb..000000000
--- a/eos/effects/shipbonusfrigatesizedlightmissileexplosivedamagemd1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusFrigateSizedLightMissileExplosiveDamageMD1
-#
-# Used by:
-# Ship: Talwar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusMD1"),
- skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonusfrigatesizedmissilekineticdamagecd1.py b/eos/effects/shipbonusfrigatesizedmissilekineticdamagecd1.py
deleted file mode 100644
index efb861fb9..000000000
--- a/eos/effects/shipbonusfrigatesizedmissilekineticdamagecd1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusFrigateSizedMissileKineticDamageCD1
-#
-# Used by:
-# Ship: Corax
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCD1"),
- skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusgf1torpedoflighttime.py b/eos/effects/shipbonusgf1torpedoflighttime.py
deleted file mode 100644
index 7fe141ec6..000000000
--- a/eos/effects/shipbonusgf1torpedoflighttime.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusGF1TorpedoFlightTime
-#
-# Used by:
-# Ship: Nemesis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "explosionDelay", ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusgftorpedoexplosionvelocity.py b/eos/effects/shipbonusgftorpedoexplosionvelocity.py
deleted file mode 100644
index d7cd8a67e..000000000
--- a/eos/effects/shipbonusgftorpedoexplosionvelocity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusGFTorpedoExplosionVelocity
-#
-# Used by:
-# Ship: Nemesis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "aoeVelocity", ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonushamvelocityelitebonusheavygunship1.py b/eos/effects/shipbonushamvelocityelitebonusheavygunship1.py
deleted file mode 100644
index 59e546543..000000000
--- a/eos/effects/shipbonushamvelocityelitebonusheavygunship1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusHAMVelocityEliteBonusHeavyGunship1
-#
-# Used by:
-# Ship: Sacrilege
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/shipbonusheatdamageatf1.py b/eos/effects/shipbonusheatdamageatf1.py
deleted file mode 100644
index d6dfc2597..000000000
--- a/eos/effects/shipbonusheatdamageatf1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusHeatDamageATF1
-#
-# Used by:
-# Ship: Cambion
-# Ship: Etana
-# Ship: Utu
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- ship.getModifiedItemAttr("shipBonusATF1"))
diff --git a/eos/effects/shipbonusheavyassaultmissilealldamagemc2.py b/eos/effects/shipbonusheavyassaultmissilealldamagemc2.py
deleted file mode 100644
index 12e3673b4..000000000
--- a/eos/effects/shipbonusheavyassaultmissilealldamagemc2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusHeavyAssaultMissileAllDamageMC2
-#
-# Used by:
-# Ship: Rapier
-# Ship: Scythe Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- for damageType in ("em", "explosive", "kinetic", "thermal"):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "{0}Damage".format(damageType), ship.getModifiedItemAttr("shipBonusMC2"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonusheavyassaultmissileemdamagecbc2.py b/eos/effects/shipbonusheavyassaultmissileemdamagecbc2.py
deleted file mode 100644
index dc9dfef75..000000000
--- a/eos/effects/shipbonusheavyassaultmissileemdamagecbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyAssaultMissileEMDamageCBC2
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"), "emDamage",
- src.getModifiedItemAttr("shipBonusCBC2"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavyassaultmissileexplosivedamagecbc2.py b/eos/effects/shipbonusheavyassaultmissileexplosivedamagecbc2.py
deleted file mode 100644
index 3ea3ea593..000000000
--- a/eos/effects/shipbonusheavyassaultmissileexplosivedamagecbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyAssaultMissileExplosiveDamageCBC2
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusCBC2"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavyassaultmissilekineticdamagecbc1.py b/eos/effects/shipbonusheavyassaultmissilekineticdamagecbc1.py
deleted file mode 100644
index 4843ac63b..000000000
--- a/eos/effects/shipbonusheavyassaultmissilekineticdamagecbc1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusHeavyAssaultMissileKineticDamageCBC1
-#
-# Used by:
-# Ship: Drake
-# Ship: Nighthawk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCBC1"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavyassaultmissilekineticdamagecbc2.py b/eos/effects/shipbonusheavyassaultmissilekineticdamagecbc2.py
deleted file mode 100644
index fdb946508..000000000
--- a/eos/effects/shipbonusheavyassaultmissilekineticdamagecbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyAssaultMissileKineticDamageCBC2
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "kineticDamage", src.getModifiedItemAttr("shipBonusCBC2"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavyassaultmissilelauncherrofmbc2.py b/eos/effects/shipbonusheavyassaultmissilelauncherrofmbc2.py
deleted file mode 100644
index 85820f30e..000000000
--- a/eos/effects/shipbonusheavyassaultmissilelauncherrofmbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyAssaultMissileLauncherRofMBC2
-#
-# Used by:
-# Variations of ship: Cyclone (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault",
- "speed", ship.getModifiedItemAttr("shipBonusMBC2"), skill="Minmatar Battlecruiser")
diff --git a/eos/effects/shipbonusheavyassaultmissilethermaldamagecbc2.py b/eos/effects/shipbonusheavyassaultmissilethermaldamagecbc2.py
deleted file mode 100644
index dd3e5b94a..000000000
--- a/eos/effects/shipbonusheavyassaultmissilethermaldamagecbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyAssaultMissileThermalDamageCBC2
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "thermalDamage", src.getModifiedItemAttr("shipBonusCBC2"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavydronearmorhpgc2.py b/eos/effects/shipbonusheavydronearmorhpgc2.py
deleted file mode 100644
index 296ebfce8..000000000
--- a/eos/effects/shipbonusheavydronearmorhpgc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDroneArmorHPGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "armorHP", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusheavydronearmorhppiratefaction.py b/eos/effects/shipbonusheavydronearmorhppiratefaction.py
deleted file mode 100644
index 244690dca..000000000
--- a/eos/effects/shipbonusheavydronearmorhppiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDroneArmorHpPirateFaction
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "armorHP", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusheavydronedamagemultipliergc2.py b/eos/effects/shipbonusheavydronedamagemultipliergc2.py
deleted file mode 100644
index f144bd698..000000000
--- a/eos/effects/shipbonusheavydronedamagemultipliergc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDroneDamageMultiplierGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusheavydronedamagemultiplierpiratefaction.py b/eos/effects/shipbonusheavydronedamagemultiplierpiratefaction.py
deleted file mode 100644
index 8f38f24ee..000000000
--- a/eos/effects/shipbonusheavydronedamagemultiplierpiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDroneDamageMultiplierPirateFaction
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusheavydronehpgc2.py b/eos/effects/shipbonusheavydronehpgc2.py
deleted file mode 100644
index 8ddebf251..000000000
--- a/eos/effects/shipbonusheavydronehpgc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDroneHPGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "hp", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusheavydronehppiratefaction.py b/eos/effects/shipbonusheavydronehppiratefaction.py
deleted file mode 100644
index c05b7da76..000000000
--- a/eos/effects/shipbonusheavydronehppiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDroneHPPirateFaction
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "hp", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusheavydroneshieldhpgc2.py b/eos/effects/shipbonusheavydroneshieldhpgc2.py
deleted file mode 100644
index 82e112d19..000000000
--- a/eos/effects/shipbonusheavydroneshieldhpgc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDroneShieldHPGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusheavydroneshieldhppiratefaction.py b/eos/effects/shipbonusheavydroneshieldhppiratefaction.py
deleted file mode 100644
index 6fd8b4d3d..000000000
--- a/eos/effects/shipbonusheavydroneshieldhppiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDroneShieldHpPirateFaction
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusheavydronespeedgc.py b/eos/effects/shipbonusheavydronespeedgc.py
deleted file mode 100644
index 4f7113218..000000000
--- a/eos/effects/shipbonusheavydronespeedgc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDroneSpeedGC
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusheavydronetrackinggc.py b/eos/effects/shipbonusheavydronetrackinggc.py
deleted file mode 100644
index d306134b2..000000000
--- a/eos/effects/shipbonusheavydronetrackinggc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyDRoneTrackingGC
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusheavymissilealldamagemc2.py b/eos/effects/shipbonusheavymissilealldamagemc2.py
deleted file mode 100644
index cd0e38e60..000000000
--- a/eos/effects/shipbonusheavymissilealldamagemc2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusHeavyMissileAllDamageMC2
-#
-# Used by:
-# Ship: Rapier
-# Ship: Scythe Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- for damageType in ("em", "explosive", "kinetic", "thermal"):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "{0}Damage".format(damageType), ship.getModifiedItemAttr("shipBonusMC2"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonusheavymissileemdamagecbc2.py b/eos/effects/shipbonusheavymissileemdamagecbc2.py
deleted file mode 100644
index a2e53af5a..000000000
--- a/eos/effects/shipbonusheavymissileemdamagecbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyMissileEMDamageCBC2
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "emDamage", src.getModifiedItemAttr("shipBonusCBC2"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavymissileemdmgmb.py b/eos/effects/shipbonusheavymissileemdmgmb.py
deleted file mode 100644
index 18cc901a9..000000000
--- a/eos/effects/shipbonusheavymissileemdmgmb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyMissileEMDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "emDamage", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusheavymissileexplodmgmb.py b/eos/effects/shipbonusheavymissileexplodmgmb.py
deleted file mode 100644
index 917596584..000000000
--- a/eos/effects/shipbonusheavymissileexplodmgmb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusHeavyMissileExploDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusheavymissileexplosivedamagecbc2.py b/eos/effects/shipbonusheavymissileexplosivedamagecbc2.py
deleted file mode 100644
index c4a2df83e..000000000
--- a/eos/effects/shipbonusheavymissileexplosivedamagecbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyMissileExplosiveDamageCBC2
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusCBC2"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavymissilekineticdamagecbc1.py b/eos/effects/shipbonusheavymissilekineticdamagecbc1.py
deleted file mode 100644
index 83f591980..000000000
--- a/eos/effects/shipbonusheavymissilekineticdamagecbc1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusHeavyMissileKineticDamageCBC1
-#
-# Used by:
-# Ship: Drake
-# Ship: Nighthawk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCBC1"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavymissilekineticdamagecbc2.py b/eos/effects/shipbonusheavymissilekineticdamagecbc2.py
deleted file mode 100644
index f9ef052fa..000000000
--- a/eos/effects/shipbonusheavymissilekineticdamagecbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyMissileKineticDamageCBC2
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusCBC2"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavymissilekineticdmgmb.py b/eos/effects/shipbonusheavymissilekineticdmgmb.py
deleted file mode 100644
index 5e2f0da29..000000000
--- a/eos/effects/shipbonusheavymissilekineticdmgmb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusHeavyMissileKineticDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusheavymissilelauncherrofmbc2.py b/eos/effects/shipbonusheavymissilelauncherrofmbc2.py
deleted file mode 100644
index 7622c3d1d..000000000
--- a/eos/effects/shipbonusheavymissilelauncherrofmbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyMissileLauncherRofMBC2
-#
-# Used by:
-# Variations of ship: Cyclone (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy",
- "speed", ship.getModifiedItemAttr("shipBonusMBC2"), skill="Minmatar Battlecruiser")
diff --git a/eos/effects/shipbonusheavymissilethermaldamagecbc2.py b/eos/effects/shipbonusheavymissilethermaldamagecbc2.py
deleted file mode 100644
index cf22a33c3..000000000
--- a/eos/effects/shipbonusheavymissilethermaldamagecbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHeavyMissileThermalDamageCBC2
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusCBC2"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipbonusheavymissilethermdmgmb.py b/eos/effects/shipbonusheavymissilethermdmgmb.py
deleted file mode 100644
index d4406c6b6..000000000
--- a/eos/effects/shipbonusheavymissilethermdmgmb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusHeavyMissileThermDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonushmlemdamageac.py b/eos/effects/shipbonushmlemdamageac.py
deleted file mode 100644
index 464e8d6ac..000000000
--- a/eos/effects/shipbonushmlemdamageac.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHMLEMDamageAC
-#
-# Used by:
-# Ship: Sacrilege
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "emDamage", ship.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonushmlexplodamageac.py b/eos/effects/shipbonushmlexplodamageac.py
deleted file mode 100644
index c22b7f6ba..000000000
--- a/eos/effects/shipbonushmlexplodamageac.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHMLExploDamageAC
-#
-# Used by:
-# Ship: Sacrilege
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonushmlkineticdamageac.py b/eos/effects/shipbonushmlkineticdamageac.py
deleted file mode 100644
index adecc7914..000000000
--- a/eos/effects/shipbonushmlkineticdamageac.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHMLKineticDamageAC
-#
-# Used by:
-# Ship: Sacrilege
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonushmlthermdamageac.py b/eos/effects/shipbonushmlthermdamageac.py
deleted file mode 100644
index 663ee7a44..000000000
--- a/eos/effects/shipbonushmlthermdamageac.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHMLThermDamageAC
-#
-# Used by:
-# Ship: Sacrilege
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonushmlvelocityelitebonusheavygunship1.py b/eos/effects/shipbonushmlvelocityelitebonusheavygunship1.py
deleted file mode 100644
index 1275a2e99..000000000
--- a/eos/effects/shipbonushmlvelocityelitebonusheavygunship1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusHMLVelocityEliteBonusHeavyGunship1
-#
-# Used by:
-# Ship: Sacrilege
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("eliteBonusHeavyGunship1"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/shipbonushtfalloffgb2.py b/eos/effects/shipbonushtfalloffgb2.py
deleted file mode 100644
index f8a66395d..000000000
--- a/eos/effects/shipbonushtfalloffgb2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHTFalloffGB2
-#
-# Used by:
-# Ship: Kronos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusGB2"), skill="Gallente Battleship")
diff --git a/eos/effects/shipbonushybridfalloffatc2.py b/eos/effects/shipbonushybridfalloffatc2.py
deleted file mode 100644
index b60d60618..000000000
--- a/eos/effects/shipbonushybridfalloffatc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHybridFalloffATC2
-#
-# Used by:
-# Ship: Adrestia
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusATC2"))
diff --git a/eos/effects/shipbonushybridoptimalcb.py b/eos/effects/shipbonushybridoptimalcb.py
deleted file mode 100644
index 5129958e9..000000000
--- a/eos/effects/shipbonushybridoptimalcb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHybridOptimalCB
-#
-# Used by:
-# Ship: Rokh
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipbonushybridtrackingatc2.py b/eos/effects/shipbonushybridtrackingatc2.py
deleted file mode 100644
index 9b6e8a4ec..000000000
--- a/eos/effects/shipbonushybridtrackingatc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusHybridTrackingATC2
-#
-# Used by:
-# Ship: Adrestia
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusATC2"))
diff --git a/eos/effects/shipbonushybridtrackinggf2.py b/eos/effects/shipbonushybridtrackinggf2.py
deleted file mode 100644
index 77b58a6d6..000000000
--- a/eos/effects/shipbonushybridtrackinggf2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusHybridTrackingGF2
-#
-# Used by:
-# Ship: Ares
-# Ship: Federation Navy Comet
-# Ship: Pacifier
-# Ship: Tristan
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusiceharvesterdurationore3.py b/eos/effects/shipbonusiceharvesterdurationore3.py
deleted file mode 100644
index 2e099cc24..000000000
--- a/eos/effects/shipbonusiceharvesterdurationore3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusIceHarvesterDurationORE3
-#
-# Used by:
-# Ships from group: Exhumer (3 of 3)
-# Ships from group: Mining Barge (3 of 3)
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
- "duration", container.getModifiedItemAttr("shipBonusORE3"), skill="Mining Barge")
diff --git a/eos/effects/shipbonusjustscramblerrangegf2.py b/eos/effects/shipbonusjustscramblerrangegf2.py
deleted file mode 100644
index 0c82717b2..000000000
--- a/eos/effects/shipbonusjustscramblerrangegf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusJustScramblerRangeGF2
-#
-# Used by:
-# Ship: Maulus Navy Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Navigation"), "maxRange",
- src.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonuskineticarmorresistancead2.py b/eos/effects/shipbonuskineticarmorresistancead2.py
deleted file mode 100644
index 2359565c0..000000000
--- a/eos/effects/shipbonuskineticarmorresistancead2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusKineticArmorResistanceAD2
-#
-# Used by:
-# Ship: Pontifex
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusAD2"),
- skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonuskineticarmorresistancegd2.py b/eos/effects/shipbonuskineticarmorresistancegd2.py
deleted file mode 100644
index 48b4afc6a..000000000
--- a/eos/effects/shipbonuskineticarmorresistancegd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusKineticArmorResistanceGD2
-#
-# Used by:
-# Ship: Magus
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusGD2"),
- skill="Gallente Destroyer")
diff --git a/eos/effects/shipbonuskineticmissiledamagecd1.py b/eos/effects/shipbonuskineticmissiledamagecd1.py
deleted file mode 100644
index 3f47a32e2..000000000
--- a/eos/effects/shipbonuskineticmissiledamagecd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusKineticMissileDamageCD1
-#
-# Used by:
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonuskineticmissiledamagegb2.py b/eos/effects/shipbonuskineticmissiledamagegb2.py
deleted file mode 100644
index 67a68211d..000000000
--- a/eos/effects/shipbonuskineticmissiledamagegb2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusKineticMissileDamageGB2
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusGB2"),
- skill="Gallente Battleship")
diff --git a/eos/effects/shipbonuskineticmissiledamagegc2.py b/eos/effects/shipbonuskineticmissiledamagegc2.py
deleted file mode 100644
index b4f538d2c..000000000
--- a/eos/effects/shipbonuskineticmissiledamagegc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusKineticMissileDamageGC2
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Gila
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonuskineticmissiledamagegf.py b/eos/effects/shipbonuskineticmissiledamagegf.py
deleted file mode 100644
index 8bd18e45a..000000000
--- a/eos/effects/shipbonuskineticmissiledamagegf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusKineticMissileDamageGF
-#
-# Used by:
-# Ship: Whiptail
-# Ship: Worm
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonuskineticmissiledmgmd1.py b/eos/effects/shipbonuskineticmissiledmgmd1.py
deleted file mode 100644
index ece38cb4e..000000000
--- a/eos/effects/shipbonuskineticmissiledmgmd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusKineticMissileDmgMD1
-#
-# Used by:
-# Ship: Bifrost
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonuskineticshieldresistancecb2.py b/eos/effects/shipbonuskineticshieldresistancecb2.py
deleted file mode 100644
index 257628fe1..000000000
--- a/eos/effects/shipbonuskineticshieldresistancecb2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusKineticShieldResistanceCB2
-#
-# Used by:
-# Ship: Rattlesnake
-# Ship: Rokh
-# Ship: Scorpion Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldKineticDamageResonance", ship.getModifiedItemAttr("shipBonus2CB"),
- skill="Caldari Battleship")
diff --git a/eos/effects/shipbonuskineticshieldresistancemd2.py b/eos/effects/shipbonuskineticshieldresistancemd2.py
deleted file mode 100644
index 81c08cc47..000000000
--- a/eos/effects/shipbonuskineticshieldresistancemd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusKineticShieldResistanceMD2
-#
-# Used by:
-# Ship: Bifrost
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusMD2"),
- skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonuslargeenergyturretmaxrangeab.py b/eos/effects/shipbonuslargeenergyturretmaxrangeab.py
deleted file mode 100644
index 795ddf9ef..000000000
--- a/eos/effects/shipbonuslargeenergyturretmaxrangeab.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusLargeEnergyTurretMaxRangeAB
-#
-# Used by:
-# Ship: Marshal
-# Ship: Paladin
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonuslargeenergyturretmaxrangeab2.py b/eos/effects/shipbonuslargeenergyturretmaxrangeab2.py
deleted file mode 100644
index cad976ce7..000000000
--- a/eos/effects/shipbonuslargeenergyturretmaxrangeab2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusLargeEnergyTurretMaxRangeAB2
-#
-# Used by:
-# Ship: Apocalypse
-# Ship: Apocalypse Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonuslargeenergyturrettrackingab.py b/eos/effects/shipbonuslargeenergyturrettrackingab.py
deleted file mode 100644
index 0ec7b3b4c..000000000
--- a/eos/effects/shipbonuslargeenergyturrettrackingab.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusLargeEnergyTurretTrackingAB
-#
-# Used by:
-# Ship: Apocalypse
-# Ship: Apocalypse Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")
diff --git a/eos/effects/shipbonuslargeenergyweapondamageab2.py b/eos/effects/shipbonuslargeenergyweapondamageab2.py
deleted file mode 100644
index ab92bb560..000000000
--- a/eos/effects/shipbonuslargeenergyweapondamageab2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusLargeEnergyWeaponDamageAB2
-#
-# Used by:
-# Ship: Abaddon
-# Ship: Marshal
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusAB2"),
- skill="Amarr Battleship")
diff --git a/eos/effects/shipbonuslargemissileflighttimecb1.py b/eos/effects/shipbonuslargemissileflighttimecb1.py
deleted file mode 100644
index 9108bddbe..000000000
--- a/eos/effects/shipbonuslargemissileflighttimecb1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusLargeMissileFlightTimeCB1
-#
-# Used by:
-# Ship: Marshal
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "explosionDelay",
- src.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"), "explosionDelay",
- src.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipbonuslauncherrof2cb.py b/eos/effects/shipbonuslauncherrof2cb.py
deleted file mode 100644
index a64adde8d..000000000
--- a/eos/effects/shipbonuslauncherrof2cb.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusLauncherRoF2CB
-#
-# Used by:
-# Ship: Marshal
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Cruise", "speed",
- src.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Torpedo", "speed",
- src.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Heavy", "speed",
- src.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipbonusletoptimalrangepiratefaction.py b/eos/effects/shipbonusletoptimalrangepiratefaction.py
deleted file mode 100644
index 680c7ef2d..000000000
--- a/eos/effects/shipbonusletoptimalrangepiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusLETOptimalRangePirateFaction
-#
-# Used by:
-# Ship: Nestor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonuslightdronearmorhpgc2.py b/eos/effects/shipbonuslightdronearmorhpgc2.py
deleted file mode 100644
index 244594dd1..000000000
--- a/eos/effects/shipbonuslightdronearmorhpgc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusLightDroneArmorHPGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
- "armorHP", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonuslightdronearmorhppiratefaction.py b/eos/effects/shipbonuslightdronearmorhppiratefaction.py
deleted file mode 100644
index 7f4706023..000000000
--- a/eos/effects/shipbonuslightdronearmorhppiratefaction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusLightDroneArmorHPPirateFaction
-#
-# Used by:
-# Ship: Whiptail
-# Ship: Worm
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
- "armorHP", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonuslightdronedamagemultipliergc2.py b/eos/effects/shipbonuslightdronedamagemultipliergc2.py
deleted file mode 100644
index c25e35e5d..000000000
--- a/eos/effects/shipbonuslightdronedamagemultipliergc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusLightDroneDamageMultiplierGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonuslightdronedamagemultiplierpiratefaction.py b/eos/effects/shipbonuslightdronedamagemultiplierpiratefaction.py
deleted file mode 100644
index 75451999c..000000000
--- a/eos/effects/shipbonuslightdronedamagemultiplierpiratefaction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusLightDroneDamageMultiplierPirateFaction
-#
-# Used by:
-# Ship: Whiptail
-# Ship: Worm
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonuslightdronehpgc2.py b/eos/effects/shipbonuslightdronehpgc2.py
deleted file mode 100644
index 886f429a5..000000000
--- a/eos/effects/shipbonuslightdronehpgc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusLightDroneHPGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
- "hp", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonuslightdronehppiratefaction.py b/eos/effects/shipbonuslightdronehppiratefaction.py
deleted file mode 100644
index 2511b9736..000000000
--- a/eos/effects/shipbonuslightdronehppiratefaction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusLightDroneHPPirateFaction
-#
-# Used by:
-# Ship: Whiptail
-# Ship: Worm
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
- "hp", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonuslightdroneshieldhpgc2.py b/eos/effects/shipbonuslightdroneshieldhpgc2.py
deleted file mode 100644
index 5cead50c6..000000000
--- a/eos/effects/shipbonuslightdroneshieldhpgc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusLightDroneShieldHPGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonuslightdroneshieldhppiratefaction.py b/eos/effects/shipbonuslightdroneshieldhppiratefaction.py
deleted file mode 100644
index 0e7b7b147..000000000
--- a/eos/effects/shipbonuslightdroneshieldhppiratefaction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusLightDroneShieldHPPirateFaction
-#
-# Used by:
-# Ship: Whiptail
-# Ship: Worm
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonuslightmissilealldamagemc2.py b/eos/effects/shipbonuslightmissilealldamagemc2.py
deleted file mode 100644
index c00eb3939..000000000
--- a/eos/effects/shipbonuslightmissilealldamagemc2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusLightMissileAllDamageMC2
-#
-# Used by:
-# Ship: Rapier
-# Ship: Scythe Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- for damageType in ("em", "explosive", "kinetic", "thermal"):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "{0}Damage".format(damageType), ship.getModifiedItemAttr("shipBonusMC2"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonusmediumdronearmorhpgc2.py b/eos/effects/shipbonusmediumdronearmorhpgc2.py
deleted file mode 100644
index d3237a25b..000000000
--- a/eos/effects/shipbonusmediumdronearmorhpgc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMediumDroneArmorHPGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
- "armorHP", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusmediumdronearmorhppiratefaction.py b/eos/effects/shipbonusmediumdronearmorhppiratefaction.py
deleted file mode 100644
index 2d5373b43..000000000
--- a/eos/effects/shipbonusmediumdronearmorhppiratefaction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMediumDroneArmorHPPirateFaction
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Gila
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
- "armorHP", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusmediumdronedamagemultipliergc2.py b/eos/effects/shipbonusmediumdronedamagemultipliergc2.py
deleted file mode 100644
index df28d53e0..000000000
--- a/eos/effects/shipbonusmediumdronedamagemultipliergc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMediumDroneDamageMultiplierGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusmediumdronedamagemultiplierpiratefaction.py b/eos/effects/shipbonusmediumdronedamagemultiplierpiratefaction.py
deleted file mode 100644
index 627698037..000000000
--- a/eos/effects/shipbonusmediumdronedamagemultiplierpiratefaction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMediumDroneDamageMultiplierPirateFaction
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Gila
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusmediumdronehpgc2.py b/eos/effects/shipbonusmediumdronehpgc2.py
deleted file mode 100644
index 719b2b507..000000000
--- a/eos/effects/shipbonusmediumdronehpgc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMediumDroneHPGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
- "hp", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusmediumdronehppiratefaction.py b/eos/effects/shipbonusmediumdronehppiratefaction.py
deleted file mode 100644
index 3a41ee95c..000000000
--- a/eos/effects/shipbonusmediumdronehppiratefaction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMediumDroneHPPirateFaction
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Gila
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
- "hp", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusmediumdroneshieldhpgc2.py b/eos/effects/shipbonusmediumdroneshieldhpgc2.py
deleted file mode 100644
index 3e2e48409..000000000
--- a/eos/effects/shipbonusmediumdroneshieldhpgc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMediumDroneShieldHPGC2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusmediumdroneshieldhppiratefaction.py b/eos/effects/shipbonusmediumdroneshieldhppiratefaction.py
deleted file mode 100644
index 593009a33..000000000
--- a/eos/effects/shipbonusmediumdroneshieldhppiratefaction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMediumDroneShieldHPPirateFaction
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Gila
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusmediumenergyturretdamagepiratefaction.py b/eos/effects/shipbonusmediumenergyturretdamagepiratefaction.py
deleted file mode 100644
index 8e3662ced..000000000
--- a/eos/effects/shipbonusmediumenergyturretdamagepiratefaction.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusMediumEnergyTurretDamagePirateFaction
-#
-# Used by:
-# Ship: Ashimmu
-# Ship: Fiend
-# Ship: Gnosis
-# Ship: Phantasm
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusmediumenergyturrettrackingac2.py b/eos/effects/shipbonusmediumenergyturrettrackingac2.py
deleted file mode 100644
index d0c9a8e55..000000000
--- a/eos/effects/shipbonusmediumenergyturrettrackingac2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMediumEnergyTurretTrackingAC2
-#
-# Used by:
-# Ship: Fiend
-# Ship: Phantasm
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusmediumhybriddmgcc2.py b/eos/effects/shipbonusmediumhybriddmgcc2.py
deleted file mode 100644
index 858d70ab9..000000000
--- a/eos/effects/shipbonusmediumhybriddmgcc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMediumHybridDmgCC2
-#
-# Used by:
-# Ship: Falcon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipbonusmedmissileflighttimecc2.py b/eos/effects/shipbonusmedmissileflighttimecc2.py
deleted file mode 100644
index a8d76a49e..000000000
--- a/eos/effects/shipbonusmedmissileflighttimecc2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusMedMissileFlightTimeCC2
-#
-# Used by:
-# Ship: Enforcer
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "explosionDelay", src.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "explosionDelay", src.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipbonusmetoptimalac2.py b/eos/effects/shipbonusmetoptimalac2.py
deleted file mode 100644
index 758ede0d7..000000000
--- a/eos/effects/shipbonusmetoptimalac2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMETOptimalAC2
-#
-# Used by:
-# Ship: Enforcer
-# Ship: Omen Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusmetoptimalrangepiratefaction.py b/eos/effects/shipbonusmetoptimalrangepiratefaction.py
deleted file mode 100644
index 10451c94f..000000000
--- a/eos/effects/shipbonusmetoptimalrangepiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMETOptimalRangePirateFaction
-#
-# Used by:
-# Ships named like: Stratios (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusmf1torpedoexplosionvelocity.py b/eos/effects/shipbonusmf1torpedoexplosionvelocity.py
deleted file mode 100644
index c546c4716..000000000
--- a/eos/effects/shipbonusmf1torpedoexplosionvelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMF1TorpedoExplosionVelocity
-#
-# Used by:
-# Ship: Hound
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "aoeVelocity", ship.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonusmf1torpedoflighttime.py b/eos/effects/shipbonusmf1torpedoflighttime.py
deleted file mode 100644
index 539d8a205..000000000
--- a/eos/effects/shipbonusmf1torpedoflighttime.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMF1TorpedoFlightTime
-#
-# Used by:
-# Ship: Hound
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "explosionDelay", ship.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonusmineralbaygi2.py b/eos/effects/shipbonusmineralbaygi2.py
deleted file mode 100644
index 66a78e721..000000000
--- a/eos/effects/shipbonusmineralbaygi2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMineralBayGI2
-#
-# Used by:
-# Ship: Kryos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("specialMineralHoldCapacity", ship.getModifiedItemAttr("shipBonusGI2"),
- skill="Gallente Industrial")
diff --git a/eos/effects/shipbonusminingdroneamountpercentrookie.py b/eos/effects/shipbonusminingdroneamountpercentrookie.py
deleted file mode 100644
index 5e0be29e2..000000000
--- a/eos/effects/shipbonusminingdroneamountpercentrookie.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusMiningDroneAmountPercentRookie
-#
-# Used by:
-# Ship: Gnosis
-# Ship: Praxis
-# Ship: Taipan
-# Ship: Velator
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"),
- "miningAmount", container.getModifiedItemAttr("rookieDroneBonus"))
diff --git a/eos/effects/shipbonusminingdurationore3.py b/eos/effects/shipbonusminingdurationore3.py
deleted file mode 100644
index 4f6551231..000000000
--- a/eos/effects/shipbonusminingdurationore3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMiningDurationORE3
-#
-# Used by:
-# Ships from group: Exhumer (3 of 3)
-# Ships from group: Mining Barge (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
- "duration", ship.getModifiedItemAttr("shipBonusORE3"), skill="Mining Barge")
diff --git a/eos/effects/shipbonusminingiceharvestingrangeore2.py b/eos/effects/shipbonusminingiceharvestingrangeore2.py
deleted file mode 100644
index d29154f31..000000000
--- a/eos/effects/shipbonusminingiceharvestingrangeore2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMiningIceHarvestingRangeORE2
-#
-# Used by:
-# Variations of ship: Covetor (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Mining") or mod.item.requiresSkill("Ice Harvesting"),
- "maxRange", ship.getModifiedItemAttr("shipBonusORE2"), skill="Mining Barge")
diff --git a/eos/effects/shipbonusmissileaoevelocitymb2.py b/eos/effects/shipbonusmissileaoevelocitymb2.py
deleted file mode 100644
index 844746ae1..000000000
--- a/eos/effects/shipbonusmissileaoevelocitymb2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMissileAoeVelocityMB2
-#
-# Used by:
-# Ship: Typhoon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "aoeVelocity", ship.getModifiedItemAttr("shipBonusMB2"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusmissileexplosiondelaypiratefaction2.py b/eos/effects/shipbonusmissileexplosiondelaypiratefaction2.py
deleted file mode 100644
index e7634c7ec..000000000
--- a/eos/effects/shipbonusmissileexplosiondelaypiratefaction2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusMissileExplosionDelayPirateFaction2
-#
-# Used by:
-# Ship: Barghest
-# Ship: Garmur
-# Ship: Orthrus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosionDelay", ship.getModifiedItemAttr("shipBonusRole8"))
diff --git a/eos/effects/shipbonusmissilekineticlatf2.py b/eos/effects/shipbonusmissilekineticlatf2.py
deleted file mode 100644
index c07b02c44..000000000
--- a/eos/effects/shipbonusmissilekineticlatf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMissileKineticlATF2
-#
-# Used by:
-# Ship: Cambion
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusATF2"))
diff --git a/eos/effects/shipbonusmissilelauncherassaultrofatc1.py b/eos/effects/shipbonusmissilelauncherassaultrofatc1.py
deleted file mode 100644
index cc18bb8ed..000000000
--- a/eos/effects/shipbonusmissilelauncherassaultrofatc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMissileLauncherAssaultROFATC1
-#
-# Used by:
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Light",
- "speed", ship.getModifiedItemAttr("shipBonusATC1"))
diff --git a/eos/effects/shipbonusmissilelauncherheavyassaultrofatc1.py b/eos/effects/shipbonusmissilelauncherheavyassaultrofatc1.py
deleted file mode 100644
index ae3dc443d..000000000
--- a/eos/effects/shipbonusmissilelauncherheavyassaultrofatc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMissileLauncherHeavyAssaultROFATC1
-#
-# Used by:
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault",
- "speed", ship.getModifiedItemAttr("shipBonusATC1"))
diff --git a/eos/effects/shipbonusmissilelauncherheavyrofatc1.py b/eos/effects/shipbonusmissilelauncherheavyrofatc1.py
deleted file mode 100644
index bf2b11b02..000000000
--- a/eos/effects/shipbonusmissilelauncherheavyrofatc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMissileLauncherHeavyROFATC1
-#
-# Used by:
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy",
- "speed", ship.getModifiedItemAttr("shipBonusATC1"))
diff --git a/eos/effects/shipbonusmissilevelocityad2.py b/eos/effects/shipbonusmissilevelocityad2.py
deleted file mode 100644
index af169f934..000000000
--- a/eos/effects/shipbonusmissilevelocityad2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMissileVelocityAD2
-#
-# Used by:
-# Ship: Heretic
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusmissilevelocitycc2.py b/eos/effects/shipbonusmissilevelocitycc2.py
deleted file mode 100644
index 991b62c44..000000000
--- a/eos/effects/shipbonusmissilevelocitycc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusMissileVelocityCC2
-#
-# Used by:
-# Ship: Cerberus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipbonusmutadaptiveremoterepairrangerole3.py b/eos/effects/shipbonusmutadaptiveremoterepairrangerole3.py
deleted file mode 100644
index 64fca9ffb..000000000
--- a/eos/effects/shipbonusmutadaptiveremoterepairrangerole3.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# shipBonusMutadaptiveRemoteRepairRangeRole3
-#
-# Used by:
-# Ship: Rodiva
-type = "passive"
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "maxRange", src.getModifiedItemAttr("shipBonusRole3"))
diff --git a/eos/effects/shipbonusmutadaptiveremoterepamountelitebonuslogisitics2.py b/eos/effects/shipbonusmutadaptiveremoterepamountelitebonuslogisitics2.py
deleted file mode 100644
index b8ae258c3..000000000
--- a/eos/effects/shipbonusmutadaptiveremoterepamountelitebonuslogisitics2.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# shipBonusMutadaptiveRemoteRepAmounteliteBonusLogisitics2
-#
-# Used by:
-# Ship: Zarmazd
-type = "passive"
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "armorDamageAmount", src.getModifiedItemAttr("eliteBonusLogistics2"), skill="Logistics Cruisers")
diff --git a/eos/effects/shipbonusmutadaptiveremoterepcapneedelitebonuslogisitics1.py b/eos/effects/shipbonusmutadaptiveremoterepcapneedelitebonuslogisitics1.py
deleted file mode 100644
index b936f644c..000000000
--- a/eos/effects/shipbonusmutadaptiveremoterepcapneedelitebonuslogisitics1.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# shipBonusMutadaptiveRemoteRepCapNeedeliteBonusLogisitics1
-#
-# Used by:
-# Ship: Zarmazd
-type = "passive"
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "capacitorNeed", src.getModifiedItemAttr("eliteBonusLogistics1"), skill="Logistics Cruisers")
diff --git a/eos/effects/shipbonusmutadaptiveremotereprangepc1.py b/eos/effects/shipbonusmutadaptiveremotereprangepc1.py
deleted file mode 100644
index 67b2da620..000000000
--- a/eos/effects/shipbonusmutadaptiveremotereprangepc1.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# shipBonusMutadaptiveRemoteRepRangePC1
-#
-# Used by:
-# Ship: Zarmazd
-type = "passive"
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "maxRange", src.getModifiedItemAttr("shipBonusPC1"), skill="Precursor Cruiser")
diff --git a/eos/effects/shipbonusmutadaptiverepamountpc1.py b/eos/effects/shipbonusmutadaptiverepamountpc1.py
deleted file mode 100644
index 7e892f3e4..000000000
--- a/eos/effects/shipbonusmutadaptiverepamountpc1.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# shipBonusMutadaptiveRepAmountPC1
-#
-# Used by:
-# Ship: Rodiva
-type = "passive"
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "armorDamageAmount", src.getModifiedItemAttr("shipBonusPC1"), skill="Precursor Cruiser")
diff --git a/eos/effects/shipbonusmutadaptiverepcapneedpc2.py b/eos/effects/shipbonusmutadaptiverepcapneedpc2.py
deleted file mode 100644
index 22348514a..000000000
--- a/eos/effects/shipbonusmutadaptiverepcapneedpc2.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# shipBonusMutadaptiveRepCapNeedPC2
-#
-# Used by:
-# Ship: Rodiva
-type = "passive"
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Mutadaptive Remote Armor Repairer", "capacitorNeed", src.getModifiedItemAttr("shipBonusPC2"), skill="Precursor Cruiser")
diff --git a/eos/effects/shipbonusmwdsignatureradiusmd2.py b/eos/effects/shipbonusmwdsignatureradiusmd2.py
deleted file mode 100644
index 2354f22a1..000000000
--- a/eos/effects/shipbonusmwdsignatureradiusmd2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusMWDSignatureRadiusMD2
-#
-# Used by:
-# Ship: Talwar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "signatureRadiusBonus", ship.getModifiedItemAttr("shipBonusMD2"),
- skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonusneutcapneedrolebonus2.py b/eos/effects/shipbonusneutcapneedrolebonus2.py
deleted file mode 100644
index 52dfa7796..000000000
--- a/eos/effects/shipbonusneutcapneedrolebonus2.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusNeutCapNeedRoleBonus2
-#
-# Used by:
-# Ship: Damavik
-# Ship: Drekavac
-# Ship: Hydra
-# Ship: Kikimora
-# Ship: Leshak
-# Ship: Tiamat
-# Ship: Vedmak
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "capacitorNeed",
- src.getModifiedItemAttr("shipBonusRole2"))
diff --git a/eos/effects/shipbonusnoctissalvagecycle.py b/eos/effects/shipbonusnoctissalvagecycle.py
deleted file mode 100644
index 5b405a371..000000000
--- a/eos/effects/shipbonusnoctissalvagecycle.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusNoctisSalvageCycle
-#
-# Used by:
-# Ship: Noctis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Salvaging"),
- "duration", ship.getModifiedItemAttr("shipBonusOreIndustrial1"),
- skill="ORE Industrial")
diff --git a/eos/effects/shipbonusnoctistractorcycle.py b/eos/effects/shipbonusnoctistractorcycle.py
deleted file mode 100644
index b9ea733b9..000000000
--- a/eos/effects/shipbonusnoctistractorcycle.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusNoctisTractorCycle
-#
-# Used by:
-# Ship: Noctis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam",
- "duration", ship.getModifiedItemAttr("shipBonusOreIndustrial1"),
- skill="ORE Industrial")
diff --git a/eos/effects/shipbonusnoctistractorrange.py b/eos/effects/shipbonusnoctistractorrange.py
deleted file mode 100644
index ab2254345..000000000
--- a/eos/effects/shipbonusnoctistractorrange.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusNoctisTractorRange
-#
-# Used by:
-# Ship: Noctis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam",
- "maxRange", ship.getModifiedItemAttr("shipBonusOreIndustrial2"),
- skill="ORE Industrial")
diff --git a/eos/effects/shipbonusnoctistractorvelocity.py b/eos/effects/shipbonusnoctistractorvelocity.py
deleted file mode 100644
index 28c2f237a..000000000
--- a/eos/effects/shipbonusnoctistractorvelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusNoctisTractorVelocity
-#
-# Used by:
-# Ship: Noctis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam",
- "maxTractorVelocity", ship.getModifiedItemAttr("shipBonusOreIndustrial2"),
- skill="ORE Industrial")
diff --git a/eos/effects/shipbonusnosneutcapneedrolebonus2.py b/eos/effects/shipbonusnosneutcapneedrolebonus2.py
deleted file mode 100644
index ec427ec11..000000000
--- a/eos/effects/shipbonusnosneutcapneedrolebonus2.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# shipBonusNosNeutCapNeedRoleBonus2
-#
-# Used by:
-# Variations of ship: Rodiva (2 of 2)
-type = "passive"
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capacitor Emission Systems"), "capacitorNeed", src.getModifiedItemAttr("shipBonusRole2"))
diff --git a/eos/effects/shipbonusnosoptimalfalloffac2.py b/eos/effects/shipbonusnosoptimalfalloffac2.py
deleted file mode 100644
index 355b6e22c..000000000
--- a/eos/effects/shipbonusnosoptimalfalloffac2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusNosOptimalFalloffAC2
-#
-# Used by:
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange",
- src.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusorecapacitygi2.py b/eos/effects/shipbonusorecapacitygi2.py
deleted file mode 100644
index 5c6af2abb..000000000
--- a/eos/effects/shipbonusorecapacitygi2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusOreCapacityGI2
-#
-# Used by:
-# Ship: Miasmos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("specialOreHoldCapacity", ship.getModifiedItemAttr("shipBonusGI2"),
- skill="Gallente Industrial")
diff --git a/eos/effects/shipbonusoreholdore2.py b/eos/effects/shipbonusoreholdore2.py
deleted file mode 100644
index fccf39e52..000000000
--- a/eos/effects/shipbonusoreholdore2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusOreHoldORE2
-#
-# Used by:
-# Variations of ship: Retriever (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("specialOreHoldCapacity", ship.getModifiedItemAttr("shipBonusORE2"), skill="Mining Barge")
diff --git a/eos/effects/shipbonuspbc1disintegratordamage.py b/eos/effects/shipbonuspbc1disintegratordamage.py
deleted file mode 100644
index da8e257ea..000000000
--- a/eos/effects/shipbonuspbc1disintegratordamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusPBC1DisintegratorDamage
-#
-# Used by:
-# Ship: Drekavac
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Precursor Weapon"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusPBC1"),
- skill="Precursor Battlecruiser")
diff --git a/eos/effects/shipbonuspctdamagepc1.py b/eos/effects/shipbonuspctdamagepc1.py
deleted file mode 100644
index 06e686ab2..000000000
--- a/eos/effects/shipbonuspctdamagepc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipbonusPCTDamagePC1
-#
-# Used by:
-# Ship: Tiamat
-# Ship: Vedmak
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Precursor Weapon"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusPC1"), skill="Precursor Cruiser")
diff --git a/eos/effects/shipbonuspctdamagepf1.py b/eos/effects/shipbonuspctdamagepf1.py
deleted file mode 100644
index 59a1071e2..000000000
--- a/eos/effects/shipbonuspctdamagepf1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipbonusPCTDamagePF1
-#
-# Used by:
-# Ship: Damavik
-# Ship: Hydra
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusPF1"), skill="Precursor Frigate")
diff --git a/eos/effects/shipbonuspctoptimalpf2.py b/eos/effects/shipbonuspctoptimalpf2.py
deleted file mode 100644
index 7403b2146..000000000
--- a/eos/effects/shipbonuspctoptimalpf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipbonusPCTOptimalPF2
-#
-# Used by:
-# Ship: Damavik
-# Ship: Hydra
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
- "maxRange", ship.getModifiedItemAttr("shipBonusPF2"), skill="Precursor Frigate")
diff --git a/eos/effects/shipbonuspcttrackingpc2.py b/eos/effects/shipbonuspcttrackingpc2.py
deleted file mode 100644
index 4914d290e..000000000
--- a/eos/effects/shipbonuspcttrackingpc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipbonusPCTTrackingPC2
-#
-# Used by:
-# Ship: Tiamat
-# Ship: Vedmak
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Precursor Weapon"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusPC2"), skill="Precursor Cruiser")
diff --git a/eos/effects/shipbonuspd1disintegratordamage.py b/eos/effects/shipbonuspd1disintegratordamage.py
deleted file mode 100644
index 23adcba2d..000000000
--- a/eos/effects/shipbonuspd1disintegratordamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusPD1DisintegratorDamage
-#
-# Used by:
-# Ship: Kikimora
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusPD1"),
- skill="Precursor Destroyer")
diff --git a/eos/effects/shipbonuspd2disintegratormaxrange.py b/eos/effects/shipbonuspd2disintegratormaxrange.py
deleted file mode 100644
index c56940a22..000000000
--- a/eos/effects/shipbonuspd2disintegratormaxrange.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusPD2DisintegratorMaxRange
-#
-# Used by:
-# Ship: Kikimora
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
- "maxRange", ship.getModifiedItemAttr("shipBonusPD2"),
- skill="Precursor Destroyer")
diff --git a/eos/effects/shipbonuspicommoditiesholdgi2.py b/eos/effects/shipbonuspicommoditiesholdgi2.py
deleted file mode 100644
index dfac42672..000000000
--- a/eos/effects/shipbonuspicommoditiesholdgi2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusPICommoditiesHoldGI2
-#
-# Used by:
-# Ship: Epithal
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("specialPlanetaryCommoditiesHoldCapacity", ship.getModifiedItemAttr("shipBonusGI2"),
- skill="Gallente Industrial")
diff --git a/eos/effects/shipbonuspiratefrigateprojdamage.py b/eos/effects/shipbonuspiratefrigateprojdamage.py
deleted file mode 100644
index e3710e611..000000000
--- a/eos/effects/shipbonuspiratefrigateprojdamage.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipBonusPirateFrigateProjDamage
-#
-# Used by:
-# Ship: Chremoas
-# Ship: Dramiel
-# Ship: Sunesis
-# Ship: Svipul
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonuspiratesmallhybriddmg.py b/eos/effects/shipbonuspiratesmallhybriddmg.py
deleted file mode 100644
index a9a7fb9eb..000000000
--- a/eos/effects/shipbonuspiratesmallhybriddmg.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusPirateSmallHybridDmg
-#
-# Used by:
-# Ship: Daredevil
-# Ship: Hecate
-# Ship: Sunesis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusprojectiledamagembc1.py b/eos/effects/shipbonusprojectiledamagembc1.py
deleted file mode 100644
index d1d2bb14d..000000000
--- a/eos/effects/shipbonusprojectiledamagembc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusProjectileDamageMBC1
-#
-# Used by:
-# Ships named like: Hurricane (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusMBC1"),
- skill="Minmatar Battlecruiser")
diff --git a/eos/effects/shipbonusprojectiledamagembc2.py b/eos/effects/shipbonusprojectiledamagembc2.py
deleted file mode 100644
index ef47a0f27..000000000
--- a/eos/effects/shipbonusprojectiledamagembc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusProjectileDamageMBC2
-#
-# Used by:
-# Ship: Sleipnir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusMBC2"),
- skill="Minmatar Battlecruiser")
diff --git a/eos/effects/shipbonusprojectiletrackingmbc2.py b/eos/effects/shipbonusprojectiletrackingmbc2.py
deleted file mode 100644
index e8cd08be7..000000000
--- a/eos/effects/shipbonusprojectiletrackingmbc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusProjectileTrackingMBC2
-#
-# Used by:
-# Ship: Hurricane Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusMBC2"),
- skill="Minmatar Battlecruiser")
diff --git a/eos/effects/shipbonusprojectiletrackingmc2.py b/eos/effects/shipbonusprojectiletrackingmc2.py
deleted file mode 100644
index 9d45c3e24..000000000
--- a/eos/effects/shipbonusprojectiletrackingmc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusProjectileTrackingMC2
-#
-# Used by:
-# Ship: Stabber Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonusptfalloffmb1.py b/eos/effects/shipbonusptfalloffmb1.py
deleted file mode 100644
index 5cd2fade4..000000000
--- a/eos/effects/shipbonusptfalloffmb1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusPTFalloffMB1
-#
-# Used by:
-# Ship: Marshal
-# Ship: Vargur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusremotearmorrepairamount2af.py b/eos/effects/shipbonusremotearmorrepairamount2af.py
deleted file mode 100644
index 68da161e5..000000000
--- a/eos/effects/shipbonusremotearmorrepairamount2af.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusRemoteArmorRepairAmount2AF
-#
-# Used by:
-# Ship: Deacon
-# Ship: Inquisitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusremotearmorrepairamountac2.py b/eos/effects/shipbonusremotearmorrepairamountac2.py
deleted file mode 100644
index b671bc196..000000000
--- a/eos/effects/shipbonusremotearmorrepairamountac2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRemoteArmorRepairAmountAC2
-#
-# Used by:
-# Ship: Augoror
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusremotearmorrepairamountgc2.py b/eos/effects/shipbonusremotearmorrepairamountgc2.py
deleted file mode 100644
index ec701a318..000000000
--- a/eos/effects/shipbonusremotearmorrepairamountgc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusRemoteArmorRepairAmountGC2
-#
-# Used by:
-# Ship: Exequror
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("shipBonusGC2"),
- skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusremotearmorrepairamountgf2.py b/eos/effects/shipbonusremotearmorrepairamountgf2.py
deleted file mode 100644
index d1cba9063..000000000
--- a/eos/effects/shipbonusremotearmorrepairamountgf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusRemoteArmorRepairAmountGF2
-#
-# Used by:
-# Variations of ship: Navitas (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("shipBonusGF2"),
- skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusremotearmorrepaircapneedac1.py b/eos/effects/shipbonusremotearmorrepaircapneedac1.py
deleted file mode 100644
index d8d32bf66..000000000
--- a/eos/effects/shipbonusremotearmorrepaircapneedac1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRemoteArmorRepairCapNeedAC1
-#
-# Used by:
-# Ship: Augoror
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed",
- src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipbonusremotearmorrepaircapneedaf.py b/eos/effects/shipbonusremotearmorrepaircapneedaf.py
deleted file mode 100644
index 41c5b3e47..000000000
--- a/eos/effects/shipbonusremotearmorrepaircapneedaf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusRemoteArmorRepairCapNeedAF
-#
-# Used by:
-# Ship: Deacon
-# Ship: Inquisitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed",
- src.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusremotearmorrepaircapneedgc1.py b/eos/effects/shipbonusremotearmorrepaircapneedgc1.py
deleted file mode 100644
index 3c04cdc3a..000000000
--- a/eos/effects/shipbonusremotearmorrepaircapneedgc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRemoteArmorRepairCapNeedGC1
-#
-# Used by:
-# Ship: Exequror
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed",
- src.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusremotearmorrepaircapneedgf.py b/eos/effects/shipbonusremotearmorrepaircapneedgf.py
deleted file mode 100644
index b4bc7bbff..000000000
--- a/eos/effects/shipbonusremotearmorrepaircapneedgf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRemoteArmorRepairCapNeedGF
-#
-# Used by:
-# Variations of ship: Navitas (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed",
- src.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusremotecapacitortransferrangerole1.py b/eos/effects/shipbonusremotecapacitortransferrangerole1.py
deleted file mode 100644
index bfd670862..000000000
--- a/eos/effects/shipbonusremotecapacitortransferrangerole1.py
+++ /dev/null
@@ -1,7 +0,0 @@
-# shipBonusRemoteCapacitorTransferRangeRole1
-#
-# Used by:
-# Variations of ship: Rodiva (2 of 2)
-type = "passive"
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter", "maxRange", src.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/shipbonusremoterepairamountpiratefaction.py b/eos/effects/shipbonusremoterepairamountpiratefaction.py
deleted file mode 100644
index 3ac0e69fb..000000000
--- a/eos/effects/shipbonusremoterepairamountpiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRemoteRepairAmountPirateFaction
-#
-# Used by:
-# Ship: Nestor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonusremoterepairrangepiratefaction2.py b/eos/effects/shipbonusremoterepairrangepiratefaction2.py
deleted file mode 100644
index 7a8923b45..000000000
--- a/eos/effects/shipbonusremoterepairrangepiratefaction2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusRemoteRepairRangePirateFaction2
-#
-# Used by:
-# Ship: Nestor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "maxRange", ship.getModifiedItemAttr("shipBonusRole8"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "falloffEffectiveness", ship.getModifiedItemAttr("shipBonusRole8"))
diff --git a/eos/effects/shipbonusremoterepcapneedrolebonus2.py b/eos/effects/shipbonusremoterepcapneedrolebonus2.py
deleted file mode 100644
index ac4ef0aa0..000000000
--- a/eos/effects/shipbonusremoterepcapneedrolebonus2.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusRemoteRepCapNeedRoleBonus2
-#
-# Used by:
-# Ship: Damavik
-# Ship: Drekavac
-# Ship: Hydra
-# Ship: Kikimora
-# Ship: Leshak
-# Ship: Tiamat
-# Ship: Vedmak
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusRole2"))
diff --git a/eos/effects/shipbonusremoterepmaxrangerolebonus1.py b/eos/effects/shipbonusremoterepmaxrangerolebonus1.py
deleted file mode 100644
index 31963a4da..000000000
--- a/eos/effects/shipbonusremoterepmaxrangerolebonus1.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusRemoteRepMaxRangeRoleBonus1
-#
-# Used by:
-# Ship: Damavik
-# Ship: Drekavac
-# Ship: Hydra
-# Ship: Kikimora
-# Ship: Leshak
-# Ship: Tiamat
-# Ship: Vedmak
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "maxRange", ship.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/shipbonusremotetrackingcomputerfalloffgc2.py b/eos/effects/shipbonusremotetrackingcomputerfalloffgc2.py
deleted file mode 100644
index 0c65a20f2..000000000
--- a/eos/effects/shipbonusremotetrackingcomputerfalloffgc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusRemoteTrackingComputerFalloffGC2
-#
-# Used by:
-# Ship: Oneiros
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
- "falloffEffectiveness", ship.getModifiedItemAttr("shipBonusGC2"),
- skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusremotetrackingcomputerfalloffmc.py b/eos/effects/shipbonusremotetrackingcomputerfalloffmc.py
deleted file mode 100644
index c760a4b28..000000000
--- a/eos/effects/shipbonusremotetrackingcomputerfalloffmc.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusRemoteTrackingComputerFalloffMC
-#
-# Used by:
-# Ship: Scimitar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
- "falloffEffectiveness", ship.getModifiedItemAttr("shipBonusMC"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonusrepairsystemsarmorrepairamountgb2.py b/eos/effects/shipbonusrepairsystemsarmorrepairamountgb2.py
deleted file mode 100644
index 09b2fc18d..000000000
--- a/eos/effects/shipbonusrepairsystemsarmorrepairamountgb2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusRepairSystemsArmorRepairAmountGB2
-#
-# Used by:
-# Ship: Hyperion
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("shipBonusGB2"),
- skill="Gallente Battleship")
diff --git a/eos/effects/shipbonusrepairsystemsbonusatc2.py b/eos/effects/shipbonusrepairsystemsbonusatc2.py
deleted file mode 100644
index c761ad921..000000000
--- a/eos/effects/shipbonusrepairsystemsbonusatc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRepairSystemsBonusATC2
-#
-# Used by:
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", ship.getModifiedItemAttr("shipBonusATC2"))
diff --git a/eos/effects/shipbonusrhmlrof2cb.py b/eos/effects/shipbonusrhmlrof2cb.py
deleted file mode 100644
index f6c61b3b4..000000000
--- a/eos/effects/shipbonusrhmlrof2cb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusRHMLROF2CB
-#
-# Used by:
-# Ship: Raven
-# Ship: Widow
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Heavy",
- "speed", ship.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipbonusrhmlrofcb.py b/eos/effects/shipbonusrhmlrofcb.py
deleted file mode 100644
index a145864d6..000000000
--- a/eos/effects/shipbonusrhmlrofcb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRHMLROFCB
-#
-# Used by:
-# Ship: Scorpion Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Heavy",
- "speed", ship.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipbonusrhmlrofmb.py b/eos/effects/shipbonusrhmlrofmb.py
deleted file mode 100644
index 1f972e2ea..000000000
--- a/eos/effects/shipbonusrhmlrofmb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRHMLROFMB
-#
-# Used by:
-# Ship: Typhoon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Heavy",
- "speed", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusrole1capitalhybriddamagebonus.py b/eos/effects/shipbonusrole1capitalhybriddamagebonus.py
deleted file mode 100644
index 4144b30b4..000000000
--- a/eos/effects/shipbonusrole1capitalhybriddamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRole1CapitalHybridDamageBonus
-#
-# Used by:
-# Ship: Vehement
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/shipbonusrole1commandburstcpubonus.py b/eos/effects/shipbonusrole1commandburstcpubonus.py
deleted file mode 100644
index d141e771a..000000000
--- a/eos/effects/shipbonusrole1commandburstcpubonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRole1CommandBurstCPUBonus
-#
-# Used by:
-# Ships from group: Force Auxiliary (6 of 6)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "cpu",
- src.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/shipbonusrole1numwarfarelinks.py b/eos/effects/shipbonusrole1numwarfarelinks.py
deleted file mode 100644
index 5931b824b..000000000
--- a/eos/effects/shipbonusrole1numwarfarelinks.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRole1NumWarfareLinks
-#
-# Used by:
-# Ships from group: Titan (7 of 7)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"), "maxGroupActive",
- src.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/shipbonusrole2armorplatesshieldextendersbonus.py b/eos/effects/shipbonusrole2armorplatesshieldextendersbonus.py
deleted file mode 100644
index 1c07545cb..000000000
--- a/eos/effects/shipbonusrole2armorplatesshieldextendersbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusRole2ArmorPlates&ShieldExtendersBonus
-#
-# Used by:
-# Ships from group: Titan (7 of 7)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "armorHPBonusAdd",
- src.getModifiedItemAttr("shipBonusRole2"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Upgrades"), "capacityBonus",
- src.getModifiedItemAttr("shipBonusRole2"))
diff --git a/eos/effects/shipbonusrole2logisticdronerepamountandhitpointbonus.py b/eos/effects/shipbonusrole2logisticdronerepamountandhitpointbonus.py
deleted file mode 100644
index 100056f61..000000000
--- a/eos/effects/shipbonusrole2logisticdronerepamountandhitpointbonus.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# shipBonusRole2LogisticDroneRepAmountAndHitpointBonus
-#
-# Used by:
-# Ship: Loggerhead
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Drone Operation"),
- "structureDamageAmount", src.getModifiedItemAttr("shipBonusRole2"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Drone Operation"),
- "shieldBonus", src.getModifiedItemAttr("shipBonusRole2"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Drone Operation"),
- "armorDamageAmount", src.getModifiedItemAttr("shipBonusRole2"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Drone Operation"),
- "armorHP", src.getModifiedItemAttr("shipBonusRole2"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Drone Operation"),
- "shieldCapacity", src.getModifiedItemAttr("shipBonusRole2"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Drone Operation"),
- "hp", src.getModifiedItemAttr("shipBonusRole2"))
diff --git a/eos/effects/shipbonusrole2logisticdronerepamountbonus.py b/eos/effects/shipbonusrole2logisticdronerepamountbonus.py
deleted file mode 100644
index e54c5ef47..000000000
--- a/eos/effects/shipbonusrole2logisticdronerepamountbonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusRole2LogisticDroneRepAmountBonus
-#
-# Used by:
-# Ships from group: Force Auxiliary (5 of 6)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Drone Operation"), "structureDamageAmount",
- src.getModifiedItemAttr("shipBonusRole2"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Drone Operation"), "armorDamageAmount",
- src.getModifiedItemAttr("shipBonusRole2"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Drone Operation"), "shieldBonus",
- src.getModifiedItemAttr("shipBonusRole2"))
diff --git a/eos/effects/shipbonusrole3capitalenergydamagebonus.py b/eos/effects/shipbonusrole3capitalenergydamagebonus.py
deleted file mode 100644
index d21771a03..000000000
--- a/eos/effects/shipbonusrole3capitalenergydamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRole3CapitalEnergyDamageBonus
-#
-# Used by:
-# Ship: Chemosh
-# Ship: Molok
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret"), "damageMultiplier", src.getModifiedItemAttr("shipBonusRole3"))
diff --git a/eos/effects/shipbonusrole3capitalhybriddamagebonus.py b/eos/effects/shipbonusrole3capitalhybriddamagebonus.py
deleted file mode 100644
index c79148d3e..000000000
--- a/eos/effects/shipbonusrole3capitalhybriddamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRole3CapitalHybridDamageBonus
-#
-# Used by:
-# Ship: Vanquisher
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusRole3"))
diff --git a/eos/effects/shipbonusrole3numwarfarelinks.py b/eos/effects/shipbonusrole3numwarfarelinks.py
deleted file mode 100644
index 86889e55e..000000000
--- a/eos/effects/shipbonusrole3numwarfarelinks.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRole3NumWarfareLinks
-#
-# Used by:
-# Ships from group: Force Auxiliary (6 of 6)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"), "maxGroupActive",
- src.getModifiedItemAttr("shipBonusRole3"))
diff --git a/eos/effects/shipbonusrole3xltorpdeovelocitybonus.py b/eos/effects/shipbonusrole3xltorpdeovelocitybonus.py
deleted file mode 100644
index 02023dc88..000000000
--- a/eos/effects/shipbonusrole3xltorpdeovelocitybonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRole3XLTorpdeoVelocityBonus
-#
-# Used by:
-# Variations of ship: Leviathan (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "maxVelocity",
- src.getModifiedItemAttr("shipBonusRole3"))
diff --git a/eos/effects/shipbonusrole4fighterdamageandhitpoints.py b/eos/effects/shipbonusrole4fighterdamageandhitpoints.py
deleted file mode 100644
index 4daa1d80e..000000000
--- a/eos/effects/shipbonusrole4fighterdamageandhitpoints.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipBonusRole4FighterDamageAndHitpoints
-#
-# Used by:
-# Ship: Caiman
-# Ship: Komodo
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "shieldCapacity",
- src.getModifiedItemAttr("shipBonusRole4"))
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("shipBonusRole4"))
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("shipBonusRole4"))
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("shipBonusRole4"))
diff --git a/eos/effects/shipbonusrole4nosferatucpubonus.py b/eos/effects/shipbonusrole4nosferatucpubonus.py
deleted file mode 100644
index 1d67fbb4b..000000000
--- a/eos/effects/shipbonusrole4nosferatucpubonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRole4NosferatuCPUBonus
-#
-# Used by:
-# Ship: Dagon
-# Ship: Rabisu
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "cpu", src.getModifiedItemAttr("shipBonusRole4"))
diff --git a/eos/effects/shipbonusrole5capitalremotearmorrepairpowergridbonus.py b/eos/effects/shipbonusrole5capitalremotearmorrepairpowergridbonus.py
deleted file mode 100644
index 8e33eb7a0..000000000
--- a/eos/effects/shipbonusrole5capitalremotearmorrepairpowergridbonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusRole5CapitalRemoteArmorRepairPowergridBonus
-#
-# Used by:
-# Ship: Dagon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Armor Repair Systems"), "power", src.getModifiedItemAttr("shipBonusRole5"))
diff --git a/eos/effects/shipbonusrole5remotearmorrepairpowergridbonus.py b/eos/effects/shipbonusrole5remotearmorrepairpowergridbonus.py
deleted file mode 100644
index 5e87c2241..000000000
--- a/eos/effects/shipbonusrole5remotearmorrepairpowergridbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusRole5RemoteArmorRepairPowergridBonus
-#
-# Used by:
-# Ships from group: Logistics (3 of 7)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "power",
- src.getModifiedItemAttr("shipBonusRole5"))
diff --git a/eos/effects/shipbonussalvagecycleaf.py b/eos/effects/shipbonussalvagecycleaf.py
deleted file mode 100644
index c5cdf079c..000000000
--- a/eos/effects/shipbonussalvagecycleaf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSalvageCycleAF
-#
-# Used by:
-# Ship: Magnate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Salvaging"),
- "duration", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonussalvagecyclecf.py b/eos/effects/shipbonussalvagecyclecf.py
deleted file mode 100644
index 88802e78e..000000000
--- a/eos/effects/shipbonussalvagecyclecf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSalvageCycleCF
-#
-# Used by:
-# Ship: Heron
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Salvaging"),
- "duration", ship.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonussalvagecyclegf.py b/eos/effects/shipbonussalvagecyclegf.py
deleted file mode 100644
index 60dd7e948..000000000
--- a/eos/effects/shipbonussalvagecyclegf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSalvageCycleGF
-#
-# Used by:
-# Ship: Imicus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Salvaging"),
- "duration", ship.getModifiedItemAttr("shipBonusGF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonussalvagecyclemf.py b/eos/effects/shipbonussalvagecyclemf.py
deleted file mode 100644
index 738c4e6eb..000000000
--- a/eos/effects/shipbonussalvagecyclemf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSalvageCycleMF
-#
-# Used by:
-# Ship: Probe
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Salvaging"),
- "duration", ship.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonusscanprobestrength2af.py b/eos/effects/shipbonusscanprobestrength2af.py
deleted file mode 100644
index e3df5259c..000000000
--- a/eos/effects/shipbonusscanprobestrength2af.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusScanProbeStrength2AF
-#
-# Used by:
-# Ship: Magnate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe",
- "baseSensorStrength", ship.getModifiedItemAttr("shipBonus2AF"),
- skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusscanprobestrengthcf.py b/eos/effects/shipbonusscanprobestrengthcf.py
deleted file mode 100644
index 0e61528b2..000000000
--- a/eos/effects/shipbonusscanprobestrengthcf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusScanProbeStrengthCF
-#
-# Used by:
-# Ship: Heron
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe",
- "baseSensorStrength", ship.getModifiedItemAttr("shipBonusCF2"),
- skill="Caldari Frigate")
diff --git a/eos/effects/shipbonusscanprobestrengthgf.py b/eos/effects/shipbonusscanprobestrengthgf.py
deleted file mode 100644
index aed2e3d3a..000000000
--- a/eos/effects/shipbonusscanprobestrengthgf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusScanProbeStrengthGF
-#
-# Used by:
-# Ship: Imicus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe",
- "baseSensorStrength", ship.getModifiedItemAttr("shipBonusGF2"),
- skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusscanprobestrengthmf.py b/eos/effects/shipbonusscanprobestrengthmf.py
deleted file mode 100644
index 8caaf2411..000000000
--- a/eos/effects/shipbonusscanprobestrengthmf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusScanProbeStrengthMF
-#
-# Used by:
-# Ship: Probe
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe",
- "baseSensorStrength", ship.getModifiedItemAttr("shipBonusMF2"),
- skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonussentryarmorhpgc3.py b/eos/effects/shipbonussentryarmorhpgc3.py
deleted file mode 100644
index e5795c26f..000000000
--- a/eos/effects/shipbonussentryarmorhpgc3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSentryArmorHPGC3
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "armorHP", ship.getModifiedItemAttr("shipBonusGC3"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonussentrydamagemultipliergc3.py b/eos/effects/shipbonussentrydamagemultipliergc3.py
deleted file mode 100644
index fde740a9a..000000000
--- a/eos/effects/shipbonussentrydamagemultipliergc3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSentryDamageMultiplierGC3
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGC3"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonussentrydronearmorhppiratefaction.py b/eos/effects/shipbonussentrydronearmorhppiratefaction.py
deleted file mode 100644
index bda4ffa41..000000000
--- a/eos/effects/shipbonussentrydronearmorhppiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSentryDroneArmorHpPirateFaction
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "armorHP", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonussentrydronedamagemultiplierpiratefaction.py b/eos/effects/shipbonussentrydronedamagemultiplierpiratefaction.py
deleted file mode 100644
index 27fc5822c..000000000
--- a/eos/effects/shipbonussentrydronedamagemultiplierpiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSentryDroneDamageMultiplierPirateFaction
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonussentrydronehppiratefaction.py b/eos/effects/shipbonussentrydronehppiratefaction.py
deleted file mode 100644
index 4cfd46da4..000000000
--- a/eos/effects/shipbonussentrydronehppiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSentryDroneHPPirateFaction
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "hp", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonussentrydroneoptimalrangeelitebonusheavygunship2.py b/eos/effects/shipbonussentrydroneoptimalrangeelitebonusheavygunship2.py
deleted file mode 100644
index 7704bffed..000000000
--- a/eos/effects/shipbonussentrydroneoptimalrangeelitebonusheavygunship2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSentryDroneOptimalRangeEliteBonusHeavyGunship2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "maxRange", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/shipbonussentrydroneshieldhppiratefaction.py b/eos/effects/shipbonussentrydroneshieldhppiratefaction.py
deleted file mode 100644
index d757d2ef0..000000000
--- a/eos/effects/shipbonussentrydroneshieldhppiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSentryDroneShieldHpPirateFaction
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonussentrydronetrackingelitebonusheavygunship2.py b/eos/effects/shipbonussentrydronetrackingelitebonusheavygunship2.py
deleted file mode 100644
index aab03ea9e..000000000
--- a/eos/effects/shipbonussentrydronetrackingelitebonusheavygunship2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSentryDroneTrackingEliteBonusHeavyGunship2
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "trackingSpeed", ship.getModifiedItemAttr("eliteBonusHeavyGunship2"),
- skill="Heavy Assault Cruisers")
diff --git a/eos/effects/shipbonussentryhpgc3.py b/eos/effects/shipbonussentryhpgc3.py
deleted file mode 100644
index b2545b29f..000000000
--- a/eos/effects/shipbonussentryhpgc3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSentryHPGC3
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "hp", ship.getModifiedItemAttr("shipBonusGC3"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonussentryshieldhpgc3.py b/eos/effects/shipbonussentryshieldhpgc3.py
deleted file mode 100644
index 6161d241f..000000000
--- a/eos/effects/shipbonussentryshieldhpgc3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSentryShieldHPGC3
-#
-# Used by:
-# Ship: Ishtar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
- "shieldCapacity", ship.getModifiedItemAttr("shipBonusGC3"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonussetfalloffaf2.py b/eos/effects/shipbonussetfalloffaf2.py
deleted file mode 100644
index 9c6f67d13..000000000
--- a/eos/effects/shipbonussetfalloffaf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSETFalloffAF2
-#
-# Used by:
-# Ship: Caedes
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"), "falloff",
- src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusshieldboostamountmc2.py b/eos/effects/shipbonusshieldboostamountmc2.py
deleted file mode 100644
index 8acf3337a..000000000
--- a/eos/effects/shipbonusshieldboostamountmc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldBoostAmountMC2
-#
-# Used by:
-# Ship: Vagabond
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonusshieldboostci2.py b/eos/effects/shipbonusshieldboostci2.py
deleted file mode 100644
index 594102379..000000000
--- a/eos/effects/shipbonusshieldboostci2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldBoostCI2
-#
-# Used by:
-# Ship: Bustard
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusCI2"), skill="Caldari Industrial")
diff --git a/eos/effects/shipbonusshieldboostermb1a.py b/eos/effects/shipbonusshieldboostermb1a.py
deleted file mode 100644
index be92006c9..000000000
--- a/eos/effects/shipbonusshieldboostermb1a.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldBoosterMB1a
-#
-# Used by:
-# Ship: Maelstrom
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusshieldboostmi2.py b/eos/effects/shipbonusshieldboostmi2.py
deleted file mode 100644
index 628c261ab..000000000
--- a/eos/effects/shipbonusshieldboostmi2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldBoostMI2
-#
-# Used by:
-# Ship: Mastodon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusMI2"), skill="Minmatar Industrial")
diff --git a/eos/effects/shipbonusshieldcapacityore2.py b/eos/effects/shipbonusshieldcapacityore2.py
deleted file mode 100644
index 901026323..000000000
--- a/eos/effects/shipbonusshieldcapacityore2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusShieldCapacityORE2
-#
-# Used by:
-# Variations of ship: Procurer (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldCapacity", ship.getModifiedItemAttr("shipBonusORE2"), skill="Mining Barge")
diff --git a/eos/effects/shipbonusshieldemresistancecd2.py b/eos/effects/shipbonusshieldemresistancecd2.py
deleted file mode 100644
index 059c76dfd..000000000
--- a/eos/effects/shipbonusshieldemresistancecd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldEMResistanceCD2
-#
-# Used by:
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusCD2"),
- skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusshieldexplosiveresistancecd2.py b/eos/effects/shipbonusshieldexplosiveresistancecd2.py
deleted file mode 100644
index 70944c9f2..000000000
--- a/eos/effects/shipbonusshieldexplosiveresistancecd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldExplosiveResistanceCD2
-#
-# Used by:
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusCD2"),
- skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusshieldkineticresistancecd2.py b/eos/effects/shipbonusshieldkineticresistancecd2.py
deleted file mode 100644
index 11f8a77d8..000000000
--- a/eos/effects/shipbonusshieldkineticresistancecd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldKineticResistanceCD2
-#
-# Used by:
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusCD2"),
- skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusshieldthermalresistancecd2.py b/eos/effects/shipbonusshieldthermalresistancecd2.py
deleted file mode 100644
index b4c5042f5..000000000
--- a/eos/effects/shipbonusshieldthermalresistancecd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldThermalResistanceCD2
-#
-# Used by:
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusCD2"),
- skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusshieldtransferboostamountcc2.py b/eos/effects/shipbonusshieldtransferboostamountcc2.py
deleted file mode 100644
index 734821576..000000000
--- a/eos/effects/shipbonusshieldtransferboostamountcc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldTransferBoostAmountCC2
-#
-# Used by:
-# Ship: Osprey
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipbonusshieldtransferboostamountcf2.py b/eos/effects/shipbonusshieldtransferboostamountcf2.py
deleted file mode 100644
index 164975e92..000000000
--- a/eos/effects/shipbonusshieldtransferboostamountcf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldTransferBoostAmountCF2
-#
-# Used by:
-# Variations of ship: Bantam (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonusshieldtransferboostamountmc2.py b/eos/effects/shipbonusshieldtransferboostamountmc2.py
deleted file mode 100644
index 901826281..000000000
--- a/eos/effects/shipbonusshieldtransferboostamountmc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldTransferBoostAmountMC2
-#
-# Used by:
-# Ship: Scythe
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonusshieldtransferboostamountmf2.py b/eos/effects/shipbonusshieldtransferboostamountmf2.py
deleted file mode 100644
index a1c552524..000000000
--- a/eos/effects/shipbonusshieldtransferboostamountmf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldTransferBoostAmountMF2
-#
-# Used by:
-# Variations of ship: Burst (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonusshieldtransfercapneed1.py b/eos/effects/shipbonusshieldtransfercapneed1.py
deleted file mode 100644
index 6a7ab5f90..000000000
--- a/eos/effects/shipbonusshieldtransfercapneed1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldTransferCapneed1
-#
-# Used by:
-# Ship: Osprey
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "capacitorNeed",
- src.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipbonusshieldtransfercapneedcf.py b/eos/effects/shipbonusshieldtransfercapneedcf.py
deleted file mode 100644
index 61732a557..000000000
--- a/eos/effects/shipbonusshieldtransfercapneedcf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldTransferCapNeedCF
-#
-# Used by:
-# Variations of ship: Bantam (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonusshieldtransfercapneedmc1.py b/eos/effects/shipbonusshieldtransfercapneedmc1.py
deleted file mode 100644
index 89d41277d..000000000
--- a/eos/effects/shipbonusshieldtransfercapneedmc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldTransferCapneedMC1
-#
-# Used by:
-# Ship: Scythe
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusMC"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipbonusshieldtransfercapneedmf.py b/eos/effects/shipbonusshieldtransfercapneedmf.py
deleted file mode 100644
index 3f164c524..000000000
--- a/eos/effects/shipbonusshieldtransfercapneedmf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusShieldTransferCapNeedMF
-#
-# Used by:
-# Variations of ship: Burst (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonusshtfalloffgf1.py b/eos/effects/shipbonusshtfalloffgf1.py
deleted file mode 100644
index 1173ac822..000000000
--- a/eos/effects/shipbonusshtfalloffgf1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSHTFalloffGF1
-#
-# Used by:
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"), "falloff",
- src.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusshtfalloffgf2.py b/eos/effects/shipbonusshtfalloffgf2.py
deleted file mode 100644
index ea9d1c560..000000000
--- a/eos/effects/shipbonusshtfalloffgf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSHTFalloffGF2
-#
-# Used by:
-# Ship: Atron
-# Ship: Daredevil
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonussmallenergyturretdamageatf1.py b/eos/effects/shipbonussmallenergyturretdamageatf1.py
deleted file mode 100644
index 483f39915..000000000
--- a/eos/effects/shipbonussmallenergyturretdamageatf1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSmallEnergyTurretDamageATF1
-#
-# Used by:
-# Ship: Malice
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusATF1"))
diff --git a/eos/effects/shipbonussmallenergyturretdamagepiratefaction.py b/eos/effects/shipbonussmallenergyturretdamagepiratefaction.py
deleted file mode 100644
index f4b2ccfca..000000000
--- a/eos/effects/shipbonussmallenergyturretdamagepiratefaction.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipBonusSmallEnergyTurretDamagePirateFaction
-#
-# Used by:
-# Ship: Caedes
-# Ship: Confessor
-# Ship: Cruor
-# Ship: Imp
-# Ship: Succubus
-# Ship: Sunesis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipbonussmallenergyturrettracking2af.py b/eos/effects/shipbonussmallenergyturrettracking2af.py
deleted file mode 100644
index 76232e8f4..000000000
--- a/eos/effects/shipbonussmallenergyturrettracking2af.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSmallEnergyTurretTracking2AF
-#
-# Used by:
-# Ship: Imp
-# Ship: Succubus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonussmallenergyweaponoptimalrangeatf2.py b/eos/effects/shipbonussmallenergyweaponoptimalrangeatf2.py
deleted file mode 100644
index 85f5ba924..000000000
--- a/eos/effects/shipbonussmallenergyweaponoptimalrangeatf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSmallEnergyWeaponOptimalRangeATF2
-#
-# Used by:
-# Ship: Malice
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusATF2"))
diff --git a/eos/effects/shipbonussmallhybridmaxrangeatf2.py b/eos/effects/shipbonussmallhybridmaxrangeatf2.py
deleted file mode 100644
index e1312bf05..000000000
--- a/eos/effects/shipbonussmallhybridmaxrangeatf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSmallHybridMaxRangeATF2
-#
-# Used by:
-# Ship: Utu
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusATF2"))
diff --git a/eos/effects/shipbonussmallhybridtrackingspeedatf2.py b/eos/effects/shipbonussmallhybridtrackingspeedatf2.py
deleted file mode 100644
index 5d0131952..000000000
--- a/eos/effects/shipbonussmallhybridtrackingspeedatf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSmallHybridTrackingSpeedATF2
-#
-# Used by:
-# Ship: Utu
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusATF2"))
diff --git a/eos/effects/shipbonussmallmissileexplosionradiuscd2.py b/eos/effects/shipbonussmallmissileexplosionradiuscd2.py
deleted file mode 100644
index b471d2d1d..000000000
--- a/eos/effects/shipbonussmallmissileexplosionradiuscd2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSmallMissileExplosionRadiusCD2
-#
-# Used by:
-# Ship: Flycatcher
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
- "aoeCloudSize", ship.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonussmallmissileexplosionradiuscf2.py b/eos/effects/shipbonussmallmissileexplosionradiuscf2.py
deleted file mode 100644
index 6a10c458c..000000000
--- a/eos/effects/shipbonussmallmissileexplosionradiuscf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSmallMissileExplosionRadiusCF2
-#
-# Used by:
-# Ship: Crow
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
- "aoeCloudSize", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonussmallmissileflighttimecf1.py b/eos/effects/shipbonussmallmissileflighttimecf1.py
deleted file mode 100644
index 0b41b4185..000000000
--- a/eos/effects/shipbonussmallmissileflighttimecf1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusSmallMissileFlightTimeCF1
-#
-# Used by:
-# Ship: Pacifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "explosionDelay", src.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "explosionDelay", src.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonussmallmissilerofcf2.py b/eos/effects/shipbonussmallmissilerofcf2.py
deleted file mode 100644
index 9849ecc4b..000000000
--- a/eos/effects/shipbonussmallmissilerofcf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusSmallMissileRoFCF2
-#
-# Used by:
-# Ship: Buzzard
-# Ship: Hawk
-# Ship: Pacifier
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "speed", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonussmartbombcapneedrolebonus2.py b/eos/effects/shipbonussmartbombcapneedrolebonus2.py
deleted file mode 100644
index 69e4017a8..000000000
--- a/eos/effects/shipbonussmartbombcapneedrolebonus2.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipBonusSmartbombCapNeedRoleBonus2
-#
-# Used by:
-# Variations of ship: Rodiva (2 of 2)
-# Ship: Damavik
-# Ship: Drekavac
-# Ship: Hydra
-# Ship: Kikimora
-# Ship: Leshak
-# Ship: Tiamat
-# Ship: Vedmak
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Energy Pulse Weapons"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusRole2"))
diff --git a/eos/effects/shipbonussptfalloffmf2.py b/eos/effects/shipbonussptfalloffmf2.py
deleted file mode 100644
index abc07cbca..000000000
--- a/eos/effects/shipbonussptfalloffmf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSPTFalloffMF2
-#
-# Used by:
-# Ship: Pacifier
-# Ship: Rifter
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonussptrofmf.py b/eos/effects/shipbonussptrofmf.py
deleted file mode 100644
index 86ac5f332..000000000
--- a/eos/effects/shipbonussptrofmf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSPTRoFMF
-#
-# Used by:
-# Ship: Pacifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "speed", src.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonusstasismf2.py b/eos/effects/shipbonusstasismf2.py
deleted file mode 100644
index 410425e26..000000000
--- a/eos/effects/shipbonusstasismf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusStasisMF2
-#
-# Used by:
-# Ship: Caedes
-# Ship: Cruor
-# Ship: Freki
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "maxRange", ship.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonusstasiswebspeedfactormb.py b/eos/effects/shipbonusstasiswebspeedfactormb.py
deleted file mode 100644
index b0d4a1f79..000000000
--- a/eos/effects/shipbonusstasiswebspeedfactormb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusStasisWebSpeedFactorMB
-#
-# Used by:
-# Ship: Vindicator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "speedFactor", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonusstrategiccruiseramarrheatdamage.py b/eos/effects/shipbonusstrategiccruiseramarrheatdamage.py
deleted file mode 100644
index b390e901e..000000000
--- a/eos/effects/shipbonusstrategiccruiseramarrheatdamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusStrategicCruiserAmarrHeatDamage
-#
-# Used by:
-# Ship: Legion
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- ship.getModifiedItemAttr("shipBonusStrategicCruiserAmarr1"),
- skill="Amarr Strategic Cruiser")
diff --git a/eos/effects/shipbonusstrategiccruiseramarrnaniterepairtime2.py b/eos/effects/shipbonusstrategiccruiseramarrnaniterepairtime2.py
deleted file mode 100644
index 3f15088b8..000000000
--- a/eos/effects/shipbonusstrategiccruiseramarrnaniterepairtime2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusStrategicCruiserAmarrNaniteRepairTime2
-#
-# Used by:
-# Ship: Legion
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate",
- ship.getModifiedItemAttr("shipBonusStrategicCruiserAmarr2"),
- skill="Amarr Strategic Cruiser")
diff --git a/eos/effects/shipbonusstrategiccruisercaldariheatdamage.py b/eos/effects/shipbonusstrategiccruisercaldariheatdamage.py
deleted file mode 100644
index 8edf19db3..000000000
--- a/eos/effects/shipbonusstrategiccruisercaldariheatdamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusStrategicCruiserCaldariHeatDamage
-#
-# Used by:
-# Ship: Tengu
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- ship.getModifiedItemAttr("shipBonusStrategicCruiserCaldari1"),
- skill="Caldari Strategic Cruiser")
diff --git a/eos/effects/shipbonusstrategiccruisercaldarinaniterepairtime2.py b/eos/effects/shipbonusstrategiccruisercaldarinaniterepairtime2.py
deleted file mode 100644
index d245c16ca..000000000
--- a/eos/effects/shipbonusstrategiccruisercaldarinaniterepairtime2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusStrategicCruiserCaldariNaniteRepairTime2
-#
-# Used by:
-# Ship: Tengu
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate",
- ship.getModifiedItemAttr("shipBonusStrategicCruiserCaldari2"),
- skill="Caldari Strategic Cruiser")
diff --git a/eos/effects/shipbonusstrategiccruisergallenteheatdamage.py b/eos/effects/shipbonusstrategiccruisergallenteheatdamage.py
deleted file mode 100644
index dc7f7bd80..000000000
--- a/eos/effects/shipbonusstrategiccruisergallenteheatdamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusStrategicCruiserGallenteHeatDamage
-#
-# Used by:
-# Ship: Proteus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- ship.getModifiedItemAttr("shipBonusStrategicCruiserGallente1"),
- skill="Gallente Strategic Cruiser")
diff --git a/eos/effects/shipbonusstrategiccruisergallentenaniterepairtime2.py b/eos/effects/shipbonusstrategiccruisergallentenaniterepairtime2.py
deleted file mode 100644
index 0652e251e..000000000
--- a/eos/effects/shipbonusstrategiccruisergallentenaniterepairtime2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusStrategicCruiserGallenteNaniteRepairTime2
-#
-# Used by:
-# Ship: Proteus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate",
- ship.getModifiedItemAttr("shipBonusStrategicCruiserGallente2"),
- skill="Gallente Strategic Cruiser")
diff --git a/eos/effects/shipbonusstrategiccruiserminmatarheatdamage.py b/eos/effects/shipbonusstrategiccruiserminmatarheatdamage.py
deleted file mode 100644
index f97b203cc..000000000
--- a/eos/effects/shipbonusstrategiccruiserminmatarheatdamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusStrategicCruiserMinmatarHeatDamage
-#
-# Used by:
-# Ship: Loki
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- ship.getModifiedItemAttr("shipBonusStrategicCruiserMinmatar1"),
- skill="Minmatar Strategic Cruiser")
diff --git a/eos/effects/shipbonusstrategiccruiserminmatarnaniterepairtime2.py b/eos/effects/shipbonusstrategiccruiserminmatarnaniterepairtime2.py
deleted file mode 100644
index 9fe7b88c9..000000000
--- a/eos/effects/shipbonusstrategiccruiserminmatarnaniterepairtime2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusStrategicCruiserMinmatarNaniteRepairTime2
-#
-# Used by:
-# Ship: Loki
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate",
- ship.getModifiedItemAttr("shipBonusStrategicCruiserMinmatar2"),
- skill="Minmatar Strategic Cruiser")
diff --git a/eos/effects/shipbonussupercarriera1fighterdamage.py b/eos/effects/shipbonussupercarriera1fighterdamage.py
deleted file mode 100644
index 1c1900cba..000000000
--- a/eos/effects/shipbonussupercarriera1fighterdamage.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# shipBonusSupercarrierA1FighterDamage
-#
-# Used by:
-# Ship: Aeon
-# Ship: Revenant
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierA1"), skill="Amarr Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierA1"), skill="Amarr Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierA1"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonussupercarriera2armorresists.py b/eos/effects/shipbonussupercarriera2armorresists.py
deleted file mode 100644
index 4eafbff18..000000000
--- a/eos/effects/shipbonussupercarriera2armorresists.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusSupercarrierA2ArmorResists
-#
-# Used by:
-# Ship: Aeon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusSupercarrierA2"),
- skill="Amarr Carrier")
- fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusSupercarrierA2"),
- skill="Amarr Carrier")
- fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusSupercarrierA2"),
- skill="Amarr Carrier")
- fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusSupercarrierA2"),
- skill="Amarr Carrier")
diff --git a/eos/effects/shipbonussupercarriera2fighterapplicationbonus.py b/eos/effects/shipbonussupercarriera2fighterapplicationbonus.py
deleted file mode 100644
index ef805c824..000000000
--- a/eos/effects/shipbonussupercarriera2fighterapplicationbonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusSupercarrierA2FighterApplicationBonus
-#
-# Used by:
-# Ship: Revenant
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesExplosionVelocity",
- src.getModifiedItemAttr("shipBonusSupercarrierA2"), skill="Amarr Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileExplosionVelocity",
- src.getModifiedItemAttr("shipBonusSupercarrierA2"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonussupercarriera3warpstrength.py b/eos/effects/shipbonussupercarriera3warpstrength.py
deleted file mode 100644
index caee35c38..000000000
--- a/eos/effects/shipbonussupercarriera3warpstrength.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSupercarrierA3WarpStrength
-#
-# Used by:
-# Ship: Aeon
-# Ship: Revenant
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("shipBonusSupercarrierA3"),
- skill="Amarr Carrier")
diff --git a/eos/effects/shipbonussupercarriera4burstprojectorbonus.py b/eos/effects/shipbonussupercarriera4burstprojectorbonus.py
deleted file mode 100644
index 49c41fdd6..000000000
--- a/eos/effects/shipbonussupercarriera4burstprojectorbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSupercarrierA4BurstProjectorBonus
-#
-# Used by:
-# Ship: Aeon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation"),
- "durationWeaponDisruptionBurstProjector",
- src.getModifiedItemAttr("shipBonusSupercarrierA4"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonussupercarriera4fighterapplicationbonus.py b/eos/effects/shipbonussupercarriera4fighterapplicationbonus.py
deleted file mode 100644
index b24c555c9..000000000
--- a/eos/effects/shipbonussupercarriera4fighterapplicationbonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusSupercarrierA4FighterApplicationBonus
-#
-# Used by:
-# Ship: Revenant
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesExplosionRadius",
- src.getModifiedItemAttr("shipBonusSupercarrierA4"), skill="Amarr Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileExplosionRadius",
- src.getModifiedItemAttr("shipBonusSupercarrierA4"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonussupercarriera5warfarelinksbonus.py b/eos/effects/shipbonussupercarriera5warfarelinksbonus.py
deleted file mode 100644
index fdc2f24bc..000000000
--- a/eos/effects/shipbonussupercarriera5warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusSupercarrierA5WarfareLinksBonus
-#
-# Used by:
-# Ship: Aeon
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusSupercarrierA5"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusSupercarrierA5"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusSupercarrierA5"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusSupercarrierA5"), skill="Amarr Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Armored Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusSupercarrierA5"), skill="Amarr Carrier")
diff --git a/eos/effects/shipbonussupercarrierc1fighterdamage.py b/eos/effects/shipbonussupercarrierc1fighterdamage.py
deleted file mode 100644
index 680e6ac24..000000000
--- a/eos/effects/shipbonussupercarrierc1fighterdamage.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# shipBonusSupercarrierC1FighterDamage
-#
-# Used by:
-# Ship: Revenant
-# Ship: Wyvern
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierC1"), skill="Caldari Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierC1"), skill="Caldari Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierC1"), skill="Caldari Carrier")
diff --git a/eos/effects/shipbonussupercarrierc2afterburnerbonus.py b/eos/effects/shipbonussupercarrierc2afterburnerbonus.py
deleted file mode 100644
index 832a17eff..000000000
--- a/eos/effects/shipbonussupercarrierc2afterburnerbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSupercarrierC2AfterburnerBonus
-#
-# Used by:
-# Ship: Revenant
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"), "speedFactor",
- src.getModifiedItemAttr("shipBonusSupercarrierC2"), skill="Caldari Carrier")
diff --git a/eos/effects/shipbonussupercarrierc2shieldresists.py b/eos/effects/shipbonussupercarrierc2shieldresists.py
deleted file mode 100644
index 5f9e36e9b..000000000
--- a/eos/effects/shipbonussupercarrierc2shieldresists.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipBonusSupercarrierC2ShieldResists
-#
-# Used by:
-# Ship: Wyvern
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusSupercarrierC2"),
- skill="Caldari Carrier")
- fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusSupercarrierC2"),
- skill="Caldari Carrier")
- fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusSupercarrierC2"),
- skill="Caldari Carrier")
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusSupercarrierC2"),
- skill="Caldari Carrier")
diff --git a/eos/effects/shipbonussupercarrierc3warpstrength.py b/eos/effects/shipbonussupercarrierc3warpstrength.py
deleted file mode 100644
index 9a18457fd..000000000
--- a/eos/effects/shipbonussupercarrierc3warpstrength.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSupercarrierC3WarpStrength
-#
-# Used by:
-# Ship: Revenant
-# Ship: Wyvern
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("shipBonusSupercarrierC3"),
- skill="Caldari Carrier")
diff --git a/eos/effects/shipbonussupercarrierc4burstprojectorbonus.py b/eos/effects/shipbonussupercarrierc4burstprojectorbonus.py
deleted file mode 100644
index ce70f80f2..000000000
--- a/eos/effects/shipbonussupercarrierc4burstprojectorbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSupercarrierC4BurstProjectorBonus
-#
-# Used by:
-# Ship: Wyvern
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation"),
- "durationECMJammerBurstProjector", src.getModifiedItemAttr("shipBonusSupercarrierC4"),
- skill="Caldari Carrier")
diff --git a/eos/effects/shipbonussupercarrierc5warfarelinksbonus.py b/eos/effects/shipbonussupercarrierc5warfarelinksbonus.py
deleted file mode 100644
index 5ff00b1ca..000000000
--- a/eos/effects/shipbonussupercarrierc5warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusSupercarrierC5WarfareLinksBonus
-#
-# Used by:
-# Ship: Wyvern
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusSupercarrierC5"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusSupercarrierC5"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusSupercarrierC5"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusSupercarrierC5"), skill="Caldari Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Shield Command") or mod.item.requiresSkill("Information Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusSupercarrierC5"), skill="Caldari Carrier")
diff --git a/eos/effects/shipbonussupercarrierg1fighterdamage.py b/eos/effects/shipbonussupercarrierg1fighterdamage.py
deleted file mode 100644
index 835a0f3fc..000000000
--- a/eos/effects/shipbonussupercarrierg1fighterdamage.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipBonusSupercarrierG1FighterDamage
-#
-# Used by:
-# Variations of ship: Nyx (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierG1"), skill="Gallente Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierG1"), skill="Gallente Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierG1"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonussupercarrierg2fighterhitpoints.py b/eos/effects/shipbonussupercarrierg2fighterhitpoints.py
deleted file mode 100644
index 5b23ff737..000000000
--- a/eos/effects/shipbonussupercarrierg2fighterhitpoints.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSupercarrierG2FighterHitpoints
-#
-# Used by:
-# Variations of ship: Nyx (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "shieldCapacity",
- src.getModifiedItemAttr("shipBonusSupercarrierG2"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonussupercarrierg3warpstrength.py b/eos/effects/shipbonussupercarrierg3warpstrength.py
deleted file mode 100644
index 5c361a79e..000000000
--- a/eos/effects/shipbonussupercarrierg3warpstrength.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSupercarrierG3WarpStrength
-#
-# Used by:
-# Variations of ship: Nyx (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("shipBonusSupercarrierG3"),
- skill="Gallente Carrier")
diff --git a/eos/effects/shipbonussupercarrierg4burstprojectorbonus.py b/eos/effects/shipbonussupercarrierg4burstprojectorbonus.py
deleted file mode 100644
index 74b6a3ba6..000000000
--- a/eos/effects/shipbonussupercarrierg4burstprojectorbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSupercarrierG4BurstProjectorBonus
-#
-# Used by:
-# Ship: Nyx
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation"),
- "durationSensorDampeningBurstProjector",
- src.getModifiedItemAttr("shipBonusSupercarrierG4"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonussupercarrierg5warfarelinksbonus.py b/eos/effects/shipbonussupercarrierg5warfarelinksbonus.py
deleted file mode 100644
index aa6d4d1e2..000000000
--- a/eos/effects/shipbonussupercarrierg5warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusSupercarrierG5WarfareLinksBonus
-#
-# Used by:
-# Ship: Nyx
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusSupercarrierG5"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusSupercarrierG5"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusSupercarrierG5"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusSupercarrierG5"), skill="Gallente Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Armored Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusSupercarrierG5"), skill="Gallente Carrier")
diff --git a/eos/effects/shipbonussupercarrierm1burstprojectorwebbonus.py b/eos/effects/shipbonussupercarrierm1burstprojectorwebbonus.py
deleted file mode 100644
index 534d7357c..000000000
--- a/eos/effects/shipbonussupercarrierm1burstprojectorwebbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSupercarrierM1BurstProjectorWebBonus
-#
-# Used by:
-# Ship: Hel
-# Ship: Vendetta
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation"), "speedFactor",
- src.getModifiedItemAttr("shipBonusSupercarrierM1"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonussupercarrierm1fighterdamage.py b/eos/effects/shipbonussupercarrierm1fighterdamage.py
deleted file mode 100644
index 072aa2573..000000000
--- a/eos/effects/shipbonussupercarrierm1fighterdamage.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipBonusSupercarrierM1FighterDamage
-#
-# Used by:
-# Ship: Hel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierM1"), skill="Minmatar Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierM1"), skill="Minmatar Carrier")
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("shipBonusSupercarrierM1"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonussupercarrierm2fightervelocity.py b/eos/effects/shipbonussupercarrierm2fightervelocity.py
deleted file mode 100644
index d908f242c..000000000
--- a/eos/effects/shipbonussupercarrierm2fightervelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSupercarrierM2FighterVelocity
-#
-# Used by:
-# Ship: Hel
-# Ship: Vendetta
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "maxVelocity",
- src.getModifiedItemAttr("shipBonusSupercarrierM2"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonussupercarrierm3warpstrength.py b/eos/effects/shipbonussupercarrierm3warpstrength.py
deleted file mode 100644
index dd652f578..000000000
--- a/eos/effects/shipbonussupercarrierm3warpstrength.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSupercarrierM3WarpStrength
-#
-# Used by:
-# Ship: Hel
-# Ship: Vendetta
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("shipBonusSupercarrierM3"),
- skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonussupercarrierm4burstprojectorbonus.py b/eos/effects/shipbonussupercarrierm4burstprojectorbonus.py
deleted file mode 100644
index d75b19a16..000000000
--- a/eos/effects/shipbonussupercarrierm4burstprojectorbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSupercarrierM4BurstProjectorBonus
-#
-# Used by:
-# Ship: Hel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation"),
- "durationTargetIlluminationBurstProjector",
- src.getModifiedItemAttr("shipBonusSupercarrierM4"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonussupercarrierm5warfarelinksbonus.py b/eos/effects/shipbonussupercarrierm5warfarelinksbonus.py
deleted file mode 100644
index 403b6c6a7..000000000
--- a/eos/effects/shipbonussupercarrierm5warfarelinksbonus.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# shipBonusSupercarrierM5WarfareLinksBonus
-#
-# Used by:
-# Ship: Hel
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("shipBonusSupercarrierM5"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("shipBonusSupercarrierM5"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("shipBonusSupercarrierM5"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "buffDuration", src.getModifiedItemAttr("shipBonusSupercarrierM5"), skill="Minmatar Carrier")
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Skirmish Command") or mod.item.requiresSkill("Shield Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("shipBonusSupercarrierM5"), skill="Minmatar Carrier")
diff --git a/eos/effects/shipbonussupercarrierrole1numwarfarelinks.py b/eos/effects/shipbonussupercarrierrole1numwarfarelinks.py
deleted file mode 100644
index 05dcff6a1..000000000
--- a/eos/effects/shipbonussupercarrierrole1numwarfarelinks.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusSupercarrierRole1NumWarfareLinks
-#
-# Used by:
-# Ships from group: Supercarrier (6 of 6)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"), "maxGroupActive",
- src.getModifiedItemAttr("shipBonusRole1"))
diff --git a/eos/effects/shipbonussupercarrierrole2armorshieldmodulebonus.py b/eos/effects/shipbonussupercarrierrole2armorshieldmodulebonus.py
deleted file mode 100644
index 283256d6c..000000000
--- a/eos/effects/shipbonussupercarrierrole2armorshieldmodulebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusSupercarrierRole2ArmorShieldModuleBonus
-#
-# Used by:
-# Ships from group: Supercarrier (6 of 6)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "armorHPBonusAdd",
- src.getModifiedItemAttr("shipBonusRole2"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Upgrades"), "capacityBonus",
- src.getModifiedItemAttr("shipBonusRole2"))
diff --git a/eos/effects/shipbonussurveyprobeexplosiondelayskillsurveycovertops3.py b/eos/effects/shipbonussurveyprobeexplosiondelayskillsurveycovertops3.py
deleted file mode 100644
index 4fc7124c5..000000000
--- a/eos/effects/shipbonussurveyprobeexplosiondelayskillsurveycovertops3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusSurveyProbeExplosionDelaySkillSurveyCovertOps3
-#
-# Used by:
-# Ships from group: Covert Ops (5 of 8)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Survey Probe",
- "explosionDelay", ship.getModifiedItemAttr("eliteBonusCovertOps3"),
- skill="Covert Ops")
diff --git a/eos/effects/shipbonustargetpainteroptimalmf1.py b/eos/effects/shipbonustargetpainteroptimalmf1.py
deleted file mode 100644
index da9b2c09f..000000000
--- a/eos/effects/shipbonustargetpainteroptimalmf1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusTargetPainterOptimalMF1
-#
-# Used by:
-# Ship: Hyena
-# Ship: Vigil
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Target Painting"),
- "maxRange", ship.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonustdoptimalbonusaf1.py b/eos/effects/shipbonustdoptimalbonusaf1.py
deleted file mode 100644
index 9ef068a92..000000000
--- a/eos/effects/shipbonustdoptimalbonusaf1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTDOptimalBonusAF1
-#
-# Used by:
-# Ship: Crucifier
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
- "maxRange", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonusthermalarmorresistancead2.py b/eos/effects/shipbonusthermalarmorresistancead2.py
deleted file mode 100644
index 3a1d5f206..000000000
--- a/eos/effects/shipbonusthermalarmorresistancead2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusThermalArmorResistanceAD2
-#
-# Used by:
-# Ship: Pontifex
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusAD2"),
- skill="Amarr Destroyer")
diff --git a/eos/effects/shipbonusthermalarmorresistancegd2.py b/eos/effects/shipbonusthermalarmorresistancegd2.py
deleted file mode 100644
index 722d1b044..000000000
--- a/eos/effects/shipbonusthermalarmorresistancegd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusThermalArmorResistanceGD2
-#
-# Used by:
-# Ship: Magus
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusGD2"),
- skill="Gallente Destroyer")
diff --git a/eos/effects/shipbonusthermalmissiledamagecd1.py b/eos/effects/shipbonusthermalmissiledamagecd1.py
deleted file mode 100644
index 514c58b4d..000000000
--- a/eos/effects/shipbonusthermalmissiledamagecd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusThermalMissileDamageCD1
-#
-# Used by:
-# Ship: Stork
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer")
diff --git a/eos/effects/shipbonusthermalmissiledamagegb2.py b/eos/effects/shipbonusthermalmissiledamagegb2.py
deleted file mode 100644
index 3903c3e7e..000000000
--- a/eos/effects/shipbonusthermalmissiledamagegb2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusThermalMissileDamageGB2
-#
-# Used by:
-# Ship: Rattlesnake
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusGB2"),
- skill="Gallente Battleship")
diff --git a/eos/effects/shipbonusthermalmissiledamagegc2.py b/eos/effects/shipbonusthermalmissiledamagegc2.py
deleted file mode 100644
index e939aa4e6..000000000
--- a/eos/effects/shipbonusthermalmissiledamagegc2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusThermalMissileDamageGC2
-#
-# Used by:
-# Ship: Chameleon
-# Ship: Gila
-
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonusthermalmissiledamagegf.py b/eos/effects/shipbonusthermalmissiledamagegf.py
deleted file mode 100644
index 30d762728..000000000
--- a/eos/effects/shipbonusthermalmissiledamagegf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusThermalMissileDamageGF
-#
-# Used by:
-# Ship: Whiptail
-# Ship: Worm
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonusthermalshieldresistancemd2.py b/eos/effects/shipbonusthermalshieldresistancemd2.py
deleted file mode 100644
index 5d41685a0..000000000
--- a/eos/effects/shipbonusthermalshieldresistancemd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusThermalShieldResistanceMD2
-#
-# Used by:
-# Ship: Bifrost
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusMD2"),
- skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonusthermicshieldresistancecb2.py b/eos/effects/shipbonusthermicshieldresistancecb2.py
deleted file mode 100644
index 96067063f..000000000
--- a/eos/effects/shipbonusthermicshieldresistancecb2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusThermicShieldResistanceCB2
-#
-# Used by:
-# Ship: Rattlesnake
-# Ship: Rokh
-# Ship: Scorpion Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", ship.getModifiedItemAttr("shipBonus2CB"),
- skill="Caldari Battleship")
diff --git a/eos/effects/shipbonusthermmissiledmgmd1.py b/eos/effects/shipbonusthermmissiledmgmd1.py
deleted file mode 100644
index cb804bcc1..000000000
--- a/eos/effects/shipbonusthermmissiledmgmd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusThermMissileDmgMD1
-#
-# Used by:
-# Ship: Bifrost
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer")
diff --git a/eos/effects/shipbonustitana1damagebonus.py b/eos/effects/shipbonustitana1damagebonus.py
deleted file mode 100644
index 92ec95b48..000000000
--- a/eos/effects/shipbonustitana1damagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTitanA1DamageBonus
-#
-# Used by:
-# Ship: Avatar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusTitanA1"), skill="Amarr Titan")
diff --git a/eos/effects/shipbonustitana1energywarfareamountbonus.py b/eos/effects/shipbonustitana1energywarfareamountbonus.py
deleted file mode 100644
index 596439814..000000000
--- a/eos/effects/shipbonustitana1energywarfareamountbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusTitanA1EnergyWarfareAmountBonus
-#
-# Used by:
-# Ship: Molok
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount", src.getModifiedItemAttr("shipBonusTitanA1"), skill="Amarr Titan")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer",
- "energyNeutralizerAmount", src.getModifiedItemAttr("shipBonusTitanA1"), skill="Amarr Titan")
diff --git a/eos/effects/shipbonustitana2capneed.py b/eos/effects/shipbonustitana2capneed.py
deleted file mode 100644
index 93084ad75..000000000
--- a/eos/effects/shipbonustitana2capneed.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTitanA2CapNeed
-#
-# Used by:
-# Ship: Avatar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret"), "capacitorNeed",
- src.getModifiedItemAttr("shipBonusTitanA2"), skill="Amarr Titan")
diff --git a/eos/effects/shipbonustitana3warpstrength.py b/eos/effects/shipbonustitana3warpstrength.py
deleted file mode 100644
index f89d421c4..000000000
--- a/eos/effects/shipbonustitana3warpstrength.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusTitanA3WarpStrength
-#
-# Used by:
-# Variations of ship: Avatar (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("shipBonusTitanA3"), skill="Amarr Titan")
diff --git a/eos/effects/shipbonustitanc1kindamagebonus.py b/eos/effects/shipbonustitanc1kindamagebonus.py
deleted file mode 100644
index 08ea4ea52..000000000
--- a/eos/effects/shipbonustitanc1kindamagebonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusTitanC1KinDamageBonus
-#
-# Used by:
-# Ship: Leviathan
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusTitanC1"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusTitanC1"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusTitanC1"), skill="Caldari Titan")
diff --git a/eos/effects/shipbonustitanc1shieldresists.py b/eos/effects/shipbonustitanc1shieldresists.py
deleted file mode 100644
index 2216bea00..000000000
--- a/eos/effects/shipbonustitanc1shieldresists.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipBonusTitanC1ShieldResists
-#
-# Used by:
-# Ship: Komodo
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusTitanC1"), skill="Caldari Titan")
- fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusTitanC1"), skill="Caldari Titan")
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusTitanC1"), skill="Caldari Titan")
- fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusTitanC1"), skill="Caldari Titan")
diff --git a/eos/effects/shipbonustitanc2rofbonus.py b/eos/effects/shipbonustitanc2rofbonus.py
deleted file mode 100644
index 52ce60bda..000000000
--- a/eos/effects/shipbonustitanc2rofbonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipBonusTitanC2ROFBonus
-#
-# Used by:
-# Variations of ship: Leviathan (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher XL Cruise", "speed",
- src.getModifiedItemAttr("shipBonusTitanC2"), skill="Caldari Titan")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Torpedo", "speed",
- src.getModifiedItemAttr("shipBonusTitanC2"), skill="Caldari Titan")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher XL Torpedo", "speed",
- src.getModifiedItemAttr("shipBonusTitanC2"), skill="Caldari Titan")
diff --git a/eos/effects/shipbonustitanc3warpstrength.py b/eos/effects/shipbonustitanc3warpstrength.py
deleted file mode 100644
index 2932f5fc1..000000000
--- a/eos/effects/shipbonustitanc3warpstrength.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusTitanC3WarpStrength
-#
-# Used by:
-# Variations of ship: Leviathan (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("shipBonusTitanC3"), skill="Caldari Titan")
diff --git a/eos/effects/shipbonustitanc5alldamagebonus.py b/eos/effects/shipbonustitanc5alldamagebonus.py
deleted file mode 100644
index 13c64f8f2..000000000
--- a/eos/effects/shipbonustitanc5alldamagebonus.py
+++ /dev/null
@@ -1,26 +0,0 @@
-# shipBonusTitanC5AllDamageBonus
-#
-# Used by:
-# Ship: Leviathan
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "emDamage",
- src.getModifiedItemAttr("shipBonusTitanC5"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusTitanC5"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusTitanC5"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusTitanC5"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusTitanC5"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Cruise Missiles"), "emDamage",
- src.getModifiedItemAttr("shipBonusTitanC5"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusTitanC5"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"), "emDamage",
- src.getModifiedItemAttr("shipBonusTitanC5"), skill="Caldari Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("XL Torpedoes"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusTitanC5"), skill="Caldari Titan")
diff --git a/eos/effects/shipbonustitang1damagebonus.py b/eos/effects/shipbonustitang1damagebonus.py
deleted file mode 100644
index e44f41f53..000000000
--- a/eos/effects/shipbonustitang1damagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTitanG1DamageBonus
-#
-# Used by:
-# Ship: Erebus
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusTitanG1"), skill="Gallente Titan")
diff --git a/eos/effects/shipbonustitang1kinthermdamagebonus.py b/eos/effects/shipbonustitang1kinthermdamagebonus.py
deleted file mode 100644
index 7e8745859..000000000
--- a/eos/effects/shipbonustitang1kinthermdamagebonus.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# shipBonusTitanG1KinThermDamageBonus
-#
-# Used by:
-# Ship: Komodo
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Torpedoes"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusTitanG1"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Torpedoes"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusTitanG1"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Torpedoes"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusTitanG1"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Torpedoes"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusTitanG1"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missiles"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusTitanG1"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missiles"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusTitanG1"), skill="Gallente Titan")
diff --git a/eos/effects/shipbonustitang2emexplosivedamagebonus.py b/eos/effects/shipbonustitang2emexplosivedamagebonus.py
deleted file mode 100644
index d98b44d4b..000000000
--- a/eos/effects/shipbonustitang2emexplosivedamagebonus.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# shipBonusTitanG2EMExplosiveDamageBonus
-#
-# Used by:
-# Ship: Komodo
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Torpedoes"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusTitanG2"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Torpedoes"), "emDamage",
- src.getModifiedItemAttr("shipBonusTitanG2"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Torpedoes"), "emDamage",
- src.getModifiedItemAttr("shipBonusTitanG2"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Torpedoes"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusTitanG2"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missiles"), "emDamage",
- src.getModifiedItemAttr("shipBonusTitanG2"), skill="Gallente Titan")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missiles"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusTitanG2"), skill="Gallente Titan")
diff --git a/eos/effects/shipbonustitang2rofbonus.py b/eos/effects/shipbonustitang2rofbonus.py
deleted file mode 100644
index 87c12394d..000000000
--- a/eos/effects/shipbonustitang2rofbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTitanG2ROFBonus
-#
-# Used by:
-# Variations of ship: Erebus (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"), "speed",
- src.getModifiedItemAttr("shipBonusTitanG2"), skill="Gallente Titan")
diff --git a/eos/effects/shipbonustitang3warpstrength.py b/eos/effects/shipbonustitang3warpstrength.py
deleted file mode 100644
index 460e39b5d..000000000
--- a/eos/effects/shipbonustitang3warpstrength.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTitanG3WarpStrength
-#
-# Used by:
-# Variations of ship: Erebus (2 of 2)
-# Ship: Komodo
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("shipBonusTitanG3"), skill="Gallente Titan")
diff --git a/eos/effects/shipbonustitanm1damagebonus.py b/eos/effects/shipbonustitanm1damagebonus.py
deleted file mode 100644
index 538a0d8fc..000000000
--- a/eos/effects/shipbonustitanm1damagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTitanM1DamageBonus
-#
-# Used by:
-# Ship: Ragnarok
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusTitanM1"), skill="Minmatar Titan")
diff --git a/eos/effects/shipbonustitanm1webrangebonus.py b/eos/effects/shipbonustitanm1webrangebonus.py
deleted file mode 100644
index c026e376e..000000000
--- a/eos/effects/shipbonustitanm1webrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTitanM1WebRangeBonus
-#
-# Used by:
-# Ship: Molok
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "maxRange", src.getModifiedItemAttr("shipBonusTitanM1"), skill="Minmatar Titan")
diff --git a/eos/effects/shipbonustitanm1webstrengthbonus.py b/eos/effects/shipbonustitanm1webstrengthbonus.py
deleted file mode 100644
index 54ba011c7..000000000
--- a/eos/effects/shipbonustitanm1webstrengthbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTitanM1WebStrengthBonus
-#
-# Used by:
-# Ship: Vanquisher
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "speedFactor",
- src.getModifiedItemAttr("shipBonusTitanM1"), skill="Minmatar Titan")
diff --git a/eos/effects/shipbonustitanm2rofbonus.py b/eos/effects/shipbonustitanm2rofbonus.py
deleted file mode 100644
index 477698082..000000000
--- a/eos/effects/shipbonustitanm2rofbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTitanM2ROFBonus
-#
-# Used by:
-# Ship: Ragnarok
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"), "speed",
- src.getModifiedItemAttr("shipBonusTitanM2"), skill="Minmatar Titan")
diff --git a/eos/effects/shipbonustitanm3warpstrength.py b/eos/effects/shipbonustitanm3warpstrength.py
deleted file mode 100644
index 2a56e6404..000000000
--- a/eos/effects/shipbonustitanm3warpstrength.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipBonusTitanM3WarpStrength
-#
-# Used by:
-# Ships from group: Titan (3 of 7)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("shipBonusTitanM3"), skill="Minmatar Titan")
diff --git a/eos/effects/shipbonustorpedomissileemdmgmb.py b/eos/effects/shipbonustorpedomissileemdmgmb.py
deleted file mode 100644
index d0035967d..000000000
--- a/eos/effects/shipbonustorpedomissileemdmgmb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTorpedoMissileEMDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "emDamage", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonustorpedomissileexplodmgmb.py b/eos/effects/shipbonustorpedomissileexplodmgmb.py
deleted file mode 100644
index 75ddfe45e..000000000
--- a/eos/effects/shipbonustorpedomissileexplodmgmb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusTorpedoMissileExploDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonustorpedomissilekineticdmgmb.py b/eos/effects/shipbonustorpedomissilekineticdmgmb.py
deleted file mode 100644
index 34aaf86f6..000000000
--- a/eos/effects/shipbonustorpedomissilekineticdmgmb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusTorpedoMissileKineticDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonustorpedomissilethermdmgmb.py b/eos/effects/shipbonustorpedomissilethermdmgmb.py
deleted file mode 100644
index ea7d1baff..000000000
--- a/eos/effects/shipbonustorpedomissilethermdmgmb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusTorpedoMissileThermDmgMB
-#
-# Used by:
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonustorpedorofmb.py b/eos/effects/shipbonustorpedorofmb.py
deleted file mode 100644
index 2695607ea..000000000
--- a/eos/effects/shipbonustorpedorofmb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTorpedoROFMB
-#
-# Used by:
-# Ship: Typhoon
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Torpedo",
- "speed", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipbonustorpedovelocity2af.py b/eos/effects/shipbonustorpedovelocity2af.py
deleted file mode 100644
index 0109217d5..000000000
--- a/eos/effects/shipbonustorpedovelocity2af.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTorpedoVelocity2AF
-#
-# Used by:
-# Ship: Purifier
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipbonustorpedovelocitycf2.py b/eos/effects/shipbonustorpedovelocitycf2.py
deleted file mode 100644
index 5c779651b..000000000
--- a/eos/effects/shipbonustorpedovelocitycf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTorpedoVelocityCF2
-#
-# Used by:
-# Ship: Manticore
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipbonustorpedovelocitygf2.py b/eos/effects/shipbonustorpedovelocitygf2.py
deleted file mode 100644
index a52c4046d..000000000
--- a/eos/effects/shipbonustorpedovelocitygf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusTorpedoVelocityGF2
-#
-# Used by:
-# Ship: Nemesis
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonustorpedovelocitymf2.py b/eos/effects/shipbonustorpedovelocitymf2.py
deleted file mode 100644
index cf5a4385a..000000000
--- a/eos/effects/shipbonustorpedovelocitymf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusTorpedoVelocityMF2
-#
-# Used by:
-# Ship: Hound
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipbonusvelocityci.py b/eos/effects/shipbonusvelocityci.py
deleted file mode 100644
index 9f34a3e72..000000000
--- a/eos/effects/shipbonusvelocityci.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusVelocityCI
-#
-# Used by:
-# Variations of ship: Tayra (2 of 2)
-# Ship: Crane
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("shipBonusCI"), skill="Caldari Industrial")
diff --git a/eos/effects/shipbonusvelocitygi.py b/eos/effects/shipbonusvelocitygi.py
deleted file mode 100644
index b032ee1d1..000000000
--- a/eos/effects/shipbonusvelocitygi.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# shipBonusVelocityGI
-#
-# Used by:
-# Variations of ship: Epithal (2 of 2)
-# Variations of ship: Miasmos (4 of 4)
-# Ship: Iteron Mark V
-# Ship: Kryos
-# Ship: Viator
-type = "passive"
-
-
-def handler(fit, ship, context):
- # TODO: investigate if we can live without such ifs or hardcoding
- # Viator doesn't have GI bonus
- if "shipBonusGI" in fit.ship.item.attributes:
- bonusAttr = "shipBonusGI"
- else:
- bonusAttr = "shipBonusGI2"
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr(bonusAttr), skill="Gallente Industrial")
diff --git a/eos/effects/shipbonuswarpscramblemaxrangegb.py b/eos/effects/shipbonuswarpscramblemaxrangegb.py
deleted file mode 100644
index a26ffadbe..000000000
--- a/eos/effects/shipbonuswarpscramblemaxrangegb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipBonusWarpScrambleMaxRangeGB
-#
-# Used by:
-# Ship: Barghest
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler",
- "maxRange", ship.getModifiedItemAttr("shipBonusGB"), skill="Gallente Battleship")
diff --git a/eos/effects/shipbonuswarpscramblermaxrangegc2.py b/eos/effects/shipbonuswarpscramblermaxrangegc2.py
deleted file mode 100644
index 84afce09b..000000000
--- a/eos/effects/shipbonuswarpscramblermaxrangegc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusWarpScramblerMaxRangeGC2
-#
-# Used by:
-# Ship: Adrestia
-# Ship: Orthrus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler",
- "maxRange", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipbonuswarpscramblermaxrangegf2.py b/eos/effects/shipbonuswarpscramblermaxrangegf2.py
deleted file mode 100644
index 77fd29e73..000000000
--- a/eos/effects/shipbonuswarpscramblermaxrangegf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipBonusWarpScramblerMaxRangeGF2
-#
-# Used by:
-# Ship: Garmur
-# Ship: Utu
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler",
- "maxRange", ship.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipbonuswdfgnullpenalties.py b/eos/effects/shipbonuswdfgnullpenalties.py
deleted file mode 100644
index 0a1050711..000000000
--- a/eos/effects/shipbonuswdfgnullpenalties.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipBonusWDFGnullPenalties
-#
-# Used by:
-# Ship: Fiend
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Propulsion Jamming"),
- "speedFactorBonus", ship.getModifiedItemAttr("shipBonusAT"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Propulsion Jamming"),
- "speedBoostFactorBonus", ship.getModifiedItemAttr("shipBonusAT"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Propulsion Jamming"),
- "massBonusPercentage", ship.getModifiedItemAttr("shipBonusAT"))
diff --git a/eos/effects/shipcapitalagilitybonus.py b/eos/effects/shipcapitalagilitybonus.py
deleted file mode 100644
index 05b0beb25..000000000
--- a/eos/effects/shipcapitalagilitybonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipCapitalAgilityBonus
-#
-# Used by:
-# Items from market group: Ships > Capital Ships (31 of 40)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.multiplyItemAttr("agility", src.getModifiedItemAttr("advancedCapitalAgility"), stackingPenalties=True)
diff --git a/eos/effects/shipcapneedbonusab.py b/eos/effects/shipcapneedbonusab.py
deleted file mode 100644
index 84fb447cc..000000000
--- a/eos/effects/shipcapneedbonusab.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipCapNeedBonusAB
-#
-# Used by:
-# Variations of ship: Armageddon (3 of 5)
-# Ship: Apocalypse Imperial Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")
diff --git a/eos/effects/shipcappropulsionjamming.py b/eos/effects/shipcappropulsionjamming.py
deleted file mode 100644
index eb349db5c..000000000
--- a/eos/effects/shipcappropulsionjamming.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipCapPropulsionJamming
-#
-# Used by:
-# Ships from group: Interceptor (10 of 10)
-# Ship: Atron
-# Ship: Condor
-# Ship: Executioner
-# Ship: Slasher
-type = "passive"
-
-
-def handler(fit, ship, context):
- groups = ("Stasis Web", "Warp Scrambler")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "capacitorNeed", ship.getModifiedItemAttr("eliteBonusInterceptorRole"))
diff --git a/eos/effects/shipcaprecharge2af.py b/eos/effects/shipcaprecharge2af.py
deleted file mode 100644
index 5822015f5..000000000
--- a/eos/effects/shipcaprecharge2af.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipCapRecharge2AF
-#
-# Used by:
-# Ship: Anathema
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("rechargeRate", ship.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipcargobonusai.py b/eos/effects/shipcargobonusai.py
deleted file mode 100644
index 8e4dcae18..000000000
--- a/eos/effects/shipcargobonusai.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipCargoBonusAI
-#
-# Used by:
-# Variations of ship: Sigil (2 of 2)
-# Ship: Bestower
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("capacity", ship.getModifiedItemAttr("shipBonusAI"), skill="Amarr Industrial")
diff --git a/eos/effects/shipconsumptionquantitybonusindustrialreconfigurationorecapital1.py b/eos/effects/shipconsumptionquantitybonusindustrialreconfigurationorecapital1.py
deleted file mode 100644
index fd57fb534..000000000
--- a/eos/effects/shipconsumptionquantitybonusindustrialreconfigurationorecapital1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipConsumptionQuantityBonusIndustrialReconfigurationORECapital1
-#
-# Used by:
-# Ship: Rorqual
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Industrial Reconfiguration"),
- "consumptionQuantity", ship.getModifiedItemAttr("shipBonusORECapital1"),
- skill="Capital Industrial Ships")
diff --git a/eos/effects/shipcruiseandsiegelauncherrofbonus2cb.py b/eos/effects/shipcruiseandsiegelauncherrofbonus2cb.py
deleted file mode 100644
index 755ca5cae..000000000
--- a/eos/effects/shipcruiseandsiegelauncherrofbonus2cb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipCruiseAndSiegeLauncherROFBonus2CB
-#
-# Used by:
-# Ship: Widow
-type = "passive"
-
-
-def handler(fit, ship, context):
- affectedGroups = ("Missile Launcher Cruise", "Missile Launcher Torpedo")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in affectedGroups,
- "speed", ship.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipcruiseandtorpedovelocitybonuscb3.py b/eos/effects/shipcruiseandtorpedovelocitybonuscb3.py
deleted file mode 100644
index e3b31c683..000000000
--- a/eos/effects/shipcruiseandtorpedovelocitybonuscb3.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipCruiseAndTorpedoVelocityBonusCB3
-#
-# Used by:
-# Ship: Golem
-# Ship: Widow
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Cruise Missiles") or mod.charge.requiresSkill("Torpedoes"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCB3"), skill="Caldari Battleship")
diff --git a/eos/effects/shipcruiselauncherrofbonus2cb.py b/eos/effects/shipcruiselauncherrofbonus2cb.py
deleted file mode 100644
index e525b593f..000000000
--- a/eos/effects/shipcruiselauncherrofbonus2cb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipCruiseLauncherROFBonus2CB
-#
-# Used by:
-# Ship: Raven
-# Ship: Raven State Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Cruise",
- "speed", ship.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipcruisemissileaoecloudsize1cb.py b/eos/effects/shipcruisemissileaoecloudsize1cb.py
deleted file mode 100644
index e1d7c2557..000000000
--- a/eos/effects/shipcruisemissileaoecloudsize1cb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipCruiseMissileAOECloudSize1CB
-#
-# Used by:
-# Ship: Raven Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "aoeCloudSize", ship.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipcruisemissilerofcb.py b/eos/effects/shipcruisemissilerofcb.py
deleted file mode 100644
index 268e7d96a..000000000
--- a/eos/effects/shipcruisemissilerofcb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipCruiseMissileROFCB
-#
-# Used by:
-# Ship: Scorpion Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Cruise",
- "speed", ship.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipcruisemissilevelocitybonuscb3.py b/eos/effects/shipcruisemissilevelocitybonuscb3.py
deleted file mode 100644
index b690761be..000000000
--- a/eos/effects/shipcruisemissilevelocitybonuscb3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipCruiseMissileVelocityBonusCB3
-#
-# Used by:
-# Variations of ship: Raven (3 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCB3"), skill="Caldari Battleship")
diff --git a/eos/effects/shipdronemwdspeedbonusrookie.py b/eos/effects/shipdronemwdspeedbonusrookie.py
deleted file mode 100644
index 0bb5910d9..000000000
--- a/eos/effects/shipdronemwdspeedbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipDroneMWDSpeedBonusRookie
-#
-# Used by:
-# Ship: Taipan
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda mod: True,
- "maxVelocity", ship.getModifiedItemAttr("rookieDroneMWDspeed"))
diff --git a/eos/effects/shipdronescoutthermaldamagegf2.py b/eos/effects/shipdronescoutthermaldamagegf2.py
deleted file mode 100644
index 54f7716e0..000000000
--- a/eos/effects/shipdronescoutthermaldamagegf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipDroneScoutThermalDamageGF2
-#
-# Used by:
-# Ship: Helios
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Light Drone Operation"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")
diff --git a/eos/effects/shipdronesmaxgc2.py b/eos/effects/shipdronesmaxgc2.py
deleted file mode 100644
index 16390827e..000000000
--- a/eos/effects/shipdronesmaxgc2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipDronesMaxGC2
-#
-# Used by:
-# Ship: Guardian-Vexor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.extraAttributes.increase("maxActiveDrones", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipecmscanstrengthbonuscf.py b/eos/effects/shipecmscanstrengthbonuscf.py
deleted file mode 100644
index 6d1640619..000000000
--- a/eos/effects/shipecmscanstrengthbonuscf.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipECMScanStrengthBonusCF
-#
-# Used by:
-# Variations of ship: Griffin (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- for type in ("Gravimetric", "Ladar", "Radar", "Magnetometric"):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scan{0}StrengthBonus".format(type),
- ship.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipecmscanstrengthbonusrookie.py b/eos/effects/shipecmscanstrengthbonusrookie.py
deleted file mode 100644
index 312932605..000000000
--- a/eos/effects/shipecmscanstrengthbonusrookie.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipECMScanStrengthBonusRookie
-#
-# Used by:
-# Ship: Ibis
-type = "passive"
-
-
-def handler(fit, ship, context):
- for type in ("Gravimetric", "Ladar", "Radar", "Magnetometric"):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
- "scan{0}StrengthBonus".format(type),
- ship.getModifiedItemAttr("rookieECMStrengthBonus"))
diff --git a/eos/effects/shipenergydrainamountaf1.py b/eos/effects/shipenergydrainamountaf1.py
deleted file mode 100644
index 429fd4b91..000000000
--- a/eos/effects/shipenergydrainamountaf1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipEnergyDrainAmountAF1
-#
-# Used by:
-# Ship: Caedes
-# Ship: Cruor
-# Ship: Sentinel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipenergyneutralizertransferamountbonusab.py b/eos/effects/shipenergyneutralizertransferamountbonusab.py
deleted file mode 100644
index 925a33c92..000000000
--- a/eos/effects/shipenergyneutralizertransferamountbonusab.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipEnergyNeutralizerTransferAmountBonusAB
-#
-# Used by:
-# Ship: Bhaalgorn
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer",
- "energyNeutralizerAmount", ship.getModifiedItemAttr("shipBonusAB"),
- skill="Amarr Battleship")
diff --git a/eos/effects/shipenergyneutralizertransferamountbonusac.py b/eos/effects/shipenergyneutralizertransferamountbonusac.py
deleted file mode 100644
index 4dfc4dc87..000000000
--- a/eos/effects/shipenergyneutralizertransferamountbonusac.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipEnergyNeutralizerTransferAmountBonusAC
-#
-# Used by:
-# Ship: Ashimmu
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer",
- "energyNeutralizerAmount", ship.getModifiedItemAttr("shipBonusAC"),
- skill="Amarr Cruiser")
diff --git a/eos/effects/shipenergyneutralizertransferamountbonusaf.py b/eos/effects/shipenergyneutralizertransferamountbonusaf.py
deleted file mode 100644
index 76b6c1f33..000000000
--- a/eos/effects/shipenergyneutralizertransferamountbonusaf.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipEnergyNeutralizerTransferAmountBonusAF
-#
-# Used by:
-# Ship: Caedes
-# Ship: Cruor
-# Ship: Sentinel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer",
- "energyNeutralizerAmount", ship.getModifiedItemAttr("shipBonusAF"),
- skill="Amarr Frigate")
diff --git a/eos/effects/shipenergyneutralizertransferamountbonusaf2.py b/eos/effects/shipenergyneutralizertransferamountbonusaf2.py
deleted file mode 100644
index 529e6651e..000000000
--- a/eos/effects/shipenergyneutralizertransferamountbonusaf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipEnergyNeutralizerTransferAmountBonusAF2
-#
-# Used by:
-# Ship: Malice
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer",
- "energyNeutralizerAmount", ship.getModifiedItemAttr("shipBonus2AF"),
- skill="Amarr Frigate")
diff --git a/eos/effects/shipenergytcapneedbonusaf.py b/eos/effects/shipenergytcapneedbonusaf.py
deleted file mode 100644
index ecac0f30c..000000000
--- a/eos/effects/shipenergytcapneedbonusaf.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipEnergyTCapNeedBonusAF
-#
-# Used by:
-# Ship: Crusader
-# Ship: Executioner
-# Ship: Gold Magnate
-# Ship: Punisher
-# Ship: Retribution
-# Ship: Silver Magnate
-# Ship: Tormentor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipenergytcapneedbonusrookie.py b/eos/effects/shipenergytcapneedbonusrookie.py
deleted file mode 100644
index 4372da104..000000000
--- a/eos/effects/shipenergytcapneedbonusrookie.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipEnergyTCapNeedBonusRookie
-#
-# Used by:
-# Ship: Hematos
-# Ship: Impairor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("rookieSETCapBonus"))
diff --git a/eos/effects/shipenergytrackingabc1.py b/eos/effects/shipenergytrackingabc1.py
deleted file mode 100644
index f88ec12de..000000000
--- a/eos/effects/shipenergytrackingabc1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipEnergyTrackingABC1
-#
-# Used by:
-# Ship: Harbinger Navy Issue
-
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusABC1"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shipenergytransferrange1.py b/eos/effects/shipenergytransferrange1.py
deleted file mode 100644
index 95b5cac92..000000000
--- a/eos/effects/shipenergytransferrange1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipEnergyTransferRange1
-#
-# Used by:
-# Ship: Guardian
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
- "maxRange", ship.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipenergytransferrange2.py b/eos/effects/shipenergytransferrange2.py
deleted file mode 100644
index 3f65366f2..000000000
--- a/eos/effects/shipenergytransferrange2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipEnergyTransferRange2
-#
-# Used by:
-# Ship: Basilisk
-# Ship: Etana
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
- "maxRange", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipenergyvampireamountbonusfixedaf2.py b/eos/effects/shipenergyvampireamountbonusfixedaf2.py
deleted file mode 100644
index e48b89b06..000000000
--- a/eos/effects/shipenergyvampireamountbonusfixedaf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipEnergyVampireAmountBonusFixedAF2
-#
-# Used by:
-# Ship: Malice
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount", ship.getModifiedItemAttr("shipBonus2AF"),
- skill="Amarr Frigate")
diff --git a/eos/effects/shipenergyvampiretransferamountbonusab.py b/eos/effects/shipenergyvampiretransferamountbonusab.py
deleted file mode 100644
index 288f21609..000000000
--- a/eos/effects/shipenergyvampiretransferamountbonusab.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipEnergyVampireTransferAmountBonusAB
-#
-# Used by:
-# Ship: Bhaalgorn
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount", ship.getModifiedItemAttr("shipBonusAB"),
- skill="Amarr Battleship")
diff --git a/eos/effects/shipenergyvampiretransferamountbonusac.py b/eos/effects/shipenergyvampiretransferamountbonusac.py
deleted file mode 100644
index f9a831cf3..000000000
--- a/eos/effects/shipenergyvampiretransferamountbonusac.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipEnergyVampireTransferAmountBonusAc
-#
-# Used by:
-# Ship: Ashimmu
-# Ship: Rabisu
-# Ship: Vangel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount", ship.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipetdamageaf.py b/eos/effects/shipetdamageaf.py
deleted file mode 100644
index 939e163fa..000000000
--- a/eos/effects/shipetdamageaf.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipETDamageAF
-#
-# Used by:
-# Ship: Crucifier Navy Issue
-# Ship: Crusader
-# Ship: Imperial Navy Slicer
-# Ship: Pacifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipetoptimalrange2af.py b/eos/effects/shipetoptimalrange2af.py
deleted file mode 100644
index 99b829ab7..000000000
--- a/eos/effects/shipetoptimalrange2af.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipETOptimalRange2AF
-#
-# Used by:
-# Ship: Imperial Navy Slicer
-# Ship: Pacifier
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipetspeedbonusab2.py b/eos/effects/shipetspeedbonusab2.py
deleted file mode 100644
index 73ffd229d..000000000
--- a/eos/effects/shipetspeedbonusab2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipETspeedBonusAB2
-#
-# Used by:
-# Variations of ship: Armageddon (3 of 5)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship")
diff --git a/eos/effects/shipfalloffbonusmf.py b/eos/effects/shipfalloffbonusmf.py
deleted file mode 100644
index 39ec4e71d..000000000
--- a/eos/effects/shipfalloffbonusmf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipFalloffBonusMF
-#
-# Used by:
-# Ship: Chremoas
-# Ship: Dramiel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipgchyieldbonusorefrig2.py b/eos/effects/shipgchyieldbonusorefrig2.py
deleted file mode 100644
index 23749fa44..000000000
--- a/eos/effects/shipgchyieldbonusorefrig2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipGCHYieldBonusOREfrig2
-#
-# Used by:
-# Ship: Prospect
-# Ship: Venture
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Gas Cloud Harvester",
- "duration", module.getModifiedItemAttr("shipBonusOREfrig2"), skill="Mining Frigate")
diff --git a/eos/effects/shipheatdamageamarrtacticaldestroyer3.py b/eos/effects/shipheatdamageamarrtacticaldestroyer3.py
deleted file mode 100644
index 60007905d..000000000
--- a/eos/effects/shipheatdamageamarrtacticaldestroyer3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHeatDamageAmarrTacticalDestroyer3
-#
-# Used by:
-# Ship: Confessor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- ship.getModifiedItemAttr("shipBonusTacticalDestroyerAmarr3"),
- skill="Amarr Tactical Destroyer")
diff --git a/eos/effects/shipheatdamagecaldaritacticaldestroyer3.py b/eos/effects/shipheatdamagecaldaritacticaldestroyer3.py
deleted file mode 100644
index afe1aa44d..000000000
--- a/eos/effects/shipheatdamagecaldaritacticaldestroyer3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHeatDamageCaldariTacticalDestroyer3
-#
-# Used by:
-# Ship: Jackdaw
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- ship.getModifiedItemAttr("shipBonusTacticalDestroyerCaldari3"),
- skill="Caldari Tactical Destroyer")
diff --git a/eos/effects/shipheatdamagegallentetacticaldestroyer3.py b/eos/effects/shipheatdamagegallentetacticaldestroyer3.py
deleted file mode 100644
index b5854c3fb..000000000
--- a/eos/effects/shipheatdamagegallentetacticaldestroyer3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHeatDamageGallenteTacticalDestroyer3
-#
-# Used by:
-# Ship: Hecate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- ship.getModifiedItemAttr("shipBonusTacticalDestroyerGallente3"),
- skill="Gallente Tactical Destroyer")
diff --git a/eos/effects/shipheatdamageminmatartacticaldestroyer3.py b/eos/effects/shipheatdamageminmatartacticaldestroyer3.py
deleted file mode 100644
index 30b0d22fb..000000000
--- a/eos/effects/shipheatdamageminmatartacticaldestroyer3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHeatDamageMinmatarTacticalDestroyer3
-#
-# Used by:
-# Ship: Svipul
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- ship.getModifiedItemAttr("shipBonusTacticalDestroyerMinmatar3"),
- skill="Minmatar Tactical Destroyer")
diff --git a/eos/effects/shipheavyassaultmissileaoecloudsizecbc1.py b/eos/effects/shipheavyassaultmissileaoecloudsizecbc1.py
deleted file mode 100644
index 2ef68bd9f..000000000
--- a/eos/effects/shipheavyassaultmissileaoecloudsizecbc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHeavyAssaultMissileAOECloudSizeCBC1
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "aoeCloudSize", ship.getModifiedItemAttr("shipBonusCBC1"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipheavyassaultmissileaoecloudsizecc2.py b/eos/effects/shipheavyassaultmissileaoecloudsizecc2.py
deleted file mode 100644
index f9cbb40c3..000000000
--- a/eos/effects/shipheavyassaultmissileaoecloudsizecc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyAssaultMissileAOECloudSizeCC2
-#
-# Used by:
-# Ship: Caracal Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "aoeCloudSize", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipheavyassaultmissileemandexpandkinandthmdmgac1.py b/eos/effects/shipheavyassaultmissileemandexpandkinandthmdmgac1.py
deleted file mode 100644
index c75875c24..000000000
--- a/eos/effects/shipheavyassaultmissileemandexpandkinandthmdmgac1.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipHeavyAssaultMissileEMAndExpAndKinAndThmDmgAC1
-#
-# Used by:
-# Ship: Sacrilege
-type = "passive"
-
-
-def handler(fit, ship, context):
- damageTypes = ("em", "explosive", "kinetic", "thermal")
- for damageType in damageTypes:
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "{0}Damage".format(damageType), ship.getModifiedItemAttr("shipBonusAC"),
- skill="Amarr Cruiser")
diff --git a/eos/effects/shipheavyassaultmissileemdmgpiratecruiser.py b/eos/effects/shipheavyassaultmissileemdmgpiratecruiser.py
deleted file mode 100644
index 4aff9d4a1..000000000
--- a/eos/effects/shipheavyassaultmissileemdmgpiratecruiser.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyAssaultMissileEMDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "emDamage", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipheavyassaultmissileexpdmgpiratecruiser.py b/eos/effects/shipheavyassaultmissileexpdmgpiratecruiser.py
deleted file mode 100644
index be21d8f51..000000000
--- a/eos/effects/shipheavyassaultmissileexpdmgpiratecruiser.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyAssaultMissileExpDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipheavyassaultmissilekindmgpiratecruiser.py b/eos/effects/shipheavyassaultmissilekindmgpiratecruiser.py
deleted file mode 100644
index bbc9b2a43..000000000
--- a/eos/effects/shipheavyassaultmissilekindmgpiratecruiser.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyAssaultMissileKinDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipheavyassaultmissilethermdmgpiratecruiser.py b/eos/effects/shipheavyassaultmissilethermdmgpiratecruiser.py
deleted file mode 100644
index 928d0a52c..000000000
--- a/eos/effects/shipheavyassaultmissilethermdmgpiratecruiser.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyAssaultMissileThermDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipheavymissileaoecloudsizecbc1.py b/eos/effects/shipheavymissileaoecloudsizecbc1.py
deleted file mode 100644
index e7046f2ad..000000000
--- a/eos/effects/shipheavymissileaoecloudsizecbc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHeavyMissileAOECloudSizeCBC1
-#
-# Used by:
-# Ship: Drake Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "aoeCloudSize", ship.getModifiedItemAttr("shipBonusCBC1"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipheavymissileaoecloudsizecc2.py b/eos/effects/shipheavymissileaoecloudsizecc2.py
deleted file mode 100644
index 971e15bae..000000000
--- a/eos/effects/shipheavymissileaoecloudsizecc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyMissileAOECloudSizeCC2
-#
-# Used by:
-# Ship: Caracal Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "aoeCloudSize", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipheavymissileemdmgpiratecruiser.py b/eos/effects/shipheavymissileemdmgpiratecruiser.py
deleted file mode 100644
index 2b3003818..000000000
--- a/eos/effects/shipheavymissileemdmgpiratecruiser.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyMissileEMDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "emDamage", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipheavymissileexpdmgpiratecruiser.py b/eos/effects/shipheavymissileexpdmgpiratecruiser.py
deleted file mode 100644
index 73ca9bf7f..000000000
--- a/eos/effects/shipheavymissileexpdmgpiratecruiser.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyMissileExpDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipheavymissilekindmgpiratecruiser.py b/eos/effects/shipheavymissilekindmgpiratecruiser.py
deleted file mode 100644
index e1efd07ec..000000000
--- a/eos/effects/shipheavymissilekindmgpiratecruiser.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyMissileKinDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipheavymissilethermdmgpiratecruiser.py b/eos/effects/shipheavymissilethermdmgpiratecruiser.py
deleted file mode 100644
index 28990be6a..000000000
--- a/eos/effects/shipheavymissilethermdmgpiratecruiser.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHeavyMissileThermDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shiphrangebonuscc.py b/eos/effects/shiphrangebonuscc.py
deleted file mode 100644
index 644ee7a88..000000000
--- a/eos/effects/shiphrangebonuscc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHRangeBonusCC
-#
-# Used by:
-# Ship: Eagle
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shiphtdamagebonuscc.py b/eos/effects/shiphtdamagebonuscc.py
deleted file mode 100644
index 1cc54e2c7..000000000
--- a/eos/effects/shiphtdamagebonuscc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHTDamageBonusCC
-#
-# Used by:
-# Ship: Moa
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shiphtdmgbonusfixedgc.py b/eos/effects/shiphtdmgbonusfixedgc.py
deleted file mode 100644
index e6dfd16a2..000000000
--- a/eos/effects/shiphtdmgbonusfixedgc.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipHTDmgBonusfixedGC
-#
-# Used by:
-# Ship: Adrestia
-# Ship: Arazu
-# Ship: Deimos
-# Ship: Enforcer
-# Ship: Exequror Navy Issue
-# Ship: Guardian-Vexor
-# Ship: Thorax
-# Ship: Vexor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shiphtdmgbonusgb.py b/eos/effects/shiphtdmgbonusgb.py
deleted file mode 100644
index db7ef2e93..000000000
--- a/eos/effects/shiphtdmgbonusgb.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipHTDmgBonusGB
-#
-# Used by:
-# Ship: Dominix Navy Issue
-# Ship: Hyperion
-# Ship: Kronos
-# Ship: Marshal
-# Ship: Megathron Federate Issue
-# Ship: Sin
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGB"),
- skill="Gallente Battleship")
diff --git a/eos/effects/shiphttrackingbonusgb.py b/eos/effects/shiphttrackingbonusgb.py
deleted file mode 100644
index 60c79d649..000000000
--- a/eos/effects/shiphttrackingbonusgb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHTTrackingBonusGB
-#
-# Used by:
-# Ship: Vindicator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGB"), skill="Gallente Battleship")
diff --git a/eos/effects/shiphttrackingbonusgb2.py b/eos/effects/shiphttrackingbonusgb2.py
deleted file mode 100644
index 244003ecd..000000000
--- a/eos/effects/shiphttrackingbonusgb2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipHTTrackingBonusGB2
-#
-# Used by:
-# Ships named like: Megathron (3 of 3)
-# Ship: Marshal
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGB2"),
- skill="Gallente Battleship")
diff --git a/eos/effects/shiphturretfalloffbonusgc.py b/eos/effects/shiphturretfalloffbonusgc.py
deleted file mode 100644
index 61fefdc54..000000000
--- a/eos/effects/shiphturretfalloffbonusgc.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHTurretFalloffBonusGC
-#
-# Used by:
-# Ship: Victor
-# Ship: Vigilant
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shiphybriddamagebonuscbc2.py b/eos/effects/shiphybriddamagebonuscbc2.py
deleted file mode 100644
index 50f4304ce..000000000
--- a/eos/effects/shiphybriddamagebonuscbc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridDamageBonusCBC2
-#
-# Used by:
-# Ship: Naga
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusCBC2"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shiphybriddamagebonuscf.py b/eos/effects/shiphybriddamagebonuscf.py
deleted file mode 100644
index a10dafe76..000000000
--- a/eos/effects/shiphybriddamagebonuscf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHybridDamageBonusCF
-#
-# Used by:
-# Ship: Raptor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shiphybriddamagebonuscf2.py b/eos/effects/shiphybriddamagebonuscf2.py
deleted file mode 100644
index 3ea6ddc9f..000000000
--- a/eos/effects/shiphybriddamagebonuscf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridDamageBonusCF2
-#
-# Used by:
-# Ship: Griffin Navy Issue
-# Ship: Merlin
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shiphybriddamagebonusgbc2.py b/eos/effects/shiphybriddamagebonusgbc2.py
deleted file mode 100644
index 7ae28ba58..000000000
--- a/eos/effects/shiphybriddamagebonusgbc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridDamageBonusGBC2
-#
-# Used by:
-# Ship: Talos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGBC2"),
- skill="Gallente Battlecruiser")
diff --git a/eos/effects/shiphybriddmg1cbc2.py b/eos/effects/shiphybriddmg1cbc2.py
deleted file mode 100644
index 825685ea1..000000000
--- a/eos/effects/shiphybriddmg1cbc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridDmg1CBC2
-#
-# Used by:
-# Ship: Ferox
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusCBC2"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shiphybriddmg1gbc1.py b/eos/effects/shiphybriddmg1gbc1.py
deleted file mode 100644
index d99d40c26..000000000
--- a/eos/effects/shiphybriddmg1gbc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridDmg1GBC1
-#
-# Used by:
-# Variations of ship: Brutix (3 of 3)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGBC1"),
- skill="Gallente Battlecruiser")
diff --git a/eos/effects/shiphybriddmgpiratebattleship.py b/eos/effects/shiphybriddmgpiratebattleship.py
deleted file mode 100644
index 417ed58aa..000000000
--- a/eos/effects/shiphybriddmgpiratebattleship.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHybridDmgPirateBattleship
-#
-# Used by:
-# Ship: Vindicator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shiphybriddmgpiratecruiser.py b/eos/effects/shiphybriddmgpiratecruiser.py
deleted file mode 100644
index 7d01b20c6..000000000
--- a/eos/effects/shiphybriddmgpiratecruiser.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-# Ship: Vigilant
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shiphybridfalloff1gd1.py b/eos/effects/shiphybridfalloff1gd1.py
deleted file mode 100644
index 69a04334d..000000000
--- a/eos/effects/shiphybridfalloff1gd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHybridFallOff1GD1
-#
-# Used by:
-# Ship: Catalyst
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
diff --git a/eos/effects/shiphybridoptimal1cbc1.py b/eos/effects/shiphybridoptimal1cbc1.py
deleted file mode 100644
index 28f6a8c2e..000000000
--- a/eos/effects/shiphybridoptimal1cbc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHybridOptimal1CBC1
-#
-# Used by:
-# Variations of ship: Ferox (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusCBC1"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shiphybridoptimalgd1.py b/eos/effects/shiphybridoptimalgd1.py
deleted file mode 100644
index 0124b48cd..000000000
--- a/eos/effects/shiphybridoptimalgd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHybridOptimalGD1
-#
-# Used by:
-# Ship: Eris
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
diff --git a/eos/effects/shiphybridrange1cd1.py b/eos/effects/shiphybridrange1cd1.py
deleted file mode 100644
index ea35b9785..000000000
--- a/eos/effects/shiphybridrange1cd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHybridRange1CD1
-#
-# Used by:
-# Ship: Cormorant
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer")
diff --git a/eos/effects/shiphybridrangebonuscbc1.py b/eos/effects/shiphybridrangebonuscbc1.py
deleted file mode 100644
index ec1572d8b..000000000
--- a/eos/effects/shiphybridrangebonuscbc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHybridRangeBonusCBC1
-#
-# Used by:
-# Ship: Naga
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusCBC1"), skill="Caldari Battlecruiser")
diff --git a/eos/effects/shiphybridrangebonuscf2.py b/eos/effects/shiphybridrangebonuscf2.py
deleted file mode 100644
index 08e85c17c..000000000
--- a/eos/effects/shiphybridrangebonuscf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridRangeBonusCF2
-#
-# Used by:
-# Ship: Harpy
-# Ship: Raptor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shiphybridrangebonusrookie.py b/eos/effects/shiphybridrangebonusrookie.py
deleted file mode 100644
index 417e8cc67..000000000
--- a/eos/effects/shiphybridrangebonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHybridRangeBonusRookie
-#
-# Used by:
-# Ship: Ibis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("rookieSHTOptimalBonus"))
diff --git a/eos/effects/shiphybridtracking1gd2.py b/eos/effects/shiphybridtracking1gd2.py
deleted file mode 100644
index 029dfaa35..000000000
--- a/eos/effects/shiphybridtracking1gd2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridTracking1GD2
-#
-# Used by:
-# Variations of ship: Catalyst (2 of 2)
-# Ship: Algos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGD2"), skill="Gallente Destroyer")
diff --git a/eos/effects/shiphybridtrackingcd2.py b/eos/effects/shiphybridtrackingcd2.py
deleted file mode 100644
index 20dc8ef34..000000000
--- a/eos/effects/shiphybridtrackingcd2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipHybridTrackingCD2
-#
-# Used by:
-# Ship: Cormorant
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer")
diff --git a/eos/effects/shiphybridtrackinggbc2.py b/eos/effects/shiphybridtrackinggbc2.py
deleted file mode 100644
index ee9309f0a..000000000
--- a/eos/effects/shiphybridtrackinggbc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridTrackingGBC2
-#
-# Used by:
-# Ship: Brutix Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGBC2"),
- skill="Gallente Battlecruiser")
diff --git a/eos/effects/shiphybridtrackinggc.py b/eos/effects/shiphybridtrackinggc.py
deleted file mode 100644
index e6708839e..000000000
--- a/eos/effects/shiphybridtrackinggc.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridTrackingGC
-#
-# Used by:
-# Ship: Lachesis
-# Ship: Phobos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shiphybridtrackinggc2.py b/eos/effects/shiphybridtrackinggc2.py
deleted file mode 100644
index 4169cca0d..000000000
--- a/eos/effects/shiphybridtrackinggc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridTrackingGC2
-#
-# Used by:
-# Ship: Enforcer
-# Ship: Thorax
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shiphybridturretrofbonusgc2.py b/eos/effects/shiphybridturretrofbonusgc2.py
deleted file mode 100644
index ab847b685..000000000
--- a/eos/effects/shiphybridturretrofbonusgc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipHybridTurretROFBonusGC2
-#
-# Used by:
-# Ship: Exequror Navy Issue
-# Ship: Phobos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusGC2"), skill="Gallente Cruiser")
diff --git a/eos/effects/shiplargehybridtrackingbonusgbc1.py b/eos/effects/shiplargehybridtrackingbonusgbc1.py
deleted file mode 100644
index ed177a5c9..000000000
--- a/eos/effects/shiplargehybridtrackingbonusgbc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipLargeHybridTrackingBonusGBC1
-#
-# Used by:
-# Ship: Talos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGBC1"),
- skill="Gallente Battlecruiser")
diff --git a/eos/effects/shiplargehybridturretrofgb.py b/eos/effects/shiplargehybridturretrofgb.py
deleted file mode 100644
index 51045e22f..000000000
--- a/eos/effects/shiplargehybridturretrofgb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipLargeHybridTurretRofGB
-#
-# Used by:
-# Ship: Megathron
-# Ship: Megathron Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusGB"), skill="Gallente Battleship")
diff --git a/eos/effects/shiplargelasercapabc1.py b/eos/effects/shiplargelasercapabc1.py
deleted file mode 100644
index facc0461d..000000000
--- a/eos/effects/shiplargelasercapabc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipLargeLaserCapABC1
-#
-# Used by:
-# Ship: Oracle
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusABC1"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shiplargelaserdamagebonusabc2.py b/eos/effects/shiplargelaserdamagebonusabc2.py
deleted file mode 100644
index ced27165b..000000000
--- a/eos/effects/shiplargelaserdamagebonusabc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipLargeLaserDamageBonusABC2
-#
-# Used by:
-# Ship: Oracle
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusABC2"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shiplargeweaponsdamagebonus.py b/eos/effects/shiplargeweaponsdamagebonus.py
deleted file mode 100644
index a734806d8..000000000
--- a/eos/effects/shiplargeweaponsdamagebonus.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# shipLargeWeaponsDamageBonus
-#
-# Used by:
-# Ship: Praxis
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"), "damageMultiplier",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"), "emDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "emDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"), "emDamage",
- src.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shiplasercap1abc2.py b/eos/effects/shiplasercap1abc2.py
deleted file mode 100644
index 6517f6351..000000000
--- a/eos/effects/shiplasercap1abc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipLaserCap1ABC2
-#
-# Used by:
-# Ship: Absolution
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusABC2"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shiplasercapabc1.py b/eos/effects/shiplasercapabc1.py
deleted file mode 100644
index e733f3709..000000000
--- a/eos/effects/shiplasercapabc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipLaserCapABC1
-#
-# Used by:
-# Ship: Harbinger
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusABC1"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shiplasercapneed2ad1.py b/eos/effects/shiplasercapneed2ad1.py
deleted file mode 100644
index ae8265d4f..000000000
--- a/eos/effects/shiplasercapneed2ad1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipLaserCapNeed2AD1
-#
-# Used by:
-# Ship: Coercer
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
diff --git a/eos/effects/shiplaserdamagebonusabc2.py b/eos/effects/shiplaserdamagebonusabc2.py
deleted file mode 100644
index c750cbd31..000000000
--- a/eos/effects/shiplaserdamagebonusabc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipLaserDamageBonusABC2
-#
-# Used by:
-# Ships named like: Harbinger (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusABC2"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shiplaserdamagepiratebattleship.py b/eos/effects/shiplaserdamagepiratebattleship.py
deleted file mode 100644
index ff1e9558a..000000000
--- a/eos/effects/shiplaserdamagepiratebattleship.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipLaserDamagePirateBattleship
-#
-# Used by:
-# Ship: Bhaalgorn
-# Ship: Nightmare
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shiplaserrofac2.py b/eos/effects/shiplaserrofac2.py
deleted file mode 100644
index dbb11d779..000000000
--- a/eos/effects/shiplaserrofac2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipLaserRofAC2
-#
-# Used by:
-# Ship: Omen
-# Ship: Zealot
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shiplasertracking2ad2.py b/eos/effects/shiplasertracking2ad2.py
deleted file mode 100644
index 03f58cb78..000000000
--- a/eos/effects/shiplasertracking2ad2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipLaserTracking2AD2
-#
-# Used by:
-# Ship: Coercer
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")
diff --git a/eos/effects/shiplightmissilemaxvelocitybonusrookie.py b/eos/effects/shiplightmissilemaxvelocitybonusrookie.py
deleted file mode 100644
index 9d3630a61..000000000
--- a/eos/effects/shiplightmissilemaxvelocitybonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipLightMissileMaxVelocityBonusRookie
-#
-# Used by:
-# Ship: Taipan
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("rookieLightMissileVelocity"))
diff --git a/eos/effects/shipmaxlockedtargetsbonusaddonline.py b/eos/effects/shipmaxlockedtargetsbonusaddonline.py
deleted file mode 100644
index f5ab7cb30..000000000
--- a/eos/effects/shipmaxlockedtargetsbonusaddonline.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMaxLockedTargetsBonusAddOnline
-#
-# Used by:
-# Modules from group: Signal Amplifier (7 of 7)
-# Structure Modules from group: Structure Signal Amplifier (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("maxLockedTargets", module.getModifiedItemAttr("maxLockedTargetsBonus"))
diff --git a/eos/effects/shipmaxlockedtargetsbonusaddpassive.py b/eos/effects/shipmaxlockedtargetsbonusaddpassive.py
deleted file mode 100644
index 52840f0b1..000000000
--- a/eos/effects/shipmaxlockedtargetsbonusaddpassive.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMaxLockedTargetsBonusAddPassive
-#
-# Used by:
-# Subsystems named like: Core Dissolution Sequencer (2 of 2)
-# Subsystems named like: Core Electronic Efficiency Gate (2 of 2)
-# Subsystems named like: Offensive Support Processor (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.increaseItemAttr("maxLockedTargets", src.getModifiedItemAttr("maxLockedTargetsBonus"))
diff --git a/eos/effects/shipmaxtargetrangebonusonline.py b/eos/effects/shipmaxtargetrangebonusonline.py
deleted file mode 100644
index fb6a1520a..000000000
--- a/eos/effects/shipmaxtargetrangebonusonline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMaxTargetRangeBonusOnline
-#
-# Used by:
-# Modules from group: Signal Amplifier (7 of 7)
-# Structure Modules from group: Structure Signal Amplifier (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/shipmetcdamagebonusac.py b/eos/effects/shipmetcdamagebonusac.py
deleted file mode 100644
index 8cdb47763..000000000
--- a/eos/effects/shipmetcdamagebonusac.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipMETCDamageBonusAC
-#
-# Used by:
-# Ship: Augoror Navy Issue
-# Ship: Enforcer
-# Ship: Maller
-# Ship: Omen Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipmetdamagebonusac2.py b/eos/effects/shipmetdamagebonusac2.py
deleted file mode 100644
index d8b44d2b8..000000000
--- a/eos/effects/shipmetdamagebonusac2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMETDamageBonusAC2
-#
-# Used by:
-# Ship: Devoter
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipminingbonusorefrig1.py b/eos/effects/shipminingbonusorefrig1.py
deleted file mode 100644
index ca0981dc7..000000000
--- a/eos/effects/shipminingbonusorefrig1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMiningBonusOREfrig1
-#
-# Used by:
-# Variations of ship: Venture (3 of 3)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
- "miningAmount", module.getModifiedItemAttr("shipBonusOREfrig1"),
- skill="Mining Frigate")
diff --git a/eos/effects/shipmissileassaultmissilevelocitybonuscc2.py b/eos/effects/shipmissileassaultmissilevelocitybonuscc2.py
deleted file mode 100644
index b66bb9cac..000000000
--- a/eos/effects/shipmissileassaultmissilevelocitybonuscc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileAssaultMissileVelocityBonusCC2
-#
-# Used by:
-# Ship: Caracal
-# Ship: Osprey Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissileemdamagecb.py b/eos/effects/shipmissileemdamagecb.py
deleted file mode 100644
index 855ce53f4..000000000
--- a/eos/effects/shipmissileemdamagecb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileEMDamageCB
-#
-# Used by:
-# Ship: Barghest
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "emDamage", ship.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipmissileemdamagecc.py b/eos/effects/shipmissileemdamagecc.py
deleted file mode 100644
index 4fb493160..000000000
--- a/eos/effects/shipmissileemdamagecc.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileEMDamageCC
-#
-# Used by:
-# Ship: Orthrus
-# Ship: Osprey Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "emDamage", ship.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissileemdamagecf2.py b/eos/effects/shipmissileemdamagecf2.py
deleted file mode 100644
index 62e2e0fb3..000000000
--- a/eos/effects/shipmissileemdamagecf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileEMDamageCF2
-#
-# Used by:
-# Ship: Garmur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "emDamage", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipmissileexpdamagecc.py b/eos/effects/shipmissileexpdamagecc.py
deleted file mode 100644
index 4ba61cc88..000000000
--- a/eos/effects/shipmissileexpdamagecc.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileExpDamageCC
-#
-# Used by:
-# Ship: Orthrus
-# Ship: Osprey Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissileexplodamagecb.py b/eos/effects/shipmissileexplodamagecb.py
deleted file mode 100644
index 0d5a3a588..000000000
--- a/eos/effects/shipmissileexplodamagecb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileExploDamageCB
-#
-# Used by:
-# Ship: Barghest
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusCB"),
- skill="Caldari Battleship")
diff --git a/eos/effects/shipmissileexplosivedamagecf2.py b/eos/effects/shipmissileexplosivedamagecf2.py
deleted file mode 100644
index ba61d0f47..000000000
--- a/eos/effects/shipmissileexplosivedamagecf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileExplosiveDamageCF2
-#
-# Used by:
-# Ship: Garmur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusCF2"),
- skill="Caldari Frigate")
diff --git a/eos/effects/shipmissileheavyassaultvelocityabc2.py b/eos/effects/shipmissileheavyassaultvelocityabc2.py
deleted file mode 100644
index a43ad0c44..000000000
--- a/eos/effects/shipmissileheavyassaultvelocityabc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileHeavyAssaultVelocityABC2
-#
-# Used by:
-# Ship: Damnation
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusABC2"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shipmissileheavyvelocityabc2.py b/eos/effects/shipmissileheavyvelocityabc2.py
deleted file mode 100644
index a2cfa0bef..000000000
--- a/eos/effects/shipmissileheavyvelocityabc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileHeavyVelocityABC2
-#
-# Used by:
-# Ship: Damnation
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusABC2"),
- skill="Amarr Battlecruiser")
diff --git a/eos/effects/shipmissileheavyvelocitybonuscc2.py b/eos/effects/shipmissileheavyvelocitybonuscc2.py
deleted file mode 100644
index aaf6de930..000000000
--- a/eos/effects/shipmissileheavyvelocitybonuscc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileHeavyVelocityBonusCC2
-#
-# Used by:
-# Ship: Caracal
-# Ship: Osprey Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissilekindamagecb.py b/eos/effects/shipmissilekindamagecb.py
deleted file mode 100644
index 32d10f8f5..000000000
--- a/eos/effects/shipmissilekindamagecb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileKinDamageCB
-#
-# Used by:
-# Ship: Barghest
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCB"),
- skill="Caldari Battleship")
diff --git a/eos/effects/shipmissilekindamagecc2.py b/eos/effects/shipmissilekindamagecc2.py
deleted file mode 100644
index 2a9b2ef96..000000000
--- a/eos/effects/shipmissilekindamagecc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileKinDamageCC2
-#
-# Used by:
-# Ship: Rook
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissilekindamagecc3.py b/eos/effects/shipmissilekindamagecc3.py
deleted file mode 100644
index e78580e80..000000000
--- a/eos/effects/shipmissilekindamagecc3.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileKinDamageCC3
-#
-# Used by:
-# Ship: Osprey Navy Issue
-
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusCC3"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissilekineticdamagecc.py b/eos/effects/shipmissilekineticdamagecc.py
deleted file mode 100644
index e656053e6..000000000
--- a/eos/effects/shipmissilekineticdamagecc.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipMissileKineticDamageCC
-#
-# Used by:
-# Ship: Cerberus
-# Ship: Onyx
-# Ship: Orthrus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissilekineticdamagecf.py b/eos/effects/shipmissilekineticdamagecf.py
deleted file mode 100644
index 3718e1666..000000000
--- a/eos/effects/shipmissilekineticdamagecf.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipMissileKineticDamageCF
-#
-# Used by:
-# Ship: Buzzard
-# Ship: Condor
-# Ship: Hawk
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipmissilekineticdamagecf2.py b/eos/effects/shipmissilekineticdamagecf2.py
deleted file mode 100644
index c5a047761..000000000
--- a/eos/effects/shipmissilekineticdamagecf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileKineticDamageCF2
-#
-# Used by:
-# Ship: Garmur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipmissilekineticdamagerookie.py b/eos/effects/shipmissilekineticdamagerookie.py
deleted file mode 100644
index 4ab352344..000000000
--- a/eos/effects/shipmissilekineticdamagerookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileKineticDamageRookie
-#
-# Used by:
-# Ship: Ibis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", ship.getModifiedItemAttr("rookieMissileKinDamageBonus"))
diff --git a/eos/effects/shipmissilelauncherrofad1fixed.py b/eos/effects/shipmissilelauncherrofad1fixed.py
deleted file mode 100644
index 37b8abfc7..000000000
--- a/eos/effects/shipmissilelauncherrofad1fixed.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileLauncherRoFAD1Fixed
-#
-# Used by:
-# Ship: Heretic
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "speed", ship.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
diff --git a/eos/effects/shipmissilelauncherrofcc2.py b/eos/effects/shipmissilelauncherrofcc2.py
deleted file mode 100644
index 1c1ce33d4..000000000
--- a/eos/effects/shipmissilelauncherrofcc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileLauncherRofCC2
-#
-# Used by:
-# Ship: Onyx
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "speed", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissilelauncherspeedbonusmc2.py b/eos/effects/shipmissilelauncherspeedbonusmc2.py
deleted file mode 100644
index b070d3b2c..000000000
--- a/eos/effects/shipmissilelauncherspeedbonusmc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileLauncherSpeedBonusMC2
-#
-# Used by:
-# Ship: Bellicose
-type = "passive"
-
-
-def handler(fit, ship, context):
- groups = ("Missile Launcher Rapid Light", "Missile Launcher Heavy", "Missile Launcher Heavy Assault")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "speed", ship.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipmissilelightvelocitybonuscc2.py b/eos/effects/shipmissilelightvelocitybonuscc2.py
deleted file mode 100644
index 32a307ef8..000000000
--- a/eos/effects/shipmissilelightvelocitybonuscc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileLightVelocityBonusCC2
-#
-# Used by:
-# Ship: Caracal
-# Ship: Osprey Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissilereloadtimecaldaritacticaldestroyer2.py b/eos/effects/shipmissilereloadtimecaldaritacticaldestroyer2.py
deleted file mode 100644
index 7dbed2442..000000000
--- a/eos/effects/shipmissilereloadtimecaldaritacticaldestroyer2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileReloadTimeCaldariTacticalDestroyer2
-#
-# Used by:
-# Ship: Jackdaw
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "reloadTime", ship.getModifiedItemAttr("shipBonusTacticalDestroyerCaldari2"),
- skill="Caldari Tactical Destroyer")
diff --git a/eos/effects/shipmissilerofcaldaritacticaldestroyer1.py b/eos/effects/shipmissilerofcaldaritacticaldestroyer1.py
deleted file mode 100644
index f0d7c2926..000000000
--- a/eos/effects/shipmissilerofcaldaritacticaldestroyer1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileRoFCaldariTacticalDestroyer1
-#
-# Used by:
-# Ship: Jackdaw
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "speed", ship.getModifiedItemAttr("shipBonusTacticalDestroyerCaldari1"),
- skill="Caldari Tactical Destroyer")
diff --git a/eos/effects/shipmissilerofcc.py b/eos/effects/shipmissilerofcc.py
deleted file mode 100644
index bda638ace..000000000
--- a/eos/effects/shipmissilerofcc.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipMissileRofCC
-#
-# Used by:
-# Ships named like: Caracal (2 of 2)
-# Ship: Enforcer
-type = "passive"
-
-
-def handler(fit, ship, context):
- groups = ("Missile Launcher Heavy", "Missile Launcher Rapid Light", "Missile Launcher Heavy Assault")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "speed", ship.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissilerofmf2.py b/eos/effects/shipmissilerofmf2.py
deleted file mode 100644
index 4661fbef0..000000000
--- a/eos/effects/shipmissilerofmf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileRoFMF2
-#
-# Used by:
-# Ship: Breacher
-# Ship: Jaguar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "speed", ship.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipmissilespeedbonusaf.py b/eos/effects/shipmissilespeedbonusaf.py
deleted file mode 100644
index b99ef42a4..000000000
--- a/eos/effects/shipmissilespeedbonusaf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileSpeedBonusAF
-#
-# Used by:
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "speed", ship.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipmissilethermaldamagecf2.py b/eos/effects/shipmissilethermaldamagecf2.py
deleted file mode 100644
index c61c29ee1..000000000
--- a/eos/effects/shipmissilethermaldamagecf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileThermalDamageCF2
-#
-# Used by:
-# Ship: Garmur
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipmissilethermdamagecb.py b/eos/effects/shipmissilethermdamagecb.py
deleted file mode 100644
index ccf2ec27e..000000000
--- a/eos/effects/shipmissilethermdamagecb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileThermDamageCB
-#
-# Used by:
-# Ship: Barghest
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusCB"),
- skill="Caldari Battleship")
diff --git a/eos/effects/shipmissilethermdamagecc.py b/eos/effects/shipmissilethermdamagecc.py
deleted file mode 100644
index 175af5266..000000000
--- a/eos/effects/shipmissilethermdamagecc.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileThermDamageCC
-#
-# Used by:
-# Ship: Orthrus
-# Ship: Osprey Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipmissilevelocitycd1.py b/eos/effects/shipmissilevelocitycd1.py
deleted file mode 100644
index 370f666b2..000000000
--- a/eos/effects/shipmissilevelocitycd1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMissileVelocityCD1
-#
-# Used by:
-# Ship: Flycatcher
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer")
diff --git a/eos/effects/shipmissilevelocitycf.py b/eos/effects/shipmissilevelocitycf.py
deleted file mode 100644
index 1e884505d..000000000
--- a/eos/effects/shipmissilevelocitycf.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipMissileVelocityCF
-#
-# Used by:
-# Ship: Caldari Navy Hookbill
-# Ship: Crow
-# Ship: Kestrel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipmissilevelocitypiratefactionfrigate.py b/eos/effects/shipmissilevelocitypiratefactionfrigate.py
deleted file mode 100644
index 16c3df09c..000000000
--- a/eos/effects/shipmissilevelocitypiratefactionfrigate.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipMissileVelocityPirateFactionFrigate
-#
-# Used by:
-# Ship: Barghest
-# Ship: Garmur
-# Ship: Orthrus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipmissilevelocitypiratefactionlight.py b/eos/effects/shipmissilevelocitypiratefactionlight.py
deleted file mode 100644
index 1cea02ec3..000000000
--- a/eos/effects/shipmissilevelocitypiratefactionlight.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileVelocityPirateFactionLight
-#
-# Used by:
-# Ship: Corax
-# Ship: Talwar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipmissilevelocitypiratefactionrocket.py b/eos/effects/shipmissilevelocitypiratefactionrocket.py
deleted file mode 100644
index cc6e55c5d..000000000
--- a/eos/effects/shipmissilevelocitypiratefactionrocket.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipMissileVelocityPirateFactionRocket
-#
-# Used by:
-# Ship: Corax
-# Ship: Talwar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipmodemaxtargetrangepostdiv.py b/eos/effects/shipmodemaxtargetrangepostdiv.py
deleted file mode 100644
index d6f46f428..000000000
--- a/eos/effects/shipmodemaxtargetrangepostdiv.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipModeMaxTargetRangePostDiv
-#
-# Used by:
-# Modules named like: Sharpshooter Mode (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr(
- "maxTargetRange",
- 1 / module.getModifiedItemAttr("modeMaxTargetRangePostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/shipmodemissilevelocitypostdiv.py b/eos/effects/shipmodemissilevelocitypostdiv.py
deleted file mode 100644
index 994a5bf74..000000000
--- a/eos/effects/shipmodemissilevelocitypostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModeMissileVelocityPostDiv
-#
-# Used by:
-# Module: Jackdaw Sharpshooter Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredChargeMultiply(
- lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity",
- 1 / module.getModifiedItemAttr("modeMaxRangePostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/shipmodescanstrengthpostdiv.py b/eos/effects/shipmodescanstrengthpostdiv.py
deleted file mode 100644
index 544eac1b2..000000000
--- a/eos/effects/shipmodescanstrengthpostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModeScanStrengthPostDiv
-#
-# Used by:
-# Modules named like: Sharpshooter Mode (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
- fit.ship.multiplyItemAttr(
- "scan{}Strength".format(scanType),
- 1 / (module.getModifiedItemAttr("mode{}StrengthPostDiv".format(scanType)) or 1),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/shipmodesetdamagepostdiv.py b/eos/effects/shipmodesetdamagepostdiv.py
deleted file mode 100644
index 83c827795..000000000
--- a/eos/effects/shipmodesetdamagepostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModeSETDamagePostDiv
-#
-# Used by:
-# Module: Confessor Sharpshooter Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "damageMultiplier",
- 1 / module.getModifiedItemAttr("modeDamageBonusPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/shipmodesetoptimalrangepostdiv.py b/eos/effects/shipmodesetoptimalrangepostdiv.py
deleted file mode 100644
index 4279bc167..000000000
--- a/eos/effects/shipmodesetoptimalrangepostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModeSETOptimalRangePostDiv
-#
-# Used by:
-# Module: Confessor Sharpshooter Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "maxRange",
- 1 / module.getModifiedItemAttr("modeMaxRangePostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/shipmodeshtdamagepostdiv.py b/eos/effects/shipmodeshtdamagepostdiv.py
deleted file mode 100644
index 8ce7e5d6d..000000000
--- a/eos/effects/shipmodeshtdamagepostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModeSHTDamagePostDiv
-#
-# Used by:
-# Module: Hecate Sharpshooter Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "damageMultiplier",
- 1 / module.getModifiedItemAttr("modeDamageBonusPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/shipmodeshtoptimalrangepostdiv.py b/eos/effects/shipmodeshtoptimalrangepostdiv.py
deleted file mode 100644
index 724cad5de..000000000
--- a/eos/effects/shipmodeshtoptimalrangepostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModeSHTOptimalRangePostDiv
-#
-# Used by:
-# Module: Hecate Sharpshooter Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "maxRange",
- 1 / module.getModifiedItemAttr("modeMaxRangePostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/shipmodesmallmissiledamagepostdiv.py b/eos/effects/shipmodesmallmissiledamagepostdiv.py
deleted file mode 100644
index 31df33c3a..000000000
--- a/eos/effects/shipmodesmallmissiledamagepostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModeSmallMissileDamagePostDiv
-#
-# Used by:
-# Module: Jackdaw Sharpshooter Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- types = ("thermal", "em", "explosive", "kinetic")
- for type in types:
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
- "{}Damage".format(type),
- 1 / module.getModifiedItemAttr("modeDamageBonusPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv")
diff --git a/eos/effects/shipmodesptdamagepostdiv.py b/eos/effects/shipmodesptdamagepostdiv.py
deleted file mode 100644
index 788237c03..000000000
--- a/eos/effects/shipmodesptdamagepostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModeSPTDamagePostDiv
-#
-# Used by:
-# Module: Svipul Sharpshooter Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier",
- 1 / module.getModifiedItemAttr("modeDamageBonusPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/shipmodespttrackingpostdiv.py b/eos/effects/shipmodespttrackingpostdiv.py
deleted file mode 100644
index 6e3563316..000000000
--- a/eos/effects/shipmodespttrackingpostdiv.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModeSPTTrackingPostDiv
-#
-# Used by:
-# Module: Svipul Sharpshooter Mode
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(
- lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "trackingSpeed",
- 1 / module.getModifiedItemAttr("modeTrackingPostDiv"),
- stackingPenalties=True,
- penaltyGroup="postDiv"
- )
diff --git a/eos/effects/shipmoduleancillaryremotearmorrepairer.py b/eos/effects/shipmoduleancillaryremotearmorrepairer.py
deleted file mode 100644
index a1697eec7..000000000
--- a/eos/effects/shipmoduleancillaryremotearmorrepairer.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# shipModuleAncillaryRemoteArmorRepairer
-#
-# Used by:
-# Modules from group: Ancillary Remote Armor Repairer (4 of 4)
-
-type = "projected", "active"
-runTime = "late"
-
-
-def handler(fit, module, context, **kwargs):
- if "projected" not in context:
- return
-
- if module.charge and module.charge.name == "Nanite Repair Paste":
- multiplier = 3
- else:
- multiplier = 1
-
- amount = module.getModifiedItemAttr("armorDamageAmount") * multiplier
- speed = module.getModifiedItemAttr("duration") / 1000.0
- rps = amount / speed
- fit.extraAttributes.increase("armorRepair", rps)
- fit.extraAttributes.increase("armorRepairPreSpool", rps)
- fit.extraAttributes.increase("armorRepairFullSpool", rps)
diff --git a/eos/effects/shipmoduleancillaryremoteshieldbooster.py b/eos/effects/shipmoduleancillaryremoteshieldbooster.py
deleted file mode 100644
index dc135bc0a..000000000
--- a/eos/effects/shipmoduleancillaryremoteshieldbooster.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModuleAncillaryRemoteShieldBooster
-#
-# Used by:
-# Modules from group: Ancillary Remote Shield Booster (4 of 4)
-
-type = "projected", "active"
-runTime = "late"
-
-
-def handler(fit, module, context, **kwargs):
- if "projected" not in context:
- return
- amount = module.getModifiedItemAttr("shieldBonus")
- speed = module.getModifiedItemAttr("duration") / 1000.0
- fit.extraAttributes.increase("shieldRepair", amount / speed, **kwargs)
diff --git a/eos/effects/shipmoduleguidancedisruptor.py b/eos/effects/shipmoduleguidancedisruptor.py
deleted file mode 100644
index a48eb6e78..000000000
--- a/eos/effects/shipmoduleguidancedisruptor.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# shipModuleGuidanceDisruptor
-#
-# Used by:
-# Variations of module: Guidance Disruptor I (6 of 6)
-type = "active", "projected"
-
-
-def handler(fit, module, context, *args, **kwargs):
- 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, module.getModifiedItemAttr(srcAttr),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/shipmoduleremotearmormutadaptiverepairer.py b/eos/effects/shipmoduleremotearmormutadaptiverepairer.py
deleted file mode 100644
index 94a53be2b..000000000
--- a/eos/effects/shipmoduleremotearmormutadaptiverepairer.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# ShipModuleRemoteArmorMutadaptiveRepairer
-#
-# Used by:
-# Modules from group: Mutadaptive Remote Armor Repairer (5 of 5)
-
-
-import eos.config
-from eos.utils.spoolSupport import SpoolType, SpoolOptions, calculateSpoolup, resolveSpoolOptions
-
-
-type = "projected", "active"
-runTime = "late"
-
-
-def handler(fit, container, context, **kwargs):
- if "projected" in context:
- repAmountBase = container.getModifiedItemAttr("armorDamageAmount")
- cycleTime = container.getModifiedItemAttr("duration") / 1000.0
- repSpoolMax = container.getModifiedItemAttr("repairMultiplierBonusMax")
- repSpoolPerCycle = container.getModifiedItemAttr("repairMultiplierBonusPerCycle")
- defaultSpoolValue = eos.config.settings['globalDefaultSpoolupPercentage']
- spoolType, spoolAmount = resolveSpoolOptions(SpoolOptions(SpoolType.SCALE, defaultSpoolValue, False), container)
- rps = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, spoolType, spoolAmount)[0]) / cycleTime
- rpsPreSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SCALE, 0)[0]) / cycleTime
- rpsFullSpool = repAmountBase * (1 + calculateSpoolup(repSpoolMax, repSpoolPerCycle, cycleTime, SpoolType.SCALE, 1)[0]) / cycleTime
- fit.extraAttributes.increase("armorRepair", rps, **kwargs)
- fit.extraAttributes.increase("armorRepairPreSpool", rpsPreSpool, **kwargs)
- fit.extraAttributes.increase("armorRepairFullSpool", rpsFullSpool, **kwargs)
diff --git a/eos/effects/shipmoduleremotearmorrepairer.py b/eos/effects/shipmoduleremotearmorrepairer.py
deleted file mode 100644
index 220792812..000000000
--- a/eos/effects/shipmoduleremotearmorrepairer.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# shipModuleRemoteArmorRepairer
-#
-# Used by:
-# Modules from group: Remote Armor Repairer (39 of 39)
-
-type = "projected", "active"
-runTime = "late"
-
-
-def handler(fit, container, context, **kwargs):
- if "projected" in context:
- bonus = container.getModifiedItemAttr("armorDamageAmount")
- duration = container.getModifiedItemAttr("duration") / 1000.0
- rps = bonus / duration
- fit.extraAttributes.increase("armorRepair", rps)
- fit.extraAttributes.increase("armorRepairPreSpool", rps)
- fit.extraAttributes.increase("armorRepairFullSpool", rps)
diff --git a/eos/effects/shipmoduleremotecapacitortransmitter.py b/eos/effects/shipmoduleremotecapacitortransmitter.py
deleted file mode 100644
index 6b414da7e..000000000
--- a/eos/effects/shipmoduleremotecapacitortransmitter.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# shipModuleRemoteCapacitorTransmitter
-#
-# Used by:
-# Modules from group: Remote Capacitor Transmitter (41 of 41)
-
-
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-
-type = "projected", "active"
-runTime = "late"
-
-
-def handler(fit, src, context, **kwargs):
- if "projected" in context:
- amount = src.getModifiedItemAttr("powerTransferAmount")
- duration = src.getModifiedItemAttr("duration")
-
- if 'effect' in kwargs:
- amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- fit.addDrain(src, duration, -amount, 0)
diff --git a/eos/effects/shipmoduleremotehullrepairer.py b/eos/effects/shipmoduleremotehullrepairer.py
deleted file mode 100644
index 94839fdff..000000000
--- a/eos/effects/shipmoduleremotehullrepairer.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipModuleRemoteHullRepairer
-#
-# Used by:
-# Modules from group: Remote Hull Repairer (8 of 8)
-
-type = "projected", "active"
-runTime = "late"
-
-
-def handler(fit, module, context):
- if "projected" not in context:
- return
- bonus = module.getModifiedItemAttr("structureDamageAmount")
- duration = module.getModifiedItemAttr("duration") / 1000.0
- fit.extraAttributes.increase("hullRepair", bonus / duration)
diff --git a/eos/effects/shipmoduleremoteshieldbooster.py b/eos/effects/shipmoduleremoteshieldbooster.py
deleted file mode 100644
index 7c62a32c4..000000000
--- a/eos/effects/shipmoduleremoteshieldbooster.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipModuleRemoteShieldBooster
-#
-# Used by:
-# Modules from group: Remote Shield Booster (38 of 38)
-type = "projected", "active"
-
-
-def handler(fit, container, context, **kwargs):
- if "projected" in context:
- bonus = container.getModifiedItemAttr("shieldBonus")
- duration = container.getModifiedItemAttr("duration") / 1000.0
- fit.extraAttributes.increase("shieldRepair", bonus / duration, **kwargs)
diff --git a/eos/effects/shipmoduleremotetrackingcomputer.py b/eos/effects/shipmoduleremotetrackingcomputer.py
deleted file mode 100644
index 698307183..000000000
--- a/eos/effects/shipmoduleremotetrackingcomputer.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# shipModuleRemoteTrackingComputer
-#
-# Used by:
-# Modules from group: Remote Tracking Computer (8 of 8)
-type = "projected", "active"
-
-
-def handler(fit, module, context, **kwargs):
- if "projected" in context:
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
- stackingPenalties=True, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "maxRange", module.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "falloff", module.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True, **kwargs)
diff --git a/eos/effects/shipmoduletrackingdisruptor.py b/eos/effects/shipmoduletrackingdisruptor.py
deleted file mode 100644
index 2c04a4a6e..000000000
--- a/eos/effects/shipmoduletrackingdisruptor.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# shipModuleTrackingDisruptor
-#
-# Used by:
-# Variations of module: Tracking Disruptor I (6 of 6)
-type = "projected", "active"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" in context:
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
- stackingPenalties=True, *args, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "maxRange", module.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True, *args, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "falloff", module.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/shipmtfalloffbonusatc.py b/eos/effects/shipmtfalloffbonusatc.py
deleted file mode 100644
index 199209b3a..000000000
--- a/eos/effects/shipmtfalloffbonusatc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMTFalloffBonusATC
-#
-# Used by:
-# Ship: Mimir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusATC2"))
diff --git a/eos/effects/shipmtfalloffbonusatf.py b/eos/effects/shipmtfalloffbonusatf.py
deleted file mode 100644
index 737efa570..000000000
--- a/eos/effects/shipmtfalloffbonusatf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMTFalloffBonusATF
-#
-# Used by:
-# Ship: Freki
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusATF2"))
diff --git a/eos/effects/shipmtmaxrangebonusatc.py b/eos/effects/shipmtmaxrangebonusatc.py
deleted file mode 100644
index 0cc9e309a..000000000
--- a/eos/effects/shipmtmaxrangebonusatc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMTMaxRangeBonusATC
-#
-# Used by:
-# Ship: Mimir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusATC2"))
diff --git a/eos/effects/shipmtmaxrangebonusatf.py b/eos/effects/shipmtmaxrangebonusatf.py
deleted file mode 100644
index e59725ea0..000000000
--- a/eos/effects/shipmtmaxrangebonusatf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipMTMaxRangeBonusATF
-#
-# Used by:
-# Ship: Freki
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusATF2"))
diff --git a/eos/effects/shipneutdestabilizationamountbonusrookie.py b/eos/effects/shipneutdestabilizationamountbonusrookie.py
deleted file mode 100644
index 3a98a9e7c..000000000
--- a/eos/effects/shipneutdestabilizationamountbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipNeutDestabilizationAmountBonusRookie
-#
-# Used by:
-# Ship: Hematos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer",
- "energyNeutralizerAmount", ship.getModifiedItemAttr("rookieNeutDrain"))
diff --git a/eos/effects/shipnostransferamountbonusrookie.py b/eos/effects/shipnostransferamountbonusrookie.py
deleted file mode 100644
index fbbe40fc0..000000000
--- a/eos/effects/shipnostransferamountbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipNOSTransferAmountBonusRookie
-#
-# Used by:
-# Ship: Hematos
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount", ship.getModifiedItemAttr("rookieNosDrain"))
diff --git a/eos/effects/shippcbsdmgbonuspcbs2.py b/eos/effects/shippcbsdmgbonuspcbs2.py
deleted file mode 100644
index 3f35b237c..000000000
--- a/eos/effects/shippcbsdmgbonuspcbs2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipPCBSDmgBonusPCBS2
-#
-# Used by:
-# Ship: Leshak
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Precursor Weapon"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusPBS2"), skill="Precursor Battleship")
diff --git a/eos/effects/shippcbsspeedbonuspcbs1.py b/eos/effects/shippcbsspeedbonuspcbs1.py
deleted file mode 100644
index 9a35e373c..000000000
--- a/eos/effects/shippcbsspeedbonuspcbs1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipPCBSSPeedBonusPCBS1
-#
-# Used by:
-# Ship: Leshak
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Precursor Weapon"),
- "speed", ship.getModifiedItemAttr("shipBonusPBS1"), skill="Precursor Battleship")
diff --git a/eos/effects/shippdmgbonusmf.py b/eos/effects/shippdmgbonusmf.py
deleted file mode 100644
index c7ad6a186..000000000
--- a/eos/effects/shippdmgbonusmf.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# shipPDmgBonusMF
-#
-# Used by:
-# Ship: Cheetah
-# Ship: Freki
-# Ship: Republic Fleet Firetail
-# Ship: Rifter
-# Ship: Slasher
-# Ship: Stiletto
-# Ship: Wolf
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipprojectiledamagemd1.py b/eos/effects/shipprojectiledamagemd1.py
deleted file mode 100644
index 171332da4..000000000
--- a/eos/effects/shipprojectiledamagemd1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipProjectileDamageMD1
-#
-# Used by:
-# Variations of ship: Thrasher (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusMD1"),
- skill="Minmatar Destroyer")
diff --git a/eos/effects/shipprojectiledmgmc.py b/eos/effects/shipprojectiledmgmc.py
deleted file mode 100644
index 4a236b998..000000000
--- a/eos/effects/shipprojectiledmgmc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipProjectileDmgMC
-#
-# Used by:
-# Ship: Mimir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusMC"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipprojectiledmgmc2.py b/eos/effects/shipprojectiledmgmc2.py
deleted file mode 100644
index c313f8e7e..000000000
--- a/eos/effects/shipprojectiledmgmc2.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipProjectileDmgMC2
-#
-# Used by:
-# Variations of ship: Rupture (3 of 3)
-# Ship: Cynabal
-# Ship: Moracha
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusMC2"),
- skill="Minmatar Cruiser")
diff --git a/eos/effects/shipprojectiledmgpiratecruiser.py b/eos/effects/shipprojectiledmgpiratecruiser.py
deleted file mode 100644
index f8c60bd63..000000000
--- a/eos/effects/shipprojectiledmgpiratecruiser.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipProjectileDmgPirateCruiser
-#
-# Used by:
-# Ship: Gnosis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipprojectilefalloffbonusmbc2.py b/eos/effects/shipprojectilefalloffbonusmbc2.py
deleted file mode 100644
index cd9fc15ae..000000000
--- a/eos/effects/shipprojectilefalloffbonusmbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipProjectileFalloffBonusMBC2
-#
-# Used by:
-# Ship: Tornado
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusMBC2"), skill="Minmatar Battlecruiser")
diff --git a/eos/effects/shipprojectileoptimalbonusemf2.py b/eos/effects/shipprojectileoptimalbonusemf2.py
deleted file mode 100644
index d4245be72..000000000
--- a/eos/effects/shipprojectileoptimalbonusemf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipProjectileOptimalBonuseMF2
-#
-# Used by:
-# Ship: Cheetah
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipprojectilerof1mbc2.py b/eos/effects/shipprojectilerof1mbc2.py
deleted file mode 100644
index da832307f..000000000
--- a/eos/effects/shipprojectilerof1mbc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipProjectileRof1MBC2
-#
-# Used by:
-# Ship: Hurricane
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusMBC2"), skill="Minmatar Battlecruiser")
diff --git a/eos/effects/shipprojectilerofbonusmbc1.py b/eos/effects/shipprojectilerofbonusmbc1.py
deleted file mode 100644
index 6df3698af..000000000
--- a/eos/effects/shipprojectilerofbonusmbc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipProjectileRofBonusMBC1
-#
-# Used by:
-# Ship: Tornado
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusMBC1"), skill="Minmatar Battlecruiser")
diff --git a/eos/effects/shipprojectilerofmf.py b/eos/effects/shipprojectilerofmf.py
deleted file mode 100644
index d4eb0ef4a..000000000
--- a/eos/effects/shipprojectilerofmf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipProjectileRofMF
-#
-# Used by:
-# Ship: Claw
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"), "speed",
- src.getModifiedItemAttr("shipBonusMF"), stackingPenalties=True, skill="Minmatar Frigate")
diff --git a/eos/effects/shipprojectilerofpiratebattleship.py b/eos/effects/shipprojectilerofpiratebattleship.py
deleted file mode 100644
index 9b0a7168f..000000000
--- a/eos/effects/shipprojectilerofpiratebattleship.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipProjectileRofPirateBattleship
-#
-# Used by:
-# Ship: Machariel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipprojectilerofpiratecruiser.py b/eos/effects/shipprojectilerofpiratecruiser.py
deleted file mode 100644
index 25a500674..000000000
--- a/eos/effects/shipprojectilerofpiratecruiser.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipProjectileRofPirateCruiser
-#
-# Used by:
-# Ship: Cynabal
-# Ship: Moracha
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipprojectiletracking1md2.py b/eos/effects/shipprojectiletracking1md2.py
deleted file mode 100644
index a2b7e2371..000000000
--- a/eos/effects/shipprojectiletracking1md2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipProjectileTracking1MD2
-#
-# Used by:
-# Variations of ship: Thrasher (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusMD2"), skill="Minmatar Destroyer")
diff --git a/eos/effects/shipprojectiletrackinggf.py b/eos/effects/shipprojectiletrackinggf.py
deleted file mode 100644
index f4f73849f..000000000
--- a/eos/effects/shipprojectiletrackinggf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipProjectileTrackingGF
-#
-# Used by:
-# Ship: Chremoas
-# Ship: Dramiel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipprojectiletrackingmf2.py b/eos/effects/shipprojectiletrackingmf2.py
deleted file mode 100644
index 588b6c7ff..000000000
--- a/eos/effects/shipprojectiletrackingmf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipProjectileTrackingMF2
-#
-# Used by:
-# Variations of ship: Slasher (3 of 3)
-# Ship: Republic Fleet Firetail
-# Ship: Wolf
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipptdmgbonusmb.py b/eos/effects/shipptdmgbonusmb.py
deleted file mode 100644
index f6809435e..000000000
--- a/eos/effects/shipptdmgbonusmb.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipPTDmgBonusMB
-#
-# Used by:
-# Variations of ship: Tempest (3 of 4)
-# Ship: Machariel
-# Ship: Panther
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusMB"),
- skill="Minmatar Battleship")
diff --git a/eos/effects/shipptspeedbonusmb2.py b/eos/effects/shipptspeedbonusmb2.py
deleted file mode 100644
index 7c138ffe0..000000000
--- a/eos/effects/shipptspeedbonusmb2.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipPTspeedBonusMB2
-#
-# Used by:
-# Variations of ship: Tempest (4 of 4)
-# Ship: Maelstrom
-# Ship: Marshal
-# Ship: Panther
-# Ship: Typhoon Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusMB2"), skill="Minmatar Battleship")
diff --git a/eos/effects/shippturretfalloffbonusgb.py b/eos/effects/shippturretfalloffbonusgb.py
deleted file mode 100644
index 18a7dfc80..000000000
--- a/eos/effects/shippturretfalloffbonusgb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipPTurretFalloffBonusGB
-#
-# Used by:
-# Ship: Machariel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusGB"), skill="Gallente Battleship")
diff --git a/eos/effects/shippturretfalloffbonusgc.py b/eos/effects/shippturretfalloffbonusgc.py
deleted file mode 100644
index ba5f3f80d..000000000
--- a/eos/effects/shippturretfalloffbonusgc.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipPTurretFalloffBonusGC
-#
-# Used by:
-# Ship: Cynabal
-# Ship: Moracha
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shippturretfalloffbonusmc2.py b/eos/effects/shippturretfalloffbonusmc2.py
deleted file mode 100644
index 85f4a70f8..000000000
--- a/eos/effects/shippturretfalloffbonusmc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipPTurretFalloffBonusMC2
-#
-# Used by:
-# Ship: Enforcer
-# Ship: Stabber
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shippturretspeedbonusmc.py b/eos/effects/shippturretspeedbonusmc.py
deleted file mode 100644
index 1f360a87a..000000000
--- a/eos/effects/shippturretspeedbonusmc.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipPTurretSpeedBonusMC
-#
-# Used by:
-# Variations of ship: Rupture (3 of 3)
-# Variations of ship: Stabber (3 of 3)
-# Ship: Enforcer
-# Ship: Huginn
-# Ship: Scythe Fleet Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusMC"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipremotearmorfalloffac2.py b/eos/effects/shipremotearmorfalloffac2.py
deleted file mode 100644
index 8b86803ea..000000000
--- a/eos/effects/shipremotearmorfalloffac2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipRemoteArmorFalloffAC2
-#
-# Used by:
-# Ship: Guardian
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAC2"),
- skill="Amarr Cruiser")
diff --git a/eos/effects/shipremotearmorfalloffgc1.py b/eos/effects/shipremotearmorfalloffgc1.py
deleted file mode 100644
index 956f3158e..000000000
--- a/eos/effects/shipremotearmorfalloffgc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipRemoteArmorFalloffGC1
-#
-# Used by:
-# Ship: Oneiros
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "falloffEffectiveness", src.getModifiedItemAttr("shipBonusGC"),
- skill="Gallente Cruiser")
diff --git a/eos/effects/shipremotearmorrangeac2.py b/eos/effects/shipremotearmorrangeac2.py
deleted file mode 100644
index 05e10ee65..000000000
--- a/eos/effects/shipremotearmorrangeac2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipRemoteArmorRangeAC2
-#
-# Used by:
-# Ship: Guardian
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "maxRange",
- src.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")
diff --git a/eos/effects/shipremotearmorrangegc1.py b/eos/effects/shipremotearmorrangegc1.py
deleted file mode 100644
index 737631924..000000000
--- a/eos/effects/shipremotearmorrangegc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipRemoteArmorRangeGC1
-#
-# Used by:
-# Ship: Oneiros
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "maxRange",
- src.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")
diff --git a/eos/effects/shipremotesensordampenercapneedgf.py b/eos/effects/shipremotesensordampenercapneedgf.py
deleted file mode 100644
index ac0d80650..000000000
--- a/eos/effects/shipremotesensordampenercapneedgf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipRemoteSensorDampenerCapNeedGF
-#
-# Used by:
-# Ship: Keres
-# Ship: Maulus
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Sensor Dampener",
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shiprocketemdmgaf.py b/eos/effects/shiprocketemdmgaf.py
deleted file mode 100644
index 440ae90cb..000000000
--- a/eos/effects/shiprocketemdmgaf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipRocketEmDmgAF
-#
-# Used by:
-# Ship: Anathema
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "emDamage", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shiprocketemthermkindmgmf2.py b/eos/effects/shiprocketemthermkindmgmf2.py
deleted file mode 100644
index 0508f7f78..000000000
--- a/eos/effects/shiprocketemthermkindmgmf2.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipRocketEMThermKinDmgMF2
-#
-# Used by:
-# Ship: Vigil Fleet Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "emDamage",
- src.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "thermalDamage",
- src.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "kineticDamage",
- src.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
diff --git a/eos/effects/shiprocketexpdmgmf3.py b/eos/effects/shiprocketexpdmgmf3.py
deleted file mode 100644
index 022036560..000000000
--- a/eos/effects/shiprocketexpdmgmf3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipRocketExpDmgMF3
-#
-# Used by:
-# Ship: Vigil Fleet Issue
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "explosiveDamage",
- src.getModifiedItemAttr("shipBonus3MF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shiprocketexplosivedmgaf.py b/eos/effects/shiprocketexplosivedmgaf.py
deleted file mode 100644
index 4ff2ef7f2..000000000
--- a/eos/effects/shiprocketexplosivedmgaf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipRocketExplosiveDmgAF
-#
-# Used by:
-# Ship: Anathema
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shiprocketexplosivedmgmd1.py b/eos/effects/shiprocketexplosivedmgmd1.py
deleted file mode 100644
index 73c57b8aa..000000000
--- a/eos/effects/shiprocketexplosivedmgmd1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipRocketExplosiveDmgMD1
-#
-# Used by:
-# Ship: Talwar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusMD1"),
- skill="Minmatar Destroyer")
diff --git a/eos/effects/shiprocketkineticdmgaf.py b/eos/effects/shiprocketkineticdmgaf.py
deleted file mode 100644
index f3b178535..000000000
--- a/eos/effects/shiprocketkineticdmgaf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipRocketKineticDmgAF
-#
-# Used by:
-# Ship: Anathema
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shiprocketkineticdmgcd1.py b/eos/effects/shiprocketkineticdmgcd1.py
deleted file mode 100644
index 79de18da3..000000000
--- a/eos/effects/shiprocketkineticdmgcd1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipRocketKineticDmgCD1
-#
-# Used by:
-# Ship: Corax
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCD1"),
- skill="Caldari Destroyer")
diff --git a/eos/effects/shiprocketmaxvelocitybonusrookie.py b/eos/effects/shiprocketmaxvelocitybonusrookie.py
deleted file mode 100644
index 998eb54e8..000000000
--- a/eos/effects/shiprocketmaxvelocitybonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipRocketMaxVelocityBonusRookie
-#
-# Used by:
-# Ship: Taipan
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "maxVelocity", ship.getModifiedItemAttr("rookieRocketVelocity"))
diff --git a/eos/effects/shiprocketrofbonusaf2.py b/eos/effects/shiprocketrofbonusaf2.py
deleted file mode 100644
index d272d6ec7..000000000
--- a/eos/effects/shiprocketrofbonusaf2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipRocketRoFBonusAF2
-#
-# Used by:
-# Ship: Malediction
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rocket",
- "speed", ship.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
diff --git a/eos/effects/shiprocketthermaldmgaf.py b/eos/effects/shiprocketthermaldmgaf.py
deleted file mode 100644
index b937c6760..000000000
--- a/eos/effects/shiprocketthermaldmgaf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipRocketThermalDmgAF
-#
-# Used by:
-# Ship: Anathema
-# Ship: Vengeance
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shiproledisintegratormaxrangecbc.py b/eos/effects/shiproledisintegratormaxrangecbc.py
deleted file mode 100644
index 193bcd298..000000000
--- a/eos/effects/shiproledisintegratormaxrangecbc.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipRoleDisintegratorMaxRangeCBC
-#
-# Used by:
-# Ship: Drekavac
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Precursor Weapon"),
- "maxRange", ship.getModifiedItemAttr("roleBonusCBC"))
diff --git a/eos/effects/shipscanprobestrengthbonuspiratecruiser.py b/eos/effects/shipscanprobestrengthbonuspiratecruiser.py
deleted file mode 100644
index c57d3adff..000000000
--- a/eos/effects/shipscanprobestrengthbonuspiratecruiser.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# shipScanProbeStrengthBonusPirateCruiser
-#
-# Used by:
-# Ships named like: Stratios (2 of 2)
-# Ship: Astero
-# Ship: Gnosis
-# Ship: Praxis
-# Ship: Sunesis
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
- "baseSensorStrength", container.getModifiedItemAttr("shipBonusRole8"))
diff --git a/eos/effects/shipscanprobestrengthbonuspiratefaction.py b/eos/effects/shipscanprobestrengthbonuspiratefaction.py
deleted file mode 100644
index 26ccc7c2c..000000000
--- a/eos/effects/shipscanprobestrengthbonuspiratefaction.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipScanProbeStrengthBonusPirateFaction
-#
-# Used by:
-# Ship: Nestor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
- "baseSensorStrength", ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipscanresolutionbonusonline.py b/eos/effects/shipscanresolutionbonusonline.py
deleted file mode 100644
index 989f097a8..000000000
--- a/eos/effects/shipscanresolutionbonusonline.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipScanResolutionBonusOnline
-#
-# Used by:
-# Modules from group: Signal Amplifier (7 of 7)
-# Structure Modules from group: Structure Signal Amplifier (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/shipsetcapneedamarrtacticaldestroyer2.py b/eos/effects/shipsetcapneedamarrtacticaldestroyer2.py
deleted file mode 100644
index 3cf50a439..000000000
--- a/eos/effects/shipsetcapneedamarrtacticaldestroyer2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipSETCapNeedAmarrTacticalDestroyer2
-#
-# Used by:
-# Ship: Confessor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusTacticalDestroyerAmarr2"),
- skill="Amarr Tactical Destroyer")
diff --git a/eos/effects/shipsetdamageamarrtacticaldestroyer1.py b/eos/effects/shipsetdamageamarrtacticaldestroyer1.py
deleted file mode 100644
index ce45c042a..000000000
--- a/eos/effects/shipsetdamageamarrtacticaldestroyer1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipSETDamageAmarrTacticalDestroyer1
-#
-# Used by:
-# Ship: Confessor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusTacticalDestroyerAmarr1"),
- skill="Amarr Tactical Destroyer")
diff --git a/eos/effects/shipsetdmgbonusaf.py b/eos/effects/shipsetdmgbonusaf.py
deleted file mode 100644
index 5ecc4f4a2..000000000
--- a/eos/effects/shipsetdmgbonusaf.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipSETDmgBonusAF
-#
-# Used by:
-# Ship: Executioner
-# Ship: Gold Magnate
-# Ship: Silver Magnate
-# Ship: Tormentor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
diff --git a/eos/effects/shipsetdmgbonusrookie.py b/eos/effects/shipsetdmgbonusrookie.py
deleted file mode 100644
index d32fd04e7..000000000
--- a/eos/effects/shipsetdmgbonusrookie.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipSETDmgBonusRookie
-#
-# Used by:
-# Ship: Hematos
-# Ship: Immolator
-# Ship: Impairor
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("rookieSETDamageBonus"))
diff --git a/eos/effects/shipsetoptimalbonusrookie.py b/eos/effects/shipsetoptimalbonusrookie.py
deleted file mode 100644
index 771ffbc65..000000000
--- a/eos/effects/shipsetoptimalbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSETOptimalBonusRookie
-#
-# Used by:
-# Ship: Immolator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("rookieSETOptimal"))
diff --git a/eos/effects/shipsetrofaf.py b/eos/effects/shipsetrofaf.py
deleted file mode 100644
index df4394b19..000000000
--- a/eos/effects/shipsetrofaf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSETROFAF
-#
-# Used by:
-# Ship: Retribution
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"), "speed",
- src.getModifiedItemAttr("shipBonusAF"), stackingPenalties=False, skill="Amarr Frigate")
diff --git a/eos/effects/shipsettrackingbonusrookie.py b/eos/effects/shipsettrackingbonusrookie.py
deleted file mode 100644
index c901d1374..000000000
--- a/eos/effects/shipsettrackingbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSETTrackingBonusRookie
-#
-# Used by:
-# Ship: Immolator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("rookieSETTracking"))
diff --git a/eos/effects/shipshieldboost1mbc1.py b/eos/effects/shipshieldboost1mbc1.py
deleted file mode 100644
index 5f9abe465..000000000
--- a/eos/effects/shipshieldboost1mbc1.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipShieldBoost1MBC1
-#
-# Used by:
-# Variations of ship: Cyclone (2 of 2)
-# Ship: Sleipnir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusMBC1"),
- skill="Minmatar Battlecruiser")
diff --git a/eos/effects/shipshieldboostmf.py b/eos/effects/shipshieldboostmf.py
deleted file mode 100644
index ced5d2799..000000000
--- a/eos/effects/shipshieldboostmf.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipShieldBoostMF
-#
-# Used by:
-# Ship: Breacher
-# Ship: Jaguar
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", ship.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipshieldboostrookie.py b/eos/effects/shipshieldboostrookie.py
deleted file mode 100644
index 55cf58a78..000000000
--- a/eos/effects/shipshieldboostrookie.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipShieldBoostRookie
-#
-# Used by:
-# Ship: Immolator
-# Ship: Reaper
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", ship.getModifiedItemAttr("rookieShieldBoostBonus"))
diff --git a/eos/effects/shipshieldemresistance1cbc2.py b/eos/effects/shipshieldemresistance1cbc2.py
deleted file mode 100644
index 82fe621bc..000000000
--- a/eos/effects/shipshieldemresistance1cbc2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipShieldEmResistance1CBC2
-#
-# Used by:
-# Ship: Drake
-# Ship: Nighthawk
-# Ship: Vulture
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldEmDamageResonance", ship.getModifiedItemAttr("shipBonusCBC2"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipshieldemresistancecc2.py b/eos/effects/shipshieldemresistancecc2.py
deleted file mode 100644
index 20a8e86a3..000000000
--- a/eos/effects/shipshieldemresistancecc2.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipShieldEMResistanceCC2
-#
-# Used by:
-# Variations of ship: Moa (3 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldEmDamageResonance", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipshieldemresistancecf2.py b/eos/effects/shipshieldemresistancecf2.py
deleted file mode 100644
index 4e68a86aa..000000000
--- a/eos/effects/shipshieldemresistancecf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipShieldEMResistanceCF2
-#
-# Used by:
-# Variations of ship: Merlin (3 of 4)
-# Ship: Cambion
-# Ship: Whiptail
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldEmDamageResonance", ship.getModifiedItemAttr("shipBonusCF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipshieldemresistancerookie.py b/eos/effects/shipshieldemresistancerookie.py
deleted file mode 100644
index 7005269f0..000000000
--- a/eos/effects/shipshieldemresistancerookie.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipShieldEMResistanceRookie
-#
-# Used by:
-# Ships from group: Heavy Interdiction Cruiser (3 of 5)
-# Ship: Ibis
-# Ship: Taipan
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldEmDamageResonance", ship.getModifiedItemAttr("rookieShieldResistBonus"))
diff --git a/eos/effects/shipshieldexplosiveresistance1cbc2.py b/eos/effects/shipshieldexplosiveresistance1cbc2.py
deleted file mode 100644
index c3e3846de..000000000
--- a/eos/effects/shipshieldexplosiveresistance1cbc2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipShieldExplosiveResistance1CBC2
-#
-# Used by:
-# Ship: Drake
-# Ship: Nighthawk
-# Ship: Vulture
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonusCBC2"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipshieldexplosiveresistancecc2.py b/eos/effects/shipshieldexplosiveresistancecc2.py
deleted file mode 100644
index 203b2676a..000000000
--- a/eos/effects/shipshieldexplosiveresistancecc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipShieldExplosiveResistanceCC2
-#
-# Used by:
-# Variations of ship: Moa (3 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonusCC2"),
- skill="Caldari Cruiser")
diff --git a/eos/effects/shipshieldexplosiveresistancecf2.py b/eos/effects/shipshieldexplosiveresistancecf2.py
deleted file mode 100644
index 264c2b94d..000000000
--- a/eos/effects/shipshieldexplosiveresistancecf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipShieldExplosiveResistanceCF2
-#
-# Used by:
-# Variations of ship: Merlin (3 of 4)
-# Ship: Cambion
-# Ship: Whiptail
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", ship.getModifiedItemAttr("shipBonusCF"),
- skill="Caldari Frigate")
diff --git a/eos/effects/shipshieldexplosiveresistancerookie.py b/eos/effects/shipshieldexplosiveresistancerookie.py
deleted file mode 100644
index fc80e979d..000000000
--- a/eos/effects/shipshieldexplosiveresistancerookie.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipShieldExplosiveResistanceRookie
-#
-# Used by:
-# Ships from group: Heavy Interdiction Cruiser (3 of 5)
-# Ship: Ibis
-# Ship: Taipan
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance", ship.getModifiedItemAttr("rookieShieldResistBonus"))
diff --git a/eos/effects/shipshieldhitpointscc1.py b/eos/effects/shipshieldhitpointscc1.py
deleted file mode 100644
index 06fdfea96..000000000
--- a/eos/effects/shipshieldhitpointscc1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipShieldHitpointsCC1
-#
-# Used by:
-# Ship: Monitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldCapacity", src.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipshieldkineticresistance1cbc2.py b/eos/effects/shipshieldkineticresistance1cbc2.py
deleted file mode 100644
index 8db3ea8be..000000000
--- a/eos/effects/shipshieldkineticresistance1cbc2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipShieldKineticResistance1CBC2
-#
-# Used by:
-# Ship: Drake
-# Ship: Nighthawk
-# Ship: Vulture
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldKineticDamageResonance", ship.getModifiedItemAttr("shipBonusCBC2"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipshieldkineticresistancecc2.py b/eos/effects/shipshieldkineticresistancecc2.py
deleted file mode 100644
index d8477420c..000000000
--- a/eos/effects/shipshieldkineticresistancecc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipShieldKineticResistanceCC2
-#
-# Used by:
-# Variations of ship: Moa (3 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldKineticDamageResonance", ship.getModifiedItemAttr("shipBonusCC2"),
- skill="Caldari Cruiser")
diff --git a/eos/effects/shipshieldkineticresistancecf2.py b/eos/effects/shipshieldkineticresistancecf2.py
deleted file mode 100644
index 3fd3ebb89..000000000
--- a/eos/effects/shipshieldkineticresistancecf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipShieldKineticResistanceCF2
-#
-# Used by:
-# Variations of ship: Merlin (3 of 4)
-# Ship: Cambion
-# Ship: Whiptail
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldKineticDamageResonance", ship.getModifiedItemAttr("shipBonusCF"),
- skill="Caldari Frigate")
diff --git a/eos/effects/shipshieldkineticresistancerookie.py b/eos/effects/shipshieldkineticresistancerookie.py
deleted file mode 100644
index 1d9a00d39..000000000
--- a/eos/effects/shipshieldkineticresistancerookie.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipShieldKineticResistanceRookie
-#
-# Used by:
-# Ships from group: Heavy Interdiction Cruiser (3 of 5)
-# Ship: Ibis
-# Ship: Taipan
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldKineticDamageResonance", ship.getModifiedItemAttr("rookieShieldResistBonus"))
diff --git a/eos/effects/shipshieldthermalresistance1cbc2.py b/eos/effects/shipshieldthermalresistance1cbc2.py
deleted file mode 100644
index 4268d279f..000000000
--- a/eos/effects/shipshieldthermalresistance1cbc2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipShieldThermalResistance1CBC2
-#
-# Used by:
-# Ship: Drake
-# Ship: Nighthawk
-# Ship: Vulture
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", ship.getModifiedItemAttr("shipBonusCBC2"),
- skill="Caldari Battlecruiser")
diff --git a/eos/effects/shipshieldthermalresistancecc2.py b/eos/effects/shipshieldthermalresistancecc2.py
deleted file mode 100644
index 9c9328d43..000000000
--- a/eos/effects/shipshieldthermalresistancecc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipShieldThermalResistanceCC2
-#
-# Used by:
-# Variations of ship: Moa (3 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", ship.getModifiedItemAttr("shipBonusCC2"),
- skill="Caldari Cruiser")
diff --git a/eos/effects/shipshieldthermalresistancecf2.py b/eos/effects/shipshieldthermalresistancecf2.py
deleted file mode 100644
index 739d4033f..000000000
--- a/eos/effects/shipshieldthermalresistancecf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipShieldThermalResistanceCF2
-#
-# Used by:
-# Variations of ship: Merlin (3 of 4)
-# Ship: Cambion
-# Ship: Whiptail
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", ship.getModifiedItemAttr("shipBonusCF"),
- skill="Caldari Frigate")
diff --git a/eos/effects/shipshieldthermalresistancerookie.py b/eos/effects/shipshieldthermalresistancerookie.py
deleted file mode 100644
index 6b270aa7d..000000000
--- a/eos/effects/shipshieldthermalresistancerookie.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipShieldThermalResistanceRookie
-#
-# Used by:
-# Ships from group: Heavy Interdiction Cruiser (3 of 5)
-# Ship: Ibis
-# Ship: Taipan
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance", ship.getModifiedItemAttr("rookieShieldResistBonus"))
diff --git a/eos/effects/shipshieldtransferfalloffcc1.py b/eos/effects/shipshieldtransferfalloffcc1.py
deleted file mode 100644
index 64acc7099..000000000
--- a/eos/effects/shipshieldtransferfalloffcc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipShieldTransferFalloffCC1
-#
-# Used by:
-# Ship: Basilisk
-# Ship: Etana
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipshieldtransferfalloffmc2.py b/eos/effects/shipshieldtransferfalloffmc2.py
deleted file mode 100644
index 23a27ca85..000000000
--- a/eos/effects/shipshieldtransferfalloffmc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipShieldTransferFalloffMC2
-#
-# Used by:
-# Ship: Scimitar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "falloffEffectiveness",
- src.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipshieldtransferrangecc1.py b/eos/effects/shipshieldtransferrangecc1.py
deleted file mode 100644
index fc9ef4cfd..000000000
--- a/eos/effects/shipshieldtransferrangecc1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipShieldTransferRangeCC1
-#
-# Used by:
-# Ship: Basilisk
-# Ship: Etana
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "maxRange",
- src.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
diff --git a/eos/effects/shipshieldtransferrangemc2.py b/eos/effects/shipshieldtransferrangemc2.py
deleted file mode 100644
index f7096dea4..000000000
--- a/eos/effects/shipshieldtransferrangemc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipShieldTransferRangeMC2
-#
-# Used by:
-# Ship: Scimitar
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "maxRange",
- src.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipshtdmgbonusgf.py b/eos/effects/shipshtdmgbonusgf.py
deleted file mode 100644
index d99426da0..000000000
--- a/eos/effects/shipshtdmgbonusgf.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# shipSHTDmgBonusGF
-#
-# Used by:
-# Variations of ship: Incursus (3 of 3)
-# Ship: Atron
-# Ship: Federation Navy Comet
-# Ship: Helios
-# Ship: Pacifier
-# Ship: Taranis
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipshtdmgbonusrookie.py b/eos/effects/shipshtdmgbonusrookie.py
deleted file mode 100644
index 5603af34a..000000000
--- a/eos/effects/shipshtdmgbonusrookie.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipSHTDmgBonusRookie
-#
-# Used by:
-# Ship: Velator
-# Ship: Violator
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("rookieSHTDamageBonus"))
diff --git a/eos/effects/shipshtfalloffbonusrookie.py b/eos/effects/shipshtfalloffbonusrookie.py
deleted file mode 100644
index b4083f4d3..000000000
--- a/eos/effects/shipshtfalloffbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSHTFalloffBonusRookie
-#
-# Used by:
-# Ship: Violator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "falloff", ship.getModifiedItemAttr("rookieSHTFalloff"))
diff --git a/eos/effects/shipshtoptimalbonusgf.py b/eos/effects/shipshtoptimalbonusgf.py
deleted file mode 100644
index e6682472b..000000000
--- a/eos/effects/shipshtoptimalbonusgf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSHTOptimalBonusGF
-#
-# Used by:
-# Ship: Ares
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusGF"), skill="Gallente Frigate")
diff --git a/eos/effects/shipshtrofgallentetacticaldestroyer1.py b/eos/effects/shipshtrofgallentetacticaldestroyer1.py
deleted file mode 100644
index 64e164ab9..000000000
--- a/eos/effects/shipshtrofgallentetacticaldestroyer1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipSHTRoFGallenteTacticalDestroyer1
-#
-# Used by:
-# Ship: Hecate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "speed", ship.getModifiedItemAttr("shipBonusTacticalDestroyerGallente1"),
- skill="Gallente Tactical Destroyer")
diff --git a/eos/effects/shipshttrackinggallentetacticaldestroyer2.py b/eos/effects/shipshttrackinggallentetacticaldestroyer2.py
deleted file mode 100644
index dfcd8d7f2..000000000
--- a/eos/effects/shipshttrackinggallentetacticaldestroyer2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipSHTTrackingGallenteTacticalDestroyer2
-#
-# Used by:
-# Ship: Hecate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusTacticalDestroyerGallente2"),
- skill="Gallente Tactical Destroyer")
diff --git a/eos/effects/shipshttrackingspeedbonusrookie.py b/eos/effects/shipshttrackingspeedbonusrookie.py
deleted file mode 100644
index 48b2da45f..000000000
--- a/eos/effects/shipshttrackingspeedbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSHTTrackingSpeedBonusRookie
-#
-# Used by:
-# Ship: Violator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("rookieSHTTracking"))
diff --git a/eos/effects/shipsiegelauncherrofbonus2cb.py b/eos/effects/shipsiegelauncherrofbonus2cb.py
deleted file mode 100644
index 9ab173443..000000000
--- a/eos/effects/shipsiegelauncherrofbonus2cb.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipSiegeLauncherROFBonus2CB
-#
-# Used by:
-# Ship: Raven
-# Ship: Raven State Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Torpedo",
- "speed", ship.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
diff --git a/eos/effects/shipsignatureradiusmc1.py b/eos/effects/shipsignatureradiusmc1.py
deleted file mode 100644
index e366d23af..000000000
--- a/eos/effects/shipsignatureradiusmc1.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipSignatureRadiusMC1
-#
-# Used by:
-# Ship: Monitor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("signatureRadius", src.getModifiedItemAttr("shipBonusMC"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipsmallmissiledmgpiratefaction.py b/eos/effects/shipsmallmissiledmgpiratefaction.py
deleted file mode 100644
index 3a21076cc..000000000
--- a/eos/effects/shipsmallmissiledmgpiratefaction.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# shipSmallMissileDmgPirateFaction
-#
-# Used by:
-# Ship: Jackdaw
-# Ship: Sunesis
-type = "passive"
-
-
-def handler(fit, ship, context):
- for damageType in ("em", "explosive", "kinetic", "thermal"):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
- "{0}Damage".format(damageType), ship.getModifiedItemAttr("shipBonusRole7"))
diff --git a/eos/effects/shipsmallmissileemdmgcf2.py b/eos/effects/shipsmallmissileemdmgcf2.py
deleted file mode 100644
index 3a08f5b10..000000000
--- a/eos/effects/shipsmallmissileemdmgcf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipSmallMissileEMDmgCF2
-#
-# Used by:
-# Ship: Caldari Navy Hookbill
-# Ship: Kestrel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
- "emDamage", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipsmallmissileexpdmgcf2.py b/eos/effects/shipsmallmissileexpdmgcf2.py
deleted file mode 100644
index 2c03823e6..000000000
--- a/eos/effects/shipsmallmissileexpdmgcf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipSmallMissileExpDmgCF2
-#
-# Used by:
-# Ship: Caldari Navy Hookbill
-# Ship: Kestrel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
- "explosiveDamage", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipsmallmissilekindmgcf2.py b/eos/effects/shipsmallmissilekindmgcf2.py
deleted file mode 100644
index 9adc59089..000000000
--- a/eos/effects/shipsmallmissilekindmgcf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipSmallMissileKinDmgCF2
-#
-# Used by:
-# Ship: Kestrel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
- "kineticDamage", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipsmallmissilekindmgcf3.py b/eos/effects/shipsmallmissilekindmgcf3.py
deleted file mode 100644
index bdef8ba12..000000000
--- a/eos/effects/shipsmallmissilekindmgcf3.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipSmallMissileKinDmgCF3
-#
-# Used by:
-# Ship: Caldari Navy Hookbill
-
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Light Missiles") or mod.charge.requiresSkill("Rockets"), "kineticDamage",
- src.getModifiedItemAttr("shipBonus3CF"), skill="Caldari Frigate")
diff --git a/eos/effects/shipsmallmissilethermdmgcf2.py b/eos/effects/shipsmallmissilethermdmgcf2.py
deleted file mode 100644
index e336853e6..000000000
--- a/eos/effects/shipsmallmissilethermdmgcf2.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipSmallMissileThermDmgCF2
-#
-# Used by:
-# Ship: Caldari Navy Hookbill
-# Ship: Kestrel
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(
- lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
- "thermalDamage", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
diff --git a/eos/effects/shipsptdamageminmatartacticaldestroyer1.py b/eos/effects/shipsptdamageminmatartacticaldestroyer1.py
deleted file mode 100644
index 9c435c7de..000000000
--- a/eos/effects/shipsptdamageminmatartacticaldestroyer1.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipSPTDamageMinmatarTacticalDestroyer1
-#
-# Used by:
-# Ship: Svipul
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("shipBonusTacticalDestroyerMinmatar1"),
- skill="Minmatar Tactical Destroyer")
diff --git a/eos/effects/shipsptdmgbonusrookie.py b/eos/effects/shipsptdmgbonusrookie.py
deleted file mode 100644
index 3646da72c..000000000
--- a/eos/effects/shipsptdmgbonusrookie.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipSPTDmgBonusRookie
-#
-# Used by:
-# Ship: Echo
-# Ship: Reaper
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier", ship.getModifiedItemAttr("rookieSPTDamageBonus"))
diff --git a/eos/effects/shipsptfalloffbonusrookie.py b/eos/effects/shipsptfalloffbonusrookie.py
deleted file mode 100644
index 0509c7dde..000000000
--- a/eos/effects/shipsptfalloffbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSPTFalloffBonusRookie
-#
-# Used by:
-# Ship: Echo
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "falloff", ship.getModifiedItemAttr("rookieSPTFalloff"))
diff --git a/eos/effects/shipsptoptimalbonusmf.py b/eos/effects/shipsptoptimalbonusmf.py
deleted file mode 100644
index 1f7255f44..000000000
--- a/eos/effects/shipsptoptimalbonusmf.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSPTOptimalBonusMF
-#
-# Used by:
-# Ship: Chremoas
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")
diff --git a/eos/effects/shipsptoptimalminmatartacticaldestroyer2.py b/eos/effects/shipsptoptimalminmatartacticaldestroyer2.py
deleted file mode 100644
index 0668d5b00..000000000
--- a/eos/effects/shipsptoptimalminmatartacticaldestroyer2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipSPTOptimalMinmatarTacticalDestroyer2
-#
-# Used by:
-# Ship: Svipul
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "maxRange", ship.getModifiedItemAttr("shipBonusTacticalDestroyerMinmatar2"),
- skill="Minmatar Tactical Destroyer")
diff --git a/eos/effects/shipsptoptimalrangebonusrookie.py b/eos/effects/shipsptoptimalrangebonusrookie.py
deleted file mode 100644
index a7c289fea..000000000
--- a/eos/effects/shipsptoptimalrangebonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSPTOptimalRangeBonusRookie
-#
-# Used by:
-# Ship: Echo
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "maxRange", ship.getModifiedItemAttr("rookieSPTOptimal"))
diff --git a/eos/effects/shipspttrackingspeedbonusrookie.py b/eos/effects/shipspttrackingspeedbonusrookie.py
deleted file mode 100644
index c6a0bca15..000000000
--- a/eos/effects/shipspttrackingspeedbonusrookie.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipSPTTrackingSpeedBonusRookie
-#
-# Used by:
-# Ship: Echo
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("rookieSPTTracking"))
diff --git a/eos/effects/shipstasiswebrangebonusmb.py b/eos/effects/shipstasiswebrangebonusmb.py
deleted file mode 100644
index b7513bbda..000000000
--- a/eos/effects/shipstasiswebrangebonusmb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipStasisWebRangeBonusMB
-#
-# Used by:
-# Ship: Bhaalgorn
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "maxRange", ship.getModifiedItemAttr("shipBonusMB"), skill="Minmatar Battleship")
diff --git a/eos/effects/shipstasiswebrangebonusmc2.py b/eos/effects/shipstasiswebrangebonusmc2.py
deleted file mode 100644
index 3b43a9b64..000000000
--- a/eos/effects/shipstasiswebrangebonusmc2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipStasisWebRangeBonusMC2
-#
-# Used by:
-# Ship: Ashimmu
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "maxRange", ship.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipstasiswebstrengthbonusmc2.py b/eos/effects/shipstasiswebstrengthbonusmc2.py
deleted file mode 100644
index 03a6c3198..000000000
--- a/eos/effects/shipstasiswebstrengthbonusmc2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipStasisWebStrengthBonusMC2
-#
-# Used by:
-# Ship: Victor
-# Ship: Vigilant
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "speedFactor", ship.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")
diff --git a/eos/effects/shipstasiswebstrengthbonusmf2.py b/eos/effects/shipstasiswebstrengthbonusmf2.py
deleted file mode 100644
index 09822f202..000000000
--- a/eos/effects/shipstasiswebstrengthbonusmf2.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipStasisWebStrengthBonusMF2
-#
-# Used by:
-# Ship: Daredevil
-# Ship: Virtuoso
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "speedFactor", ship.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
diff --git a/eos/effects/shiptcapneedbonusac.py b/eos/effects/shiptcapneedbonusac.py
deleted file mode 100644
index 00e4ac757..000000000
--- a/eos/effects/shiptcapneedbonusac.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# shipTCapNeedBonusAC
-#
-# Used by:
-# Ship: Devoter
-# Ship: Omen
-# Ship: Zealot
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "capacitorNeed", ship.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")
diff --git a/eos/effects/shiptorpedoaoecloudsize1cb.py b/eos/effects/shiptorpedoaoecloudsize1cb.py
deleted file mode 100644
index ca8a1b166..000000000
--- a/eos/effects/shiptorpedoaoecloudsize1cb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipTorpedoAOECloudSize1CB
-#
-# Used by:
-# Ship: Raven Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "aoeCloudSize", ship.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
diff --git a/eos/effects/shiptorpedorofcb.py b/eos/effects/shiptorpedorofcb.py
deleted file mode 100644
index 22d81e5fa..000000000
--- a/eos/effects/shiptorpedorofcb.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipTorpedoROFCB
-#
-# Used by:
-# Ship: Scorpion Navy Issue
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Torpedo",
- "speed", ship.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
diff --git a/eos/effects/shiptorpedosvelocitybonuscb3.py b/eos/effects/shiptorpedosvelocitybonuscb3.py
deleted file mode 100644
index 6bedfb8c6..000000000
--- a/eos/effects/shiptorpedosvelocitybonuscb3.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipTorpedosVelocityBonusCB3
-#
-# Used by:
-# Variations of ship: Raven (3 of 4)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"),
- "maxVelocity", ship.getModifiedItemAttr("shipBonusCB3"), skill="Caldari Battleship")
diff --git a/eos/effects/shiptrackingbonusab.py b/eos/effects/shiptrackingbonusab.py
deleted file mode 100644
index ad820e01d..000000000
--- a/eos/effects/shiptrackingbonusab.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipTrackingBonusAB
-#
-# Used by:
-# Ship: Nightmare
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
- "trackingSpeed", ship.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship")
diff --git a/eos/effects/shipvelocitybonusai.py b/eos/effects/shipvelocitybonusai.py
deleted file mode 100644
index 3ba16182d..000000000
--- a/eos/effects/shipvelocitybonusai.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipVelocityBonusAI
-#
-# Used by:
-# Variations of ship: Bestower (2 of 2)
-# Ship: Prorator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("shipBonusAI"), skill="Amarr Industrial")
diff --git a/eos/effects/shipvelocitybonusatc1.py b/eos/effects/shipvelocitybonusatc1.py
deleted file mode 100644
index 7b2c31830..000000000
--- a/eos/effects/shipvelocitybonusatc1.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# shipVelocityBonusATC1
-#
-# Used by:
-# Ship: Adrestia
-# Ship: Mimir
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("shipBonusATC1"))
diff --git a/eos/effects/shipvelocitybonusmi.py b/eos/effects/shipvelocitybonusmi.py
deleted file mode 100644
index fe05cb921..000000000
--- a/eos/effects/shipvelocitybonusmi.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipVelocityBonusMI
-#
-# Used by:
-# Variations of ship: Mammoth (2 of 2)
-# Ship: Hoarder
-# Ship: Prowler
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("shipBonusMI"), skill="Minmatar Industrial")
diff --git a/eos/effects/shipvelocitybonusrookie.py b/eos/effects/shipvelocitybonusrookie.py
deleted file mode 100644
index b0634e3f3..000000000
--- a/eos/effects/shipvelocitybonusrookie.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# shipVelocityBonusRookie
-#
-# Used by:
-# Ship: Reaper
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("rookieShipVelocityBonus"))
diff --git a/eos/effects/shipwebvelocitybonusrookie.py b/eos/effects/shipwebvelocitybonusrookie.py
deleted file mode 100644
index d8f5468c8..000000000
--- a/eos/effects/shipwebvelocitybonusrookie.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# shipWebVelocityBonusRookie
-#
-# Used by:
-# Ship: Hematos
-# Ship: Violator
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "speedFactor", ship.getModifiedItemAttr("rookieWebAmount"))
diff --git a/eos/effects/signatureanalysisscanresolutionbonuspostpercentscanresolutionship.py b/eos/effects/signatureanalysisscanresolutionbonuspostpercentscanresolutionship.py
deleted file mode 100644
index 5401527b9..000000000
--- a/eos/effects/signatureanalysisscanresolutionbonuspostpercentscanresolutionship.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# signatureAnalysisScanResolutionBonusPostPercentScanResolutionShip
-#
-# Used by:
-# Implants named like: Zainou 'Gypsy' Signature Analysis SA (6 of 6)
-# Modules named like: Targeting System Subcontroller (8 of 8)
-# Implant: Quafe Zero
-# Skill: Signature Analysis
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- penalized = False if "skill" in context or "implant" in context or "booster" in context else True
- fit.ship.boostItemAttr("scanResolution", container.getModifiedItemAttr("scanResolutionBonus") * level,
- stackingPenalties=penalized)
diff --git a/eos/effects/signatureradiusaddpassive.py b/eos/effects/signatureradiusaddpassive.py
deleted file mode 100644
index 5282f3ce1..000000000
--- a/eos/effects/signatureradiusaddpassive.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# signatureRadiusAddPassive
-#
-# Used by:
-# Subsystems from group: Defensive Systems (8 of 12)
-# Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadius"))
diff --git a/eos/effects/skilladvancedweaponupgradespowerneedbonus.py b/eos/effects/skilladvancedweaponupgradespowerneedbonus.py
deleted file mode 100644
index 6cd2337c9..000000000
--- a/eos/effects/skilladvancedweaponupgradespowerneedbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillAdvancedWeaponUpgradesPowerNeedBonus
-#
-# Used by:
-# Skill: Advanced Weapon Upgrades
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.requiresSkill("Gunnery") or mod.item.requiresSkill("Missile Launcher Operation"),
- "power", skill.getModifiedItemAttr("powerNeedBonus") * skill.level)
diff --git a/eos/effects/skilladvancedweaponupgradespowerneedbonusbomblaunchers.py b/eos/effects/skilladvancedweaponupgradespowerneedbonusbomblaunchers.py
deleted file mode 100644
index 769b0327f..000000000
--- a/eos/effects/skilladvancedweaponupgradespowerneedbonusbomblaunchers.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillAdvancedWeaponUpgradesPowerNeedBonusBombLaunchers
-#
-# Used by:
-# Skill: Advanced Weapon Upgrades
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Bomb Deployment"),
- "power", skill.getModifiedItemAttr("powerNeedBonus") * skill.level)
diff --git a/eos/effects/skillbombdeploymentmodulereactivationdelaybonus.py b/eos/effects/skillbombdeploymentmodulereactivationdelaybonus.py
deleted file mode 100644
index 4db900c9b..000000000
--- a/eos/effects/skillbombdeploymentmodulereactivationdelaybonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillBombDeploymentModuleReactivationDelayBonus
-#
-# Used by:
-# Skill: Bomb Deployment
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Bomb",
- "moduleReactivationDelay", skill.getModifiedItemAttr("reactivationDelayBonus") * skill.level)
diff --git a/eos/effects/skillbonuscapitalartilleryspecialization.py b/eos/effects/skillbonuscapitalartilleryspecialization.py
deleted file mode 100644
index 3a2f7b5c9..000000000
--- a/eos/effects/skillbonuscapitalartilleryspecialization.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusCapitalArtillerySpecialization
-#
-# Used by:
-# Skill: Capital Artillery Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Artillery Specialization"),
- "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
diff --git a/eos/effects/skillbonuscapitalautocannonspecialization.py b/eos/effects/skillbonuscapitalautocannonspecialization.py
deleted file mode 100644
index 9077ff379..000000000
--- a/eos/effects/skillbonuscapitalautocannonspecialization.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusCapitalAutocannonSpecialization
-#
-# Used by:
-# Skill: Capital Autocannon Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Autocannon Specialization"),
- "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
diff --git a/eos/effects/skillbonuscapitalbeamlaserspecialization.py b/eos/effects/skillbonuscapitalbeamlaserspecialization.py
deleted file mode 100644
index 82ff0a0c1..000000000
--- a/eos/effects/skillbonuscapitalbeamlaserspecialization.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusCapitalBeamLaserSpecialization
-#
-# Used by:
-# Skill: Capital Beam Laser Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Beam Laser Specialization"),
- "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
diff --git a/eos/effects/skillbonuscapitalblasterspecialization.py b/eos/effects/skillbonuscapitalblasterspecialization.py
deleted file mode 100644
index 41d923389..000000000
--- a/eos/effects/skillbonuscapitalblasterspecialization.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusCapitalBlasterSpecialization
-#
-# Used by:
-# Skill: Capital Blaster Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Blaster Specialization"),
- "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
diff --git a/eos/effects/skillbonuscapitalpulselaserspecialization.py b/eos/effects/skillbonuscapitalpulselaserspecialization.py
deleted file mode 100644
index 514eb5b2a..000000000
--- a/eos/effects/skillbonuscapitalpulselaserspecialization.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusCapitalPulseLaserSpecialization
-#
-# Used by:
-# Skill: Capital Pulse Laser Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Pulse Laser Specialization"),
- "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
diff --git a/eos/effects/skillbonuscapitalrailgunspecialization.py b/eos/effects/skillbonuscapitalrailgunspecialization.py
deleted file mode 100644
index 98d17a9bb..000000000
--- a/eos/effects/skillbonuscapitalrailgunspecialization.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusCapitalRailgunSpecialization
-#
-# Used by:
-# Skill: Capital Railgun Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Railgun Specialization"),
- "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
diff --git a/eos/effects/skillbonusdoomsdayrapidfiring.py b/eos/effects/skillbonusdoomsdayrapidfiring.py
deleted file mode 100644
index 89e206f6d..000000000
--- a/eos/effects/skillbonusdoomsdayrapidfiring.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusDoomsdayRapidFiring
-#
-# Used by:
-# Skill: Doomsday Rapid Firing
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Doomsday Operation"), "duration",
- src.getModifiedItemAttr("rofBonus") * lvl)
diff --git a/eos/effects/skillbonusdronedurability.py b/eos/effects/skillbonusdronedurability.py
deleted file mode 100644
index f36e82a3f..000000000
--- a/eos/effects/skillbonusdronedurability.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# skillBonusDroneDurability
-#
-# Used by:
-# Skill: Drone Durability
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp",
- src.getModifiedItemAttr("hullHpBonus") * lvl)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP",
- src.getModifiedItemAttr("armorHpBonus") * lvl)
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity",
- src.getModifiedItemAttr("shieldCapacityBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "shieldCapacity",
- src.getModifiedItemAttr("shieldCapacityBonus") * lvl)
diff --git a/eos/effects/skillbonusdronedurabilitynotfighters.py b/eos/effects/skillbonusdronedurabilitynotfighters.py
deleted file mode 100644
index d2b8a0967..000000000
--- a/eos/effects/skillbonusdronedurabilitynotfighters.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# skillBonusDroneDurabilityNotFighters
-#
-# Used by:
-# Implants from group: Cyber Drones (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp",
- src.getModifiedItemAttr("hullHpBonus"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP",
- src.getModifiedItemAttr("armorHpBonus"))
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity",
- src.getModifiedItemAttr("shieldCapacityBonus"))
diff --git a/eos/effects/skillbonusdroneinterfacing.py b/eos/effects/skillbonusdroneinterfacing.py
deleted file mode 100644
index d832d432b..000000000
--- a/eos/effects/skillbonusdroneinterfacing.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# skillBonusDroneInterfacing
-#
-# Used by:
-# Skill: Drone Interfacing
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
- fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Mining Drone Operation"), "miningDroneAmountPercent",
- src.getModifiedItemAttr("miningAmountBonus") * lvl)
diff --git a/eos/effects/skillbonusdroneinterfacingnotfighters.py b/eos/effects/skillbonusdroneinterfacingnotfighters.py
deleted file mode 100644
index 01ab85de7..000000000
--- a/eos/effects/skillbonusdroneinterfacingnotfighters.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusDroneInterfacingNotFighters
-#
-# Used by:
-# Implant: CreoDron 'Bumblebee' Drone Tuner T10-5D
-# Implant: CreoDron 'Yellowjacket' Drone Tuner D5-10T
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/skillbonusdronenavigation.py b/eos/effects/skillbonusdronenavigation.py
deleted file mode 100644
index 4f5dd8bc5..000000000
--- a/eos/effects/skillbonusdronenavigation.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# skillBonusDroneNavigation
-#
-# Used by:
-# Skill: Drone Navigation
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "maxVelocity",
- src.getModifiedItemAttr("maxVelocityBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "maxVelocity",
- src.getModifiedItemAttr("maxVelocityBonus") * lvl)
diff --git a/eos/effects/skillbonusdronesharpshooting.py b/eos/effects/skillbonusdronesharpshooting.py
deleted file mode 100644
index ea0738dc1..000000000
--- a/eos/effects/skillbonusdronesharpshooting.py
+++ /dev/null
@@ -1,19 +0,0 @@
-# skillBonusDroneSharpshooting
-#
-# Used by:
-# Skill: Drone Sharpshooting
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level if "skill" in context else 1
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "maxRange",
- src.getModifiedItemAttr("rangeSkillBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), "fighterAbilityMissilesRange",
- src.getModifiedItemAttr("rangeSkillBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretRangeOptimal",
- src.getModifiedItemAttr("rangeSkillBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileRangeOptimal",
- src.getModifiedItemAttr("rangeSkillBonus") * lvl)
diff --git a/eos/effects/skillbonusfighterhangarmanagement.py b/eos/effects/skillbonusfighterhangarmanagement.py
deleted file mode 100644
index 8cf44cbe8..000000000
--- a/eos/effects/skillbonusfighterhangarmanagement.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillBonusFighterHangarManagement
-#
-# Used by:
-# Skill: Fighter Hangar Management
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.ship.boostItemAttr("fighterCapacity", src.getModifiedItemAttr("skillBonusFighterHangarSize") * lvl)
diff --git a/eos/effects/skillbonusfighters.py b/eos/effects/skillbonusfighters.py
deleted file mode 100644
index 4d22c78ae..000000000
--- a/eos/effects/skillbonusfighters.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# skillBonusFighters
-#
-# Used by:
-# Skill: Fighters
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
diff --git a/eos/effects/skillbonusheavyfighters.py b/eos/effects/skillbonusheavyfighters.py
deleted file mode 100644
index 7c19ebb2d..000000000
--- a/eos/effects/skillbonusheavyfighters.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# skillBonusHeavyFighters
-#
-# Used by:
-# Skill: Heavy Fighters
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Heavy Fighters"),
- "fighterAbilityMissilesDamageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Heavy Fighters"),
- "fighterAbilityAttackMissileDamageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Heavy Fighters"),
- "fighterAbilityAttackTurretDamageMultiplier",
- src.getModifiedItemAttr("damageMultiplierBonus") * lvl)
diff --git a/eos/effects/skillbonuslightfighters.py b/eos/effects/skillbonuslightfighters.py
deleted file mode 100644
index d41e21428..000000000
--- a/eos/effects/skillbonuslightfighters.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusLightFighters
-#
-# Used by:
-# Skill: Light Fighters
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Light Fighters"), "maxVelocity",
- src.getModifiedItemAttr("maxVelocityBonus") * lvl)
diff --git a/eos/effects/skillbonussupportfightersshield.py b/eos/effects/skillbonussupportfightersshield.py
deleted file mode 100644
index d6758f279..000000000
--- a/eos/effects/skillbonussupportfightersshield.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusSupportFightersShield
-#
-# Used by:
-# Skill: Support Fighters
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Support Fighters"), "shieldCapacity",
- src.getModifiedItemAttr("shieldBonus") * lvl)
diff --git a/eos/effects/skillbonusxlcruisemissilespecialization.py b/eos/effects/skillbonusxlcruisemissilespecialization.py
deleted file mode 100644
index cc51709e3..000000000
--- a/eos/effects/skillbonusxlcruisemissilespecialization.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusXLCruiseMissileSpecialization
-#
-# Used by:
-# Skill: XL Cruise Missile Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missile Specialization"), "speed",
- src.getModifiedItemAttr("rofBonus") * lvl)
diff --git a/eos/effects/skillbonusxltorpedospecialization.py b/eos/effects/skillbonusxltorpedospecialization.py
deleted file mode 100644
index 7393d111e..000000000
--- a/eos/effects/skillbonusxltorpedospecialization.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillBonusXLTorpedoSpecialization
-#
-# Used by:
-# Skill: XL Torpedo Specialization
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("XL Torpedo Specialization"), "speed",
- src.getModifiedItemAttr("rofBonus") * lvl)
diff --git a/eos/effects/skillcapitalremotehullrepairsystemscapneedbonus.py b/eos/effects/skillcapitalremotehullrepairsystemscapneedbonus.py
deleted file mode 100644
index 984efa65e..000000000
--- a/eos/effects/skillcapitalremotehullrepairsystemscapneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillCapitalRemoteHullRepairSystemsCapNeedBonus
-#
-# Used by:
-# Skill: Capital Remote Hull Repair Systems
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Hull Repair Systems"),
- "capacitorNeed", skill.getModifiedItemAttr("capNeedBonus") * skill.level)
diff --git a/eos/effects/skillcapitalshipsadvancedagility.py b/eos/effects/skillcapitalshipsadvancedagility.py
deleted file mode 100644
index 5a0846335..000000000
--- a/eos/effects/skillcapitalshipsadvancedagility.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillCapitalShipsAdvancedAgility
-#
-# Used by:
-# Skill: Capital Ships
-type = "passive"
-
-
-def handler(fit, skill, context):
- if fit.ship.item.requiresSkill("Capital Ships"):
- fit.ship.boostItemAttr("agility", skill.getModifiedItemAttr("agilityBonus") * skill.level)
diff --git a/eos/effects/skillfreightbonus.py b/eos/effects/skillfreightbonus.py
deleted file mode 100644
index 93f4c33cf..000000000
--- a/eos/effects/skillfreightbonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# skillFreightBonus
-#
-# Used by:
-# Modules named like: Cargohold Optimization (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("capacity", module.getModifiedItemAttr("cargoCapacityBonus"))
diff --git a/eos/effects/skillindustrialreconfigurationconsumptionquantitybonus.py b/eos/effects/skillindustrialreconfigurationconsumptionquantitybonus.py
deleted file mode 100644
index e6b8f558b..000000000
--- a/eos/effects/skillindustrialreconfigurationconsumptionquantitybonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillIndustrialReconfigurationConsumptionQuantityBonus
-#
-# Used by:
-# Skill: Industrial Reconfiguration
-type = "passive"
-
-
-def handler(fit, skill, context):
- amount = -skill.getModifiedItemAttr("consumptionQuantityBonus")
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),
- "consumptionQuantity", amount * skill.level)
diff --git a/eos/effects/skilljumpdriveconsumptionamountbonuspercentage.py b/eos/effects/skilljumpdriveconsumptionamountbonuspercentage.py
deleted file mode 100644
index 5cb2d9654..000000000
--- a/eos/effects/skilljumpdriveconsumptionamountbonuspercentage.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillJumpDriveConsumptionAmountBonusPercentage
-#
-# Used by:
-# Skill: Jump Fuel Conservation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.ship.boostItemAttr("jumpDriveConsumptionAmount",
- skill.getModifiedItemAttr("consumptionQuantityBonusPercentage") * skill.level)
diff --git a/eos/effects/skillmjddurationbonus.py b/eos/effects/skillmjddurationbonus.py
deleted file mode 100644
index ec949212a..000000000
--- a/eos/effects/skillmjddurationbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillMJDdurationBonus
-#
-# Used by:
-# Skill: Micro Jump Drive Operation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Micro Jump Drive Operation"),
- "duration", skill.getModifiedItemAttr("durationBonus") * skill.level)
diff --git a/eos/effects/skillmultiplierdefendermissilevelocity.py b/eos/effects/skillmultiplierdefendermissilevelocity.py
deleted file mode 100644
index 137e31f44..000000000
--- a/eos/effects/skillmultiplierdefendermissilevelocity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillMultiplierDefenderMissileVelocity
-#
-# Used by:
-# Skill: Defender Missiles
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Defender Missiles"),
- "maxVelocity", skill.getModifiedItemAttr("missileVelocityBonus") * skill.level)
diff --git a/eos/effects/skillreactivearmorhardenercapneedbonus.py b/eos/effects/skillreactivearmorhardenercapneedbonus.py
deleted file mode 100644
index a8baab0f4..000000000
--- a/eos/effects/skillreactivearmorhardenercapneedbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# skillReactiveArmorHardenerCapNeedBonus
-#
-# Used by:
-# Skill: Resistance Phasing
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Resistance Shift Hardener", "capacitorNeed",
- src.getModifiedItemAttr("capNeedBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Resistance Phasing"), "capacitorNeed",
- src.getModifiedItemAttr("capNeedBonus") * lvl)
diff --git a/eos/effects/skillreactivearmorhardenerdurationbonus.py b/eos/effects/skillreactivearmorhardenerdurationbonus.py
deleted file mode 100644
index 00ced0d4f..000000000
--- a/eos/effects/skillreactivearmorhardenerdurationbonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# skillReactiveArmorHardenerDurationBonus
-#
-# Used by:
-# Skill: Resistance Phasing
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Resistance Shift Hardener", "duration",
- src.getModifiedItemAttr("durationBonus") * lvl)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Resistance Phasing"), "duration",
- src.getModifiedItemAttr("durationBonus") * lvl)
diff --git a/eos/effects/skillremoteecmdurationbonus.py b/eos/effects/skillremoteecmdurationbonus.py
deleted file mode 100644
index 77c687f34..000000000
--- a/eos/effects/skillremoteecmdurationbonus.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# skillRemoteECMDurationBonus
-#
-# Used by:
-# Skill: Burst Projector Operation
-type = "passive"
-
-
-def handler(fit, skill, context):
- # We need to make sure that the attribute exists, otherwise we add attributes that don't belong. See #927
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and
- mod.item.getAttribute("duration"),
- "duration",
- skill.getModifiedItemAttr("projECMDurationBonus") * skill.level)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and
- mod.item.getAttribute("durationECMJammerBurstProjector"),
- "durationECMJammerBurstProjector",
- skill.getModifiedItemAttr("projECMDurationBonus") * skill.level)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and
- mod.item.getAttribute("durationTargetIlluminationBurstProjector"),
- "durationTargetIlluminationBurstProjector",
- skill.getModifiedItemAttr("projECMDurationBonus") * skill.level)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and
- mod.item.getAttribute("durationSensorDampeningBurstProjector"),
- "durationSensorDampeningBurstProjector",
- skill.getModifiedItemAttr("projECMDurationBonus") * skill.level)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Burst Projector Operation") and
- mod.item.getAttribute("durationWeaponDisruptionBurstProjector"),
- "durationWeaponDisruptionBurstProjector",
- skill.getModifiedItemAttr("projECMDurationBonus") * skill.level)
diff --git a/eos/effects/skillremotehullrepairsystemscapneedbonus.py b/eos/effects/skillremotehullrepairsystemscapneedbonus.py
deleted file mode 100644
index e5f173bbe..000000000
--- a/eos/effects/skillremotehullrepairsystemscapneedbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillRemoteHullRepairSystemsCapNeedBonus
-#
-# Used by:
-# Skill: Remote Hull Repair Systems
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Hull Repair Systems"),
- "capacitorNeed", skill.getModifiedItemAttr("capNeedBonus") * skill.level)
diff --git a/eos/effects/skillsiegemoduleconsumptionquantitybonus.py b/eos/effects/skillsiegemoduleconsumptionquantitybonus.py
deleted file mode 100644
index 119ed3072..000000000
--- a/eos/effects/skillsiegemoduleconsumptionquantitybonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillSiegeModuleConsumptionQuantityBonus
-#
-# Used by:
-# Skill: Tactical Weapon Reconfiguration
-type = "passive"
-
-
-def handler(fit, skill, context):
- amount = -skill.getModifiedItemAttr("consumptionQuantityBonus")
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),
- "consumptionQuantity", amount * skill.level)
diff --git a/eos/effects/skillstructuredoomsdaydurationbonus.py b/eos/effects/skillstructuredoomsdaydurationbonus.py
deleted file mode 100644
index e5c0d43c1..000000000
--- a/eos/effects/skillstructuredoomsdaydurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillStructureDoomsdayDurationBonus
-#
-# Used by:
-# Skill: Structure Doomsday Operation
-type = "passive", "structure"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Doomsday Weapon",
- "duration", src.getModifiedItemAttr("durationBonus"),
- skill="Structure Doomsday Operation")
diff --git a/eos/effects/skillstructureelectronicsystemscapneedbonus.py b/eos/effects/skillstructureelectronicsystemscapneedbonus.py
deleted file mode 100644
index ee898cbc0..000000000
--- a/eos/effects/skillstructureelectronicsystemscapneedbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# skillStructureElectronicSystemsCapNeedBonus
-#
-# Used by:
-# Skill: Structure Electronic Systems
-type = "passive", "structure"
-
-
-def handler(fit, src, context):
- groups = ("Structure Warp Scrambler", "Structure Disruption Battery", "Structure Stasis Webifier")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "capacitorNeed", src.getModifiedItemAttr("capNeedBonus"),
- skill="Structure Electronic Systems")
diff --git a/eos/effects/skillstructureengineeringsystemscapneedbonus.py b/eos/effects/skillstructureengineeringsystemscapneedbonus.py
deleted file mode 100644
index c58dea119..000000000
--- a/eos/effects/skillstructureengineeringsystemscapneedbonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# skillStructureEngineeringSystemsCapNeedBonus
-#
-# Used by:
-# Skill: Structure Engineering Systems
-type = "passive", "structure"
-
-
-def handler(fit, src, context):
- groups = ("Structure Energy Neutralizer", "Structure Area Denial Module")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "capacitorNeed", src.getModifiedItemAttr("capNeedBonus"),
- skill="Structure Engineering Systems")
diff --git a/eos/effects/skillstructuremissiledamagebonus.py b/eos/effects/skillstructuremissiledamagebonus.py
deleted file mode 100644
index 114a831b6..000000000
--- a/eos/effects/skillstructuremissiledamagebonus.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# skillStructureMissileDamageBonus
-#
-# Used by:
-# Skill: Structure Missile Systems
-type = "passive", "structure"
-
-
-def handler(fit, src, context):
- groups = ("Structure Anti-Capital Missile", "Structure Anti-Subcapital Missile", "Structure Guided Bomb")
- for damageType in ("em", "thermal", "explosive", "kinetic"):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in groups,
- "%sDamage" % damageType, src.getModifiedItemAttr("damageMultiplierBonus"),
- skill="Structure Missile Systems")
diff --git a/eos/effects/skillsuperweapondmgbonus.py b/eos/effects/skillsuperweapondmgbonus.py
deleted file mode 100644
index e2952621f..000000000
--- a/eos/effects/skillsuperweapondmgbonus.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# skillSuperWeaponDmgBonus
-#
-# Used by:
-# Skill: Doomsday Operation
-type = "passive"
-
-
-def handler(fit, skill, context):
- damageTypes = ("em", "explosive", "kinetic", "thermal")
- for dmgType in damageTypes:
- dmgAttr = "{0}Damage".format(dmgType)
- fit.modules.filteredItemBoost(
- lambda mod: mod.item.group.name == "Super Weapon" and dmgAttr in mod.itemModifiedAttributes,
- dmgAttr, skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/skilltargetbreakercapneedbonus2.py b/eos/effects/skilltargetbreakercapneedbonus2.py
deleted file mode 100644
index 1bd8dbdfe..000000000
--- a/eos/effects/skilltargetbreakercapneedbonus2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillTargetBreakerCapNeedBonus2
-#
-# Used by:
-# Skill: Target Breaker Amplification
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Breaker",
- "capacitorNeed", skill.getModifiedItemAttr("capNeedBonus") * skill.level)
diff --git a/eos/effects/skilltargetbreakerdurationbonus2.py b/eos/effects/skilltargetbreakerdurationbonus2.py
deleted file mode 100644
index 13cee98c8..000000000
--- a/eos/effects/skilltargetbreakerdurationbonus2.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# skillTargetBreakerDurationBonus2
-#
-# Used by:
-# Skill: Target Breaker Amplification
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Target Breaker",
- "duration", skill.getModifiedItemAttr("durationBonus") * skill.level)
diff --git a/eos/effects/skilltriagemoduleconsumptionquantitybonus.py b/eos/effects/skilltriagemoduleconsumptionquantitybonus.py
deleted file mode 100644
index 3682128c1..000000000
--- a/eos/effects/skilltriagemoduleconsumptionquantitybonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skillTriageModuleConsumptionQuantityBonus
-#
-# Used by:
-# Skill: Tactical Logistics Reconfiguration
-type = "passive"
-
-
-def handler(fit, skill, context):
- amount = -skill.getModifiedItemAttr("consumptionQuantityBonus")
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill(skill),
- "consumptionQuantity", amount * skill.level)
diff --git a/eos/effects/skirmishcommanddurationbonus.py b/eos/effects/skirmishcommanddurationbonus.py
deleted file mode 100644
index 7b42437e1..000000000
--- a/eos/effects/skirmishcommanddurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# skirmishCommandDurationBonus
-#
-# Used by:
-# Skill: Skirmish Command
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "buffDuration",
- src.getModifiedItemAttr("durationBonus") * lvl)
diff --git a/eos/effects/skirmishcommandmindlink.py b/eos/effects/skirmishcommandmindlink.py
deleted file mode 100644
index 9999d7f56..000000000
--- a/eos/effects/skirmishcommandmindlink.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# skirmishCommandMindlink
-#
-# Used by:
-# Implant: Federation Navy Command Mindlink
-# Implant: Republic Fleet Command Mindlink
-# Implant: Skirmish Command Mindlink
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("mindlinkBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "buffDuration",
- src.getModifiedItemAttr("mindlinkBonus"))
diff --git a/eos/effects/skirmishcommandstrengthbonus.py b/eos/effects/skirmishcommandstrengthbonus.py
deleted file mode 100644
index 7963755df..000000000
--- a/eos/effects/skirmishcommandstrengthbonus.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# skirmishCommandStrengthBonus
-#
-# Used by:
-# Skill: Skirmish Command Specialist
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff3Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff4Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff1Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff2Multiplier",
- src.getModifiedItemAttr("commandStrengthBonus") * lvl)
diff --git a/eos/effects/slotmodifier.py b/eos/effects/slotmodifier.py
deleted file mode 100644
index e4bfe2afb..000000000
--- a/eos/effects/slotmodifier.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# slotModifier
-#
-# Used by:
-# Items from category: Subsystem (48 of 48)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("hiSlots", module.getModifiedItemAttr("hiSlotModifier"))
- fit.ship.increaseItemAttr("medSlots", module.getModifiedItemAttr("medSlotModifier"))
- fit.ship.increaseItemAttr("lowSlots", module.getModifiedItemAttr("lowSlotModifier"))
diff --git a/eos/effects/smalldisintegratormaxrangebonus.py b/eos/effects/smalldisintegratormaxrangebonus.py
deleted file mode 100644
index 74e4dca9d..000000000
--- a/eos/effects/smalldisintegratormaxrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# smallDisintegratorMaxRangeBonus
-#
-# Used by:
-# Ship: Kikimora
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
- "maxRange", ship.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/smalldisintegratorskilldmgbonus.py b/eos/effects/smalldisintegratorskilldmgbonus.py
deleted file mode 100644
index 8a3b7babe..000000000
--- a/eos/effects/smalldisintegratorskilldmgbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# smallDisintegratorSkillDmgBonus
-#
-# Used by:
-# Skill: Small Disintegrator Specialization
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Disintegrator Specialization"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/smallenergymaxrangebonus.py b/eos/effects/smallenergymaxrangebonus.py
deleted file mode 100644
index 4c13361f6..000000000
--- a/eos/effects/smallenergymaxrangebonus.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# smallEnergyMaxRangeBonus
-#
-# Used by:
-# Ship: Coercer
-# Ship: Gold Magnate
-# Ship: Silver Magnate
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "maxRange", ship.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/smallenergyturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringsmallenergyturret.py b/eos/effects/smallenergyturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringsmallenergyturret.py
deleted file mode 100644
index 496efc986..000000000
--- a/eos/effects/smallenergyturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringsmallenergyturret.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# smallEnergyTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallEnergyTurret
-#
-# Used by:
-# Implants named like: Inherent Implants 'Lancer' Small Energy Turret SE (6 of 6)
-# Skill: Small Energy Turret
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/smallhybridmaxrangebonus.py b/eos/effects/smallhybridmaxrangebonus.py
deleted file mode 100644
index 86e95036d..000000000
--- a/eos/effects/smallhybridmaxrangebonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# smallHybridMaxRangeBonus
-#
-# Used by:
-# Ship: Catalyst
-# Ship: Cormorant
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "maxRange", ship.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/smallhybridturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringsmallhybridturret.py b/eos/effects/smallhybridturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringsmallhybridturret.py
deleted file mode 100644
index f317f297b..000000000
--- a/eos/effects/smallhybridturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringsmallhybridturret.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# smallHybridTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallHybridTurret
-#
-# Used by:
-# Implants named like: Zainou 'Deadeye' Small Hybrid Turret SH (6 of 6)
-# Skill: Small Hybrid Turret
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/smallprecursorturretdmgbonusrequiredskill.py b/eos/effects/smallprecursorturretdmgbonusrequiredskill.py
deleted file mode 100644
index 1d3fbe176..000000000
--- a/eos/effects/smallprecursorturretdmgbonusrequiredskill.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# smallPrecursorTurretDmgBonusRequiredSkill
-#
-# Used by:
-# Skill: Small Precursor Weapon
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/smallprojectilemaxrangebonus.py b/eos/effects/smallprojectilemaxrangebonus.py
deleted file mode 100644
index b94e016be..000000000
--- a/eos/effects/smallprojectilemaxrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# smallProjectileMaxRangeBonus
-#
-# Used by:
-# Ship: Thrasher
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "maxRange", ship.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/smallprojectileturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringsmallprojectileturret.py b/eos/effects/smallprojectileturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringsmallprojectileturret.py
deleted file mode 100644
index a77f76806..000000000
--- a/eos/effects/smallprojectileturretdamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringsmallprojectileturret.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# smallProjectileTurretDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringSmallProjectileTurret
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Gunslinger' Small Projectile Turret SP (6 of 6)
-# Skill: Small Projectile Turret
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier", container.getModifiedItemAttr("damageMultiplierBonus") * level)
diff --git a/eos/effects/spatialphenomenagenerationdurationbonus.py b/eos/effects/spatialphenomenagenerationdurationbonus.py
deleted file mode 100644
index b127ae30d..000000000
--- a/eos/effects/spatialphenomenagenerationdurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# spatialPhenomenaGenerationDurationBonus
-#
-# Used by:
-# Skill: Spatial Phenomena Generation
-type = "passive"
-
-
-def handler(fit, src, context):
- lvl = src.level
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Spatial Phenomena Generation"), "buffDuration",
- src.getModifiedItemAttr("durationBonus") * lvl)
diff --git a/eos/effects/stripminerdurationmultiplier.py b/eos/effects/stripminerdurationmultiplier.py
deleted file mode 100644
index c9d0179a6..000000000
--- a/eos/effects/stripminerdurationmultiplier.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# stripMinerDurationMultiplier
-#
-# Used by:
-# Module: Frostline 'Omnivore' Harvester Upgrade
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Strip Miner",
- "duration", module.getModifiedItemAttr("miningDurationMultiplier"))
diff --git a/eos/effects/stripminermaxrangebonus.py b/eos/effects/stripminermaxrangebonus.py
deleted file mode 100644
index 781f523f4..000000000
--- a/eos/effects/stripminermaxrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# stripMinerMaxRangeBonus
-#
-# Used by:
-# Implants named like: grade Harvest (10 of 12)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Strip Miner",
- "maxRange", implant.getModifiedItemAttr("maxRangeBonus"))
diff --git a/eos/effects/structuralanalysiseffect.py b/eos/effects/structuralanalysiseffect.py
deleted file mode 100644
index b94832ca0..000000000
--- a/eos/effects/structuralanalysiseffect.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# structuralAnalysisEffect
-#
-# Used by:
-# Implants named like: Inherent Implants 'Noble' Repair Proficiency RP (6 of 6)
-# Modules named like: Auxiliary Nano Pump (8 of 8)
-# Implant: Imperial Navy Modified 'Noble' Implant
-type = "passive"
-
-
-def handler(fit, container, context):
- penalized = "implant" not in context
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", container.getModifiedItemAttr("repairBonus"),
- stackingPenalties=penalized)
diff --git a/eos/effects/structureaoerofrolebonus.py b/eos/effects/structureaoerofrolebonus.py
deleted file mode 100644
index 48dc00c7d..000000000
--- a/eos/effects/structureaoerofrolebonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# structureAoERoFRoleBonus
-#
-# Used by:
-# Items from category: Structure (11 of 17)
-# Structures from group: Citadel (8 of 9)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Guided Bomb Launcher",
- "speed", ship.getModifiedItemAttr("structureAoERoFRoleBonus"))
- for attr in ["duration", "durationTargetIlluminationBurstProjector", "durationWeaponDisruptionBurstProjector",
- "durationECMJammerBurstProjector", "durationSensorDampeningBurstProjector", "capacitorNeed"]:
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Burst Projector",
- attr, ship.getModifiedItemAttr("structureAoERoFRoleBonus"))
diff --git a/eos/effects/structurearmorhpbonus.py b/eos/effects/structurearmorhpbonus.py
deleted file mode 100644
index 9c2c727ae..000000000
--- a/eos/effects/structurearmorhpbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# structureArmorHPBonus
-#
-# Used by:
-# Structure Modules from group: Structure Armor Reinforcer (2 of 2)
-type = "passive"
-runTime = "early"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("hiddenArmorHPMultiplier", src.getModifiedItemAttr("armorHpBonus"), stackingPenalties=True)
diff --git a/eos/effects/structureballisticcontrolsystem.py b/eos/effects/structureballisticcontrolsystem.py
deleted file mode 100644
index bce3a7a74..000000000
--- a/eos/effects/structureballisticcontrolsystem.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# structureBallisticControlSystem
-#
-# Used by:
-# Variations of structure module: Standup Ballistic Control System I (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- missileGroups = ("Structure Anti-Capital Missile", "Structure Anti-Subcapital Missile")
-
- for dmgType in ("em", "kinetic", "explosive", "thermal"):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.group.name in missileGroups,
- "%sDamage" % dmgType,
- module.getModifiedItemAttr("missileDamageMultiplierBonus"),
- stackingPenalties=True)
-
- launcherGroups = ("Structure XL Missile Launcher", "Structure Multirole Missile Launcher")
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name in launcherGroups,
- "speed", module.getModifiedItemAttr("speedMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/structurecapacitorcapacitybonus.py b/eos/effects/structurecapacitorcapacitybonus.py
deleted file mode 100644
index b0477fe60..000000000
--- a/eos/effects/structurecapacitorcapacitybonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# structureCapacitorCapacityBonus
-#
-# Used by:
-# Structure Modules from group: Structure Capacitor Battery (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.ship.increaseItemAttr("capacitorCapacity", ship.getModifiedItemAttr("capacitorBonus"))
diff --git a/eos/effects/structurecombatrigsecuritymodification.py b/eos/effects/structurecombatrigsecuritymodification.py
deleted file mode 100644
index dcbc93d39..000000000
--- a/eos/effects/structurecombatrigsecuritymodification.py
+++ /dev/null
@@ -1,17 +0,0 @@
-runTime = "early"
-type = "passive"
-
-
-def handler(fit, module, context):
- secModifier = module.getModifiedItemAttr("securityModifier")
- module.multiplyItemAttr("structureRigDoomsdayDamageLossTargetBonus", secModifier)
- module.multiplyItemAttr("structureRigScanResBonus", secModifier)
- module.multiplyItemAttr("structureRigPDRangeBonus", secModifier)
- module.multiplyItemAttr("structureRigPDCapUseBonus", secModifier)
- module.multiplyItemAttr("structureRigMissileExploVeloBonus", secModifier)
- module.multiplyItemAttr("structureRigMissileVelocityBonus", secModifier)
- module.multiplyItemAttr("structureRigEwarOptimalBonus", secModifier)
- module.multiplyItemAttr("structureRigEwarFalloffBonus", secModifier)
- module.multiplyItemAttr("structureRigEwarCapUseBonus", secModifier)
- module.multiplyItemAttr("structureRigMissileExplosionRadiusBonus", secModifier)
- module.multiplyItemAttr("structureRigMaxTargetRangeBonus", secModifier)
diff --git a/eos/effects/structureenergyneutralizerfalloff.py b/eos/effects/structureenergyneutralizerfalloff.py
deleted file mode 100644
index 284ed616e..000000000
--- a/eos/effects/structureenergyneutralizerfalloff.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# structureEnergyNeutralizerFalloff
-#
-# Used by:
-# Structure Modules from group: Structure Energy Neutralizer (5 of 5)
-from eos.const import FittingModuleState
-from eos.modifiedAttributeDict import ModifiedAttributeDict
-
-type = "active", "projected"
-
-
-def handler(fit, src, context, **kwargs):
- amount = 0
- if "projected" in context:
- if (hasattr(src, "state") and src.state >= FittingModuleState.ACTIVE) or hasattr(src, "amountActive"):
- amount = src.getModifiedItemAttr("energyNeutralizerAmount")
-
- if 'effect' in kwargs:
- amount *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
-
- time = src.getModifiedItemAttr("duration")
-
- fit.addDrain(src, time, amount, 0)
\ No newline at end of file
diff --git a/eos/effects/structurefullpowerstatehitpointmodifier.py b/eos/effects/structurefullpowerstatehitpointmodifier.py
deleted file mode 100644
index 5ae185d64..000000000
--- a/eos/effects/structurefullpowerstatehitpointmodifier.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# structureFullPowerStateHitpointModifier
-#
-# Used by:
-# Items from category: Structure (17 of 17)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.multiplyItemAttr("shieldCapacity", src.getModifiedItemAttr("structureFullPowerStateHitpointMultiplier") or 0)
- fit.ship.multiplyItemAttr("armorHP", src.getModifiedItemAttr("structureFullPowerStateHitpointMultiplier") or 0)
diff --git a/eos/effects/structurehiddenarmorhpmultiplier.py b/eos/effects/structurehiddenarmorhpmultiplier.py
deleted file mode 100644
index af1b39be3..000000000
--- a/eos/effects/structurehiddenarmorhpmultiplier.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# structureHiddenArmorHPMultiplier
-#
-# Used by:
-# Items from category: Structure (17 of 17)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.multiplyItemAttr("armorHP", src.getModifiedItemAttr("hiddenArmorHPMultiplier") or 0)
diff --git a/eos/effects/structurehiddenmissiledamagemultiplier.py b/eos/effects/structurehiddenmissiledamagemultiplier.py
deleted file mode 100644
index 61abbf2f4..000000000
--- a/eos/effects/structurehiddenmissiledamagemultiplier.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# structureHiddenMissileDamageMultiplier
-#
-# Used by:
-# Items from category: Structure (14 of 17)
-type = "passive"
-
-
-def handler(fit, src, context):
- groups = ("Structure Anti-Subcapital Missile", "Structure Anti-Capital Missile")
- for dmgType in ("em", "kinetic", "explosive", "thermal"):
- fit.modules.filteredChargeMultiply(lambda mod: mod.item.group.name in groups,
- "%sDamage" % dmgType,
- src.getModifiedItemAttr("hiddenMissileDamageMultiplier"))
diff --git a/eos/effects/structurehpbonusaddpassive.py b/eos/effects/structurehpbonusaddpassive.py
deleted file mode 100644
index c2b7db0ed..000000000
--- a/eos/effects/structurehpbonusaddpassive.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# structureHPBonusAddPassive
-#
-# Used by:
-# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
-# Subsystem: Loki Defensive - Adaptive Defense Node
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("hp", module.getModifiedItemAttr("structureHPBonusAdd") or 0)
diff --git a/eos/effects/structurehpmultiply.py b/eos/effects/structurehpmultiply.py
deleted file mode 100644
index 0b7618e97..000000000
--- a/eos/effects/structurehpmultiply.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# structureHPMultiply
-#
-# Used by:
-# Modules from group: Nanofiber Internal Structure (7 of 7)
-# Modules from group: Reinforced Bulkhead (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("hp", module.getModifiedItemAttr("structureHPMultiplier"))
diff --git a/eos/effects/structurehpmultiplypassive.py b/eos/effects/structurehpmultiplypassive.py
deleted file mode 100644
index 543cb488a..000000000
--- a/eos/effects/structurehpmultiplypassive.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# structureHPMultiplyPassive
-#
-# Used by:
-# Modules from group: Expanded Cargohold (7 of 7)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("hp", module.getModifiedItemAttr("structureHPMultiplier"))
diff --git a/eos/effects/structuremissileguidanceenhancer.py b/eos/effects/structuremissileguidanceenhancer.py
deleted file mode 100644
index 59686c5e1..000000000
--- a/eos/effects/structuremissileguidanceenhancer.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# structureMissileGuidanceEnhancer
-#
-# Used by:
-# Variations of structure module: Standup Missile Guidance Enhancer I (2 of 2)
-type = "passive"
-
-
-def handler(fit, container, context):
- missileGroups = ("Structure Anti-Capital Missile", "Structure Anti-Subcapital Missile")
- for srcAttr, tgtAttr in (
- ("aoeCloudSizeBonus", "aoeCloudSize"),
- ("aoeVelocityBonus", "aoeVelocity"),
- ("missileVelocityBonus", "maxVelocity"),
- ("explosionDelayBonus", "explosionDelay"),
- ):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in missileGroups,
- tgtAttr, container.getModifiedItemAttr(srcAttr),
- stackingPenalties=True)
diff --git a/eos/effects/structuremodifypowerrechargerate.py b/eos/effects/structuremodifypowerrechargerate.py
deleted file mode 100644
index f5977b6fe..000000000
--- a/eos/effects/structuremodifypowerrechargerate.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# structureModifyPowerRechargeRate
-#
-# Used by:
-# Structure Modules from group: Structure Capacitor Power Relay (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.multiplyItemAttr("rechargeRate", module.getModifiedItemAttr("capacitorRechargeRateMultiplier"))
diff --git a/eos/effects/structuremoduleeffectecm.py b/eos/effects/structuremoduleeffectecm.py
deleted file mode 100644
index a2725fb5e..000000000
--- a/eos/effects/structuremoduleeffectecm.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# structureModuleEffectECM
-#
-# Used by:
-# Structure Modules from group: Structure ECM Battery (3 of 3)
-type = "projected", "active"
-
-
-def handler(fit, module, context):
- if "projected" in context:
- # jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
- strModifier = 1 - module.getModifiedItemAttr("scan{0}StrengthBonus".format(fit.scanType)) / fit.scanStrength
-
- fit.ecmProjectedStr *= strModifier
diff --git a/eos/effects/structuremoduleeffectremotesensordampener.py b/eos/effects/structuremoduleeffectremotesensordampener.py
deleted file mode 100644
index 23cd49378..000000000
--- a/eos/effects/structuremoduleeffectremotesensordampener.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# structureModuleEffectRemoteSensorDampener
-#
-# Used by:
-# Variations of structure module: Standup Remote Sensor Dampener I (2 of 2)
-
-type = "projected", "active"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" not in context:
- return
-
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
- stackingPenalties=True, *args, **kwargs)
-
- fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/structuremoduleeffectstasiswebifier.py b/eos/effects/structuremoduleeffectstasiswebifier.py
deleted file mode 100644
index 30040db35..000000000
--- a/eos/effects/structuremoduleeffectstasiswebifier.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# structureModuleEffectStasisWebifier
-#
-# Used by:
-# Structure Modules from group: Structure Stasis Webifier (2 of 2)
-type = "active", "projected"
-
-
-def handler(fit, module, context, *args, **kwargs):
- if "projected" not in context:
- return
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/structuremoduleeffecttargetpainter.py b/eos/effects/structuremoduleeffecttargetpainter.py
deleted file mode 100644
index d89abe4b3..000000000
--- a/eos/effects/structuremoduleeffecttargetpainter.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# structureModuleEffectTargetPainter
-#
-# Used by:
-# Variations of structure module: Standup Target Painter I (2 of 2)
-type = "projected", "active"
-
-
-def handler(fit, container, context, *args, **kwargs):
- if "projected" in context:
- fit.ship.boostItemAttr("signatureRadius", container.getModifiedItemAttr("signatureRadiusBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/structuremoduleeffectweapondisruption.py b/eos/effects/structuremoduleeffectweapondisruption.py
deleted file mode 100644
index ff3f705ab..000000000
--- a/eos/effects/structuremoduleeffectweapondisruption.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# structureModuleEffectWeaponDisruption
-#
-# Used by:
-# Variations of structure module: Standup Weapon Disruptor I (2 of 2)
-
-type = "active", "projected"
-
-
-def handler(fit, module, context, *args, **kwargs):
- 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, module.getModifiedItemAttr(srcAttr),
- stackingPenalties=True, *args, **kwargs)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
- stackingPenalties=True, *args, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "maxRange", module.getModifiedItemAttr("maxRangeBonus"),
- stackingPenalties=True, *args, **kwargs)
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "falloff", module.getModifiedItemAttr("falloffBonus"),
- stackingPenalties=True, *args, **kwargs)
diff --git a/eos/effects/structurerepair.py b/eos/effects/structurerepair.py
deleted file mode 100644
index 40a88a261..000000000
--- a/eos/effects/structurerepair.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# structureRepair
-#
-# Used by:
-# Modules from group: Hull Repair Unit (25 of 25)
-type = "active"
-runTime = "late"
-
-
-def handler(fit, module, context):
- amount = module.getModifiedItemAttr("structureDamageAmount")
- speed = module.getModifiedItemAttr("duration") / 1000.0
- fit.extraAttributes.increase("hullRepair", amount / speed)
diff --git a/eos/effects/structurerigaoevelocitybonussingletargetmissiles.py b/eos/effects/structurerigaoevelocitybonussingletargetmissiles.py
deleted file mode 100644
index 11045a7c2..000000000
--- a/eos/effects/structurerigaoevelocitybonussingletargetmissiles.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# structureRigAoeVelocityBonusSingleTargetMissiles
-#
-# Used by:
-# Structure Modules named like: Standup Set Missile (6 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- groups = ("Structure Anti-Subcapital Missile", "Structure Anti-Capital Missile")
-
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in groups,
- "aoeVelocity", src.getModifiedItemAttr("structureRigMissileExploVeloBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigdoomsdaydamageloss.py b/eos/effects/structurerigdoomsdaydamageloss.py
deleted file mode 100644
index f81301110..000000000
--- a/eos/effects/structurerigdoomsdaydamageloss.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# structureRigDoomsdayDamageLoss
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Structure Doomsday Weapon",
- "lightningWeaponDamageLossTarget",
- src.getModifiedItemAttr("structureRigDoomsdayDamageLossTargetBonus"))
diff --git a/eos/effects/structurerigdoomsdaytargetamountbonus.py b/eos/effects/structurerigdoomsdaytargetamountbonus.py
deleted file mode 100644
index ece92271a..000000000
--- a/eos/effects/structurerigdoomsdaytargetamountbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# structureRigDoomsdayTargetAmountBonus
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Structure Doomsday Weapon",
- "lightningWeaponTargetAmount",
- src.getModifiedItemAttr("structureRigDoomsdayTargetAmountBonus"))
diff --git a/eos/effects/structurerigewcapacitorneed.py b/eos/effects/structurerigewcapacitorneed.py
deleted file mode 100644
index caaacb6ea..000000000
--- a/eos/effects/structurerigewcapacitorneed.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# structureRigEWCapacitorNeed
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig M - EW Cap Reduction (2 of 2)
-# Structure Modules named like: Standup Set EW (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- groups = ("Structure ECM Battery", "Structure Disruption Battery")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "capacitorNeed", src.getModifiedItemAttr("structureRigEwarCapUseBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigewmaxrangefalloff.py b/eos/effects/structurerigewmaxrangefalloff.py
deleted file mode 100644
index 679e4c29e..000000000
--- a/eos/effects/structurerigewmaxrangefalloff.py
+++ /dev/null
@@ -1,22 +0,0 @@
-# structureRigEWMaxRangeFalloff
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig M - EW projection (2 of 2)
-# Structure Modules named like: Standup Set EW (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- groups = ("Structure ECM Battery", "Structure Disruption Battery")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "falloff", src.getModifiedItemAttr("structureRigEwarFalloffBonus"),
- stackingPenalties=True)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "maxRange", src.getModifiedItemAttr("structureRigEwarOptimalBonus"),
- stackingPenalties=True)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "falloffEffectiveness", src.getModifiedItemAttr("structureRigEwarFalloffBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigexplosionradiusbonusaoemissiles.py b/eos/effects/structurerigexplosionradiusbonusaoemissiles.py
deleted file mode 100644
index a6fedf168..000000000
--- a/eos/effects/structurerigexplosionradiusbonusaoemissiles.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# structureRigExplosionRadiusBonusAoEMissiles
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig L - AoE Launcher Application and Projection (2 of 2)
-# Structure Modules from group: Structure Combat Rig XL - Missile and AoE Missile (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Structure Guided Bomb",
- "aoeCloudSize", src.getModifiedItemAttr("structureRigMissileExplosionRadiusBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigmaxtargetrange.py b/eos/effects/structurerigmaxtargetrange.py
deleted file mode 100644
index 52ac17bc8..000000000
--- a/eos/effects/structurerigmaxtargetrange.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# structureRigMaxTargetRange
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig L - Max Targets and Sensor Boosting (2 of 2)
-# Structure Modules from group: Structure Combat Rig M - Boosted Sensors (2 of 2)
-# Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("structureRigMaxTargetRangeBonus"))
diff --git a/eos/effects/structurerigmaxtargets.py b/eos/effects/structurerigmaxtargets.py
deleted file mode 100644
index 452af580d..000000000
--- a/eos/effects/structurerigmaxtargets.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# structureRigMaxTargets
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
-# Structure Modules named like: Standup Set Target (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.extraAttributes.increase("maxTargetsLockedFromSkills", src.getModifiedItemAttr("structureRigMaxTargetBonus"))
diff --git a/eos/effects/structurerigneutralizercapacitorneed.py b/eos/effects/structurerigneutralizercapacitorneed.py
deleted file mode 100644
index 89a2ffec0..000000000
--- a/eos/effects/structurerigneutralizercapacitorneed.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# structureRigNeutralizerCapacitorNeed
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig XL - Energy Neutralizer and EW (2 of 2)
-# Structure Modules named like: Standup Set Energy Neutralizer (4 of 6)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Energy Neutralizer",
- "capacitorNeed", src.getModifiedItemAttr("structureRigEwarCapUseBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigneutralizermaxrangefalloffeffectiveness.py b/eos/effects/structurerigneutralizermaxrangefalloffeffectiveness.py
deleted file mode 100644
index 55a835155..000000000
--- a/eos/effects/structurerigneutralizermaxrangefalloffeffectiveness.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# structureRigNeutralizerMaxRangeFalloffEffectiveness
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig XL - Energy Neutralizer and EW (2 of 2)
-# Structure Modules named like: Standup Set Energy Neutralizer (4 of 6)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Energy Neutralizer",
- "maxRange", src.getModifiedItemAttr("structureRigEwarOptimalBonus"),
- stackingPenalties=True)
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Energy Neutralizer",
- "falloffEffectiveness", src.getModifiedItemAttr("structureRigEwarFalloffBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigpdbcapacitorneed.py b/eos/effects/structurerigpdbcapacitorneed.py
deleted file mode 100644
index eb1ee6167..000000000
--- a/eos/effects/structurerigpdbcapacitorneed.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# structureRigPDBCapacitorNeed
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig L - Point Defense Battery Application and Projection (2 of 2)
-# Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Area Denial Module",
- "capacitorNeed", src.getModifiedItemAttr("structureRigPDCapUseBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigpdbmaxrange.py b/eos/effects/structurerigpdbmaxrange.py
deleted file mode 100644
index 5373add73..000000000
--- a/eos/effects/structurerigpdbmaxrange.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# structureRigPDBmaxRange
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig L - Point Defense Battery Application and Projection (2 of 2)
-# Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Area Denial Module",
- "empFieldRange", src.getModifiedItemAttr("structureRigPDRangeBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigsensorresolution.py b/eos/effects/structurerigsensorresolution.py
deleted file mode 100644
index 26a8ebd58..000000000
--- a/eos/effects/structurerigsensorresolution.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# structureRigSensorResolution
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig L - Max Targets and Sensor Boosting (2 of 2)
-# Structure Modules from group: Structure Combat Rig M - Boosted Sensors (2 of 2)
-# Structure Modules from group: Structure Combat Rig XL - Doomsday and Targeting (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("scanResolution", src.getModifiedItemAttr("structureRigScanResBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigvelocitybonusaoemissiles.py b/eos/effects/structurerigvelocitybonusaoemissiles.py
deleted file mode 100644
index 38985d031..000000000
--- a/eos/effects/structurerigvelocitybonusaoemissiles.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# structureRigVelocityBonusAoeMissiles
-#
-# Used by:
-# Structure Modules from group: Structure Combat Rig L - AoE Launcher Application and Projection (2 of 2)
-# Structure Modules from group: Structure Combat Rig XL - Missile and AoE Missile (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Structure Guided Bomb",
- "maxVelocity", src.getModifiedItemAttr("structureRigMissileVelocityBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurerigvelocitybonussingletargetmissiles.py b/eos/effects/structurerigvelocitybonussingletargetmissiles.py
deleted file mode 100644
index 51103c3a8..000000000
--- a/eos/effects/structurerigvelocitybonussingletargetmissiles.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# structureRigVelocityBonusSingleTargetMissiles
-#
-# Used by:
-# Structure Modules named like: Standup Set Missile (6 of 8)
-type = "passive"
-
-
-def handler(fit, src, context):
- groups = ("Structure Anti-Subcapital Missile", "Structure Anti-Capital Missile")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name in groups,
- "maxVelocity", src.getModifiedItemAttr("structureRigMissileVelocityBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/structurestealthemitterarraysigdecrease.py b/eos/effects/structurestealthemitterarraysigdecrease.py
deleted file mode 100644
index c7e19707f..000000000
--- a/eos/effects/structurestealthemitterarraysigdecrease.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# structureStealthEmitterArraySigDecrease
-#
-# Used by:
-# Implants named like: X Instinct Booster (4 of 4)
-# Implants named like: grade Halo (15 of 18)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.boostItemAttr("signatureRadius", implant.getModifiedItemAttr("signatureRadiusBonus"))
diff --git a/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py b/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py
deleted file mode 100644
index 4b342e0ec..000000000
--- a/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# structureWarpScrambleBlockMWDWithNPCEffect
-#
-# Used by:
-# Structure Modules from group: Structure Warp Scrambler (2 of 2)
-from eos.const import FittingModuleState
-
-# Not used by any item
-runTime = "early"
-type = "projected", "active"
-
-
-def handler(fit, module, context):
- if "projected" in context:
- fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength"))
- if module.charge is not None and module.charge.ID == 47336:
- for mod in fit.modules:
- if not mod.isEmpty and mod.item.requiresSkill("High Speed Maneuvering") and mod.state > FittingModuleState.ONLINE:
- mod.state = FittingModuleState.ONLINE
- if not mod.isEmpty and mod.item.requiresSkill("Micro Jump Drive Operation") and mod.state > FittingModuleState.ONLINE:
- mod.state = FittingModuleState.ONLINE
diff --git a/eos/effects/subsystembonusamarrcore2energydestabilizeramount.py b/eos/effects/subsystembonusamarrcore2energydestabilizeramount.py
deleted file mode 100644
index e9cd100c1..000000000
--- a/eos/effects/subsystembonusamarrcore2energydestabilizeramount.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrCore2EnergyDestabilizerAmount
-#
-# Used by:
-# Subsystem: Legion Core - Energy Parasitic Complex
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "energyNeutralizerAmount",
- src.getModifiedItemAttr("subsystemBonusAmarrCore2"), skill="Amarr Core Systems")
diff --git a/eos/effects/subsystembonusamarrcore2energyresistance.py b/eos/effects/subsystembonusamarrcore2energyresistance.py
deleted file mode 100644
index a4f8215f8..000000000
--- a/eos/effects/subsystembonusamarrcore2energyresistance.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# subsystemBonusAmarrCore2EnergyResistance
-#
-# Used by:
-# Subsystem: Legion Core - Augmented Antimatter Reactor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("energyWarfareResistance", src.getModifiedItemAttr("subsystemBonusAmarrCore2"), skill="Amarr Core Systems")
diff --git a/eos/effects/subsystembonusamarrcore2energyvampireamount.py b/eos/effects/subsystembonusamarrcore2energyvampireamount.py
deleted file mode 100644
index c3597aead..000000000
--- a/eos/effects/subsystembonusamarrcore2energyvampireamount.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrCore2EnergyVampireAmount
-#
-# Used by:
-# Subsystem: Legion Core - Energy Parasitic Complex
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "powerTransferAmount",
- src.getModifiedItemAttr("subsystemBonusAmarrCore2"), skill="Amarr Core Systems")
diff --git a/eos/effects/subsystembonusamarrcore2maxtargetingrange.py b/eos/effects/subsystembonusamarrcore2maxtargetingrange.py
deleted file mode 100644
index 855c5f401..000000000
--- a/eos/effects/subsystembonusamarrcore2maxtargetingrange.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrCore2MaxTargetingRange
-#
-# Used by:
-# Subsystem: Legion Core - Dissolution Sequencer
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("maxTargetRange", src.getModifiedItemAttr("subsystemBonusAmarrCore2"),
- skill="Amarr Core Systems")
diff --git a/eos/effects/subsystembonusamarrcore3energywarheatbonus.py b/eos/effects/subsystembonusamarrcore3energywarheatbonus.py
deleted file mode 100644
index 0d74c77e5..000000000
--- a/eos/effects/subsystembonusamarrcore3energywarheatbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrCore3EnergyWarHeatBonus
-#
-# Used by:
-# Subsystem: Legion Core - Energy Parasitic Complex
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Energy Nosferatu", "Energy Neutralizer"), "overloadSelfDurationBonus",
- src.getModifiedItemAttr("subsystemBonusAmarrCore3"), skill="Amarr Core Systems")
diff --git a/eos/effects/subsystembonusamarrcore3scanresolution.py b/eos/effects/subsystembonusamarrcore3scanresolution.py
deleted file mode 100644
index 2374304e5..000000000
--- a/eos/effects/subsystembonusamarrcore3scanresolution.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrCore3ScanResolution
-#
-# Used by:
-# Subsystem: Legion Core - Dissolution Sequencer
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("scanResolution", src.getModifiedItemAttr("subsystemBonusAmarrCore3"),
- skill="Amarr Core Systems")
diff --git a/eos/effects/subsystembonusamarrcorecapacitorcapacity.py b/eos/effects/subsystembonusamarrcorecapacitorcapacity.py
deleted file mode 100644
index 373d62290..000000000
--- a/eos/effects/subsystembonusamarrcorecapacitorcapacity.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# subsystemBonusAmarrCoreCapacitorCapacity
-#
-# Used by:
-# Subsystem: Legion Core - Augmented Antimatter Reactor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("capacitorCapacity", src.getModifiedItemAttr("subsystemBonusAmarrCore"), skill="Amarr Core Systems")
diff --git a/eos/effects/subsystembonusamarrcorescanstrengthradar.py b/eos/effects/subsystembonusamarrcorescanstrengthradar.py
deleted file mode 100644
index 8c0c2bd82..000000000
--- a/eos/effects/subsystembonusamarrcorescanstrengthradar.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrCoreScanStrengthRADAR
-#
-# Used by:
-# Subsystem: Legion Core - Dissolution Sequencer
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("scanRadarStrength", src.getModifiedItemAttr("subsystemBonusAmarrCore"),
- skill="Amarr Core Systems")
diff --git a/eos/effects/subsystembonusamarrdefensive2hardenerheat.py b/eos/effects/subsystembonusamarrdefensive2hardenerheat.py
deleted file mode 100644
index 20459415a..000000000
--- a/eos/effects/subsystembonusamarrdefensive2hardenerheat.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemBonusAmarrDefensive2HardenerHeat
-#
-# Used by:
-# Subsystem: Legion Defensive - Augmented Plating
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "overloadSelfDurationBonus",
- src.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), skill="Amarr Defensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "overloadHardeningBonus",
- src.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), skill="Amarr Defensive Systems")
diff --git a/eos/effects/subsystembonusamarrdefensive2scanprobestrength.py b/eos/effects/subsystembonusamarrdefensive2scanprobestrength.py
deleted file mode 100644
index a7f2c9f58..000000000
--- a/eos/effects/subsystembonusamarrdefensive2scanprobestrength.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subSystemBonusAmarrDefensive2ScanProbeStrength
-#
-# Used by:
-# Subsystem: Legion Defensive - Covert Reconfiguration
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
- "baseSensorStrength", src.getModifiedItemAttr("subsystemBonusAmarrDefensive2"),
- skill="Amarr Defensive Systems")
diff --git a/eos/effects/subsystembonusamarrdefensive3armorrepheat.py b/eos/effects/subsystembonusamarrdefensive3armorrepheat.py
deleted file mode 100644
index e4c0bf66e..000000000
--- a/eos/effects/subsystembonusamarrdefensive3armorrepheat.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# subsystemBonusAmarrDefensive3ArmorRepHeat
-#
-# Used by:
-# Subsystem: Legion Defensive - Covert Reconfiguration
-# Subsystem: Legion Defensive - Nanobot Injector
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "overloadSelfDurationBonus", src.getModifiedItemAttr("subsystemBonusAmarrDefensive3"),
- skill="Amarr Defensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "overloadArmorDamageAmount", src.getModifiedItemAttr("subsystemBonusAmarrDefensive3"),
- skill="Amarr Defensive Systems")
diff --git a/eos/effects/subsystembonusamarrdefensivearmorhp.py b/eos/effects/subsystembonusamarrdefensivearmorhp.py
deleted file mode 100644
index d28928667..000000000
--- a/eos/effects/subsystembonusamarrdefensivearmorhp.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrDefensiveArmorHP
-#
-# Used by:
-# Subsystem: Legion Defensive - Augmented Plating
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("armorHP", module.getModifiedItemAttr("subsystemBonusAmarrDefensive"),
- skill="Amarr Defensive Systems")
diff --git a/eos/effects/subsystembonusamarrdefensivearmorrepairamount.py b/eos/effects/subsystembonusamarrdefensivearmorrepairamount.py
deleted file mode 100644
index 0ead0d3d7..000000000
--- a/eos/effects/subsystembonusamarrdefensivearmorrepairamount.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemBonusAmarrDefensiveArmorRepairAmount
-#
-# Used by:
-# Subsystem: Legion Defensive - Covert Reconfiguration
-# Subsystem: Legion Defensive - Nanobot Injector
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", module.getModifiedItemAttr("subsystemBonusAmarrDefensive"),
- skill="Amarr Defensive Systems")
diff --git a/eos/effects/subsystembonusamarrengineeringheatdamagereduction.py b/eos/effects/subsystembonusamarrengineeringheatdamagereduction.py
deleted file mode 100644
index 081431376..000000000
--- a/eos/effects/subsystembonusamarrengineeringheatdamagereduction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusAmarrEngineeringHeatDamageReduction
-#
-# Used by:
-# Subsystem: Legion Core - Energy Parasitic Complex
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- module.getModifiedItemAttr("subsystemBonusAmarrCore"),
- skill="Amarr Core Systems")
diff --git a/eos/effects/subsystembonusamarroffensive2energyweaponcapacitorneed.py b/eos/effects/subsystembonusamarroffensive2energyweaponcapacitorneed.py
deleted file mode 100644
index 4062932dd..000000000
--- a/eos/effects/subsystembonusamarroffensive2energyweaponcapacitorneed.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusAmarrOffensive2EnergyWeaponCapacitorNeed
-#
-# Used by:
-# Subsystem: Legion Offensive - Liquid Crystal Magnifiers
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "capacitorNeed", module.getModifiedItemAttr("subsystemBonusAmarrOffensive2"),
- skill="Amarr Offensive Systems")
diff --git a/eos/effects/subsystembonusamarroffensive2missiledamage.py b/eos/effects/subsystembonusamarroffensive2missiledamage.py
deleted file mode 100644
index ac51a389f..000000000
--- a/eos/effects/subsystembonusamarroffensive2missiledamage.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# subsystemBonusAmarrOffensive2MissileDamage
-#
-# Used by:
-# Subsystem: Legion Offensive - Assault Optimization
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "explosiveDamage", src.getModifiedItemAttr("subsystemBonusAmarrOffensive2"), skill="Amarr Offensive Systems")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", src.getModifiedItemAttr("subsystemBonusAmarrOffensive2"), skill="Amarr Offensive Systems")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "emDamage", src.getModifiedItemAttr("subsystemBonusAmarrOffensive2"), skill="Amarr Offensive Systems")
- fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "thermalDamage", src.getModifiedItemAttr("subsystemBonusAmarrOffensive2"), skill="Amarr Offensive Systems")
diff --git a/eos/effects/subsystembonusamarroffensive2remotearmorrepaircapuse.py b/eos/effects/subsystembonusamarroffensive2remotearmorrepaircapuse.py
deleted file mode 100644
index 39804e030..000000000
--- a/eos/effects/subsystembonusamarroffensive2remotearmorrepaircapuse.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrOffensive2RemoteArmorRepairCapUse
-#
-# Used by:
-# Subsystem: Legion Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed",
- src.getModifiedItemAttr("subsystemBonusAmarrOffensive2"), skill="Amarr Offensive Systems")
diff --git a/eos/effects/subsystembonusamarroffensive3dronedamagehp.py b/eos/effects/subsystembonusamarroffensive3dronedamagehp.py
deleted file mode 100644
index 26618a998..000000000
--- a/eos/effects/subsystembonusamarroffensive3dronedamagehp.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# subsystemBonusAmarrOffensive3DroneDamageHP
-#
-# Used by:
-# Subsystem: Legion Offensive - Assault Optimization
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "hp", src.getModifiedItemAttr("subsystemBonusAmarrOffensive3"), skill="Amarr Offensive Systems")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "armorHP", src.getModifiedItemAttr("subsystemBonusAmarrOffensive3"), skill="Amarr Offensive Systems")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "shieldCapacity", src.getModifiedItemAttr("subsystemBonusAmarrOffensive3"), skill="Amarr Offensive Systems")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "damageMultiplier", src.getModifiedItemAttr("subsystemBonusAmarrOffensive3"), skill="Amarr Offensive Systems")
diff --git a/eos/effects/subsystembonusamarroffensive3energyweaponmaxrange.py b/eos/effects/subsystembonusamarroffensive3energyweaponmaxrange.py
deleted file mode 100644
index 7d001910c..000000000
--- a/eos/effects/subsystembonusamarroffensive3energyweaponmaxrange.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusAmarrOffensive3EnergyWeaponMaxRange
-#
-# Used by:
-# Subsystem: Legion Offensive - Liquid Crystal Magnifiers
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "maxRange", module.getModifiedItemAttr("subsystemBonusAmarrOffensive3"),
- skill="Amarr Offensive Systems")
diff --git a/eos/effects/subsystembonusamarroffensive3remotearmorrepairheat.py b/eos/effects/subsystembonusamarroffensive3remotearmorrepairheat.py
deleted file mode 100644
index d7e603aab..000000000
--- a/eos/effects/subsystembonusamarroffensive3remotearmorrepairheat.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrOffensive3RemoteArmorRepairHeat
-#
-# Used by:
-# Subsystem: Legion Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "overloadSelfDurationBonus",
- src.getModifiedItemAttr("subsystemBonusAmarrOffensive3"), skill="Amarr Offensive Systems")
diff --git a/eos/effects/subsystembonusamarroffensivecommandbursts.py b/eos/effects/subsystembonusamarroffensivecommandbursts.py
deleted file mode 100644
index 8133970bc..000000000
--- a/eos/effects/subsystembonusamarroffensivecommandbursts.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# subSystemBonusAmarrOffensiveCommandBursts
-#
-# Used by:
-# Subsystem: Legion Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
diff --git a/eos/effects/subsystembonusamarroffensiveenergyweapondamagemultiplier.py b/eos/effects/subsystembonusamarroffensiveenergyweapondamagemultiplier.py
deleted file mode 100644
index 3af29dfee..000000000
--- a/eos/effects/subsystembonusamarroffensiveenergyweapondamagemultiplier.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusAmarrOffensiveEnergyWeaponDamageMultiplier
-#
-# Used by:
-# Subsystem: Legion Offensive - Liquid Crystal Magnifiers
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "damageMultiplier", module.getModifiedItemAttr("subsystemBonusAmarrOffensive"),
- skill="Amarr Offensive Systems")
diff --git a/eos/effects/subsystembonusamarroffensivemissilelauncherrof.py b/eos/effects/subsystembonusamarroffensivemissilelauncherrof.py
deleted file mode 100644
index 7eb49ec46..000000000
--- a/eos/effects/subsystembonusamarroffensivemissilelauncherrof.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusAmarrOffensiveMissileLauncherROF
-#
-# Used by:
-# Subsystem: Legion Offensive - Assault Optimization
-type = "passive"
-
-
-def handler(fit, src, context):
- groups = ("Missile Launcher Heavy", "Missile Launcher Rapid Light", "Missile Launcher Heavy Assault")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "speed", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems")
diff --git a/eos/effects/subsystembonusamarrpropulsion2agility.py b/eos/effects/subsystembonusamarrpropulsion2agility.py
deleted file mode 100644
index 426d8a119..000000000
--- a/eos/effects/subsystembonusamarrpropulsion2agility.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrPropulsion2Agility
-#
-# Used by:
-# Subsystem: Legion Propulsion - Intercalated Nanofibers
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("agility", src.getModifiedItemAttr("subsystemBonusAmarrPropulsion2"),
- skill="Amarr Propulsion Systems")
diff --git a/eos/effects/subsystembonusamarrpropulsion2mwdpenalty.py b/eos/effects/subsystembonusamarrpropulsion2mwdpenalty.py
deleted file mode 100644
index ceb76ccea..000000000
--- a/eos/effects/subsystembonusamarrpropulsion2mwdpenalty.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusAmarrPropulsion2MWDPenalty
-#
-# Used by:
-# Subsystem: Legion Propulsion - Wake Limiter
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "signatureRadiusBonus", src.getModifiedItemAttr("subsystemBonusAmarrPropulsion2"),
- skill="Amarr Propulsion Systems")
diff --git a/eos/effects/subsystembonusamarrpropulsion2warpspeed.py b/eos/effects/subsystembonusamarrpropulsion2warpspeed.py
deleted file mode 100644
index bc59ac952..000000000
--- a/eos/effects/subsystembonusamarrpropulsion2warpspeed.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrPropulsion2WarpSpeed
-#
-# Used by:
-# Subsystem: Legion Propulsion - Interdiction Nullifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", src.getModifiedItemAttr("subsystemBonusAmarrPropulsion2"),
- skill="Amarr Propulsion Systems")
diff --git a/eos/effects/subsystembonusamarrpropulsionafterburnerspeedfactor.py b/eos/effects/subsystembonusamarrpropulsionafterburnerspeedfactor.py
deleted file mode 100644
index 994733a04..000000000
--- a/eos/effects/subsystembonusamarrpropulsionafterburnerspeedfactor.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusAmarrPropulsionAfterburnerSpeedFactor
-#
-# Used by:
-# Subsystem: Legion Propulsion - Wake Limiter
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "speedFactor", module.getModifiedItemAttr("subsystemBonusAmarrPropulsion"),
- skill="Amarr Propulsion Systems")
diff --git a/eos/effects/subsystembonusamarrpropulsionmaxvelocity.py b/eos/effects/subsystembonusamarrpropulsionmaxvelocity.py
deleted file mode 100644
index 4b0812554..000000000
--- a/eos/effects/subsystembonusamarrpropulsionmaxvelocity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusAmarrPropulsionMaxVelocity
-#
-# Used by:
-# Subsystem: Legion Propulsion - Intercalated Nanofibers
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("subsystemBonusAmarrPropulsion"),
- skill="Amarr Propulsion Systems")
diff --git a/eos/effects/subsystembonusamarrpropulsionwarpcapacitor.py b/eos/effects/subsystembonusamarrpropulsionwarpcapacitor.py
deleted file mode 100644
index 76c076a0f..000000000
--- a/eos/effects/subsystembonusamarrpropulsionwarpcapacitor.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# subsystemBonusAmarrPropulsionWarpCapacitor
-#
-# Used by:
-# Subsystem: Legion Propulsion - Interdiction Nullifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpCapacitorNeed", src.getModifiedItemAttr("subsystemBonusAmarrPropulsion"), skill="Amarr Propulsion Systems")
diff --git a/eos/effects/subsystembonuscaldaricore2ecmstrengthrange.py b/eos/effects/subsystembonuscaldaricore2ecmstrengthrange.py
deleted file mode 100644
index afa67dbaa..000000000
--- a/eos/effects/subsystembonuscaldaricore2ecmstrengthrange.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# subsystemBonusCaldariCore2ECMStrengthRange
-#
-# Used by:
-# Subsystem: Tengu Core - Obfuscation Manifold
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "scanLadarStrengthBonus",
- src.getModifiedItemAttr("subsystemBonusCaldariCore2"), skill="Caldari Core Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "scanRadarStrengthBonus",
- src.getModifiedItemAttr("subsystemBonusCaldariCore2"), skill="Caldari Core Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "maxRange",
- src.getModifiedItemAttr("subsystemBonusCaldariCore2"), skill="Caldari Core Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "scanGravimetricStrengthBonus",
- src.getModifiedItemAttr("subsystemBonusCaldariCore2"), skill="Caldari Core Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "scanMagnetometricStrengthBonus",
- src.getModifiedItemAttr("subsystemBonusCaldariCore2"), skill="Caldari Core Systems")
diff --git a/eos/effects/subsystembonuscaldaricore2energyresistance.py b/eos/effects/subsystembonuscaldaricore2energyresistance.py
deleted file mode 100644
index 9a2d0c415..000000000
--- a/eos/effects/subsystembonuscaldaricore2energyresistance.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusCaldariCore2EnergyResistance
-#
-# Used by:
-# Subsystem: Tengu Core - Augmented Graviton Reactor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("energyWarfareResistance", src.getModifiedItemAttr("subsystemBonusCaldariCore2"),
- skill="Caldari Core Systems")
diff --git a/eos/effects/subsystembonuscaldaricore2maxtargetingrange.py b/eos/effects/subsystembonuscaldaricore2maxtargetingrange.py
deleted file mode 100644
index 4aa3ad96c..000000000
--- a/eos/effects/subsystembonuscaldaricore2maxtargetingrange.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# subsystemBonusCaldariCore2MaxTargetingRange
-#
-# Used by:
-# Subsystem: Tengu Core - Electronic Efficiency Gate
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("maxTargetRange", src.getModifiedItemAttr("subsystemBonusCaldariCore2"), skill="Caldari Core Systems")
diff --git a/eos/effects/subsystembonuscaldaricore3ecmheatbonus.py b/eos/effects/subsystembonuscaldaricore3ecmheatbonus.py
deleted file mode 100644
index c17c23ea2..000000000
--- a/eos/effects/subsystembonuscaldaricore3ecmheatbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusCaldariCore3ECMHeatBonus
-#
-# Used by:
-# Subsystem: Tengu Core - Obfuscation Manifold
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "overloadECMStrengthBonus",
- src.getModifiedItemAttr("subsystemBonusCaldariCore3"), skill="Caldari Core Systems")
diff --git a/eos/effects/subsystembonuscaldaricorecapacitorcapacity.py b/eos/effects/subsystembonuscaldaricorecapacitorcapacity.py
deleted file mode 100644
index b3895bbec..000000000
--- a/eos/effects/subsystembonuscaldaricorecapacitorcapacity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusCaldariCoreCapacitorCapacity
-#
-# Used by:
-# Subsystem: Tengu Core - Augmented Graviton Reactor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("capacitorCapacity", src.getModifiedItemAttr("subsystemBonusCaldariCore"),
- skill="Caldari Core Systems")
diff --git a/eos/effects/subsystembonuscaldaricorescanstrengthgravimetric.py b/eos/effects/subsystembonuscaldaricorescanstrengthgravimetric.py
deleted file mode 100644
index b21cd5754..000000000
--- a/eos/effects/subsystembonuscaldaricorescanstrengthgravimetric.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# subsystemBonusCaldariCoreScanStrengthGravimetric
-#
-# Used by:
-# Subsystem: Tengu Core - Electronic Efficiency Gate
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("scanGravimetricStrength", src.getModifiedItemAttr("subsystemBonusCaldariCore"), skill="Caldari Core Systems")
diff --git a/eos/effects/subsystembonuscaldaridefensive2hardenerheat.py b/eos/effects/subsystembonuscaldaridefensive2hardenerheat.py
deleted file mode 100644
index 259f761eb..000000000
--- a/eos/effects/subsystembonuscaldaridefensive2hardenerheat.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariDefensive2HardenerHeat
-#
-# Used by:
-# Subsystem: Tengu Defensive - Supplemental Screening
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Tactical Shield Manipulation"),
- "overloadHardeningBonus", src.getModifiedItemAttr("subsystemBonusCaldariDefensive2"),
- skill="Caldari Defensive Systems")
diff --git a/eos/effects/subsystembonuscaldaridefensive2scanprobestrength.py b/eos/effects/subsystembonuscaldaridefensive2scanprobestrength.py
deleted file mode 100644
index 828d383a2..000000000
--- a/eos/effects/subsystembonuscaldaridefensive2scanprobestrength.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subSystemBonusCaldariDefensive2ScanProbeStrength
-#
-# Used by:
-# Subsystem: Tengu Defensive - Covert Reconfiguration
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
- "baseSensorStrength", src.getModifiedItemAttr("subsystemBonusCaldariDefensive2"),
- skill="Caldari Defensive Systems")
diff --git a/eos/effects/subsystembonuscaldaridefensive3shieldboostheat.py b/eos/effects/subsystembonuscaldaridefensive3shieldboostheat.py
deleted file mode 100644
index a18f076f1..000000000
--- a/eos/effects/subsystembonuscaldaridefensive3shieldboostheat.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# subsystemBonusCaldariDefensive3ShieldBoostHeat
-#
-# Used by:
-# Subsystem: Tengu Defensive - Amplification Node
-# Subsystem: Tengu Defensive - Covert Reconfiguration
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "overloadShieldBonus", src.getModifiedItemAttr("subsystemBonusCaldariDefensive3"),
- skill="Caldari Defensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "overloadSelfDurationBonus", src.getModifiedItemAttr("subsystemBonusCaldariDefensive3"),
- skill="Caldari Defensive Systems")
diff --git a/eos/effects/subsystembonuscaldaridefensiveshieldboostamount.py b/eos/effects/subsystembonuscaldaridefensiveshieldboostamount.py
deleted file mode 100644
index ec7bff89c..000000000
--- a/eos/effects/subsystembonuscaldaridefensiveshieldboostamount.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemBonusCaldariDefensiveShieldBoostAmount
-#
-# Used by:
-# Subsystem: Tengu Defensive - Amplification Node
-# Subsystem: Tengu Defensive - Covert Reconfiguration
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", module.getModifiedItemAttr("subsystemBonusCaldariDefensive"),
- skill="Caldari Defensive Systems")
diff --git a/eos/effects/subsystembonuscaldaridefensiveshieldhp.py b/eos/effects/subsystembonuscaldaridefensiveshieldhp.py
deleted file mode 100644
index 50ce1043f..000000000
--- a/eos/effects/subsystembonuscaldaridefensiveshieldhp.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusCaldariDefensiveShieldHP
-#
-# Used by:
-# Subsystem: Tengu Defensive - Supplemental Screening
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("shieldCapacity", module.getModifiedItemAttr("subsystemBonusCaldariDefensive"),
- skill="Caldari Defensive Systems")
diff --git a/eos/effects/subsystembonuscaldariengineeringheatdamagereduction.py b/eos/effects/subsystembonuscaldariengineeringheatdamagereduction.py
deleted file mode 100644
index 187643ef3..000000000
--- a/eos/effects/subsystembonuscaldariengineeringheatdamagereduction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariEngineeringHeatDamageReduction
-#
-# Used by:
-# Subsystem: Tengu Core - Obfuscation Manifold
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- module.getModifiedItemAttr("subsystemBonusCaldariCore"),
- skill="Caldari Core Systems")
diff --git a/eos/effects/subsystembonuscaldarioffensive1launcherrof.py b/eos/effects/subsystembonuscaldarioffensive1launcherrof.py
deleted file mode 100644
index 7a7418ff2..000000000
--- a/eos/effects/subsystembonuscaldarioffensive1launcherrof.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariOffensive1LauncherROF
-#
-# Used by:
-# Subsystem: Tengu Offensive - Accelerated Ejection Bay
-type = "passive"
-
-
-def handler(fit, src, context):
- groups = ("Missile Launcher Heavy", "Missile Launcher Rapid Light", "Missile Launcher Heavy Assault")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "speed", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
diff --git a/eos/effects/subsystembonuscaldarioffensive2hybridweapondamagemultiplier.py b/eos/effects/subsystembonuscaldarioffensive2hybridweapondamagemultiplier.py
deleted file mode 100644
index 830e6ae1b..000000000
--- a/eos/effects/subsystembonuscaldarioffensive2hybridweapondamagemultiplier.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariOffensive2HybridWeaponDamageMultiplier
-#
-# Used by:
-# Subsystem: Tengu Offensive - Magnetic Infusion Basin
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", module.getModifiedItemAttr("subsystemBonusCaldariOffensive2"),
- skill="Caldari Offensive Systems")
diff --git a/eos/effects/subsystembonuscaldarioffensive2missilelauncherkineticdamage.py b/eos/effects/subsystembonuscaldarioffensive2missilelauncherkineticdamage.py
deleted file mode 100644
index ba959521c..000000000
--- a/eos/effects/subsystembonuscaldarioffensive2missilelauncherkineticdamage.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# subsystemBonusCaldariOffensive2MissileLauncherKineticDamage
-#
-# Used by:
-# Subsystem: Tengu Offensive - Accelerated Ejection Bay
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "kineticDamage", src.getModifiedItemAttr("subsystemBonusCaldariOffensive2"),
- skill="Caldari Offensive Systems")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
- "kineticDamage", src.getModifiedItemAttr("subsystemBonusCaldariOffensive2"),
- skill="Caldari Offensive Systems")
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
- "kineticDamage", src.getModifiedItemAttr("subsystemBonusCaldariOffensive2"),
- skill="Caldari Offensive Systems")
diff --git a/eos/effects/subsystembonuscaldarioffensive2remoteshieldboostercapuse.py b/eos/effects/subsystembonuscaldarioffensive2remoteshieldboostercapuse.py
deleted file mode 100644
index 9d327606c..000000000
--- a/eos/effects/subsystembonuscaldarioffensive2remoteshieldboostercapuse.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariOffensive2RemoteShieldBoosterCapUse
-#
-# Used by:
-# Subsystem: Tengu Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "capacitorNeed", src.getModifiedItemAttr("subsystemBonusCaldariOffensive2"),
- skill="Caldari Offensive Systems")
diff --git a/eos/effects/subsystembonuscaldarioffensive3hmlhamvelocity.py b/eos/effects/subsystembonuscaldarioffensive3hmlhamvelocity.py
deleted file mode 100644
index dbe5e88db..000000000
--- a/eos/effects/subsystembonuscaldarioffensive3hmlhamvelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariOffensive3HMLHAMVelocity
-#
-# Used by:
-# Subsystem: Tengu Offensive - Accelerated Ejection Bay
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles") or mod.charge.requiresSkill("Heavy Assault Missiles"),
- "maxVelocity", src.getModifiedItemAttr("subsystemBonusCaldariOffensive3"),
- skill="Caldari Offensive Systems")
diff --git a/eos/effects/subsystembonuscaldarioffensive3remoteshieldboosterheat.py b/eos/effects/subsystembonuscaldarioffensive3remoteshieldboosterheat.py
deleted file mode 100644
index 44a471a6d..000000000
--- a/eos/effects/subsystembonuscaldarioffensive3remoteshieldboosterheat.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariOffensive3RemoteShieldBoosterHeat
-#
-# Used by:
-# Subsystem: Tengu Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "overloadSelfDurationBonus", src.getModifiedItemAttr("subsystemBonusCaldariOffensive3"),
- skill="Caldari Offensive Systems")
diff --git a/eos/effects/subsystembonuscaldarioffensivecommandbursts.py b/eos/effects/subsystembonuscaldarioffensivecommandbursts.py
deleted file mode 100644
index e83045ae8..000000000
--- a/eos/effects/subsystembonuscaldarioffensivecommandbursts.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# subSystemBonusCaldariOffensiveCommandBursts
-#
-# Used by:
-# Subsystem: Tengu Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems")
diff --git a/eos/effects/subsystembonuscaldarioffensivehybridweaponmaxrange.py b/eos/effects/subsystembonuscaldarioffensivehybridweaponmaxrange.py
deleted file mode 100644
index a2d51c087..000000000
--- a/eos/effects/subsystembonuscaldarioffensivehybridweaponmaxrange.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariOffensiveHybridWeaponMaxRange
-#
-# Used by:
-# Subsystem: Tengu Offensive - Magnetic Infusion Basin
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "maxRange", module.getModifiedItemAttr("subsystemBonusCaldariOffensive"),
- skill="Caldari Offensive Systems")
diff --git a/eos/effects/subsystembonuscaldaripropulsion2agility.py b/eos/effects/subsystembonuscaldaripropulsion2agility.py
deleted file mode 100644
index c923e51bd..000000000
--- a/eos/effects/subsystembonuscaldaripropulsion2agility.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusCaldariPropulsion2Agility
-#
-# Used by:
-# Subsystem: Tengu Propulsion - Chassis Optimization
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("agility", src.getModifiedItemAttr("subsystemBonusCaldariPropulsion2"),
- skill="Caldari Propulsion Systems")
diff --git a/eos/effects/subsystembonuscaldaripropulsion2propmodheatbenefit.py b/eos/effects/subsystembonuscaldaripropulsion2propmodheatbenefit.py
deleted file mode 100644
index e089fdf80..000000000
--- a/eos/effects/subsystembonuscaldaripropulsion2propmodheatbenefit.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariPropulsion2PropModHeatBenefit
-#
-# Used by:
-# Subsystem: Tengu Propulsion - Fuel Catalyst
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner") or mod.item.requiresSkill("High Speed Maneuvering"),
- "overloadSpeedFactorBonus", src.getModifiedItemAttr("subsystemBonusCaldariPropulsion2"),
- skill="Caldari Propulsion Systems")
diff --git a/eos/effects/subsystembonuscaldaripropulsion2warpspeed.py b/eos/effects/subsystembonuscaldaripropulsion2warpspeed.py
deleted file mode 100644
index 3e0d5f181..000000000
--- a/eos/effects/subsystembonuscaldaripropulsion2warpspeed.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusCaldariPropulsion2WarpSpeed
-#
-# Used by:
-# Subsystem: Tengu Propulsion - Interdiction Nullifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", src.getModifiedItemAttr("subsystemBonusCaldariPropulsion2"),
- skill="Caldari Propulsion Systems")
diff --git a/eos/effects/subsystembonuscaldaripropulsionafterburnerspeedfactor.py b/eos/effects/subsystembonuscaldaripropulsionafterburnerspeedfactor.py
deleted file mode 100644
index c97944920..000000000
--- a/eos/effects/subsystembonuscaldaripropulsionafterburnerspeedfactor.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusCaldariPropulsionAfterburnerSpeedFactor
-#
-# Used by:
-# Subsystem: Tengu Propulsion - Fuel Catalyst
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "speedFactor", module.getModifiedItemAttr("subsystemBonusCaldariPropulsion"),
- skill="Caldari Propulsion Systems")
diff --git a/eos/effects/subsystembonuscaldaripropulsionmaxvelocity.py b/eos/effects/subsystembonuscaldaripropulsionmaxvelocity.py
deleted file mode 100644
index b883e9b9d..000000000
--- a/eos/effects/subsystembonuscaldaripropulsionmaxvelocity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusCaldariPropulsionMaxVelocity
-#
-# Used by:
-# Subsystem: Tengu Propulsion - Chassis Optimization
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("subsystemBonusCaldariPropulsion"),
- skill="Caldari Propulsion Systems")
diff --git a/eos/effects/subsystembonuscaldaripropulsionwarpcapacitor.py b/eos/effects/subsystembonuscaldaripropulsionwarpcapacitor.py
deleted file mode 100644
index 050e87d91..000000000
--- a/eos/effects/subsystembonuscaldaripropulsionwarpcapacitor.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusCaldariPropulsionWarpCapacitor
-#
-# Used by:
-# Subsystem: Tengu Propulsion - Interdiction Nullifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpCapacitorNeed", src.getModifiedItemAttr("subsystemBonusCaldariPropulsion"),
- skill="Caldari Propulsion Systems")
diff --git a/eos/effects/subsystembonuscommandburstfittingreduction.py b/eos/effects/subsystembonuscommandburstfittingreduction.py
deleted file mode 100644
index 8549a57bf..000000000
--- a/eos/effects/subsystembonuscommandburstfittingreduction.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemBonusCommandBurstFittingReduction
-#
-# Used by:
-# Subsystems named like: Offensive Support Processor (4 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "power",
- src.getModifiedItemAttr("subsystemCommandBurstFittingReduction"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "cpu",
- src.getModifiedItemAttr("subsystemCommandBurstFittingReduction"))
diff --git a/eos/effects/subsystembonusgallentecore2energyresistance.py b/eos/effects/subsystembonusgallentecore2energyresistance.py
deleted file mode 100644
index 1a3c834c2..000000000
--- a/eos/effects/subsystembonusgallentecore2energyresistance.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallenteCore2EnergyResistance
-#
-# Used by:
-# Subsystem: Proteus Core - Augmented Fusion Reactor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("energyWarfareResistance", src.getModifiedItemAttr("subsystemBonusGallenteCore2"),
- skill="Gallente Core Systems")
diff --git a/eos/effects/subsystembonusgallentecore2maxtargetingrange.py b/eos/effects/subsystembonusgallentecore2maxtargetingrange.py
deleted file mode 100644
index 9e2e880f4..000000000
--- a/eos/effects/subsystembonusgallentecore2maxtargetingrange.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallenteCore2MaxTargetingRange
-#
-# Used by:
-# Subsystem: Proteus Core - Electronic Efficiency Gate
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("maxTargetRange", src.getModifiedItemAttr("subsystemBonusGallenteCore2"),
- skill="Gallente Core Systems")
diff --git a/eos/effects/subsystembonusgallentecore2warpscramblerange.py b/eos/effects/subsystembonusgallentecore2warpscramblerange.py
deleted file mode 100644
index 0d93f558b..000000000
--- a/eos/effects/subsystembonusgallentecore2warpscramblerange.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallenteCore2WarpScrambleRange
-#
-# Used by:
-# Subsystem: Proteus Core - Friction Extension Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler", "maxRange",
- src.getModifiedItemAttr("subsystemBonusGallenteCore2"), skill="Gallente Core Systems")
diff --git a/eos/effects/subsystembonusgallentecore3warpscramheatbonus.py b/eos/effects/subsystembonusgallentecore3warpscramheatbonus.py
deleted file mode 100644
index 9060dac39..000000000
--- a/eos/effects/subsystembonusgallentecore3warpscramheatbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallenteCore3WarpScramHeatBonus
-#
-# Used by:
-# Subsystem: Proteus Core - Friction Extension Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler", "overloadRangeBonus",
- src.getModifiedItemAttr("subsystemBonusGallenteCore3"), skill="Gallente Core Systems")
diff --git a/eos/effects/subsystembonusgallentecorecapacitorrecharge.py b/eos/effects/subsystembonusgallentecorecapacitorrecharge.py
deleted file mode 100644
index 52c020b91..000000000
--- a/eos/effects/subsystembonusgallentecorecapacitorrecharge.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallenteCoreCapacitorRecharge
-#
-# Used by:
-# Subsystem: Proteus Core - Augmented Fusion Reactor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("rechargeRate", src.getModifiedItemAttr("subsystemBonusGallenteCore"),
- skill="Gallente Core Systems")
diff --git a/eos/effects/subsystembonusgallentecorescanstrengthmagnetometric.py b/eos/effects/subsystembonusgallentecorescanstrengthmagnetometric.py
deleted file mode 100644
index 793b071ac..000000000
--- a/eos/effects/subsystembonusgallentecorescanstrengthmagnetometric.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallenteCoreScanStrengthMagnetometric
-#
-# Used by:
-# Subsystem: Proteus Core - Electronic Efficiency Gate
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("scanMagnetometricStrength", src.getModifiedItemAttr("subsystemBonusGallenteCore"),
- skill="Gallente Core Systems")
diff --git a/eos/effects/subsystembonusgallentedefensive2hardenerheat.py b/eos/effects/subsystembonusgallentedefensive2hardenerheat.py
deleted file mode 100644
index d4c2f7e1d..000000000
--- a/eos/effects/subsystembonusgallentedefensive2hardenerheat.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemBonusGallenteDefensive2HardenerHeat
-#
-# Used by:
-# Subsystem: Proteus Defensive - Augmented Plating
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "overloadHardeningBonus",
- src.getModifiedItemAttr("subsystemBonusGallenteDefensive2"), skill="Gallente Defensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "overloadSelfDurationBonus",
- src.getModifiedItemAttr("subsystemBonusGallenteDefensive2"), skill="Gallente Defensive Systems")
diff --git a/eos/effects/subsystembonusgallentedefensive2scanprobestrength.py b/eos/effects/subsystembonusgallentedefensive2scanprobestrength.py
deleted file mode 100644
index e5e7955d8..000000000
--- a/eos/effects/subsystembonusgallentedefensive2scanprobestrength.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subSystemBonusGallenteDefensive2ScanProbeStrength
-#
-# Used by:
-# Subsystem: Proteus Defensive - Covert Reconfiguration
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"), "baseSensorStrength",
- src.getModifiedItemAttr("subsystemBonusGallenteDefensive2"), skill="Gallente Defensive Systems")
diff --git a/eos/effects/subsystembonusgallentedefensive3armorrepheat.py b/eos/effects/subsystembonusgallentedefensive3armorrepheat.py
deleted file mode 100644
index 1f2e9d309..000000000
--- a/eos/effects/subsystembonusgallentedefensive3armorrepheat.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# subsystemBonusGallenteDefensive3ArmorRepHeat
-#
-# Used by:
-# Subsystem: Proteus Defensive - Covert Reconfiguration
-# Subsystem: Proteus Defensive - Nanobot Injector
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "overloadSelfDurationBonus", src.getModifiedItemAttr("subsystemBonusGallenteDefensive3"),
- skill="Gallente Defensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "overloadArmorDamageAmount", src.getModifiedItemAttr("subsystemBonusGallenteDefensive3"),
- skill="Gallente Defensive Systems")
diff --git a/eos/effects/subsystembonusgallentedefensivearmorhp.py b/eos/effects/subsystembonusgallentedefensivearmorhp.py
deleted file mode 100644
index e200be121..000000000
--- a/eos/effects/subsystembonusgallentedefensivearmorhp.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallenteDefensiveArmorHP
-#
-# Used by:
-# Subsystem: Proteus Defensive - Augmented Plating
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("armorHP", module.getModifiedItemAttr("subsystemBonusGallenteDefensive"),
- skill="Gallente Defensive Systems")
diff --git a/eos/effects/subsystembonusgallentedefensivearmorrepairamount.py b/eos/effects/subsystembonusgallentedefensivearmorrepairamount.py
deleted file mode 100644
index 6d9639e83..000000000
--- a/eos/effects/subsystembonusgallentedefensivearmorrepairamount.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemBonusGallenteDefensiveArmorRepairAmount
-#
-# Used by:
-# Subsystem: Proteus Defensive - Covert Reconfiguration
-# Subsystem: Proteus Defensive - Nanobot Injector
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", module.getModifiedItemAttr("subsystemBonusGallenteDefensive"),
- skill="Gallente Defensive Systems")
diff --git a/eos/effects/subsystembonusgallenteengineeringheatdamagereduction.py b/eos/effects/subsystembonusgallenteengineeringheatdamagereduction.py
deleted file mode 100644
index d68012583..000000000
--- a/eos/effects/subsystembonusgallenteengineeringheatdamagereduction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusGallenteEngineeringHeatDamageReduction
-#
-# Used by:
-# Subsystem: Proteus Core - Friction Extension Processor
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- module.getModifiedItemAttr("subsystemBonusGallenteCore"),
- skill="Gallente Core Systems")
diff --git a/eos/effects/subsystembonusgallenteoffensive2dronevelotracking.py b/eos/effects/subsystembonusgallenteoffensive2dronevelotracking.py
deleted file mode 100644
index 72b7e628d..000000000
--- a/eos/effects/subsystembonusgallenteoffensive2dronevelotracking.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# subsystemBonusGallenteOffensive2DroneVeloTracking
-#
-# Used by:
-# Subsystem: Proteus Offensive - Drone Synthesis Projector
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "maxVelocity", src.getModifiedItemAttr("subsystemBonusGallenteOffensive2"),
- skill="Gallente Offensive Systems")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "trackingSpeed", src.getModifiedItemAttr("subsystemBonusGallenteOffensive2"),
- skill="Gallente Offensive Systems")
diff --git a/eos/effects/subsystembonusgallenteoffensive2hybridweapondamagemultiplier.py b/eos/effects/subsystembonusgallenteoffensive2hybridweapondamagemultiplier.py
deleted file mode 100644
index 23b44db1e..000000000
--- a/eos/effects/subsystembonusgallenteoffensive2hybridweapondamagemultiplier.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusGallenteOffensive2HybridWeaponDamageMultiplier
-#
-# Used by:
-# Subsystem: Proteus Offensive - Hybrid Encoding Platform
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "damageMultiplier", module.getModifiedItemAttr("subsystemBonusGallenteOffensive2"),
- skill="Gallente Offensive Systems")
diff --git a/eos/effects/subsystembonusgallenteoffensive2remotearmorrepaircapuse.py b/eos/effects/subsystembonusgallenteoffensive2remotearmorrepaircapuse.py
deleted file mode 100644
index 4fbccf015..000000000
--- a/eos/effects/subsystembonusgallenteoffensive2remotearmorrepaircapuse.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallenteOffensive2RemoteArmorRepairCapUse
-#
-# Used by:
-# Subsystem: Proteus Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed",
- src.getModifiedItemAttr("subsystemBonusGallenteOffensive2"), skill="Gallente Offensive Systems")
diff --git a/eos/effects/subsystembonusgallenteoffensive3remotearmorrepairheat.py b/eos/effects/subsystembonusgallenteoffensive3remotearmorrepairheat.py
deleted file mode 100644
index 651810140..000000000
--- a/eos/effects/subsystembonusgallenteoffensive3remotearmorrepairheat.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallenteOffensive3RemoteArmorRepairHeat
-#
-# Used by:
-# Subsystem: Proteus Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "overloadSelfDurationBonus",
- src.getModifiedItemAttr("subsystemBonusGallenteOffensive3"), skill="Gallente Offensive Systems")
diff --git a/eos/effects/subsystembonusgallenteoffensive3turrettracking.py b/eos/effects/subsystembonusgallenteoffensive3turrettracking.py
deleted file mode 100644
index 75e20dfca..000000000
--- a/eos/effects/subsystembonusgallenteoffensive3turrettracking.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemBonusGallenteOffensive3TurretTracking
-#
-# Used by:
-# Subsystem: Proteus Offensive - Drone Synthesis Projector
-# Subsystem: Proteus Offensive - Hybrid Encoding Platform
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "trackingSpeed", module.getModifiedItemAttr("subsystemBonusGallenteOffensive3"),
- skill="Gallente Offensive Systems")
diff --git a/eos/effects/subsystembonusgallenteoffensivecommandbursts.py b/eos/effects/subsystembonusgallenteoffensivecommandbursts.py
deleted file mode 100644
index dfa14ae83..000000000
--- a/eos/effects/subsystembonusgallenteoffensivecommandbursts.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# subSystemBonusGallenteOffensiveCommandBursts
-#
-# Used by:
-# Subsystem: Proteus Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems")
diff --git a/eos/effects/subsystembonusgallenteoffensivedronedamagehp.py b/eos/effects/subsystembonusgallenteoffensivedronedamagehp.py
deleted file mode 100644
index 4f1abbb8d..000000000
--- a/eos/effects/subsystembonusgallenteoffensivedronedamagehp.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# subsystemBonusGallenteOffensiveDroneDamageHP
-#
-# Used by:
-# Subsystem: Proteus Offensive - Drone Synthesis Projector
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "armorHP", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"),
- skill="Gallente Offensive Systems")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "hp", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"),
- skill="Gallente Offensive Systems")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "damageMultiplier", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"),
- skill="Gallente Offensive Systems")
- fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"),
- "shieldCapacity", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"),
- skill="Gallente Offensive Systems")
diff --git a/eos/effects/subsystembonusgallenteoffensivehybridweaponfalloff.py b/eos/effects/subsystembonusgallenteoffensivehybridweaponfalloff.py
deleted file mode 100644
index 67900a90b..000000000
--- a/eos/effects/subsystembonusgallenteoffensivehybridweaponfalloff.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusGallenteOffensiveHybridWeaponFalloff
-#
-# Used by:
-# Subsystem: Proteus Offensive - Hybrid Encoding Platform
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "falloff", module.getModifiedItemAttr("subsystemBonusGallenteOffensive"),
- skill="Gallente Offensive Systems")
diff --git a/eos/effects/subsystembonusgallentepropulsion2agility.py b/eos/effects/subsystembonusgallentepropulsion2agility.py
deleted file mode 100644
index 5e060b092..000000000
--- a/eos/effects/subsystembonusgallentepropulsion2agility.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallentePropulsion2Agility
-#
-# Used by:
-# Subsystem: Proteus Propulsion - Hyperspatial Optimization
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("agility", src.getModifiedItemAttr("subsystemBonusGallentePropulsion2"),
- skill="Gallente Propulsion Systems")
diff --git a/eos/effects/subsystembonusgallentepropulsion2propmodheatbenefit.py b/eos/effects/subsystembonusgallentepropulsion2propmodheatbenefit.py
deleted file mode 100644
index 96dc20bb4..000000000
--- a/eos/effects/subsystembonusgallentepropulsion2propmodheatbenefit.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusGallentePropulsion2PropModHeatBenefit
-#
-# Used by:
-# Subsystem: Proteus Propulsion - Localized Injectors
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner") or mod.item.requiresSkill("High Speed Maneuvering"),
- "overloadSpeedFactorBonus", src.getModifiedItemAttr("subsystemBonusGallentePropulsion2"),
- skill="Gallente Propulsion Systems")
diff --git a/eos/effects/subsystembonusgallentepropulsion2warpspeed.py b/eos/effects/subsystembonusgallentepropulsion2warpspeed.py
deleted file mode 100644
index 043a3d962..000000000
--- a/eos/effects/subsystembonusgallentepropulsion2warpspeed.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallentePropulsion2WarpSpeed
-#
-# Used by:
-# Subsystem: Proteus Propulsion - Interdiction Nullifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", src.getModifiedItemAttr("subsystemBonusGallentePropulsion2"),
- skill="Gallente Propulsion Systems")
diff --git a/eos/effects/subsystembonusgallentepropulsionabmwdcapneed.py b/eos/effects/subsystembonusgallentepropulsionabmwdcapneed.py
deleted file mode 100644
index 7a9b3fed0..000000000
--- a/eos/effects/subsystembonusgallentepropulsionabmwdcapneed.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusGallentePropulsionABMWDCapNeed
-#
-# Used by:
-# Subsystem: Proteus Propulsion - Localized Injectors
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
- "capacitorNeed", module.getModifiedItemAttr("subsystemBonusGallentePropulsion"),
- skill="Gallente Propulsion Systems")
diff --git a/eos/effects/subsystembonusgallentepropulsionwarpcapacitor.py b/eos/effects/subsystembonusgallentepropulsionwarpcapacitor.py
deleted file mode 100644
index f267ba0bd..000000000
--- a/eos/effects/subsystembonusgallentepropulsionwarpcapacitor.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallentePropulsionWarpCapacitor
-#
-# Used by:
-# Subsystem: Proteus Propulsion - Interdiction Nullifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpCapacitorNeed", src.getModifiedItemAttr("subsystemBonusGallentePropulsion"),
- skill="Gallente Propulsion Systems")
diff --git a/eos/effects/subsystembonusgallentepropulsionwarpspeed.py b/eos/effects/subsystembonusgallentepropulsionwarpspeed.py
deleted file mode 100644
index 33f4dc718..000000000
--- a/eos/effects/subsystembonusgallentepropulsionwarpspeed.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusGallentePropulsionWarpSpeed
-#
-# Used by:
-# Subsystem: Proteus Propulsion - Hyperspatial Optimization
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("baseWarpSpeed", module.getModifiedItemAttr("subsystemBonusGallentePropulsion"),
- skill="Gallente Propulsion Systems")
diff --git a/eos/effects/subsystembonusminmatarcore2energyresistance.py b/eos/effects/subsystembonusminmatarcore2energyresistance.py
deleted file mode 100644
index c2f93a623..000000000
--- a/eos/effects/subsystembonusminmatarcore2energyresistance.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarCore2EnergyResistance
-#
-# Used by:
-# Subsystem: Loki Core - Augmented Nuclear Reactor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("energyWarfareResistance", src.getModifiedItemAttr("subsystemBonusMinmatarCore2"),
- skill="Minmatar Core Systems")
diff --git a/eos/effects/subsystembonusminmatarcore2maxtargetingrange.py b/eos/effects/subsystembonusminmatarcore2maxtargetingrange.py
deleted file mode 100644
index 4417e41cb..000000000
--- a/eos/effects/subsystembonusminmatarcore2maxtargetingrange.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarCore2MaxTargetingRange
-#
-# Used by:
-# Subsystem: Loki Core - Dissolution Sequencer
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("maxTargetRange", src.getModifiedItemAttr("subsystemBonusMinmatarCore2"),
- skill="Minmatar Core Systems")
diff --git a/eos/effects/subsystembonusminmatarcore2stasiswebifierrange.py b/eos/effects/subsystembonusminmatarcore2stasiswebifierrange.py
deleted file mode 100644
index 1b05d6864..000000000
--- a/eos/effects/subsystembonusminmatarcore2stasiswebifierrange.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarCore2StasisWebifierRange
-#
-# Used by:
-# Subsystem: Loki Core - Immobility Drivers
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "maxRange", src.getModifiedItemAttr("subsystemBonusMinmatarCore2"), skill="Minmatar Core Systems")
diff --git a/eos/effects/subsystembonusminmatarcore3scanresolution.py b/eos/effects/subsystembonusminmatarcore3scanresolution.py
deleted file mode 100644
index 3fb57e5e6..000000000
--- a/eos/effects/subsystembonusminmatarcore3scanresolution.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarCore3ScanResolution
-#
-# Used by:
-# Subsystem: Loki Core - Dissolution Sequencer
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("scanResolution", src.getModifiedItemAttr("subsystemBonusMinmatarCore3"),
- skill="Minmatar Core Systems")
diff --git a/eos/effects/subsystembonusminmatarcore3stasiswebheatbonus.py b/eos/effects/subsystembonusminmatarcore3stasiswebheatbonus.py
deleted file mode 100644
index b9233bacb..000000000
--- a/eos/effects/subsystembonusminmatarcore3stasiswebheatbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarCore3StasisWebHeatBonus
-#
-# Used by:
-# Subsystem: Loki Core - Immobility Drivers
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
- "overloadRangeBonus", src.getModifiedItemAttr("subsystemBonusMinmatarCore3"),
- skill="Minmatar Core Systems")
diff --git a/eos/effects/subsystembonusminmatarcorecapacitorrecharge.py b/eos/effects/subsystembonusminmatarcorecapacitorrecharge.py
deleted file mode 100644
index d32fce7ac..000000000
--- a/eos/effects/subsystembonusminmatarcorecapacitorrecharge.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarCoreCapacitorRecharge
-#
-# Used by:
-# Subsystem: Loki Core - Augmented Nuclear Reactor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("rechargeRate", src.getModifiedItemAttr("subsystemBonusMinmatarCore"),
- skill="Minmatar Core Systems")
diff --git a/eos/effects/subsystembonusminmatarcorescanstrengthladar.py b/eos/effects/subsystembonusminmatarcorescanstrengthladar.py
deleted file mode 100644
index 0266d09e8..000000000
--- a/eos/effects/subsystembonusminmatarcorescanstrengthladar.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarCoreScanStrengthLADAR
-#
-# Used by:
-# Subsystem: Loki Core - Dissolution Sequencer
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("scanLadarStrength", src.getModifiedItemAttr("subsystemBonusMinmatarCore"),
- skill="Minmatar Core Systems")
diff --git a/eos/effects/subsystembonusminmatardefensive2hardenerheat.py b/eos/effects/subsystembonusminmatardefensive2hardenerheat.py
deleted file mode 100644
index f87466071..000000000
--- a/eos/effects/subsystembonusminmatardefensive2hardenerheat.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# subsystemBonusMinmatarDefensive2HardenerHeat
-#
-# Used by:
-# Subsystem: Loki Defensive - Augmented Durability
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "overloadSelfDurationBonus",
- src.getModifiedItemAttr("subsystemBonusMinmatarDefensive2"), skill="Minmatar Defensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "overloadHardeningBonus",
- src.getModifiedItemAttr("subsystemBonusMinmatarDefensive2"), skill="Minmatar Defensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Tactical Shield Manipulation"), "overloadHardeningBonus",
- src.getModifiedItemAttr("subsystemBonusMinmatarDefensive2"), skill="Minmatar Defensive Systems")
diff --git a/eos/effects/subsystembonusminmatardefensive2scanprobestrength.py b/eos/effects/subsystembonusminmatardefensive2scanprobestrength.py
deleted file mode 100644
index 8879074a6..000000000
--- a/eos/effects/subsystembonusminmatardefensive2scanprobestrength.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subSystemBonusMinmatarDefensive2ScanProbeStrength
-#
-# Used by:
-# Subsystem: Loki Defensive - Covert Reconfiguration
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"), "baseSensorStrength",
- src.getModifiedItemAttr("subsystemBonusMinmatarDefensive2"), skill="Minmatar Defensive Systems")
diff --git a/eos/effects/subsystembonusminmatardefensive3localrepheat.py b/eos/effects/subsystembonusminmatardefensive3localrepheat.py
deleted file mode 100644
index fe6c0e1ee..000000000
--- a/eos/effects/subsystembonusminmatardefensive3localrepheat.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# subsystemBonusMinmatarDefensive3LocalRepHeat
-#
-# Used by:
-# Subsystem: Loki Defensive - Adaptive Defense Node
-# Subsystem: Loki Defensive - Covert Reconfiguration
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems") or mod.item.requiresSkill("Shield Operation"),
- "overloadArmorDamageAmount", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive3"),
- skill="Minmatar Defensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems") or mod.item.requiresSkill("Shield Operation"),
- "overloadSelfDurationBonus", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive3"),
- skill="Minmatar Defensive Systems")
diff --git a/eos/effects/subsystembonusminmatardefensiveshieldarmorhp.py b/eos/effects/subsystembonusminmatardefensiveshieldarmorhp.py
deleted file mode 100644
index 5e0b76798..000000000
--- a/eos/effects/subsystembonusminmatardefensiveshieldarmorhp.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemBonusMinmatarDefensiveShieldArmorHP
-#
-# Used by:
-# Subsystem: Loki Defensive - Augmented Durability
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("shieldCapacity", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"),
- skill="Minmatar Defensive Systems")
- fit.ship.boostItemAttr("armorHP", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"),
- skill="Minmatar Defensive Systems")
diff --git a/eos/effects/subsystembonusminmatardefensiveshieldarmorrepairamount.py b/eos/effects/subsystembonusminmatardefensiveshieldarmorrepairamount.py
deleted file mode 100644
index 0c43a70d4..000000000
--- a/eos/effects/subsystembonusminmatardefensiveshieldarmorrepairamount.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# subsystemBonusMinmatarDefensiveShieldArmorRepairAmount
-#
-# Used by:
-# Subsystem: Loki Defensive - Adaptive Defense Node
-# Subsystem: Loki Defensive - Covert Reconfiguration
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
- "armorDamageAmount", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"),
- skill="Minmatar Defensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"),
- "shieldBonus", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"),
- skill="Minmatar Defensive Systems")
diff --git a/eos/effects/subsystembonusminmatarengineeringheatdamagereduction.py b/eos/effects/subsystembonusminmatarengineeringheatdamagereduction.py
deleted file mode 100644
index 2af4c13ca..000000000
--- a/eos/effects/subsystembonusminmatarengineeringheatdamagereduction.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarEngineeringHeatDamageReduction
-#
-# Used by:
-# Subsystem: Loki Core - Immobility Drivers
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
- module.getModifiedItemAttr("subsystemBonusMinmatarCore"),
- skill="Minmatar Core Systems")
diff --git a/eos/effects/subsystembonusminmataroffensive1hmlhamvelo.py b/eos/effects/subsystembonusminmataroffensive1hmlhamvelo.py
deleted file mode 100644
index 49ae9388a..000000000
--- a/eos/effects/subsystembonusminmataroffensive1hmlhamvelo.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarOffensive1HMLHAMVelo
-#
-# Used by:
-# Subsystem: Loki Offensive - Launcher Efficiency Configuration
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles") or mod.charge.requiresSkill("Heavy Assault Missiles"),
- "maxVelocity", container.getModifiedItemAttr("subsystemBonusMinmatarOffensive"),
- skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmataroffensive2missilelauncherrof.py b/eos/effects/subsystembonusminmataroffensive2missilelauncherrof.py
deleted file mode 100644
index 29e71d306..000000000
--- a/eos/effects/subsystembonusminmataroffensive2missilelauncherrof.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemBonusMinmatarOffensive2MissileLauncherROF
-#
-# Used by:
-# Subsystem: Loki Offensive - Launcher Efficiency Configuration
-type = "passive"
-
-
-def handler(fit, src, context):
- groups = ("Missile Launcher Heavy", "Missile Launcher Rapid Light", "Missile Launcher Heavy Assault")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "speed", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive2"),
- skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmataroffensive2projectileweapondamagemultiplier.py b/eos/effects/subsystembonusminmataroffensive2projectileweapondamagemultiplier.py
deleted file mode 100644
index c68ff8976..000000000
--- a/eos/effects/subsystembonusminmataroffensive2projectileweapondamagemultiplier.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarOffensive2ProjectileWeaponDamageMultiplier
-#
-# Used by:
-# Subsystem: Loki Offensive - Projectile Scoping Array
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "damageMultiplier", module.getModifiedItemAttr("subsystemBonusMinmatarOffensive2"),
- skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmataroffensive2remoterepcapuse.py b/eos/effects/subsystembonusminmataroffensive2remoterepcapuse.py
deleted file mode 100644
index 451744d1a..000000000
--- a/eos/effects/subsystembonusminmataroffensive2remoterepcapuse.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarOffensive2RemoteRepCapUse
-#
-# Used by:
-# Subsystem: Loki Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems") or mod.item.requiresSkill("Remote Armor Repair Systems"),
- "capacitorNeed", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive2"),
- skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmataroffensive3missileexpvelo.py b/eos/effects/subsystembonusminmataroffensive3missileexpvelo.py
deleted file mode 100644
index 7dd2cde86..000000000
--- a/eos/effects/subsystembonusminmataroffensive3missileexpvelo.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarOffensive3MissileExpVelo
-#
-# Used by:
-# Subsystem: Loki Offensive - Launcher Efficiency Configuration
-type = "passive"
-
-
-def handler(fit, container, context):
- fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeVelocity", container.getModifiedItemAttr("subsystemBonusMinmatarOffensive3"),
- skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmataroffensive3remoterepheat.py b/eos/effects/subsystembonusminmataroffensive3remoterepheat.py
deleted file mode 100644
index a88a2907d..000000000
--- a/eos/effects/subsystembonusminmataroffensive3remoterepheat.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarOffensive3RemoteRepHeat
-#
-# Used by:
-# Subsystem: Loki Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems") or mod.item.requiresSkill("Remote Armor Repair Systems"),
- "overloadSelfDurationBonus", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive3"),
- skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmataroffensive3turrettracking.py b/eos/effects/subsystembonusminmataroffensive3turrettracking.py
deleted file mode 100644
index 86f3f5476..000000000
--- a/eos/effects/subsystembonusminmataroffensive3turrettracking.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarOffensive3TurretTracking
-#
-# Used by:
-# Subsystem: Loki Offensive - Projectile Scoping Array
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "trackingSpeed", module.getModifiedItemAttr("subsystemBonusMinmatarOffensive3"),
- skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmataroffensivecommandbursts.py b/eos/effects/subsystembonusminmataroffensivecommandbursts.py
deleted file mode 100644
index 50586ca36..000000000
--- a/eos/effects/subsystembonusminmataroffensivecommandbursts.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# subSystemBonusMinmatarOffensiveCommandBursts
-#
-# Used by:
-# Subsystem: Loki Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"),
- "war"
- "fareBuff1Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
-
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff3Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff4Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff1Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "buffDuration", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"),
- "warfareBuff2Value", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmataroffensiveprojectileweaponfalloff.py b/eos/effects/subsystembonusminmataroffensiveprojectileweaponfalloff.py
deleted file mode 100644
index e97198498..000000000
--- a/eos/effects/subsystembonusminmataroffensiveprojectileweaponfalloff.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarOffensiveProjectileWeaponFalloff
-#
-# Used by:
-# Subsystem: Loki Offensive - Projectile Scoping Array
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "falloff", module.getModifiedItemAttr("subsystemBonusMinmatarOffensive"),
- skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmataroffensiveprojectileweaponmaxrange.py b/eos/effects/subsystembonusminmataroffensiveprojectileweaponmaxrange.py
deleted file mode 100644
index 4938c002a..000000000
--- a/eos/effects/subsystembonusminmataroffensiveprojectileweaponmaxrange.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarOffensiveProjectileWeaponMaxRange
-#
-# Used by:
-# Subsystem: Loki Offensive - Projectile Scoping Array
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "maxRange", module.getModifiedItemAttr("subsystemBonusMinmatarOffensive"),
- skill="Minmatar Offensive Systems")
diff --git a/eos/effects/subsystembonusminmatarpropulsion2agility.py b/eos/effects/subsystembonusminmatarpropulsion2agility.py
deleted file mode 100644
index 1a01b509b..000000000
--- a/eos/effects/subsystembonusminmatarpropulsion2agility.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarPropulsion2Agility
-#
-# Used by:
-# Subsystem: Loki Propulsion - Intercalated Nanofibers
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("agility", src.getModifiedItemAttr("subsystemBonusMinmatarPropulsion2"),
- skill="Minmatar Propulsion Systems")
diff --git a/eos/effects/subsystembonusminmatarpropulsion2mwdpenalty.py b/eos/effects/subsystembonusminmatarpropulsion2mwdpenalty.py
deleted file mode 100644
index 94bbfe321..000000000
--- a/eos/effects/subsystembonusminmatarpropulsion2mwdpenalty.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarPropulsion2MWDPenalty
-#
-# Used by:
-# Subsystem: Loki Propulsion - Wake Limiter
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
- "signatureRadiusBonus", src.getModifiedItemAttr("subsystemBonusMinmatarPropulsion2"),
- skill="Minmatar Propulsion Systems")
diff --git a/eos/effects/subsystembonusminmatarpropulsion2warpspeed.py b/eos/effects/subsystembonusminmatarpropulsion2warpspeed.py
deleted file mode 100644
index d8d8262ca..000000000
--- a/eos/effects/subsystembonusminmatarpropulsion2warpspeed.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarPropulsion2WarpSpeed
-#
-# Used by:
-# Subsystem: Loki Propulsion - Interdiction Nullifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpSpeedMultiplier", src.getModifiedItemAttr("subsystemBonusMinmatarPropulsion2"),
- skill="Minmatar Propulsion Systems")
diff --git a/eos/effects/subsystembonusminmatarpropulsionafterburnerspeedfactor.py b/eos/effects/subsystembonusminmatarpropulsionafterburnerspeedfactor.py
deleted file mode 100644
index 1e9775eab..000000000
--- a/eos/effects/subsystembonusminmatarpropulsionafterburnerspeedfactor.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemBonusMinmatarPropulsionAfterburnerSpeedFactor
-#
-# Used by:
-# Subsystem: Loki Propulsion - Wake Limiter
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
- "speedFactor", module.getModifiedItemAttr("subsystemBonusMinmatarPropulsion"),
- skill="Minmatar Propulsion Systems")
diff --git a/eos/effects/subsystembonusminmatarpropulsionmaxvelocity.py b/eos/effects/subsystembonusminmatarpropulsionmaxvelocity.py
deleted file mode 100644
index d7101727d..000000000
--- a/eos/effects/subsystembonusminmatarpropulsionmaxvelocity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarPropulsionMaxVelocity
-#
-# Used by:
-# Subsystem: Loki Propulsion - Intercalated Nanofibers
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("subsystemBonusMinmatarPropulsion"),
- skill="Minmatar Propulsion Systems")
diff --git a/eos/effects/subsystembonusminmatarpropulsionwarpcapacitor.py b/eos/effects/subsystembonusminmatarpropulsionwarpcapacitor.py
deleted file mode 100644
index f7f965c59..000000000
--- a/eos/effects/subsystembonusminmatarpropulsionwarpcapacitor.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemBonusMinmatarPropulsionWarpCapacitor
-#
-# Used by:
-# Subsystem: Loki Propulsion - Interdiction Nullifier
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.ship.boostItemAttr("warpCapacitorNeed", src.getModifiedItemAttr("subsystemBonusMinmatarPropulsion"),
- skill="Minmatar Propulsion Systems")
diff --git a/eos/effects/subsystembonuswarpbubbleimmune.py b/eos/effects/subsystembonuswarpbubbleimmune.py
deleted file mode 100644
index cd29dad70..000000000
--- a/eos/effects/subsystembonuswarpbubbleimmune.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# subsystemBonusWarpBubbleImmune
-#
-# Used by:
-# Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.forceItemAttr("warpBubbleImmune", module.getModifiedItemAttr("warpBubbleImmuneModifier"))
diff --git a/eos/effects/subsystemenergyneutfittingreduction.py b/eos/effects/subsystemenergyneutfittingreduction.py
deleted file mode 100644
index 52c427fa1..000000000
--- a/eos/effects/subsystemenergyneutfittingreduction.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemEnergyNeutFittingReduction
-#
-# Used by:
-# Subsystem: Legion Core - Energy Parasitic Complex
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Energy Nosferatu", "Energy Neutralizer"),
- "cpu", src.getModifiedItemAttr("subsystemEnergyNeutFittingReduction"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Energy Nosferatu", "Energy Neutralizer"),
- "power", src.getModifiedItemAttr("subsystemEnergyNeutFittingReduction"))
diff --git a/eos/effects/subsystemmetfittingreduction.py b/eos/effects/subsystemmetfittingreduction.py
deleted file mode 100644
index ea3567a27..000000000
--- a/eos/effects/subsystemmetfittingreduction.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemMETFittingReduction
-#
-# Used by:
-# Subsystem: Legion Offensive - Liquid Crystal Magnifiers
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "cpu", src.getModifiedItemAttr("subsystemMETFittingReduction"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
- "power", src.getModifiedItemAttr("subsystemMETFittingReduction"))
diff --git a/eos/effects/subsystemmhtfittingreduction.py b/eos/effects/subsystemmhtfittingreduction.py
deleted file mode 100644
index 29aaec123..000000000
--- a/eos/effects/subsystemmhtfittingreduction.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# subsystemMHTFittingReduction
-#
-# Used by:
-# Subsystem: Proteus Offensive - Drone Synthesis Projector
-# Subsystem: Proteus Offensive - Hybrid Encoding Platform
-# Subsystem: Tengu Offensive - Magnetic Infusion Basin
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "cpu", src.getModifiedItemAttr("subsystemMHTFittingReduction"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
- "power", src.getModifiedItemAttr("subsystemMHTFittingReduction"))
diff --git a/eos/effects/subsystemmmissilefittingreduction.py b/eos/effects/subsystemmmissilefittingreduction.py
deleted file mode 100644
index 299536c2a..000000000
--- a/eos/effects/subsystemmmissilefittingreduction.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# subsystemMMissileFittingReduction
-#
-# Used by:
-# Subsystem: Legion Offensive - Assault Optimization
-# Subsystem: Loki Offensive - Launcher Efficiency Configuration
-# Subsystem: Tengu Offensive - Accelerated Ejection Bay
-type = "passive"
-
-
-def handler(fit, src, context):
- groups = ("Missile Launcher Heavy", "Missile Launcher Rapid Light", "Missile Launcher Heavy Assault")
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "cpu", src.getModifiedItemAttr("subsystemMMissileFittingReduction"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
- "power", src.getModifiedItemAttr("subsystemMMissileFittingReduction"))
diff --git a/eos/effects/subsystemmptfittingreduction.py b/eos/effects/subsystemmptfittingreduction.py
deleted file mode 100644
index 7660239b8..000000000
--- a/eos/effects/subsystemmptfittingreduction.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# subsystemMPTFittingReduction
-#
-# Used by:
-# Subsystem: Loki Offensive - Projectile Scoping Array
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "power", src.getModifiedItemAttr("subsystemMPTFittingReduction"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
- "cpu", src.getModifiedItemAttr("subsystemMPTFittingReduction"))
diff --git a/eos/effects/subsystemmrarfittingreduction.py b/eos/effects/subsystemmrarfittingreduction.py
deleted file mode 100644
index 070407bca..000000000
--- a/eos/effects/subsystemmrarfittingreduction.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# subsystemMRARFittingReduction
-#
-# Used by:
-# Subsystems named like: Offensive Support Processor (3 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems") and
- mod.getModifiedItemAttr('mediumRemoteRepFittingMultiplier', 0) == 1,
- "cpu", src.getModifiedItemAttr("subsystemMRARFittingReduction"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems") and
- mod.getModifiedItemAttr('mediumRemoteRepFittingMultiplier', 0) == 1,
- "power", src.getModifiedItemAttr("subsystemMRARFittingReduction"))
diff --git a/eos/effects/subsystemmrsbfittingreduction.py b/eos/effects/subsystemmrsbfittingreduction.py
deleted file mode 100644
index 98185b770..000000000
--- a/eos/effects/subsystemmrsbfittingreduction.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# subsystemMRSBFittingReduction
-#
-# Used by:
-# Subsystem: Loki Offensive - Support Processor
-# Subsystem: Tengu Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems") and
- mod.getModifiedItemAttr('mediumRemoteRepFittingMultiplier', 0) == 1,
- "cpu", src.getModifiedItemAttr("subsystemMRSBFittingReduction"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems") and
- mod.getModifiedItemAttr('mediumRemoteRepFittingMultiplier', 0) == 1,
- "power", src.getModifiedItemAttr("subsystemMRSBFittingReduction"))
diff --git a/eos/effects/subsystemremotearmorrepairerfalloffbonus.py b/eos/effects/subsystemremotearmorrepairerfalloffbonus.py
deleted file mode 100644
index 20ac549af..000000000
--- a/eos/effects/subsystemremotearmorrepairerfalloffbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemRemoteArmorRepairerFalloffBonus
-#
-# Used by:
-# Subsystems named like: Offensive Support Processor (3 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Remote Armor Repairer", "Ancillary Remote Armor Repairer"),
- "falloffEffectiveness", src.getModifiedItemAttr("remoteArmorRepairerFalloffBonus"))
diff --git a/eos/effects/subsystemremotearmorrepaireroptimalbonus.py b/eos/effects/subsystemremotearmorrepaireroptimalbonus.py
deleted file mode 100644
index 6112559c3..000000000
--- a/eos/effects/subsystemremotearmorrepaireroptimalbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# subsystemRemoteArmorRepairerOptimalBonus
-#
-# Used by:
-# Subsystems named like: Offensive Support Processor (3 of 4)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Remote Armor Repairer", "Ancillary Remote Armor Repairer"),
- "maxRange", src.getModifiedItemAttr("remoteArmorRepairerOptimalBonus"))
diff --git a/eos/effects/subsystemremoteshieldboostfalloffbonus.py b/eos/effects/subsystemremoteshieldboostfalloffbonus.py
deleted file mode 100644
index ab3a9f867..000000000
--- a/eos/effects/subsystemremoteshieldboostfalloffbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# subsystemRemoteShieldBoostFalloffBonus
-#
-# Used by:
-# Subsystem: Loki Offensive - Support Processor
-# Subsystem: Tengu Offensive - Support Processor
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Remote Shield Booster", "Ancillary Remote Shield Booster"),
- "falloffEffectiveness", src.getModifiedItemAttr("remoteShieldBoosterFalloffBonus"))
diff --git a/eos/effects/superweaponamarr.py b/eos/effects/superweaponamarr.py
deleted file mode 100644
index dfc06475e..000000000
--- a/eos/effects/superweaponamarr.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# superWeaponAmarr
-#
-# Used by:
-# Module: 'Judgment' Electromagnetic Doomsday
-type = 'active'
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/superweaponcaldari.py b/eos/effects/superweaponcaldari.py
deleted file mode 100644
index a7ea155e2..000000000
--- a/eos/effects/superweaponcaldari.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# superWeaponCaldari
-#
-# Used by:
-# Module: 'Oblivion' Kinetic Doomsday
-type = 'active'
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/superweapongallente.py b/eos/effects/superweapongallente.py
deleted file mode 100644
index 21d330213..000000000
--- a/eos/effects/superweapongallente.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# superWeaponGallente
-#
-# Used by:
-# Module: 'Aurora Ominae' Thermal Doomsday
-type = 'active'
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/superweaponminmatar.py b/eos/effects/superweaponminmatar.py
deleted file mode 100644
index 25b0b57ef..000000000
--- a/eos/effects/superweaponminmatar.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# superWeaponMinmatar
-#
-# Used by:
-# Module: 'Gjallarhorn' Explosive Doomsday
-type = 'active'
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupenergyweapon.py b/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupenergyweapon.py
deleted file mode 100644
index ce79c7ea8..000000000
--- a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupenergyweapon.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupEnergyWeapon
-#
-# Used by:
-# Skill: Surgical Strike
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Weapon",
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgrouphybridweapon.py b/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgrouphybridweapon.py
deleted file mode 100644
index 2ead8310e..000000000
--- a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgrouphybridweapon.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupHybridWeapon
-#
-# Used by:
-# Skill: Surgical Strike
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprecursorturret.py b/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprecursorturret.py
deleted file mode 100644
index f1aaa88e2..000000000
--- a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprecursorturret.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupPrecursorTurret
-#
-# Used by:
-# Skill: Surgical Strike
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Precursor Weapon",
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprojectileweapon.py b/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprojectileweapon.py
deleted file mode 100644
index 5cd9e697b..000000000
--- a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprojectileweapon.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupProjectileWeapon
-#
-# Used by:
-# Skill: Surgical Strike
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Projectile Weapon",
- "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
diff --git a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringgunnery.py b/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringgunnery.py
deleted file mode 100644
index 481ef2604..000000000
--- a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipmodulesrequiringgunnery.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipModulesRequiringGunnery
-#
-# Used by:
-# Implants named like: Agency 'Pyrolancea' DB Dose (4 of 4)
-# Implants named like: Eifyr and Co. 'Gunslinger' Surgical Strike SS (6 of 6)
-# Implant: Standard Cerebral Accelerator
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "damageMultiplier", implant.getModifiedItemAttr("damageMultiplierBonus"))
diff --git a/eos/effects/surgicalstrikefalloffbonuspostpercentfallofflocationshipmodulesrequiringgunnery.py b/eos/effects/surgicalstrikefalloffbonuspostpercentfallofflocationshipmodulesrequiringgunnery.py
deleted file mode 100644
index d28e30f76..000000000
--- a/eos/effects/surgicalstrikefalloffbonuspostpercentfallofflocationshipmodulesrequiringgunnery.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# surgicalStrikeFalloffBonusPostPercentFalloffLocationShipModulesRequiringGunnery
-#
-# Used by:
-# Implants named like: Sooth Sayer Booster (4 of 4)
-# Implants named like: Zainou 'Deadeye' Trajectory Analysis TA (6 of 6)
-# Skill: Trajectory Analysis
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "falloff", container.getModifiedItemAttr("falloffBonus") * level)
diff --git a/eos/effects/surveyscanspeedbonuspostpercentdurationlocationshipmodulesrequiringelectronics.py b/eos/effects/surveyscanspeedbonuspostpercentdurationlocationshipmodulesrequiringelectronics.py
deleted file mode 100644
index 6dcf933fd..000000000
--- a/eos/effects/surveyscanspeedbonuspostpercentdurationlocationshipmodulesrequiringelectronics.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# surveyScanspeedBonusPostPercentDurationLocationShipModulesRequiringElectronics
-#
-# Used by:
-# Modules named like: Signal Focusing Kit (8 of 8)
-# Skill: Survey
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("CPU Management"),
- "duration", container.getModifiedItemAttr("scanspeedBonus") * level)
diff --git a/eos/effects/systemagility.py b/eos/effects/systemagility.py
deleted file mode 100644
index ce8ba7370..000000000
--- a/eos/effects/systemagility.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# systemAgility
-#
-# Used by:
-# Celestials named like: Black Hole Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.multiplyItemAttr("agility", beacon.getModifiedItemAttr("agilityMultiplier"), stackingPenalties=True)
diff --git a/eos/effects/systemaoecloudsize.py b/eos/effects/systemaoecloudsize.py
deleted file mode 100644
index e8e4e9b0c..000000000
--- a/eos/effects/systemaoecloudsize.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemAoeCloudSize
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeCloudSize", beacon.getModifiedItemAttr("aoeCloudSizeMultiplier"))
diff --git a/eos/effects/systemaoevelocity.py b/eos/effects/systemaoevelocity.py
deleted file mode 100644
index 3ea6fea6c..000000000
--- a/eos/effects/systemaoevelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemAoeVelocity
-#
-# Used by:
-# Celestials named like: Black Hole Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "aoeVelocity", beacon.getModifiedItemAttr("aoeVelocityMultiplier"))
diff --git a/eos/effects/systemarmoremresistance.py b/eos/effects/systemarmoremresistance.py
deleted file mode 100644
index 901d4f7f8..000000000
--- a/eos/effects/systemarmoremresistance.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemArmorEmResistance
-#
-# Used by:
-# Celestials named like: Incursion Effect (2 of 2)
-# Celestials named like: Pulsar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.boostItemAttr("armorEmDamageResonance", beacon.getModifiedItemAttr("armorEmDamageResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/systemarmorexplosiveresistance.py b/eos/effects/systemarmorexplosiveresistance.py
deleted file mode 100644
index ccd8104d5..000000000
--- a/eos/effects/systemarmorexplosiveresistance.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemArmorExplosiveResistance
-#
-# Used by:
-# Celestials named like: Incursion Effect (2 of 2)
-# Celestials named like: Pulsar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.boostItemAttr("armorExplosiveDamageResonance",
- beacon.getModifiedItemAttr("armorExplosiveDamageResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/systemarmorhp.py b/eos/effects/systemarmorhp.py
deleted file mode 100644
index 05a3f91ab..000000000
--- a/eos/effects/systemarmorhp.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# systemArmorHP
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.multiplyItemAttr("armorHP", beacon.getModifiedItemAttr("armorHPMultiplier"))
diff --git a/eos/effects/systemarmorkineticresistance.py b/eos/effects/systemarmorkineticresistance.py
deleted file mode 100644
index 845b03da6..000000000
--- a/eos/effects/systemarmorkineticresistance.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemArmorKineticResistance
-#
-# Used by:
-# Celestials named like: Incursion Effect (2 of 2)
-# Celestials named like: Pulsar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.boostItemAttr("armorKineticDamageResonance",
- beacon.getModifiedItemAttr("armorKineticDamageResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/systemarmorremoterepairamount.py b/eos/effects/systemarmorremoterepairamount.py
deleted file mode 100644
index 4c18e8589..000000000
--- a/eos/effects/systemarmorremoterepairamount.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemArmorRemoteRepairAmount
-#
-# Used by:
-# Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
- "armorDamageAmount",
- module.getModifiedItemAttr("armorDamageAmountMultiplierRemote"),
- stackingPenalties=True)
diff --git a/eos/effects/systemarmorrepairamount.py b/eos/effects/systemarmorrepairamount.py
deleted file mode 100644
index da585583d..000000000
--- a/eos/effects/systemarmorrepairamount.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemArmorRepairAmount
-#
-# Used by:
-# Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Repair Systems") or
- mod.item.requiresSkill("Capital Repair Systems"),
- "armorDamageAmount", module.getModifiedItemAttr("armorDamageAmountMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemarmorthermalresistance.py b/eos/effects/systemarmorthermalresistance.py
deleted file mode 100644
index 0a5eb0be6..000000000
--- a/eos/effects/systemarmorthermalresistance.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemArmorThermalResistance
-#
-# Used by:
-# Celestials named like: Incursion Effect (2 of 2)
-# Celestials named like: Pulsar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.boostItemAttr("armorThermalDamageResonance",
- beacon.getModifiedItemAttr("armorThermalDamageResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/systemcapacitorcapacity.py b/eos/effects/systemcapacitorcapacity.py
deleted file mode 100644
index 63a57c9e2..000000000
--- a/eos/effects/systemcapacitorcapacity.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# systemCapacitorCapacity
-#
-# Used by:
-# Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.multiplyItemAttr("capacitorCapacity", beacon.getModifiedItemAttr("capacitorCapacityMultiplierSystem"))
diff --git a/eos/effects/systemcapacitorrecharge.py b/eos/effects/systemcapacitorrecharge.py
deleted file mode 100644
index dd89728ed..000000000
--- a/eos/effects/systemcapacitorrecharge.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemCapacitorRecharge
-#
-# Used by:
-# Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
-# Celestials named like: Pulsar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.multiplyItemAttr("rechargeRate", beacon.getModifiedItemAttr("rechargeRateMultiplier"))
diff --git a/eos/effects/systemdamagedrones.py b/eos/effects/systemdamagedrones.py
deleted file mode 100644
index 6e4cac6f4..000000000
--- a/eos/effects/systemdamagedrones.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageDrones
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill("Drones"),
- "damageMultiplier", beacon.getModifiedItemAttr("damageMultiplierMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdamageembombs.py b/eos/effects/systemdamageembombs.py
deleted file mode 100644
index e81ca6fd3..000000000
--- a/eos/effects/systemdamageembombs.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageEMBombs
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "emDamage", beacon.getModifiedItemAttr("smartbombDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdamageemmissiles.py b/eos/effects/systemdamageemmissiles.py
deleted file mode 100644
index 6a9485f88..000000000
--- a/eos/effects/systemdamageemmissiles.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageEmMissiles
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "emDamage", beacon.getModifiedItemAttr("damageMultiplierMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdamageexplosivebombs.py b/eos/effects/systemdamageexplosivebombs.py
deleted file mode 100644
index 11cc26d96..000000000
--- a/eos/effects/systemdamageexplosivebombs.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageExplosiveBombs
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "explosiveDamage", beacon.getModifiedItemAttr("smartbombDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdamageexplosivemissiles.py b/eos/effects/systemdamageexplosivemissiles.py
deleted file mode 100644
index da1cfab94..000000000
--- a/eos/effects/systemdamageexplosivemissiles.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageExplosiveMissiles
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "explosiveDamage", beacon.getModifiedItemAttr("damageMultiplierMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdamagefighters.py b/eos/effects/systemdamagefighters.py
deleted file mode 100644
index 2718a3789..000000000
--- a/eos/effects/systemdamagefighters.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageFighters
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill("Fighters"),
- "damageMultiplier", beacon.getModifiedItemAttr("damageMultiplierMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdamagekineticbombs.py b/eos/effects/systemdamagekineticbombs.py
deleted file mode 100644
index 7fb67a6fb..000000000
--- a/eos/effects/systemdamagekineticbombs.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageKineticBombs
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "kineticDamage", beacon.getModifiedItemAttr("smartbombDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdamagekineticmissiles.py b/eos/effects/systemdamagekineticmissiles.py
deleted file mode 100644
index 7609052aa..000000000
--- a/eos/effects/systemdamagekineticmissiles.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageKineticMissiles
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "kineticDamage", beacon.getModifiedItemAttr("damageMultiplierMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdamagemultipliergunnery.py b/eos/effects/systemdamagemultipliergunnery.py
deleted file mode 100644
index 3b701166a..000000000
--- a/eos/effects/systemdamagemultipliergunnery.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageMultiplierGunnery
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Gunnery"),
- "damageMultiplier", beacon.getModifiedItemAttr("damageMultiplierMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/systemdamagethermalbombs.py b/eos/effects/systemdamagethermalbombs.py
deleted file mode 100644
index 675b1adb5..000000000
--- a/eos/effects/systemdamagethermalbombs.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageThermalBombs
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "thermalDamage", beacon.getModifiedItemAttr("smartbombDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdamagethermalmissiles.py b/eos/effects/systemdamagethermalmissiles.py
deleted file mode 100644
index ada3a084a..000000000
--- a/eos/effects/systemdamagethermalmissiles.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDamageThermalMissiles
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "thermalDamage", beacon.getModifiedItemAttr("damageMultiplierMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemdronetracking.py b/eos/effects/systemdronetracking.py
deleted file mode 100644
index f5800c070..000000000
--- a/eos/effects/systemdronetracking.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemDroneTracking
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.drones.filteredItemMultiply(lambda drone: True,
- "trackingSpeed", beacon.getModifiedItemAttr("trackingSpeedMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemenergyneutmultiplier.py b/eos/effects/systemenergyneutmultiplier.py
deleted file mode 100644
index a5ff4dbb0..000000000
--- a/eos/effects/systemenergyneutmultiplier.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemEnergyNeutMultiplier
-#
-# Used by:
-# Celestials named like: Pulsar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Energy Neutralizer",
- "energyNeutralizerAmount",
- beacon.getModifiedItemAttr("energyWarfareStrengthMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemenergyvampiremultiplier.py b/eos/effects/systemenergyvampiremultiplier.py
deleted file mode 100644
index 0cb05180a..000000000
--- a/eos/effects/systemenergyvampiremultiplier.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemEnergyVampireMultiplier
-#
-# Used by:
-# Celestials named like: Pulsar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Energy Nosferatu",
- "powerTransferAmount",
- beacon.getModifiedItemAttr("energyWarfareStrengthMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemgravimetricecmbomb.py b/eos/effects/systemgravimetricecmbomb.py
deleted file mode 100644
index 6d04ccf96..000000000
--- a/eos/effects/systemgravimetricecmbomb.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemGravimetricECMBomb
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "scanGravimetricStrengthBonus",
- beacon.getModifiedItemAttr("smartbombDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemheatdamage.py b/eos/effects/systemheatdamage.py
deleted file mode 100644
index 3b31dc178..000000000
--- a/eos/effects/systemheatdamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemHeatDamage
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "heatDamage" in mod.itemModifiedAttributes,
- "heatDamage", module.getModifiedItemAttr("heatDamageMultiplier"))
diff --git a/eos/effects/systemladarecmbomb.py b/eos/effects/systemladarecmbomb.py
deleted file mode 100644
index b5dfc2a98..000000000
--- a/eos/effects/systemladarecmbomb.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemLadarECMBomb
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "scanLadarStrengthBonus",
- beacon.getModifiedItemAttr("smartbombDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemmagnetrometricecmbomb.py b/eos/effects/systemmagnetrometricecmbomb.py
deleted file mode 100644
index a9a15ec79..000000000
--- a/eos/effects/systemmagnetrometricecmbomb.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemMagnetrometricECMBomb
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "scanMagnetometricStrengthBonus",
- beacon.getModifiedItemAttr("smartbombDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemmaxvelocity.py b/eos/effects/systemmaxvelocity.py
deleted file mode 100644
index b10fbf8eb..000000000
--- a/eos/effects/systemmaxvelocity.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemMaxVelocity
-#
-# Used by:
-# Celestials named like: Black Hole Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.multiplyItemAttr("maxVelocity", beacon.getModifiedItemAttr("maxVelocityMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemmaxvelocitypercentage.py b/eos/effects/systemmaxvelocitypercentage.py
deleted file mode 100644
index 133fb7e7a..000000000
--- a/eos/effects/systemmaxvelocitypercentage.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# systemMaxVelocityPercentage
-#
-# Used by:
-# Celestials named like: Drifter Incursion (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.boostItemAttr("maxVelocity", beacon.getModifiedItemAttr("maxVelocityMultiplier"), stackingPenalties=True)
diff --git a/eos/effects/systemmissilevelocity.py b/eos/effects/systemmissilevelocity.py
deleted file mode 100644
index 9870b420d..000000000
--- a/eos/effects/systemmissilevelocity.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemMissileVelocity
-#
-# Used by:
-# Celestials named like: Black Hole Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
- "maxVelocity", beacon.getModifiedItemAttr("missileVelocityMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemneutbombs.py b/eos/effects/systemneutbombs.py
deleted file mode 100644
index 333b3eb56..000000000
--- a/eos/effects/systemneutbombs.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemNeutBombs
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "energyNeutralizerAmount",
- beacon.getModifiedItemAttr("smartbombDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemoverloadarmor.py b/eos/effects/systemoverloadarmor.py
deleted file mode 100644
index d70cb74d0..000000000
--- a/eos/effects/systemoverloadarmor.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadArmor
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadArmorDamageAmount" in mod.itemModifiedAttributes,
- "overloadArmorDamageAmount", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloaddamagemodifier.py b/eos/effects/systemoverloaddamagemodifier.py
deleted file mode 100644
index 886aa6865..000000000
--- a/eos/effects/systemoverloaddamagemodifier.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadDamageModifier
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadDamageModifier" in mod.itemModifiedAttributes,
- "overloadDamageModifier", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloaddurationbonus.py b/eos/effects/systemoverloaddurationbonus.py
deleted file mode 100644
index 7fe9d6e12..000000000
--- a/eos/effects/systemoverloaddurationbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadDurationBonus
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadDurationBonus" in mod.itemModifiedAttributes,
- "overloadDurationBonus", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloadeccmstrength.py b/eos/effects/systemoverloadeccmstrength.py
deleted file mode 100644
index 06cd0a1e9..000000000
--- a/eos/effects/systemoverloadeccmstrength.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadEccmStrength
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadECCMStrenghtBonus" in mod.itemModifiedAttributes,
- "overloadECCMStrenghtBonus", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloadecmstrength.py b/eos/effects/systemoverloadecmstrength.py
deleted file mode 100644
index 8f71dd81c..000000000
--- a/eos/effects/systemoverloadecmstrength.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadEcmStrength
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadECMStrenghtBonus" in mod.itemModifiedAttributes,
- "overloadECMStrenghtBonus", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloadhardening.py b/eos/effects/systemoverloadhardening.py
deleted file mode 100644
index 5d65dfc30..000000000
--- a/eos/effects/systemoverloadhardening.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadHardening
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadHardeningBonus" in mod.itemModifiedAttributes,
- "overloadHardeningBonus", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloadrange.py b/eos/effects/systemoverloadrange.py
deleted file mode 100644
index 971440693..000000000
--- a/eos/effects/systemoverloadrange.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadRange
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadRangeBonus" in mod.itemModifiedAttributes,
- "overloadRangeBonus", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloadrof.py b/eos/effects/systemoverloadrof.py
deleted file mode 100644
index 139c684df..000000000
--- a/eos/effects/systemoverloadrof.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadRof
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadRofBonus" in mod.itemModifiedAttributes,
- "overloadRofBonus", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloadselfduration.py b/eos/effects/systemoverloadselfduration.py
deleted file mode 100644
index 397c9a00c..000000000
--- a/eos/effects/systemoverloadselfduration.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadSelfDuration
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadSelfDurationBonus" in mod.itemModifiedAttributes,
- "overloadSelfDurationBonus", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloadshieldbonus.py b/eos/effects/systemoverloadshieldbonus.py
deleted file mode 100644
index d468f3cd6..000000000
--- a/eos/effects/systemoverloadshieldbonus.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadShieldBonus
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadShieldBonus" in mod.itemModifiedAttributes,
- "overloadShieldBonus", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemoverloadspeedfactor.py b/eos/effects/systemoverloadspeedfactor.py
deleted file mode 100644
index a766bbaa8..000000000
--- a/eos/effects/systemoverloadspeedfactor.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemOverloadSpeedFactor
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: "overloadSpeedFactorBonus" in mod.itemModifiedAttributes,
- "overloadSpeedFactorBonus", module.getModifiedItemAttr("overloadBonusMultiplier"))
diff --git a/eos/effects/systemradarecmbomb.py b/eos/effects/systemradarecmbomb.py
deleted file mode 100644
index 444ae4fe7..000000000
--- a/eos/effects/systemradarecmbomb.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemRadarECMBomb
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
- "scanRadarStrengthBonus",
- beacon.getModifiedItemAttr("smartbombDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemremotecaptransmitteramount.py b/eos/effects/systemremotecaptransmitteramount.py
deleted file mode 100644
index af78de47a..000000000
--- a/eos/effects/systemremotecaptransmitteramount.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemRemoteCapTransmitterAmount
-#
-# Used by:
-# Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
- "powerTransferAmount", beacon.getModifiedItemAttr("energyTransferAmountBonus"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemrocketemdamage.py b/eos/effects/systemrocketemdamage.py
deleted file mode 100644
index b49384777..000000000
--- a/eos/effects/systemrocketemdamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemRocketEmDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Rockets"),
- "emDamage", beacon.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemrocketexplosivedamage.py b/eos/effects/systemrocketexplosivedamage.py
deleted file mode 100644
index db6d6653e..000000000
--- a/eos/effects/systemrocketexplosivedamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemRocketExplosiveDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Rockets"),
- "explosiveDamage", beacon.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemrocketkineticdamage.py b/eos/effects/systemrocketkineticdamage.py
deleted file mode 100644
index 3b539502c..000000000
--- a/eos/effects/systemrocketkineticdamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemRocketKineticDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Rockets"),
- "kineticDamage", beacon.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemrocketthermaldamage.py b/eos/effects/systemrocketthermaldamage.py
deleted file mode 100644
index db5f65c0f..000000000
--- a/eos/effects/systemrocketthermaldamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemRocketThermalDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Rockets"),
- "thermalDamage", beacon.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemscandurationmodulemodifier.py b/eos/effects/systemscandurationmodulemodifier.py
deleted file mode 100644
index bf561c4a2..000000000
--- a/eos/effects/systemscandurationmodulemodifier.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# systemScanDurationModuleModifier
-#
-# Used by:
-# Modules from group: Scanning Upgrade Time (2 of 2)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"),
- "duration", module.getModifiedItemAttr("scanDurationBonus"))
diff --git a/eos/effects/systemscandurationskillastrometrics.py b/eos/effects/systemscandurationskillastrometrics.py
deleted file mode 100644
index 16c26d373..000000000
--- a/eos/effects/systemscandurationskillastrometrics.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemScanDurationSkillAstrometrics
-#
-# Used by:
-# Implants named like: Poteque 'Prospector' Astrometric Acquisition AQ (3 of 3)
-# Skill: Astrometric Acquisition
-# Skill: Astrometrics
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"),
- "duration", container.getModifiedItemAttr("durationBonus") * level)
diff --git a/eos/effects/systemshieldemresistance.py b/eos/effects/systemshieldemresistance.py
deleted file mode 100644
index 8e373b52d..000000000
--- a/eos/effects/systemshieldemresistance.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemShieldEmResistance
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.boostItemAttr("shieldEmDamageResonance", beacon.getModifiedItemAttr("shieldEmDamageResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/systemshieldexplosiveresistance.py b/eos/effects/systemshieldexplosiveresistance.py
deleted file mode 100644
index cc52e5723..000000000
--- a/eos/effects/systemshieldexplosiveresistance.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemShieldExplosiveResistance
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.boostItemAttr("shieldExplosiveDamageResonance",
- beacon.getModifiedItemAttr("shieldExplosiveDamageResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/systemshieldhp.py b/eos/effects/systemshieldhp.py
deleted file mode 100644
index ffe1b6873..000000000
--- a/eos/effects/systemshieldhp.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# systemShieldHP
-#
-# Used by:
-# Celestials named like: Pulsar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.multiplyItemAttr("shieldCapacity", beacon.getModifiedItemAttr("shieldCapacityMultiplier"))
diff --git a/eos/effects/systemshieldkineticresistance.py b/eos/effects/systemshieldkineticresistance.py
deleted file mode 100644
index 7671d6d13..000000000
--- a/eos/effects/systemshieldkineticresistance.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemShieldKineticResistance
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.boostItemAttr("shieldKineticDamageResonance",
- beacon.getModifiedItemAttr("shieldKineticDamageResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/systemshieldremoterepairamount.py b/eos/effects/systemshieldremoterepairamount.py
deleted file mode 100644
index c8dd29645..000000000
--- a/eos/effects/systemshieldremoterepairamount.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemShieldRemoteRepairAmount
-#
-# Used by:
-# Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Shield Emission Systems"),
- "shieldBonus", module.getModifiedItemAttr("shieldBonusMultiplierRemote"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemshieldrepairamountshieldskills.py b/eos/effects/systemshieldrepairamountshieldskills.py
deleted file mode 100644
index 707e2dbbb..000000000
--- a/eos/effects/systemshieldrepairamountshieldskills.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemShieldRepairAmountShieldSkills
-#
-# Used by:
-# Celestials named like: Cataclysmic Variable Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Shield Operation") or
- mod.item.requiresSkill("Capital Shield Operation"),
- "shieldBonus", module.getModifiedItemAttr("shieldBonusMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemshieldthermalresistance.py b/eos/effects/systemshieldthermalresistance.py
deleted file mode 100644
index cd58fcdeb..000000000
--- a/eos/effects/systemshieldthermalresistance.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemShieldThermalResistance
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.boostItemAttr("shieldThermalDamageResonance",
- beacon.getModifiedItemAttr("shieldThermalDamageResistanceBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/systemsignatureradius.py b/eos/effects/systemsignatureradius.py
deleted file mode 100644
index f00bb35be..000000000
--- a/eos/effects/systemsignatureradius.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemSignatureRadius
-#
-# Used by:
-# Celestials named like: Pulsar Effect Beacon Class (6 of 6)
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.multiplyItemAttr("signatureRadius", beacon.getModifiedItemAttr("signatureRadiusMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemsmallenergydamage.py b/eos/effects/systemsmallenergydamage.py
deleted file mode 100644
index d4fd39124..000000000
--- a/eos/effects/systemsmallenergydamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemSmallEnergyDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
- "damageMultiplier", module.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/systemsmallhybriddamage.py b/eos/effects/systemsmallhybriddamage.py
deleted file mode 100644
index fedc2f2cf..000000000
--- a/eos/effects/systemsmallhybriddamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemSmallHybridDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Small Hybrid Turret"),
- "damageMultiplier", module.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/systemsmallprecursorturretdamage.py b/eos/effects/systemsmallprecursorturretdamage.py
deleted file mode 100644
index 595b9a679..000000000
--- a/eos/effects/systemsmallprecursorturretdamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemSmallPrecursorTurretDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (5 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Small Precursor Weapon"),
- "damageMultiplier", module.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/systemsmallprojectiledamage.py b/eos/effects/systemsmallprojectiledamage.py
deleted file mode 100644
index 089c03d46..000000000
--- a/eos/effects/systemsmallprojectiledamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemSmallProjectileDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
- "damageMultiplier", module.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True)
diff --git a/eos/effects/systemsmartbombemdamage.py b/eos/effects/systemsmartbombemdamage.py
deleted file mode 100644
index da11e810c..000000000
--- a/eos/effects/systemsmartbombemdamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemSmartBombEmDamage
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Smart Bomb",
- "emDamage", module.getModifiedItemAttr("smartbombDamageMultiplier"))
diff --git a/eos/effects/systemsmartbombexplosivedamage.py b/eos/effects/systemsmartbombexplosivedamage.py
deleted file mode 100644
index d52964bca..000000000
--- a/eos/effects/systemsmartbombexplosivedamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemSmartBombExplosiveDamage
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Smart Bomb",
- "explosiveDamage", module.getModifiedItemAttr("smartbombDamageMultiplier"))
diff --git a/eos/effects/systemsmartbombkineticdamage.py b/eos/effects/systemsmartbombkineticdamage.py
deleted file mode 100644
index 1e7cf7c44..000000000
--- a/eos/effects/systemsmartbombkineticdamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemSmartBombKineticDamage
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Smart Bomb",
- "kineticDamage", module.getModifiedItemAttr("smartbombDamageMultiplier"))
diff --git a/eos/effects/systemsmartbombrange.py b/eos/effects/systemsmartbombrange.py
deleted file mode 100644
index 5ccdc6f78..000000000
--- a/eos/effects/systemsmartbombrange.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemSmartBombRange
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Smart Bomb",
- "empFieldRange", module.getModifiedItemAttr("empFieldRangeMultiplier"))
diff --git a/eos/effects/systemsmartbombthermaldamage.py b/eos/effects/systemsmartbombthermaldamage.py
deleted file mode 100644
index a12281fe2..000000000
--- a/eos/effects/systemsmartbombthermaldamage.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# systemSmartBombThermalDamage
-#
-# Used by:
-# Celestials named like: Red Giant Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Smart Bomb",
- "thermalDamage", module.getModifiedItemAttr("smartbombDamageMultiplier"))
diff --git a/eos/effects/systemstandardmissileemdamage.py b/eos/effects/systemstandardmissileemdamage.py
deleted file mode 100644
index 5e6102aef..000000000
--- a/eos/effects/systemstandardmissileemdamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemStandardMissileEmDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "emDamage", beacon.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemstandardmissileexplosivedamage.py b/eos/effects/systemstandardmissileexplosivedamage.py
deleted file mode 100644
index c53978cf5..000000000
--- a/eos/effects/systemstandardmissileexplosivedamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemStandardMissileExplosiveDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "explosiveDamage", beacon.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemstandardmissilekineticdamage.py b/eos/effects/systemstandardmissilekineticdamage.py
deleted file mode 100644
index 51c946fec..000000000
--- a/eos/effects/systemstandardmissilekineticdamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemStandardMissileKineticDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "kineticDamage", beacon.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemstandardmissilethermaldamage.py b/eos/effects/systemstandardmissilethermaldamage.py
deleted file mode 100644
index db5e7d254..000000000
--- a/eos/effects/systemstandardmissilethermaldamage.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemStandardMissileThermalDamage
-#
-# Used by:
-# Celestials named like: Wolf Rayet Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill("Light Missiles"),
- "thermalDamage", beacon.getModifiedItemAttr("smallWeaponDamageMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemtargetingrange.py b/eos/effects/systemtargetingrange.py
deleted file mode 100644
index b54077e9d..000000000
--- a/eos/effects/systemtargetingrange.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemTargetingRange
-#
-# Used by:
-# Celestials named like: Black Hole Effect Beacon Class (6 of 6)
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.ship.multiplyItemAttr("maxTargetRange", beacon.getModifiedItemAttr("maxTargetRangeMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemtargetpaintermultiplier.py b/eos/effects/systemtargetpaintermultiplier.py
deleted file mode 100644
index 898111db9..000000000
--- a/eos/effects/systemtargetpaintermultiplier.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# systemTargetPainterMultiplier
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Target Painting"),
- "signatureRadiusBonus",
- beacon.getModifiedItemAttr("targetPainterStrengthMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemtracking.py b/eos/effects/systemtracking.py
deleted file mode 100644
index 6aff80eb7..000000000
--- a/eos/effects/systemtracking.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemTracking
-#
-# Used by:
-# Celestials named like: Magnetar Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Gunnery"),
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/systemwebifierstrengthmultiplier.py b/eos/effects/systemwebifierstrengthmultiplier.py
deleted file mode 100644
index f45dca921..000000000
--- a/eos/effects/systemwebifierstrengthmultiplier.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# systemWebifierStrengthMultiplier
-#
-# Used by:
-# Celestials named like: Black Hole Effect Beacon Class (6 of 6)
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Stasis Web",
- "speedFactor", beacon.getModifiedItemAttr("stasisWebStrengthMultiplier"),
- stackingPenalties=True, penaltyGroup="postMul")
diff --git a/eos/effects/tacticalshieldmanipulationskillboostuniformitybonus.py b/eos/effects/tacticalshieldmanipulationskillboostuniformitybonus.py
deleted file mode 100644
index 2c281449c..000000000
--- a/eos/effects/tacticalshieldmanipulationskillboostuniformitybonus.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# tacticalshieldManipulationSkillBoostUniformityBonus
-#
-# Used by:
-# Skill: Tactical Shield Manipulation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.ship.increaseItemAttr("shieldUniformity", skill.getModifiedItemAttr("uniformityBonus") * skill.level)
diff --git a/eos/effects/targetabcattack.py b/eos/effects/targetabcattack.py
deleted file mode 100644
index 66dac5bc6..000000000
--- a/eos/effects/targetabcattack.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# targetABCAttack
-#
-# Used by:
-# Modules from group: Precursor Weapon (15 of 15)
-type = 'active'
-
-
-def handler(fit, module, context):
- # Set reload time to 1 second
- module.reloadTime = 1000
diff --git a/eos/effects/targetattack.py b/eos/effects/targetattack.py
deleted file mode 100644
index c0057acc5..000000000
--- a/eos/effects/targetattack.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# targetAttack
-#
-# Used by:
-# Drones from group: Combat Drone (75 of 75)
-# Modules from group: Energy Weapon (212 of 214)
-type = 'active'
-
-
-def handler(fit, module, context):
- # Set reload time to 1 second
- module.reloadTime = 1000
diff --git a/eos/effects/targetbreaker.py b/eos/effects/targetbreaker.py
deleted file mode 100644
index a9369bee5..000000000
--- a/eos/effects/targetbreaker.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# targetBreaker
-#
-# Used by:
-# Module: Target Spectrum Breaker
-type = "active"
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/targethostiles.py b/eos/effects/targethostiles.py
deleted file mode 100644
index 65664fa77..000000000
--- a/eos/effects/targethostiles.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# targetHostiles
-#
-# Used by:
-# Modules from group: Automated Targeting System (6 of 6)
-type = "active"
-
-
-def handler(fit, module, context):
- # This effect enables the ACTIVE state for auto targeting systems.
- pass
diff --git a/eos/effects/targetingmaxtargetbonusmodaddmaxlockedtargetslocationchar.py b/eos/effects/targetingmaxtargetbonusmodaddmaxlockedtargetslocationchar.py
deleted file mode 100644
index d7a2004e4..000000000
--- a/eos/effects/targetingmaxtargetbonusmodaddmaxlockedtargetslocationchar.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# targetingMaxTargetBonusModAddMaxLockedTargetsLocationChar
-#
-# Used by:
-# Skills named like: Target Management (2 of 2)
-type = "passive", "structure"
-
-
-def handler(fit, skill, context):
- amount = skill.getModifiedItemAttr("maxTargetBonus") * skill.level
- fit.extraAttributes.increase("maxTargetsLockedFromSkills", amount)
diff --git a/eos/effects/thermalshieldcompensationhardeningbonusgroupshieldamp.py b/eos/effects/thermalshieldcompensationhardeningbonusgroupshieldamp.py
deleted file mode 100644
index abb1ad0d7..000000000
--- a/eos/effects/thermalshieldcompensationhardeningbonusgroupshieldamp.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# thermalShieldCompensationHardeningBonusGroupShieldAmp
-#
-# Used by:
-# Skill: Thermal Shield Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Shield Resistance Amplifier",
- "thermalDamageResistanceBonus",
- skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/thermicarmorcompensationhardeningbonusgrouparmorcoating.py b/eos/effects/thermicarmorcompensationhardeningbonusgrouparmorcoating.py
deleted file mode 100644
index 36790f342..000000000
--- a/eos/effects/thermicarmorcompensationhardeningbonusgrouparmorcoating.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# thermicArmorCompensationHardeningBonusGroupArmorCoating
-#
-# Used by:
-# Skill: Thermal Armor Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Coating",
- "thermalDamageResistanceBonus",
- skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/thermicarmorcompensationhardeningbonusgroupenergized.py b/eos/effects/thermicarmorcompensationhardeningbonusgroupenergized.py
deleted file mode 100644
index 8f33c77d7..000000000
--- a/eos/effects/thermicarmorcompensationhardeningbonusgroupenergized.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# thermicArmorCompensationHardeningBonusGroupEnergized
-#
-# Used by:
-# Skill: Thermal Armor Compensation
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Plating Energized",
- "thermalDamageResistanceBonus",
- skill.getModifiedItemAttr("hardeningBonus") * skill.level)
diff --git a/eos/effects/thermodynamicsskilldamagebonus.py b/eos/effects/thermodynamicsskilldamagebonus.py
deleted file mode 100644
index 0386ad6e6..000000000
--- a/eos/effects/thermodynamicsskilldamagebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# thermodynamicsSkillDamageBonus
-#
-# Used by:
-# Skill: Thermodynamics
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: "heatDamage" in mod.item.attributes, "heatDamage",
- skill.getModifiedItemAttr("thermodynamicsHeatDamage") * skill.level)
diff --git a/eos/effects/trackingspeedbonuseffecthybrids.py b/eos/effects/trackingspeedbonuseffecthybrids.py
deleted file mode 100644
index 147d91b3c..000000000
--- a/eos/effects/trackingspeedbonuseffecthybrids.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# trackingSpeedBonusEffectHybrids
-#
-# Used by:
-# Modules named like: Hybrid Metastasis Adjuster (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Hybrid Weapon",
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/trackingspeedbonuseffectlasers.py b/eos/effects/trackingspeedbonuseffectlasers.py
deleted file mode 100644
index da849e037..000000000
--- a/eos/effects/trackingspeedbonuseffectlasers.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# trackingSpeedBonusEffectLasers
-#
-# Used by:
-# Modules named like: Energy Metastasis Adjuster (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Weapon",
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/trackingspeedbonuseffectprojectiles.py b/eos/effects/trackingspeedbonuseffectprojectiles.py
deleted file mode 100644
index ed2c4d323..000000000
--- a/eos/effects/trackingspeedbonuseffectprojectiles.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# trackingSpeedBonusEffectProjectiles
-#
-# Used by:
-# Modules named like: Projectile Metastasis Adjuster (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Projectile Weapon",
- "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
- stackingPenalties=True)
diff --git a/eos/effects/trackingspeedbonuspassiverequiringgunnerytrackingspeedbonus.py b/eos/effects/trackingspeedbonuspassiverequiringgunnerytrackingspeedbonus.py
deleted file mode 100644
index 6e1df7bcf..000000000
--- a/eos/effects/trackingspeedbonuspassiverequiringgunnerytrackingspeedbonus.py
+++ /dev/null
@@ -1,15 +0,0 @@
-# trackingSpeedBonusPassiveRequiringGunneryTrackingSpeedBonus
-#
-# Used by:
-# Implants named like: Drop Booster (4 of 4)
-# Implants named like: Eifyr and Co. 'Gunslinger' Motion Prediction MR (6 of 6)
-# Implant: Antipharmakon Iokira
-# Implant: Ogdin's Eye Coordination Enhancer
-# Skill: Motion Prediction
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "trackingSpeed", container.getModifiedItemAttr("trackingSpeedBonus") * level)
diff --git a/eos/effects/tractorbeamcan.py b/eos/effects/tractorbeamcan.py
deleted file mode 100644
index 27517bdc0..000000000
--- a/eos/effects/tractorbeamcan.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# tractorBeamCan
-#
-# Used by:
-# Deployables from group: Mobile Tractor Unit (3 of 3)
-# Modules from group: Tractor Beam (4 of 4)
-type = "active"
-
-
-def handler(fit, module, context):
- pass
diff --git a/eos/effects/usemissiles.py b/eos/effects/usemissiles.py
deleted file mode 100644
index 7376dd563..000000000
--- a/eos/effects/usemissiles.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# useMissiles
-#
-# Used by:
-# Modules from group: Missile Launcher Heavy (12 of 12)
-# Modules from group: Missile Launcher Rocket (15 of 15)
-# Modules named like: Launcher (154 of 154)
-# Structure Modules named like: Standup Launcher (7 of 7)
-type = 'active', "projected"
-
-
-def handler(fit, src, context):
- # Set reload time to 10 seconds
- src.reloadTime = 10000
-
- if "projected" in context:
- if src.item.group.name == 'Missile Launcher Bomb':
- # Bomb Launcher Cooldown Timer
- moduleReactivationDelay = src.getModifiedItemAttr("moduleReactivationDelay")
- speed = src.getModifiedItemAttr("speed")
-
- # Void and Focused Void Bombs
- neutAmount = src.getModifiedChargeAttr("energyNeutralizerAmount")
-
- if moduleReactivationDelay and neutAmount and speed:
- fit.addDrain(src, speed + moduleReactivationDelay, neutAmount, 0)
-
- # Lockbreaker Bombs
- ecmStrengthBonus = src.getModifiedChargeAttr("scan{0}StrengthBonus".format(fit.scanType))
-
- if ecmStrengthBonus:
- strModifier = 1 - ecmStrengthBonus / fit.scanStrength
- fit.ecmProjectedStr *= strModifier
diff --git a/eos/effects/velocitybonusonline.py b/eos/effects/velocitybonusonline.py
deleted file mode 100644
index 5ffd1b9bb..000000000
--- a/eos/effects/velocitybonusonline.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# velocityBonusOnline
-#
-# Used by:
-# Modules from group: Entosis Link (6 of 6)
-# Modules from group: Nanofiber Internal Structure (7 of 7)
-# Modules from group: Overdrive Injector System (7 of 7)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("implantBonusVelocity"),
- stackingPenalties=True)
diff --git a/eos/effects/velocitybonuspassive.py b/eos/effects/velocitybonuspassive.py
deleted file mode 100644
index 3d0b1c6d1..000000000
--- a/eos/effects/velocitybonuspassive.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# velocityBonusPassive
-#
-# Used by:
-# Modules named like: Polycarbon Engine Housing (8 of 8)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("implantBonusVelocity"),
- stackingPenalties=True)
diff --git a/eos/effects/warfarelinkcpuaddition.py b/eos/effects/warfarelinkcpuaddition.py
deleted file mode 100644
index 737970c42..000000000
--- a/eos/effects/warfarelinkcpuaddition.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# warfareLinkCPUAddition
-#
-# Used by:
-# Modules from group: Command Burst (10 of 10)
-# Modules from group: Gang Coordinator (6 of 6)
-type = "passive"
-
-
-def handler(fit, module, context):
- module.increaseItemAttr("cpu", module.getModifiedItemAttr("warfareLinkCPUAdd") or 0)
diff --git a/eos/effects/warfarelinkcpupenalty.py b/eos/effects/warfarelinkcpupenalty.py
deleted file mode 100644
index 894cc58df..000000000
--- a/eos/effects/warfarelinkcpupenalty.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# warfareLinkCpuPenalty
-#
-# Used by:
-# Subsystems from group: Offensive Systems (8 of 12)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Leadership"),
- "warfareLinkCPUAdd", module.getModifiedItemAttr("warfareLinkCPUPenalty"))
diff --git a/eos/effects/warpdisrupt.py b/eos/effects/warpdisrupt.py
deleted file mode 100644
index 38b53c1fc..000000000
--- a/eos/effects/warpdisrupt.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# warpDisrupt
-#
-# Used by:
-# Modules named like: Warp Disruptor (28 of 28)
-type = "projected", "active"
-
-
-def handler(fit, module, context):
- if "projected" in context:
- fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength"))
diff --git a/eos/effects/warpdisruptsphere.py b/eos/effects/warpdisruptsphere.py
deleted file mode 100644
index 5a5878fd4..000000000
--- a/eos/effects/warpdisruptsphere.py
+++ /dev/null
@@ -1,35 +0,0 @@
-# warpDisruptSphere
-#
-# Used by:
-# Modules from group: Warp Disrupt Field Generator (7 of 7)
-
-# warpDisruptSphere
-#
-# Used by:
-# Modules from group: Warp Disrupt Field Generator (7 of 7)
-from eos.const import FittingModuleState
-
-type = "projected", "active"
-runTime = "early"
-
-
-def handler(fit, module, context):
-
- if "projected" in context:
- fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength"))
- if module.charge is not None and module.charge.ID == 45010:
- for mod in fit.modules:
- if not mod.isEmpty and mod.item.requiresSkill("High Speed Maneuvering") and mod.state > FittingModuleState.ONLINE:
- mod.state = FittingModuleState.ONLINE
- if not mod.isEmpty and mod.item.requiresSkill("Micro Jump Drive Operation") and mod.state > FittingModuleState.ONLINE:
- mod.state = FittingModuleState.ONLINE
- else:
- if module.charge is None:
- fit.ship.boostItemAttr("mass", module.getModifiedItemAttr("massBonusPercentage"))
- fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
- "speedBoostFactor", module.getModifiedItemAttr("speedBoostFactorBonus"))
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
- "speedFactor", module.getModifiedItemAttr("speedFactorBonus"))
-
- fit.ship.forceItemAttr("disallowAssistance", 1)
diff --git a/eos/effects/warpdriveoperationwarpcapacitorneedbonuspostpercentwarpcapacitorneedlocationship.py b/eos/effects/warpdriveoperationwarpcapacitorneedbonuspostpercentwarpcapacitorneedlocationship.py
deleted file mode 100644
index 8e8bd9cec..000000000
--- a/eos/effects/warpdriveoperationwarpcapacitorneedbonuspostpercentwarpcapacitorneedlocationship.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# warpdriveoperationWarpCapacitorNeedBonusPostPercentWarpCapacitorNeedLocationShip
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Rogue' Warp Drive Operation WD (6 of 6)
-type = "passive"
-
-
-def handler(fit, implant, context):
- fit.ship.boostItemAttr("warpCapacitorNeed", implant.getModifiedItemAttr("warpCapacitorNeedBonus"))
diff --git a/eos/effects/warpdriveoperationwarpcapacitorneedbonuspostpercentwarpcapacitorneedlocationshipgrouppropulsion.py b/eos/effects/warpdriveoperationwarpcapacitorneedbonuspostpercentwarpcapacitorneedlocationshipgrouppropulsion.py
deleted file mode 100644
index f47c47264..000000000
--- a/eos/effects/warpdriveoperationwarpcapacitorneedbonuspostpercentwarpcapacitorneedlocationshipgrouppropulsion.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# warpDriveOperationWarpCapacitorNeedBonusPostPercentWarpCapacitorNeedLocationShipGroupPropulsion
-#
-# Used by:
-# Modules named like: Warp Core Optimizer (8 of 8)
-# Skill: Warp Drive Operation
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.ship.boostItemAttr("warpCapacitorNeed", container.getModifiedItemAttr("warpCapacitorNeedBonus") * level,
- stackingPenalties="skill" not in context)
diff --git a/eos/effects/warpscrambleblockmwdwithnpceffect.py b/eos/effects/warpscrambleblockmwdwithnpceffect.py
deleted file mode 100644
index 4b3ee34cb..000000000
--- a/eos/effects/warpscrambleblockmwdwithnpceffect.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# warpScrambleBlockMWDWithNPCEffect
-#
-# Used by:
-# Modules named like: Warp Scrambler (27 of 27)
-from eos.const import FittingModuleState
-
-runTime = "early"
-type = "projected", "active"
-
-
-def handler(fit, module, context):
- if "projected" not in context:
- return
-
- fit.ship.increaseItemAttr("warpScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength"))
-
- # this is such a dirty hack
- for mod in fit.modules:
- if not mod.isEmpty and mod.state > FittingModuleState.ONLINE and (
- mod.item.requiresSkill("Micro Jump Drive Operation") or
- mod.item.requiresSkill("High Speed Maneuvering")
- ):
- mod.state = FittingModuleState.ONLINE
- if not mod.isEmpty and mod.item.requiresSkill("Micro Jump Drive Operation") and mod.state > FittingModuleState.ONLINE:
- mod.state = FittingModuleState.ONLINE
diff --git a/eos/effects/warpskillspeed.py b/eos/effects/warpskillspeed.py
deleted file mode 100644
index 57174c39d..000000000
--- a/eos/effects/warpskillspeed.py
+++ /dev/null
@@ -1,13 +0,0 @@
-# warpSkillSpeed
-#
-# Used by:
-# Implants named like: Eifyr and Co. 'Rogue' Warp Drive Speed WS (6 of 6)
-# Implants named like: grade Ascendancy (10 of 12)
-# Modules named like: Hyperspatial Velocity Optimizer (8 of 8)
-type = "passive"
-
-
-def handler(fit, container, context):
- penalized = False if "skill" in context or "implant" in context else True
- fit.ship.boostItemAttr("baseWarpSpeed", container.getModifiedItemAttr("WarpSBonus"),
- stackingPenalties=penalized)
diff --git a/eos/effects/warpspeedaddition.py b/eos/effects/warpspeedaddition.py
deleted file mode 100644
index 1350c3a85..000000000
--- a/eos/effects/warpspeedaddition.py
+++ /dev/null
@@ -1,9 +0,0 @@
-# warpSpeedAddition
-#
-# Used by:
-# Modules from group: Warp Accelerator (3 of 3)
-type = "passive"
-
-
-def handler(fit, module, context):
- fit.ship.increaseItemAttr("warpSpeedMultiplier", module.getModifiedItemAttr("warpSpeedAdd"))
diff --git a/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringbomblauncher.py b/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringbomblauncher.py
deleted file mode 100644
index 72f944de7..000000000
--- a/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringbomblauncher.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringBombLauncher
-#
-# Used by:
-# Skill: Weapon Upgrades
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Bomb Deployment"),
- "cpu", skill.getModifiedItemAttr("cpuNeedBonus") * skill.level)
diff --git a/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringenergypulseweapons.py b/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringenergypulseweapons.py
deleted file mode 100644
index 9fcfb86fe..000000000
--- a/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringenergypulseweapons.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringEnergyPulseWeapons
-#
-# Used by:
-# Skill: Weapon Upgrades
-type = "passive"
-
-
-def handler(fit, skill, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Energy Pulse Weapons"),
- "cpu", skill.getModifiedItemAttr("cpuNeedBonus") * skill.level)
diff --git a/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringgunnery.py b/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringgunnery.py
deleted file mode 100644
index 13126e2a5..000000000
--- a/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringgunnery.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringGunnery
-#
-# Used by:
-# Implants named like: Zainou 'Gnome' Weapon Upgrades WU (6 of 6)
-# Skill: Weapon Upgrades
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
- "cpu", container.getModifiedItemAttr("cpuNeedBonus") * level)
diff --git a/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringmissilelauncheroperation.py b/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringmissilelauncheroperation.py
deleted file mode 100644
index d64e19944..000000000
--- a/eos/effects/weaponupgradescpuneedbonuspostpercentcpulocationshipmodulesrequiringmissilelauncheroperation.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# weaponUpgradesCpuNeedBonusPostPercentCpuLocationShipModulesRequiringMissileLauncherOperation
-#
-# Used by:
-# Implants named like: Zainou 'Gnome' Launcher CPU Efficiency LE (6 of 6)
-# Skill: Weapon Upgrades
-type = "passive"
-
-
-def handler(fit, container, context):
- level = container.level if "skill" in context else 1
- fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
- "cpu", container.getModifiedItemAttr("cpuNeedBonus") * level)
diff --git a/eos/effects/weatherbasic.py b/eos/effects/weatherbasic.py
deleted file mode 100644
index 61b26655c..000000000
--- a/eos/effects/weatherbasic.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# weather_basic
-#
-# Used by:
-# Celestial: basic_weather
-runTime = "early"
-type = ("projected", "passive")
-
-
-def handler(fit, beacon, context):
- pass
diff --git a/eos/effects/weathercaustictoxin.py b/eos/effects/weathercaustictoxin.py
deleted file mode 100644
index c13489860..000000000
--- a/eos/effects/weathercaustictoxin.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# weather_caustic_toxin
-#
-# Used by:
-# Celestial: caustic_toxin_weather_1
-# Celestial: caustic_toxin_weather_2
-# Celestial: caustic_toxin_weather_3
-runTime = "early"
-type = ("projected", "passive", "gang")
-
-
-def handler(fit, beacon, context, **kwargs):
- for x in range(1, 3):
- if beacon.getModifiedItemAttr("warfareBuff{}ID".format(x)):
- value = beacon.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = beacon.getModifiedItemAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
diff --git a/eos/effects/weatherdarkness.py b/eos/effects/weatherdarkness.py
deleted file mode 100644
index c67b7924d..000000000
--- a/eos/effects/weatherdarkness.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# weather_darkness
-#
-# Used by:
-# Celestial: darkness_weather_1
-# Celestial: darkness_weather_2
-# Celestial: darkness_weather_3
-# Celestial: pvp_weather_1
-runTime = "early"
-type = ("projected", "passive", "gang")
-
-
-def handler(fit, beacon, context, **kwargs):
- for x in range(1, 5):
- if beacon.getModifiedItemAttr("warfareBuff{}ID".format(x)):
- value = beacon.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = beacon.getModifiedItemAttr("warfareBuff{}ID".format(x))
- if id:
- fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
diff --git a/eos/effects/weatherelectricstorm.py b/eos/effects/weatherelectricstorm.py
deleted file mode 100644
index b6e78935f..000000000
--- a/eos/effects/weatherelectricstorm.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# weather_electric_storm
-#
-# Used by:
-# Celestial: electric_storm_weather_1
-# Celestial: electric_storm_weather_2
-# Celestial: electric_storm_weather_3
-runTime = "early"
-type = ("projected", "passive", "gang")
-
-
-def handler(fit, beacon, context, **kwargs):
- for x in range(1, 3):
- if beacon.getModifiedItemAttr("warfareBuff{}ID".format(x)):
- value = beacon.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = beacon.getModifiedItemAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
diff --git a/eos/effects/weatherinfernal.py b/eos/effects/weatherinfernal.py
deleted file mode 100644
index 9ddfe1a30..000000000
--- a/eos/effects/weatherinfernal.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# weather_infernal
-#
-# Used by:
-# Celestial: infernal_weather_1
-# Celestial: infernal_weather_2
-# Celestial: infernal_weather_3
-runTime = "early"
-type = ("projected", "passive", "gang")
-
-
-def handler(fit, beacon, context, **kwargs):
- for x in range(1, 3):
- if beacon.getModifiedItemAttr("warfareBuff{}ID".format(x)):
- value = beacon.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = beacon.getModifiedItemAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
diff --git a/eos/effects/weatherxenongas.py b/eos/effects/weatherxenongas.py
deleted file mode 100644
index 913a7de2b..000000000
--- a/eos/effects/weatherxenongas.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# weather_xenon_gas
-#
-# Used by:
-# Celestial: xenon_gas_weather_1
-# Celestial: xenon_gas_weather_2
-# Celestial: xenon_gas_weather_3
-runTime = "early"
-type = ("projected", "passive", "gang")
-
-
-def handler(fit, beacon, context, **kwargs):
- for x in range(1, 3):
- if beacon.getModifiedItemAttr("warfareBuff{}ID".format(x)):
- value = beacon.getModifiedItemAttr("warfareBuff{}Value".format(x))
- id = beacon.getModifiedItemAttr("warfareBuff{}ID".format(x))
-
- if id:
- fit.addCommandBonus(id, value, beacon, kwargs['effect'], 'early')
diff --git a/eos/effects/zcolinorcasurveyscannerbonus.py b/eos/effects/zcolinorcasurveyscannerbonus.py
deleted file mode 100644
index a1eb01fea..000000000
--- a/eos/effects/zcolinorcasurveyscannerbonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# zColinOrcaSurveyScannerBonus
-#
-# Used by:
-# Ships from group: Industrial Command Ship (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Survey Scanner", "surveyScanRange",
- src.getModifiedItemAttr("roleBonusSurveyScannerRange"))
diff --git a/eos/effects/zcolinorcatractorrangebonus.py b/eos/effects/zcolinorcatractorrangebonus.py
deleted file mode 100644
index 9c4a20c03..000000000
--- a/eos/effects/zcolinorcatractorrangebonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# zColinOrcaTractorRangeBonus
-#
-# Used by:
-# Ships from group: Industrial Command Ship (2 of 2)
-type = "passive"
-
-
-def handler(fit, src, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", "maxRange",
- src.getModifiedItemAttr("roleBonusTractorBeamRange"))
diff --git a/eos/effects/zcolinorcatractorvelocitybonus.py b/eos/effects/zcolinorcatractorvelocitybonus.py
deleted file mode 100644
index 736643324..000000000
--- a/eos/effects/zcolinorcatractorvelocitybonus.py
+++ /dev/null
@@ -1,10 +0,0 @@
-# zColinOrcaTractorVelocityBonus
-#
-# Used by:
-# Ships from group: Industrial Command Ship (2 of 2)
-type = "passive"
-
-
-def handler(fit, ship, context):
- fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", "maxTractorVelocity",
- ship.getModifiedItemAttr("roleBonusTractorBeamVelocity"))
diff --git a/eos/events.py b/eos/events.py
index dd4b07b79..7a8ffce18 100644
--- a/eos/events.py
+++ b/eos/events.py
@@ -58,7 +58,6 @@ def rel_listener(target, value, initiator):
if not target or (isinstance(value, Module) and value.isEmpty):
return
- print("{} has had a relationship change :D".format(target))
target.modified = datetime.datetime.now()
diff --git a/eos/gamedata.py b/eos/gamedata.py
index 1abb3f69b..a2f4962dc 100644
--- a/eos/gamedata.py
+++ b/eos/gamedata.py
@@ -17,17 +17,17 @@
# along with eos. If not, see .
# ===============================================================================
-import re
-from sqlalchemy.orm import reconstructor
-
-import eos.db
-from .eqBase import EqBase
-from eos.saveddata.price import Price as types_Price
from collections import OrderedDict
-
from logbook import Logger
+from sqlalchemy.orm import reconstructor
+
+import eos.effects
+import eos.db
+from eos.saveddata.price import Price as types_Price
+from .eqBase import EqBase
+
pyfalog = Logger(__name__)
@@ -43,8 +43,6 @@ class Effect(EqBase):
@ivar description: The description of this effect, this is usualy pretty useless
@ivar published: Wether this effect is published or not, unpublished effects are typicaly unused.
"""
- # Filter to change names of effects to valid python method names
- nameFilter = re.compile("[^A-Za-z0-9]")
@reconstructor
def init(self):
@@ -52,8 +50,7 @@ class Effect(EqBase):
Reconstructor, composes the object as we grab it from the database
"""
self.__generated = False
- self.__effectModule = None
- self.handlerName = re.sub(self.nameFilter, "", self.name).lower()
+ self.__effectDef = None
@property
def handler(self):
@@ -143,7 +140,7 @@ class Effect(EqBase):
Whether this effect is implemented in code or not,
unimplemented effects simply do nothing at all when run
"""
- return self.handler != effectDummy
+ return self.__effectDef is not None
def isType(self, type):
"""
@@ -156,32 +153,32 @@ class Effect(EqBase):
Grab the handler, type and runTime from the effect code if it exists,
if it doesn't, set dummy values and add a dummy handler
"""
-
try:
- self.__effectModule = effectModule = __import__('eos.effects.' + self.handlerName, fromlist=True)
- self.__handler = getattr(effectModule, "handler", effectDummy)
- self.__runTime = getattr(effectModule, "runTime", "normal")
- self.__activeByDefault = getattr(effectModule, "activeByDefault", True)
- t = getattr(effectModule, "type", None)
-
- t = t if isinstance(t, tuple) or t is None else (t,)
- self.__type = t
+ effectDefName = "Effect{}".format(self.ID)
+ pyfalog.debug("Loading {0} ({1})".format(self.name, effectDefName))
+ self.__effectDef = effectDef = getattr(eos.effects, effectDefName)
+ self.__handler = getattr(effectDef, "handler", eos.effects.BaseEffect.handler)
+ self.__runTime = getattr(effectDef, "runTime", "normal")
+ self.__activeByDefault = getattr(effectDef, "activeByDefault", True)
+ effectType = getattr(effectDef, "type", None)
+ effectType = effectType if isinstance(effectType, tuple) or effectType is None else (effectType,)
+ self.__type = effectType
except ImportError as e:
# Effect probably doesn't exist, so create a dummy effect and flag it with a warning.
- self.__handler = effectDummy
+ self.__handler = eos.effects.DummyEffect.handler
self.__runTime = "normal"
self.__activeByDefault = True
self.__type = None
pyfalog.debug("ImportError generating handler: {0}", e)
except AttributeError as e:
# Effect probably exists but there is an issue with it. Turn it into a dummy effect so we can continue, but flag it with an error.
- self.__handler = effectDummy
+ self.__handler = eos.effects.DummyEffect.handler
self.__runTime = "normal"
self.__activeByDefault = True
self.__type = None
pyfalog.error("AttributeError generating handler: {0}", e)
except Exception as e:
- self.__handler = effectDummy
+ self.__handler = eos.effects.DummyEffect.handler
self.__runTime = "normal"
self.__activeByDefault = True
self.__type = None
@@ -194,11 +191,10 @@ class Effect(EqBase):
if not self.__generated:
self.__generateHandler()
- return getattr(self.__effectModule, key, None)
-
-
-def effectDummy(*args, **kwargs):
- pass
+ try:
+ return self.__effectDef.get(key, None)
+ except:
+ return getattr(self.__effectDef, key, None)
class Item(EqBase):
diff --git a/eos/saveddata/boosterSideEffect.py b/eos/saveddata/boosterSideEffect.py
index ad0814928..32c467232 100644
--- a/eos/saveddata/boosterSideEffect.py
+++ b/eos/saveddata/boosterSideEffect.py
@@ -57,7 +57,7 @@ class BoosterSideEffect(object):
def name(self):
return "{0}% {1}".format(
self.booster.getModifiedItemAttr(self.attr),
- self.__effect.getattr('displayName') or self.__effect.handlerName,
+ self.__effect.getattr('displayName') or self.__effect.name,
)
@property
diff --git a/eos/saveddata/fighter.py b/eos/saveddata/fighter.py
index 8024b0681..46cf2e6c8 100644
--- a/eos/saveddata/fighter.py
+++ b/eos/saveddata/fighter.py
@@ -56,7 +56,7 @@ class Fighter(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
standardAttackActive = False
for ability in self.abilities:
- if ability.effect.isImplemented and ability.effect.handlerName == 'fighterabilityattackm':
+ if ability.effect.isImplemented and ability.effect.name == 'fighterAbilityAttackM':
# Activate "standard attack" if available
ability.active = True
standardAttackActive = True
@@ -64,8 +64,8 @@ class Fighter(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
# Activate all other abilities (Neut, Web, etc) except propmods if no standard attack is active
if ability.effect.isImplemented and \
standardAttackActive is False and \
- ability.effect.handlerName != 'fighterabilitymicrowarpdrive' and \
- ability.effect.handlerName != 'fighterabilityevasivemaneuvers':
+ ability.effect.name != 'fighterAbilityMicroWarpDrive' and \
+ ability.effect.name != 'fighterAbilityEvasiveManeuvers':
ability.active = True
@reconstructor
diff --git a/eos/saveddata/fighterAbility.py b/eos/saveddata/fighterAbility.py
index 684ceec94..f9cfb608f 100644
--- a/eos/saveddata/fighterAbility.py
+++ b/eos/saveddata/fighterAbility.py
@@ -73,7 +73,7 @@ class FighterAbility(object):
@property
def name(self):
- return self.__effect.getattr('displayName') or self.__effect.handlerName
+ return self.__effect.getattr('displayName') or self.__effect.name
@property
def attrPrefix(self):
diff --git a/gui/bitmap_loader.py b/gui/bitmap_loader.py
index 042a6674b..09591b32a 100644
--- a/gui/bitmap_loader.py
+++ b/gui/bitmap_loader.py
@@ -27,7 +27,8 @@ from logbook import Logger
import config
-logging = Logger(__name__)
+
+pyfalog = Logger(__name__)
class BitmapLoader(object):
@@ -38,7 +39,7 @@ class BitmapLoader(object):
# logging.info("Using local image files.")
# archive = None
- logging.info("Using local image files.")
+ pyfalog.info("Using local image files.")
archive = None
cached_bitmaps = OrderedDict()
@@ -93,7 +94,7 @@ class BitmapLoader(object):
filename, img = cls.loadScaledBitmap(name, location, scale)
if img is None:
- print(("Missing icon file: {0}/{1}".format(location, filename)))
+ pyfalog.warning("Missing icon file: {0}/{1}".format(location, filename))
return None
bmp: wx.Bitmap = img.ConvertToBitmap()
@@ -130,7 +131,7 @@ class BitmapLoader(object):
sbuf = io.StringIO(img_data)
return wx.ImageFromStream(sbuf)
except KeyError:
- print(("Missing icon file from zip: {0}".format(path)))
+ pyfalog.warning("Missing icon file from zip: {0}".format(path))
else:
path = os.path.join(config.pyfaPath, 'imgs' + os.sep + location + os.sep + filename)
diff --git a/gui/builtinAdditionPanes/boosterView.py b/gui/builtinAdditionPanes/boosterView.py
index eda07eb5e..e050d853a 100644
--- a/gui/builtinAdditionPanes/boosterView.py
+++ b/gui/builtinAdditionPanes/boosterView.py
@@ -108,10 +108,10 @@ class BoosterView(d.Display):
event.Skip()
return
- self.origional = fit.boosters if fit is not None else None
- self.boosters = stuff = fit.boosters[:] if fit is not None else None
- if stuff is not None:
- stuff.sort(key=lambda booster: booster.slot or 0)
+ self.original = fit.boosters if fit is not None else None
+ self.boosters = fit.boosters[:] if fit is not None else None
+ if self.boosters is not None:
+ self.boosters.sort(key=lambda booster: booster.slot or 0)
if event.fitID != self.lastFitId:
@@ -124,8 +124,8 @@ class BoosterView(d.Display):
self.deselectItems()
- self.populate(stuff)
- self.refresh(stuff)
+ self.populate(self.boosters)
+ self.refresh(self.boosters)
event.Skip()
def addItem(self, event):
@@ -152,7 +152,7 @@ class BoosterView(d.Display):
def removeBooster(self, booster):
fitID = self.mainFrame.getActiveFit()
- self.mainFrame.command.Submit(cmd.GuiRemoveBoosterCommand(fitID, self.origional.index(booster)))
+ self.mainFrame.command.Submit(cmd.GuiRemoveBoosterCommand(fitID, self.original.index(booster)))
def click(self, event):
event.Skip()
@@ -172,8 +172,7 @@ class BoosterView(d.Display):
sel = self.GetFirstSelected()
if sel != -1:
sFit = Fit.getInstance()
- fit = sFit.getFit(self.mainFrame.getActiveFit())
- item = fit.boosters[sel]
+ item = self.boosters[sel]
srcContext = "boosterItem"
itemContext = "Booster"
diff --git a/gui/builtinAdditionPanes/droneView.py b/gui/builtinAdditionPanes/droneView.py
index 2918c5aa4..9da438953 100644
--- a/gui/builtinAdditionPanes/droneView.py
+++ b/gui/builtinAdditionPanes/droneView.py
@@ -162,8 +162,7 @@ class DroneView(Display):
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
DRONE_ORDER = ('Light Scout Drones', 'Medium Scout Drones',
- 'Heavy Attack Drones', 'Sentry Drones', 'Fighters',
- 'Fighter Bombers', 'Combat Utility Drones',
+ 'Heavy Attack Drones', 'Sentry Drones', 'Combat Utility Drones',
'Electronic Warfare Drones', 'Logistic Drones', 'Mining Drones', 'Salvage Drones')
def droneKey(self, drone):
diff --git a/gui/builtinAdditionPanes/fighterView.py b/gui/builtinAdditionPanes/fighterView.py
index af98a46ed..f9025851b 100644
--- a/gui/builtinAdditionPanes/fighterView.py
+++ b/gui/builtinAdditionPanes/fighterView.py
@@ -220,20 +220,12 @@ class FighterDisplay(d.Display):
def _merge(src, dst):
return
- '''
- DRONE_ORDER = ('Light Scout Drones', 'Medium Scout Drones',
- 'Heavy Attack Drones', 'Sentry Drones', 'Fighters',
- 'Fighter Bombers', 'Combat Utility Drones',
- 'Electronic Warfare Drones', 'Logistic Drones', 'Mining Drones', 'Salvage Drones',
- 'Light Fighters', 'Heavy Fighters', 'Support Fighters')
- def droneKey(self, drone):
- sMkt = Market.getInstance()
+ FIGHTER_ORDER = ('Heavy Fighter', 'Light Fighter', 'Support Fighter')
- groupName = sMkt.getMarketGroupByItem(drone.item).name
- print groupName
- return (self.DRONE_ORDER.index(groupName),
- drone.item.name)
- '''
+ def fighterKey(self, fighter):
+ sMkt = Market.getInstance()
+ groupName = sMkt.getGroupByItem(fighter.item).name
+ return (self.FIGHTER_ORDER.index(groupName), fighter.item.name)
def fitChanged(self, event):
sFit = Fit.getInstance()
@@ -249,12 +241,10 @@ class FighterDisplay(d.Display):
return
self.original = fit.fighters if fit is not None else None
- self.fighters = stuff = fit.fighters[:] if fit is not None else None
+ self.fighters = fit.fighters[:] if fit is not None else None
- '''
- if stuff is not None:
- stuff.sort(key=self.droneKey)
- '''
+ if self.fighters is not None:
+ self.fighters.sort(key=self.fighterKey)
if event.fitID != self.lastFitId:
self.lastFitId = event.fitID
@@ -266,7 +256,7 @@ class FighterDisplay(d.Display):
self.deselectItems()
- self.update(stuff)
+ self.update(self.fighters)
event.Skip()
def addItem(self, event):
diff --git a/gui/builtinItemStatsViews/itemEffects.py b/gui/builtinItemStatsViews/itemEffects.py
index 37b37c608..0b87a0cbd 100644
--- a/gui/builtinItemStatsViews/itemEffects.py
+++ b/gui/builtinItemStatsViews/itemEffects.py
@@ -21,8 +21,6 @@ class ItemEffects(wx.Panel):
self.SetSizer(mainSizer)
self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.OnClick, self.effectList)
- if config.debug:
- self.Bind(wx.EVT_LIST_ITEM_RIGHT_CLICK, self.OnRightClick, self.effectList)
self.PopulateList()
@@ -100,26 +98,6 @@ class ItemEffects(wx.Panel):
self.RefreshValues(event)
- def OnRightClick(self, event):
- """
- Debug use: open effect file with default application.
- If effect file does not exist, create it
- """
-
- effect = self.effects[event.GetText()]
-
- file_ = os.path.join(config.pyfaPath, "eos", "effects", "%s.py" % effect.handlerName)
-
- if not os.path.isfile(file_):
- open(file_, 'a').close()
-
- if 'wxMSW' in wx.PlatformInfo:
- os.startfile(file_)
- elif 'wxMac' in wx.PlatformInfo:
- os.system("open " + file_)
- else:
- subprocess.call(["xdg-open", file_])
-
def RefreshValues(self, event):
self.Freeze()
self.effectList.ClearAll()
diff --git a/gui/builtinMarketBrowser/itemView.py b/gui/builtinMarketBrowser/itemView.py
index 258c8800f..97db645d7 100644
--- a/gui/builtinMarketBrowser/itemView.py
+++ b/gui/builtinMarketBrowser/itemView.py
@@ -202,7 +202,7 @@ class ItemView(Display):
mktgrpid = sMkt.getMarketGroupByItem(item).ID
except AttributeError:
mktgrpid = -1
- print(("unable to find market group for", item.name))
+ pyfalog.warning("unable to find market group for {}".format(item.name))
parentname = sMkt.getParentItemByItem(item).name
# Get position of market group
metagrpid = sMkt.getMetaGroupIdByItem(item)
diff --git a/gui/builtinViews/fittingView.py b/gui/builtinViews/fittingView.py
index 97ba7d8f6..9801f4af0 100644
--- a/gui/builtinViews/fittingView.py
+++ b/gui/builtinViews/fittingView.py
@@ -82,7 +82,7 @@ class FitSpawner(gui.multiSwitch.TabSpawner):
if not isinstance(view, FittingView):
view = FittingView(self.multiSwitch)
- print("###################### Created new view:" + repr(view))
+ pyfalog.debug("###################### Created new view:" + repr(view))
self.multiSwitch.ReplaceActivePage(view)
view.fitSelected(event)
@@ -174,8 +174,8 @@ class FittingView(d.Display):
self.Bind(wx.EVT_MOTION, self.OnMouseMove)
self.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow)
self.parent.Bind(EVT_NOTEBOOK_PAGE_CHANGED, self.pageChanged)
- print("------------------ new fitting view -------------------")
- print(self)
+ pyfalog.debug("------------------ new fitting view -------------------")
+ pyfalog.debug(self)
def OnLeaveWindow(self, event):
self.SetToolTip(None)
@@ -224,16 +224,7 @@ class FittingView(d.Display):
wx.PostEvent(self.mainFrame, FitSelected(fitID=fitID))
def Destroy(self):
- # @todo: when wxPython 4.0.2 is release, https://github.com/pyfa-org/Pyfa/issues/1586#issuecomment-390074915
- # Make sure to remove the shitty checks that I have to put in place for these handlers to ignore when self is None
- print("+++++ Destroy " + repr(self))
-
- # print(self.parent.Unbind(EVT_NOTEBOOK_PAGE_CHANGED))
- # print(self.mainFrame.Unbind(GE.FIT_CHANGED, handler=self.fitChanged))
- # print(self.mainFrame.Unbind(EVT_FIT_RENAMED, handler=self.fitRenamed ))
- # print(self.mainFrame.Unbind(EVT_FIT_REMOVED, handler=self.fitRemoved))
- # print(self.mainFrame.Unbind(ITEM_SELECTED, handler=self.appendItem))
-
+ pyfalog.debug("+++++ Destroy " + repr(self))
d.Display.Destroy(self)
def pageChanged(self, event):
@@ -296,7 +287,6 @@ class FittingView(d.Display):
delete fit caused change in stats (projected)
todo: move this to the notebook, not the page. We don't want the page being responsible for deleting itself
"""
- print('_+_+_+_+_+_ Fit Removed: {} {} activeFitID: {}, eventFitID: {}'.format(repr(self), str(bool(self)), self.activeFitID, event.fitID))
pyfalog.debug("FittingView::fitRemoved")
if not self:
event.Skip()
@@ -331,7 +321,7 @@ class FittingView(d.Display):
event.Skip()
def fitSelected(self, event):
- print('====== Fit Selected: ' + repr(self) + str(bool(self)))
+ pyfalog.debug('====== Fit Selected: ' + repr(self) + str(bool(self)))
if self.parent.IsActive(self):
fitID = event.fitID
diff --git a/gui/graphFrame.py b/gui/graphFrame.py
index a36c9c66a..1ea9b86c3 100644
--- a/gui/graphFrame.py
+++ b/gui/graphFrame.py
@@ -93,8 +93,8 @@ class GraphFrame(wx.Frame):
graphFrame_enabled = True
if int(mpl.__version__[0]) < 1:
- print(("pyfa: Found matplotlib version ", mpl.__version__, " - activating OVER9000 workarounds"))
- print("pyfa: Recommended minimum matplotlib version is 1.0.0")
+ pyfalog.warning("pyfa: Found matplotlib version {} - activating OVER9000 workarounds".format(mpl.__version__))
+ pyfalog.warning("pyfa: Recommended minimum matplotlib version is 1.0.0")
self.legendFix = True
mplImported = True
diff --git a/gui/mainFrame.py b/gui/mainFrame.py
index 3d17f9f65..78126fa80 100644
--- a/gui/mainFrame.py
+++ b/gui/mainFrame.py
@@ -73,17 +73,18 @@ from service.settings import HTMLExportSettings, SettingsProvider
from service.update import Update
import gui.fitCommands as cmd
+
+pyfalog = Logger(__name__)
+
disableOverrideEditor = False
try:
from gui.propertyEditor import AttributeEditor
except ImportError as e:
AttributeEditor = None
- print(("Error loading Attribute Editor: %s.\nAccess to Attribute Editor is disabled." % e.message))
+ pyfalog.warning("Error loading Attribute Editor: %s.\nAccess to Attribute Editor is disabled." % e.message)
disableOverrideEditor = True
-pyfalog = Logger(__name__)
-
pyfalog.debug("Done loading mainframe imports")
@@ -421,7 +422,7 @@ class MainFrame(wx.Frame):
if '.' not in os.path.basename(path):
path += ".xml"
else:
- print(("oops, invalid fit format %d" % format_))
+ pyfalog.warning("oops, invalid fit format %d" % format_)
try:
dlg.Destroy()
except RuntimeError:
diff --git a/gui/utils/exportHtml.py b/gui/utils/exportHtml.py
index 608b52396..ab8fa9107 100644
--- a/gui/utils/exportHtml.py
+++ b/gui/utils/exportHtml.py
@@ -68,7 +68,7 @@ class exportHtmlThread(threading.Thread):
FILE.write(HTML)
FILE.close()
except IOError as ex:
- print(("Failed to write to " + settings.getPath()))
+ pyfalog.warning("Failed to write to " + settings.getPath())
pass
except Exception as ex:
pass
diff --git a/pyfa.spec b/pyfa.spec
index d3156bb80..4f4dda6c7 100644
--- a/pyfa.spec
+++ b/pyfa.spec
@@ -55,7 +55,7 @@ import_these = [
]
# Walk directories that do dynamic importing
-paths = ('eos/effects', 'eos/db/migrations', 'service/conversions')
+paths = ('eos/db/migrations', 'service/conversions')
for root, folders, files in chain.from_iterable(os.walk(path) for path in paths):
for file_ in files:
if file_.endswith(".py") and not file_.startswith("_"):
diff --git a/scripts/effectUsedBy.py b/scripts/effectUsedBy.py
index aa5f878b3..4f239004b 100755
--- a/scripts/effectUsedBy.py
+++ b/scripts/effectUsedBy.py
@@ -60,19 +60,13 @@ from optparse import OptionParser
script_dir = os.path.dirname(__file__)
# Form list of effects for processing
-effects_path = os.path.join(script_dir, "..", "eos", "effects")
+effects_path = os.path.join(script_dir, "..", "eos", "effects.py")
usage = "usage: %prog --database=DB [--debug=DEBUG]"
parser = OptionParser(usage=usage)
parser.add_option("-d", "--database", help="path to eve cache data dump in \
sqlite format, default to eve database file included in pyfa (../eve.db)",
type="string", default=os.path.join(script_dir, "..", "eve.db"))
-parser.add_option("-e", "--effects", help="explicit comma-separated list of \
-effects to process", type="string", default="")
-parser.add_option("-r", "--remove", help="remove effect files that are not \
-used by any items", action="store_true", dest="remove", default=False)
-parser.add_option("-x", "--remove2", help="remove effect files that do not exist \
-in database", action="store_true", dest="remove2", default=False)
parser.add_option("-u", "--debug", help="debug level, 0 by default",
type="int", default=0)
(options, args) = parser.parse_args()
@@ -178,20 +172,13 @@ invmarketgroups WHERE marketGroupID = ? LIMIT 1'
# Compose list of effects w/o symbols which eos doesn't take into
# consideration, we'll use it to find proper effect IDs from file
# names
-globalmap_effectnameeos_effectid = {}
-globalmap_effectnameeos_effectnamedb = {}
-STRIPSPEC = "[^A-Za-z0-9]"
+globalmap_effectid_effectnamedb = {}
cursor.execute(QUERY_ALLEFFECTS)
for row in cursor:
effectid = row[0]
effectnamedb = row[1]
- effectnameeos = re.sub(STRIPSPEC, "", effectnamedb).lower()
- # There may be different effects with the same name, so form
- # sets of IDs
- if not effectnameeos in globalmap_effectnameeos_effectid:
- globalmap_effectnameeos_effectid[effectnameeos] = set()
- globalmap_effectnameeos_effectid[effectnameeos].add(effectid)
- globalmap_effectnameeos_effectnamedb[effectnameeos] = effectnamedb
+ globalmap_effectid_effectnamedb[effectid] = effectnamedb
+
# Stage 1
# Published types set
@@ -402,42 +389,31 @@ for typeid in publishedtypes:
(set(), len(typenamesplitted))
globalmap_typeid_typenamecombtuple[typeid][0].add(typenamecomb)
-if options.effects:
- effect_list = options.effects.split(",")
-else:
- effect_list = []
- for effect_file in os.listdir(effects_path):
- if not effect_file.startswith('__'):
- file_name, file_extension = effect_file.rsplit('.', 1)
- # Ignore non-py files and exclude implementation-specific 'effects'
- if file_extension == "py" and not file_name in "__init__":
- effect_list.append(file_name)
-
# Stage 2
-# Go through effect files one-by-one
-for effect_name in effect_list:
- effect_file = "{0}.py".format(effect_name)
+effectids_eos = set()
+
+with open(effects_path) as f:
+ for line in f:
+ m = re.match("class Effect(\d+)\(", line)
+ if m:
+ effectid = int(m.group(1))
+ effectids_eos.add(effectid)
+
+# Go through effect definitions
+for effectid in effectids_eos:
# Stage 2.1
# Set of items which are affected by current effect
pereffectlist_usedbytypes = set()
- if effect_name in globalmap_effectnameeos_effectid:
- effectids = globalmap_effectnameeos_effectid[effect_name]
- else:
- if options.remove2:
- print(("Warning: effect file " + effect_name +
- " exists but is not in database, removing"))
- os.remove(os.path.join(effects_path, effect_file))
- else:
- print(("Warning: effect file " + effect_name +
- " exists but is not in database"))
+ if effectid not in globalmap_effectid_effectnamedb:
+ print(f"Warning: effect {effectid} is defined in eos but not in database")
continue
- for effectid in effectids:
- cursor.execute(QUERY_EFFECTID_TYPEID, (effectid,))
- for row in cursor:
- typeid = row[0]
- if typeid in publishedtypes:
- pereffectlist_usedbytypes.add(typeid)
+ effectnamedb = globalmap_effectid_effectnamedb[effectid]
+ cursor.execute(QUERY_EFFECTID_TYPEID, (effectid,))
+ for row in cursor:
+ typeid = row[0]
+ if typeid in publishedtypes:
+ pereffectlist_usedbytypes.add(typeid)
# Number of items affected by current effect
pereffect_totalaffected = len(pereffectlist_usedbytypes)
@@ -500,7 +476,7 @@ for effect_name in effect_list:
stopdebugprints = False
if DEBUG_LEVEL >= 1:
- print(("\nEffect:", effect_name))
+ print(("\nEffect:", effectnamedb))
print(("Total items affected: {0}".format(pereffect_totalaffected)))
# Stage 2.2
@@ -876,20 +852,6 @@ inner score: {5:.3})"
print(("Type name combinations:", describedbytypenamecomb))
# Stage 2.1
- # Read effect file and split it into lines
- effectfile = open(os.path.join(effects_path, effect_file), 'r')
- effectcontentssource = effectfile.read()
- effectfile.close()
- effectLines = effectcontentssource.split("\n")
- # Delete old comments from file contents
- numofcommentlines = 0
- for line in effectLines:
- if line:
- if line[0] == "#": numofcommentlines += 1
- else: break
- else: break
- for i in range(numofcommentlines):
- del effectLines[0]
# These lists will contain IDs and some metadata in tuples
printing_types = []
@@ -990,7 +952,7 @@ inner score: {5:.3})"
# Append line for printing to list
catname = type[2]
typename = type[1]
- printstr = "# {0}: {1}".format(catname, typename)
+ printstr = "{0}: {1}".format(catname, typename)
if validate_string(printstr):
printing_typelines.append(printstr)
# Do the same for groups
@@ -1002,7 +964,7 @@ inner score: {5:.3})"
groupname = group[1]
described = len(effectmap_groupid_typeid[group[0]][0])
total = len(globalmap_groupid_typeid[group[0]])
- printstr = "# {0}s from group: {1} ({2} of {3})".format(catname, groupname, described, total)
+ printstr = "{0}s from group: {1} ({2} of {3})".format(catname, groupname, described, total)
if validate_string(printstr):
printing_grouplines.append(printstr)
# Process categories
@@ -1013,7 +975,7 @@ inner score: {5:.3})"
catname = category[1]
described = len(effectmap_categoryid_typeid[category[0]][0])
total = len(globalmap_categoryid_typeid[category[0]])
- printstr = "# Items from category: {0} ({1} of {2})".format(catname, described, total)
+ printstr = "Items from category: {0} ({1} of {2})".format(catname, described, total)
if validate_string(printstr):
printing_categorylines.append(printstr)
# Process variations
@@ -1027,7 +989,7 @@ inner score: {5:.3})"
basename = basetype[1]
described = len(effectmap_basetypeid_typeid[basetype[0]][0])
total = len(globalmap_basetypeid_typeid[basetype[0]])
- printstr = "# Variations of {0}: {1} ({2} of {3})".format(catname, basename, described, total)
+ printstr = "Variations of {0}: {1} ({2} of {3})".format(catname, basename, described, total)
if validate_string(printstr):
printing_basetypelines.append(printstr)
# Process market groups with variations
@@ -1040,7 +1002,7 @@ inner score: {5:.3})"
[marketgroup[0]][0])
total = len(globalmap_marketgroupid_typeidwithvariations
[marketgroup[0]])
- printstr = "# Items from market group: {0} ({1} of {2})".format(marketgroupname, described, total)
+ printstr = "Items from market group: {0} ({1} of {2})".format(marketgroupname, described, total)
if validate_string(printstr):
printing_marketgroupwithvarslines.append(printstr)
# Process type name combinations
@@ -1055,7 +1017,7 @@ inner score: {5:.3})"
described = len(effectmap_typenamecombtuple_typeid
[typenamecomb[0]][0])
total = len(globalmap_typenamecombtuple_typeid[typenamecomb[0]])
- printstr = "# {0}s named like: {1} ({2} of {3})".format(catname, namedlike, described, total)
+ printstr = "{0}s named like: {1} ({2} of {3})".format(catname, namedlike, described, total)
if validate_string(printstr):
printing_typenamecombtuplelines.append(printstr)
@@ -1065,30 +1027,45 @@ inner score: {5:.3})"
printing_basetypelines + printing_typelines
# Prepend list with "used by"
if commentlines:
- commentlines = ["# %s\n#\n# Used by:" % \
- globalmap_effectnameeos_effectnamedb[effect_name]]+commentlines
+ commentlines = [f"{effectnamedb}\n\nUsed by:"] + commentlines
# If effect isn't used, write it to file and to terminal
else:
- commentlines = ["# Not used by any item"]
- if options.remove:
- print(("Warning: effect file " + effect_name +
- " is not used by any item, removing"))
- os.remove(os.path.join(effects_path, effect_file))
- continue
- else:
- print(("Warning: effect file " + effect_name +
- " is not used by any item"))
- # Combine "used by" comment lines and actual effect lines
- outputlines = commentlines + effectLines
- # Combine all lines into single string
- effectcontentsprocessed = "\n".join(outputlines)
- # If we're not debugging and contents actually changed - write
- # changes to the file
- if DEBUG_LEVEL == 0 and (effectcontentsprocessed !=
- effectcontentssource):
- effectfile = open(os.path.join(effects_path, effect_file), 'w')
- effectfile.write(effectcontentsprocessed)
- effectfile.close()
+ commentlines = ["Not used by any item"]
+ print(f"Warning: effect {effectid} {effectnamedb} is not used by any item")
+ # Prepare docstring
+ docstring_new = "\n".join(commentlines)
+ docstring_new = ['"""'] + docstring_new.splitlines() + ['"""']
+ docstring_new = [f' {l}' if l else '' for l in docstring_new]
+ # If we're not debugging - write changes to the file
+ if DEBUG_LEVEL == 0:
+ with open(effects_path) as f:
+ data = f.read()
+ lines = data.splitlines()
+ effect_idx = None
+ docstart_idx = None
+ docend_idx = None
+ for lineidx, line in enumerate(lines):
+ if line.startswith(f'class Effect{effectid}('):
+ effect_idx = lineidx
+ docstart_idx = effect_idx + 1
+ # Remove docstring if it's there
+ if lines[docstart_idx].strip() == '"""':
+ for docidx, docline in enumerate(lines[docstart_idx + 1:], start=docstart_idx + 1):
+ if docline.strip() == '"""':
+ docend_idx = docidx
+ break
+ break
+ if docstart_idx is not None and docend_idx is not None:
+ docstring_old = lines[docstart_idx:docend_idx + 1]
+ if docstring_new == docstring_old:
+ continue
+ else:
+ lines = lines[:docstart_idx] + lines[docend_idx + 1:]
+ lines = lines[:effect_idx + 1] + docstring_new + lines[effect_idx + 1:]
+ if lines[-1].strip():
+ lines.append('')
+ with open(effects_path, 'w') as f:
+ f.write('\n'.join(lines))
elif DEBUG_LEVEL >= 2:
print("Comment to write to file:")
print(("\n".join(commentlines)))
diff --git a/service/esi.py b/service/esi.py
index 88b704664..301af7d53 100644
--- a/service/esi.py
+++ b/service/esi.py
@@ -155,7 +155,6 @@ class Esi(EsiAccess):
res.json()
)
cdata = res.json()
- print(cdata)
currentCharacter = self.getSsoCharacter(cdata['CharacterName'])
diff --git a/service/fit.py b/service/fit.py
index c02dd7159..d116cd4f1 100644
--- a/service/fit.py
+++ b/service/fit.py
@@ -50,7 +50,7 @@ class DeferRecalc:
def __enter__(self):
self._recalc = self.sFit.recalc
- self.sFit.recalc = lambda x: print('Deferred Recalc')
+ self.sFit.recalc = lambda x: pyfalog.debug('Deferred Recalc')
def __exit__(self, *args):
self.sFit.recalc = self._recalc