diff --git a/eos/effects/ammotrackingmultiplier.py b/eos/effects/ammotrackingmultiplier.py index 23bbb396c..07d95a8d7 100644 --- a/eos/effects/ammotrackingmultiplier.py +++ b/eos/effects/ammotrackingmultiplier.py @@ -5,7 +5,7 @@ # 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 Exotic Plasma Charge (5 of 6) +# Charges from group: Advanced Charge Bottle (5 of 6) # Charges from group: Advanced Pulse Laser Crystal (8 of 8) # Charges from group: Advanced Railgun Charge (8 of 8) # Charges from group: Projectile Ammo (128 of 128) diff --git a/eos/effects/armorwarfarearmorhpreplacer.py b/eos/effects/armorwarfarearmorhpreplacer.py new file mode 100644 index 000000000..4cbe460c0 --- /dev/null +++ b/eos/effects/armorwarfarearmorhpreplacer.py @@ -0,0 +1,10 @@ +# Not used by any item +type = "gang", "active" +gangBonus = "armorHpBonus2" +gangBoost = "armorHP" + + +def handler(fit, module, context): + if "gang" not in context: + return + fit.ship.boostItemAttr("armorHP", module.getModifiedItemAttr("armorHpBonus2")) diff --git a/eos/effects/citadelrigbonus.py b/eos/effects/citadelrigbonus.py new file mode 100644 index 000000000..a04c6f479 --- /dev/null +++ b/eos/effects/citadelrigbonus.py @@ -0,0 +1,21 @@ +# Not used by any item +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/decreasetargetspeed.py b/eos/effects/decreasetargetspeed.py new file mode 100644 index 000000000..dd482175d --- /dev/null +++ b/eos/effects/decreasetargetspeed.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "active", "projected" + + +def handler(fit, module, context): + if "projected" not in context: + return + fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor"), + stackingPenalties=True) diff --git a/eos/effects/disintegratorweapondamagemultiply.py b/eos/effects/disintegratorweapondamagemultiply.py index a96f6bc3f..b1420e463 100644 --- a/eos/effects/disintegratorweapondamagemultiply.py +++ b/eos/effects/disintegratorweapondamagemultiply.py @@ -1,7 +1,7 @@ # disintegratorWeaponDamageMultiply # # Used by: -# Modules from group: Entropic Radiation Sink (3 of 3) +# Modules from group: Entropic Suppressor (3 of 3) type = "passive" diff --git a/eos/effects/disintegratorweaponspeedmultiply.py b/eos/effects/disintegratorweaponspeedmultiply.py index aa2a9998b..79d104e08 100644 --- a/eos/effects/disintegratorweaponspeedmultiply.py +++ b/eos/effects/disintegratorweaponspeedmultiply.py @@ -1,7 +1,7 @@ # disintegratorWeaponSpeedMultiply # # Used by: -# Modules from group: Entropic Radiation Sink (3 of 3) +# Modules from group: Entropic Suppressor (3 of 3) type = "passive" diff --git a/eos/effects/dronedamagebonusrequringdrones.py b/eos/effects/dronedamagebonusrequringdrones.py new file mode 100644 index 000000000..5f3e13ea1 --- /dev/null +++ b/eos/effects/dronedamagebonusrequringdrones.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, skill, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level) diff --git a/eos/effects/elitebonuscommanddestroyerinfohidden1.py b/eos/effects/elitebonuscommanddestroyerinfohidden1.py new file mode 100644 index 000000000..cf31b2b1b --- /dev/null +++ b/eos/effects/elitebonuscommanddestroyerinfohidden1.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"), + "commandBonusHidden", + src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), + skill="Command Destroyers") diff --git a/eos/effects/elitebonuscommanddestroyermwdsigradius3.py b/eos/effects/elitebonuscommanddestroyermwdsigradius3.py new file mode 100644 index 000000000..f9c1fded2 --- /dev/null +++ b/eos/effects/elitebonuscommanddestroyermwdsigradius3.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"), "signatureRadiusBonus", + src.getModifiedItemAttr("eliteBonusCommandDestroyer3"), skill="Command Destroyers") diff --git a/eos/effects/elitebonuscommandshipinformationhiddencs3.py b/eos/effects/elitebonuscommandshipinformationhiddencs3.py new file mode 100644 index 000000000..eeee692ed --- /dev/null +++ b/eos/effects/elitebonuscommandshipinformationhiddencs3.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"), + "commandBonusHidden", module.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships") diff --git a/eos/effects/elitebonusgunshipdronecapacity2.py b/eos/effects/elitebonusgunshipdronecapacity2.py new file mode 100644 index 000000000..61cf46c51 --- /dev/null +++ b/eos/effects/elitebonusgunshipdronecapacity2.py @@ -0,0 +1,6 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.ship.increaseItemAttr("droneCapacity", ship.getModifiedItemAttr("eliteBonusGunship2"), skill="Assault Frigates") diff --git a/eos/effects/elitebonusgunshipdronetracking2.py b/eos/effects/elitebonusgunshipdronetracking2.py new file mode 100644 index 000000000..10d8c753d --- /dev/null +++ b/eos/effects/elitebonusgunshipdronetracking2.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "trackingSpeed", + src.getModifiedItemAttr("eliteBonusGunship2"), stackingPenalties=True, skill="Assault Frigates") diff --git a/eos/effects/elitebonusgunshipprojectiledamage2.py b/eos/effects/elitebonusgunshipprojectiledamage2.py new file mode 100644 index 000000000..81ad55805 --- /dev/null +++ b/eos/effects/elitebonusgunshipprojectiledamage2.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"), + "damageMultiplier", ship.getModifiedItemAttr("eliteBonusGunship2"), + skill="Assault Frigates") diff --git a/eos/effects/elitebonusgunshipprojectileoptimal1.py b/eos/effects/elitebonusgunshipprojectileoptimal1.py new file mode 100644 index 000000000..75327d04f --- /dev/null +++ b/eos/effects/elitebonusgunshipprojectileoptimal1.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"), + "maxRange", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates") diff --git a/eos/effects/energydestabilizationnew.py b/eos/effects/energydestabilizationnew.py new file mode 100644 index 000000000..7a45fe8b7 --- /dev/null +++ b/eos/effects/energydestabilizationnew.py @@ -0,0 +1,12 @@ +# Not used by any item +from eos.saveddata.module import State + +type = "active", "projected" + + +def handler(fit, src, context): + if "projected" in context and ((hasattr(src, "state") and src.state >= State.ACTIVE) or hasattr(src, "amountActive")): + multiplier = src.amountActive if hasattr(src, "amountActive") else 1 + amount = src.getModifiedItemAttr("energyNeutralizerAmount") + time = src.getModifiedItemAttr("duration") + fit.addDrain(src, time, amount * multiplier, 0) diff --git a/eos/effects/energytransfer.py b/eos/effects/energytransfer.py new file mode 100644 index 000000000..4a5ef6530 --- /dev/null +++ b/eos/effects/energytransfer.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "projected", "active" + + +def handler(fit, src, context): + if "projected" in context: + amount = src.getModifiedItemAttr("powerTransferAmount") + duration = src.getModifiedItemAttr("duration") + fit.addDrain(src, duration, -amount, 0) diff --git a/eos/effects/ewtargetpaint.py b/eos/effects/ewtargetpaint.py new file mode 100644 index 000000000..c61adeb8b --- /dev/null +++ b/eos/effects/ewtargetpaint.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "projected", "active" + + +def handler(fit, container, context): + if "projected" in context: + fit.ship.boostItemAttr("signatureRadius", container.getModifiedItemAttr("signatureRadiusBonus"), + stackingPenalties=True) diff --git a/eos/effects/fighterabilityattackm.py b/eos/effects/fighterabilityattackm.py new file mode 100644 index 000000000..2ea002819 --- /dev/null +++ b/eos/effects/fighterabilityattackm.py @@ -0,0 +1,16 @@ +# Not used by any item +""" +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 new file mode 100644 index 000000000..e821c748a --- /dev/null +++ b/eos/effects/fighterabilityecm.py @@ -0,0 +1,26 @@ +# Not used by any item +""" +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 new file mode 100644 index 000000000..8a43dff19 --- /dev/null +++ b/eos/effects/fighterabilityenergyneutralizer.py @@ -0,0 +1,23 @@ +# Not used by any item +""" +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 new file mode 100644 index 000000000..bf17edc92 --- /dev/null +++ b/eos/effects/fighterabilityevasivemaneuvers.py @@ -0,0 +1,37 @@ +# Not used by any item +""" +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 new file mode 100644 index 000000000..bd46513bf --- /dev/null +++ b/eos/effects/fighterabilitylaunchbomb.py @@ -0,0 +1,19 @@ +# Not used by any item +""" +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 new file mode 100644 index 000000000..6dfbae73a --- /dev/null +++ b/eos/effects/fighterabilitymicrowarpdrive.py @@ -0,0 +1,21 @@ +# Not used by any item +""" +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 new file mode 100644 index 000000000..8dc752ee2 --- /dev/null +++ b/eos/effects/fighterabilitymissiles.py @@ -0,0 +1,19 @@ +# Not used by any item +""" +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 new file mode 100644 index 000000000..1fd6dd96f --- /dev/null +++ b/eos/effects/fighterabilitystasiswebifier.py @@ -0,0 +1,18 @@ +# Not used by any item +""" +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 new file mode 100644 index 000000000..d362fb33f --- /dev/null +++ b/eos/effects/fighterabilitywarpdisruption.py @@ -0,0 +1,17 @@ +# Not used by any item +""" +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/flagshipmultirelayeffect.py b/eos/effects/flagshipmultirelayeffect.py new file mode 100644 index 000000000..20bf757c2 --- /dev/null +++ b/eos/effects/flagshipmultirelayeffect.py @@ -0,0 +1,11 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + # Note: we increase maxGroupActive by two. + # If we only increased it by one, we'd get the number to stay equal + # As Comman Processors use one themselves too + fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Gang Coordinator" and + "maxGroupActive" in mod.itemModifiedAttributes, + "maxGroupActive", 1) diff --git a/eos/effects/iceharvestercapacitorneedmultiplier.py b/eos/effects/iceharvestercapacitorneedmultiplier.py new file mode 100644 index 000000000..93338c76f --- /dev/null +++ b/eos/effects/iceharvestercapacitorneedmultiplier.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Ice Harvesting"), + "capacitorNeed", ship.getModifiedItemAttr("iceHarvestCycleBonus")) diff --git a/eos/effects/informationwarfaremaxtargetrangebonus.py b/eos/effects/informationwarfaremaxtargetrangebonus.py new file mode 100644 index 000000000..dfb0a01fc --- /dev/null +++ b/eos/effects/informationwarfaremaxtargetrangebonus.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "gang" +gangBoost = "maxTargetRange" +gangBonus = "maxTargetRangeBonus" + + +def handler(fit, container, context): + fit.ship.boostItemAttr(gangBoost, container.getModifiedItemAttr(gangBonus)) diff --git a/eos/effects/informationwarfaremindlinkhidden.py b/eos/effects/informationwarfaremindlinkhidden.py new file mode 100644 index 000000000..014ad1d31 --- /dev/null +++ b/eos/effects/informationwarfaremindlinkhidden.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, implant, context): + fit.character.getSkill("Information Command").suppress() + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"), + "commandBonusHidden", implant.getModifiedItemAttr("mindlinkBonus")) diff --git a/eos/effects/lightningweapon.py b/eos/effects/lightningweapon.py new file mode 100644 index 000000000..4f2324035 --- /dev/null +++ b/eos/effects/lightningweapon.py @@ -0,0 +1,6 @@ +# Not used by any item +type = 'active' + + +def handler(fit, module, context): + pass diff --git a/eos/effects/maraudermodeeffect26.py b/eos/effects/maraudermodeeffect26.py new file mode 100644 index 000000000..f892a5a52 --- /dev/null +++ b/eos/effects/maraudermodeeffect26.py @@ -0,0 +1,52 @@ +# Not used by any item +type = "active" +runTime = "early" + + +def handler(fit, module, 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, module.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", module.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", module.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", module.getModifiedItemAttr("missileVelocityBonus")) + + # Tanking + fit.modules.filteredItemBoost( + lambda mod: mod.item.requiresSkill("Capital Repair Systems") or mod.item.requiresSkill("Repair Systems"), + "armorDamageAmount", module.getModifiedItemAttr("armorDamageAmountBonus"), + stackingPenalties=True) + fit.modules.filteredItemBoost( + lambda mod: mod.item.requiresSkill("Capital Shield Operation") or mod.item.requiresSkill("Shield Operation"), + "shieldBonus", module.getModifiedItemAttr("shieldBoostMultiplier"), + stackingPenalties=True) + + # Speed penalty + fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor")) + + # Max locked targets + fit.ship.forceItemAttr("maxLockedTargets", module.getModifiedItemAttr("maxLockedTargets")) + + # Block Hostile ewar + fit.ship.forceItemAttr("disallowOffensiveModifiers", module.getModifiedItemAttr("disallowOffensiveModifiers")) diff --git a/eos/effects/massaddpassive.py b/eos/effects/massaddpassive.py new file mode 100644 index 000000000..68847c8ec --- /dev/null +++ b/eos/effects/massaddpassive.py @@ -0,0 +1,6 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.increaseItemAttr("mass", module.getModifiedItemAttr("mass") or 0) diff --git a/eos/effects/maxvelocityaddpassive.py b/eos/effects/maxvelocityaddpassive.py new file mode 100644 index 000000000..33d05f88c --- /dev/null +++ b/eos/effects/maxvelocityaddpassive.py @@ -0,0 +1,6 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.increaseItemAttr("maxVelocity", module.getModifiedItemAttr("maxVelocity")) diff --git a/eos/effects/miningdirectorbonuscommandbonuseffective.py b/eos/effects/miningdirectorbonuscommandbonuseffective.py new file mode 100644 index 000000000..43f712ff5 --- /dev/null +++ b/eos/effects/miningdirectorbonuscommandbonuseffective.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Director"), + "commandBonus", ship.getModifiedItemAttr("commandBonusEffective")) diff --git a/eos/effects/modifyarmorresonancepassivepreassignment.py b/eos/effects/modifyarmorresonancepassivepreassignment.py new file mode 100644 index 000000000..467f80846 --- /dev/null +++ b/eos/effects/modifyarmorresonancepassivepreassignment.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + for type in ("Em", "Explosive", "Kinetic", "Thermal"): + fit.ship.preAssignItemAttr("armor{0}DamageResonance".format(type), + module.getModifiedItemAttr("passiveArmor{0}DamageResonance".format(type))) diff --git a/eos/effects/modifyshieldresonancepassivepreassignment.py b/eos/effects/modifyshieldresonancepassivepreassignment.py new file mode 100644 index 000000000..f61d559ce --- /dev/null +++ b/eos/effects/modifyshieldresonancepassivepreassignment.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + for type in ("Em", "Explosive", "Kinetic", "Thermal"): + fit.ship.preAssignItemAttr("shield{0}DamageResonance".format(type), + module.getModifiedItemAttr("passiveShield{0}DamageResonance".format(type))) diff --git a/eos/effects/modifyshipagilitypassivepreassignment.py b/eos/effects/modifyshipagilitypassivepreassignment.py new file mode 100644 index 000000000..4691fa106 --- /dev/null +++ b/eos/effects/modifyshipagilitypassivepreassignment.py @@ -0,0 +1,7 @@ +# Not used by any item +runTime = "early" +type = "passive" + + +def handler(fit, module, context): + fit.ship.preAssignItemAttr("agility", module.getModifiedItemAttr("agility")) diff --git a/eos/effects/noscpuneedbonuseffect.py b/eos/effects/noscpuneedbonuseffect.py new file mode 100644 index 000000000..d54b6e023 --- /dev/null +++ b/eos/effects/noscpuneedbonuseffect.py @@ -0,0 +1,10 @@ +# nosCpuNeedBonusEffect +# +# Used by: +# Ship: Rabisu +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "cpu", + src.getModifiedItemAttr("nosferatuCpuNeedBonus")) diff --git a/eos/effects/orecapitalshipshieldtransferfalloff.py b/eos/effects/orecapitalshipshieldtransferfalloff.py new file mode 100644 index 000000000..6ec5e26c5 --- /dev/null +++ b/eos/effects/orecapitalshipshieldtransferfalloff.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), + "falloffEffectiveness", src.getModifiedItemAttr("shipBonusORECapital3"), + skill="Capital Industrial Ships") diff --git a/eos/effects/orecapitalshipshieldtransferrange.py b/eos/effects/orecapitalshipshieldtransferrange.py new file mode 100644 index 000000000..2e7f24d88 --- /dev/null +++ b/eos/effects/orecapitalshipshieldtransferrange.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), + "maxRange", ship.getModifiedItemAttr("shipBonusORECapital3"), + skill="Capital Industrial Ships") diff --git a/eos/effects/overloadselfdamagebonus.py b/eos/effects/overloadselfdamagebonus.py index 0b74eb643..516932070 100644 --- a/eos/effects/overloadselfdamagebonus.py +++ b/eos/effects/overloadselfdamagebonus.py @@ -3,7 +3,7 @@ # Used by: # Modules from group: Energy Weapon (101 of 214) # Modules from group: Hybrid Weapon (105 of 221) -# Modules from group: Precursor Weapon (14 of 14) +# Modules from group: Precursor Turret (14 of 14) # Modules from group: Projectile Weapon (99 of 165) type = "overheat" diff --git a/eos/effects/pointdefense.py b/eos/effects/pointdefense.py new file mode 100644 index 000000000..4f2324035 --- /dev/null +++ b/eos/effects/pointdefense.py @@ -0,0 +1,6 @@ +# Not used by any item +type = 'active' + + +def handler(fit, module, context): + pass diff --git a/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py b/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py new file mode 100644 index 000000000..2f2378405 --- /dev/null +++ b/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py @@ -0,0 +1,10 @@ +# probeLauncherCPUPercentBonusTacticalDestroyer +# +# Used by: +# Ships from group: Tactical Destroyer (4 of 4) +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"), + "cpu", ship.getModifiedItemAttr("roleBonusT3ProbeCPU")) diff --git a/eos/effects/rechargerateaddpassive.py b/eos/effects/rechargerateaddpassive.py new file mode 100644 index 000000000..4f790674e --- /dev/null +++ b/eos/effects/rechargerateaddpassive.py @@ -0,0 +1,6 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.increaseItemAttr("rechargeRate", module.getModifiedItemAttr("rechargeRate")) diff --git a/eos/effects/remotehullrepair.py b/eos/effects/remotehullrepair.py new file mode 100644 index 000000000..508b5684e --- /dev/null +++ b/eos/effects/remotehullrepair.py @@ -0,0 +1,11 @@ +# Not used by any item +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/rigdrawbackbonuseffect.py b/eos/effects/rigdrawbackbonuseffect.py new file mode 100644 index 000000000..58f066b1d --- /dev/null +++ b/eos/effects/rigdrawbackbonuseffect.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, skill, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill), + "drawback", skill.getModifiedItemAttr("rigDrawbackBonus") * skill.level) diff --git a/eos/effects/scanresolutionaddpassive.py b/eos/effects/scanresolutionaddpassive.py new file mode 100644 index 000000000..6e4599d7b --- /dev/null +++ b/eos/effects/scanresolutionaddpassive.py @@ -0,0 +1,6 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.increaseItemAttr("scanResolution", module.getModifiedItemAttr("scanResolution")) diff --git a/eos/effects/scanstrengthaddpassive.py b/eos/effects/scanstrengthaddpassive.py new file mode 100644 index 000000000..12f228a0d --- /dev/null +++ b/eos/effects/scanstrengthaddpassive.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + sensorTypes = ("Gravimetric", "Ladar", "Magnetometric", "Radar") + for sensorType in sensorTypes: + sensAttr = "scan{0}Strength".format(sensorType) + fit.ship.increaseItemAttr(sensAttr, module.getModifiedItemAttr(sensAttr)) diff --git a/eos/effects/scanstrengthbonuspercentactivate.py b/eos/effects/scanstrengthbonuspercentactivate.py new file mode 100644 index 000000000..10b66e3c4 --- /dev/null +++ b/eos/effects/scanstrengthbonuspercentactivate.py @@ -0,0 +1,11 @@ +# Not used by any item +type = "active" + + +def handler(fit, module, context): + 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/servicemodulefullpowerhitpointpostassign.py b/eos/effects/servicemodulefullpowerhitpointpostassign.py new file mode 100644 index 000000000..edcb40ae1 --- /dev/null +++ b/eos/effects/servicemodulefullpowerhitpointpostassign.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" +runTime = "early" + + +def handler(fit, src, context): + fit.ship.forceItemAttr("structureFullPowerStateHitpointMultiplier", src.getModifiedItemAttr("serviceModuleFullPowerStateHitpointMultiplier")) diff --git a/eos/effects/shieldrechargerateaddpassive.py b/eos/effects/shieldrechargerateaddpassive.py new file mode 100644 index 000000000..1d071fb8a --- /dev/null +++ b/eos/effects/shieldrechargerateaddpassive.py @@ -0,0 +1,6 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.increaseItemAttr("shieldRechargeRate", module.getModifiedItemAttr("shieldRechargeRate") or 0) diff --git a/eos/effects/shieldtransfer.py b/eos/effects/shieldtransfer.py new file mode 100644 index 000000000..54bbc1112 --- /dev/null +++ b/eos/effects/shieldtransfer.py @@ -0,0 +1,9 @@ +# Not used by any item +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/shipbonusenergyvampirerangead2.py b/eos/effects/shipbonusenergyvampirerangead2.py new file mode 100644 index 000000000..28f9f7c8c --- /dev/null +++ b/eos/effects/shipbonusenergyvampirerangead2.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", + "maxRange", ship.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusorecapshipdronearmorhpandshieldhpandhpbonus.py b/eos/effects/shipbonusorecapshipdronearmorhpandshieldhpandhpbonus.py new file mode 100644 index 000000000..e8860ee63 --- /dev/null +++ b/eos/effects/shipbonusorecapshipdronearmorhpandshieldhpandhpbonus.py @@ -0,0 +1,9 @@ +# Not used by any item +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("shipBonusORECapital4"), + skill="Capital Industrial Ships") diff --git a/eos/effects/shipbonusorecapshipdronedmgbonus.py b/eos/effects/shipbonusorecapshipdronedmgbonus.py new file mode 100644 index 000000000..eaa95fe6d --- /dev/null +++ b/eos/effects/shipbonusorecapshipdronedmgbonus.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "damageMultiplier", ship.getModifiedItemAttr("shipBonusORECapital4"), + skill="Capital Industrial Ships") diff --git a/eos/effects/shipcommandbonuseffectivemultiplierorecapital2.py b/eos/effects/shipcommandbonuseffectivemultiplierorecapital2.py new file mode 100644 index 000000000..76673f21f --- /dev/null +++ b/eos/effects/shipcommandbonuseffectivemultiplierorecapital2.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + if fit.extraAttributes["siege"]: + fit.ship.increaseItemAttr("commandBonusEffective", ship.getModifiedItemAttr("shipBonusORECapital2"), + skill="Capital Industrial Ships") diff --git a/eos/effects/shipmodescanrespostdiv.py b/eos/effects/shipmodescanrespostdiv.py new file mode 100644 index 000000000..2ad04ec22 --- /dev/null +++ b/eos/effects/shipmodescanrespostdiv.py @@ -0,0 +1,11 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.multiplyItemAttr( + "scanResolution", + 1 / module.getModifiedItemAttr("modeScanResPostDiv"), + stackingPenalties=True, + penaltyGroup="postDiv" + ) diff --git a/eos/effects/shipsettrackingbonusaf.py b/eos/effects/shipsettrackingbonusaf.py new file mode 100644 index 000000000..f8e952ffc --- /dev/null +++ b/eos/effects/shipsettrackingbonusaf.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"), + "trackingSpeed", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate") diff --git a/eos/effects/shipxlprojectiledamagerole.py b/eos/effects/shipxlprojectiledamagerole.py new file mode 100644 index 000000000..eaa09058e --- /dev/null +++ b/eos/effects/shipxlprojectiledamagerole.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"), + "damageMultiplier", ship.getModifiedItemAttr("shipBonusRole7")) diff --git a/eos/effects/siegewarfareshieldcapacitybonusreplacer.py b/eos/effects/siegewarfareshieldcapacitybonusreplacer.py new file mode 100644 index 000000000..4ec89d183 --- /dev/null +++ b/eos/effects/siegewarfareshieldcapacitybonusreplacer.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "gang" +gangBoost = "shieldCapacity" +gangBonus = "shieldCapacityBonus" + + +def handler(fit, container, context): + fit.ship.boostItemAttr(gangBoost, container.getModifiedItemAttr(gangBonus)) diff --git a/eos/effects/signatureradiuspreassignment.py b/eos/effects/signatureradiuspreassignment.py new file mode 100644 index 000000000..cb00419db --- /dev/null +++ b/eos/effects/signatureradiuspreassignment.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" +runTime = "early" + + +def handler(fit, module, context): + fit.ship.preAssignItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadius")) diff --git a/eos/effects/skirmishwarfareagilitybonusreplacer.py b/eos/effects/skirmishwarfareagilitybonusreplacer.py new file mode 100644 index 000000000..75aff212a --- /dev/null +++ b/eos/effects/skirmishwarfareagilitybonusreplacer.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "gang" +gangBoost = "agility" +gangBonus = "agilityBonus" + + +def handler(fit, container, context): + fit.ship.boostItemAttr(gangBoost, container.getModifiedItemAttr(gangBonus)) diff --git a/eos/effects/structureaoerofrolebonus.py b/eos/effects/structureaoerofrolebonus.py new file mode 100644 index 000000000..78b3205ab --- /dev/null +++ b/eos/effects/structureaoerofrolebonus.py @@ -0,0 +1,11 @@ +# Not used by any item +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/structurearmorhpmultiply.py b/eos/effects/structurearmorhpmultiply.py new file mode 100644 index 000000000..1e34232ed --- /dev/null +++ b/eos/effects/structurearmorhpmultiply.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" +runTime = "early" + + +def handler(fit, src, context): + fit.ship.multiplyItemAttr("hiddenArmorHPMultiplier", src.getModifiedItemAttr("armorHPMultiplier")) diff --git a/eos/effects/structureballisticcontrolsystem.py b/eos/effects/structureballisticcontrolsystem.py new file mode 100644 index 000000000..8a167b6be --- /dev/null +++ b/eos/effects/structureballisticcontrolsystem.py @@ -0,0 +1,17 @@ +# Not used by any item +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 new file mode 100644 index 000000000..df4384f5b --- /dev/null +++ b/eos/effects/structurecapacitorcapacitybonus.py @@ -0,0 +1,6 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.ship.increaseItemAttr("capacitorCapacity", ship.getModifiedItemAttr("capacitorBonus")) diff --git a/eos/effects/structureenergyneutralizerfalloff.py b/eos/effects/structureenergyneutralizerfalloff.py new file mode 100644 index 000000000..02ee9b4f8 --- /dev/null +++ b/eos/effects/structureenergyneutralizerfalloff.py @@ -0,0 +1,13 @@ +# Not used by any item +from eos.saveddata.module import State + +type = "active", "projected" + + +def handler(fit, container, context): + amount = 0 + if "projected" in context: + if (hasattr(container, "state") and container.state >= State.ACTIVE) or hasattr(container, "amountActive"): + amount = container.getModifiedItemAttr("energyNeutralizerAmount") + time = container.getModifiedItemAttr("duration") + fit.addDrain(container, time, amount, 0) diff --git a/eos/effects/structurefullpowerstatehitpointmodifier.py b/eos/effects/structurefullpowerstatehitpointmodifier.py new file mode 100644 index 000000000..54f9ce7b6 --- /dev/null +++ b/eos/effects/structurefullpowerstatehitpointmodifier.py @@ -0,0 +1,7 @@ +# Not used by any item +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 new file mode 100644 index 000000000..09e2d31c7 --- /dev/null +++ b/eos/effects/structurehiddenarmorhpmultiplier.py @@ -0,0 +1,6 @@ +# Not used by any item +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 new file mode 100644 index 000000000..bd8d79366 --- /dev/null +++ b/eos/effects/structurehiddenmissiledamagemultiplier.py @@ -0,0 +1,10 @@ +# Not used by any item +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/structuremissileguidanceenhancer.py b/eos/effects/structuremissileguidanceenhancer.py new file mode 100644 index 000000000..9c0ce2515 --- /dev/null +++ b/eos/effects/structuremissileguidanceenhancer.py @@ -0,0 +1,15 @@ +# Not used by any item +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 new file mode 100644 index 000000000..ed8e9c074 --- /dev/null +++ b/eos/effects/structuremodifypowerrechargerate.py @@ -0,0 +1,6 @@ +# Not used by any item +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 new file mode 100644 index 000000000..9a39b452a --- /dev/null +++ b/eos/effects/structuremoduleeffectecm.py @@ -0,0 +1,10 @@ +# Not used by any item +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 new file mode 100644 index 000000000..08aa61e57 --- /dev/null +++ b/eos/effects/structuremoduleeffectremotesensordampener.py @@ -0,0 +1,14 @@ +# Not used by any item + +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 new file mode 100644 index 000000000..aa0b0d553 --- /dev/null +++ b/eos/effects/structuremoduleeffectstasiswebifier.py @@ -0,0 +1,9 @@ +# Not used by any item +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 new file mode 100644 index 000000000..7c15140e3 --- /dev/null +++ b/eos/effects/structuremoduleeffecttargetpainter.py @@ -0,0 +1,8 @@ +# Not used by any item +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 new file mode 100644 index 000000000..3b6365e37 --- /dev/null +++ b/eos/effects/structuremoduleeffectweapondisruption.py @@ -0,0 +1,26 @@ +# Not used by any item + +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/structurerigaoevelocitybonussingletargetmissiles.py b/eos/effects/structurerigaoevelocitybonussingletargetmissiles.py new file mode 100644 index 000000000..6d4503ec7 --- /dev/null +++ b/eos/effects/structurerigaoevelocitybonussingletargetmissiles.py @@ -0,0 +1,10 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + groups = ("Structure Anti-Subcapital Missile", "Structure Anti-Capital Missile") + + fit.modules.filteredItemBoost(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 new file mode 100644 index 000000000..e2c6c613b --- /dev/null +++ b/eos/effects/structurerigdoomsdaydamageloss.py @@ -0,0 +1,8 @@ +# Not used by any item +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 new file mode 100644 index 000000000..a68ca1054 --- /dev/null +++ b/eos/effects/structurerigdoomsdaytargetamountbonus.py @@ -0,0 +1,8 @@ +# Not used by any item +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 new file mode 100644 index 000000000..dfeae5753 --- /dev/null +++ b/eos/effects/structurerigewcapacitorneed.py @@ -0,0 +1,9 @@ +# Not used by any item +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 new file mode 100644 index 000000000..fa6ed13c9 --- /dev/null +++ b/eos/effects/structurerigewmaxrangefalloff.py @@ -0,0 +1,18 @@ +# Not used by any item +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 new file mode 100644 index 000000000..34e840638 --- /dev/null +++ b/eos/effects/structurerigexplosionradiusbonusaoemissiles.py @@ -0,0 +1,8 @@ +# Not used by any item +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 new file mode 100644 index 000000000..95fee8a55 --- /dev/null +++ b/eos/effects/structurerigmaxtargetrange.py @@ -0,0 +1,6 @@ +# Not used by any item +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 new file mode 100644 index 000000000..47e2ce5d2 --- /dev/null +++ b/eos/effects/structurerigmaxtargets.py @@ -0,0 +1,6 @@ +# Not used by any item +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 new file mode 100644 index 000000000..c570161fa --- /dev/null +++ b/eos/effects/structurerigneutralizercapacitorneed.py @@ -0,0 +1,8 @@ +# Not used by any item +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 new file mode 100644 index 000000000..d123e0278 --- /dev/null +++ b/eos/effects/structurerigneutralizermaxrangefalloffeffectiveness.py @@ -0,0 +1,12 @@ +# Not used by any item +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 new file mode 100644 index 000000000..a32e63ecc --- /dev/null +++ b/eos/effects/structurerigpdbcapacitorneed.py @@ -0,0 +1,8 @@ +# Not used by any item +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 new file mode 100644 index 000000000..64994bf26 --- /dev/null +++ b/eos/effects/structurerigpdbmaxrange.py @@ -0,0 +1,8 @@ +# Not used by any item +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 new file mode 100644 index 000000000..8d68050e6 --- /dev/null +++ b/eos/effects/structurerigsensorresolution.py @@ -0,0 +1,7 @@ +# Not used by any item +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 new file mode 100644 index 000000000..636134b1f --- /dev/null +++ b/eos/effects/structurerigvelocitybonusaoemissiles.py @@ -0,0 +1,8 @@ +# Not used by any item +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 new file mode 100644 index 000000000..1af82afd0 --- /dev/null +++ b/eos/effects/structurerigvelocitybonussingletargetmissiles.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + groups = ("Structure Anti-Subcapital Missile", "Structure Anti-Capital Missile") + fit.modules.filteredItemBoost(lambda mod: mod.charge.group.name in groups, + "maxVelocity", src.getModifiedItemAttr("structureRigMissileVelocityBonus"), + stackingPenalties=True) diff --git a/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py b/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py new file mode 100644 index 000000000..aee7b22f9 --- /dev/null +++ b/eos/effects/structurewarpscrambleblockmwdwithnpceffect.py @@ -0,0 +1,17 @@ +# Not used by any item +from eos.saveddata.module import State + +# 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 > State.ONLINE: + mod.state = State.ONLINE + if not mod.isEmpty and mod.item.requiresSkill("Micro Jump Drive Operation") and mod.state > State.ONLINE: + mod.state = State.ONLINE diff --git a/eos/effects/subsystembonusamarrdefensive2armorrepheat.py b/eos/effects/subsystembonusamarrdefensive2armorrepheat.py new file mode 100644 index 000000000..b8d62df63 --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensive2armorrepheat.py @@ -0,0 +1,12 @@ +# subsystemBonusAmarrDefensive2ArmorRepHeat +# +# Used by: +# Subsystem: Legion Defensive - Nanobot Injector +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "overloadArmorDamageAmount", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "overloadSelfDurationBonus", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrdefensive2remotearmorrepairamount.py b/eos/effects/subsystembonusamarrdefensive2remotearmorrepairamount.py new file mode 100644 index 000000000..1c092a9ff --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensive2remotearmorrepairamount.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" +runTime = "early" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), + "armorDamageAmount", module.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), + skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrdefensivearmoredwarfare.py b/eos/effects/subsystembonusamarrdefensivearmoredwarfare.py new file mode 100644 index 000000000..ca2480638 --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensivearmoredwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrdefensivearmorresistance.py b/eos/effects/subsystembonusamarrdefensivearmorresistance.py new file mode 100644 index 000000000..ea42d6a15 --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensivearmorresistance.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + for type in ("Em", "Explosive", "Kinetic", "Thermal"): + fit.ship.boostItemAttr("armor{0}DamageResonance".format(type), + module.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrdefensiveinformationwarfare.py b/eos/effects/subsystembonusamarrdefensiveinformationwarfare.py new file mode 100644 index 000000000..5f8a91832 --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensiveinformationwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrdefensiveinformationwarfarehidden.py b/eos/effects/subsystembonusamarrdefensiveinformationwarfarehidden.py new file mode 100644 index 000000000..7dd70fefa --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensiveinformationwarfarehidden.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"), + "commandBonusHidden", module.getModifiedItemAttr("subsystemBonusAmarrDefensive"), skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrdefensivescanprobestrength2.py b/eos/effects/subsystembonusamarrdefensivescanprobestrength2.py new file mode 100644 index 000000000..7f4ced1f8 --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensivescanprobestrength2.py @@ -0,0 +1,11 @@ +# subSystemBonusAmarrDefensiveScanProbeStrength2 +# +# Used by: +# Subsystem: Legion Defensive - Covert Reconfiguration +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"), + "baseSensorStrength", module.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), + skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrdefensiveskirmishwarfare.py b/eos/effects/subsystembonusamarrdefensiveskirmishwarfare.py new file mode 100644 index 000000000..34c780376 --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensiveskirmishwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusAmarrDefensive"), + skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrdefensivetractorbeambonus3.py b/eos/effects/subsystembonusamarrdefensivetractorbeambonus3.py new file mode 100644 index 000000000..f2df1979b --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensivetractorbeambonus3.py @@ -0,0 +1,15 @@ +# subSystemBonusAmarrDefensiveTractorBeamBonus3 +# +# Used by: +# Subsystem: Legion Defensive - Covert Reconfiguration +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxRange", module.getModifiedItemAttr("subsystemBonusAmarrDefensive3"), + skill="Amarr Defensive Systems") + + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxTractorVelocity", module.getModifiedItemAttr("subsystemBonusAmarrDefensive3"), + skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrelectronic2maxtargetingrange.py b/eos/effects/subsystembonusamarrelectronic2maxtargetingrange.py new file mode 100644 index 000000000..5ae759435 --- /dev/null +++ b/eos/effects/subsystembonusamarrelectronic2maxtargetingrange.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("subsystemBonusAmarrElectronic2"), + skill="Amarr Electronic Systems") diff --git a/eos/effects/subsystembonusamarrelectronic2scanresolution.py b/eos/effects/subsystembonusamarrelectronic2scanresolution.py new file mode 100644 index 000000000..f62230dac --- /dev/null +++ b/eos/effects/subsystembonusamarrelectronic2scanresolution.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("subsystemBonusAmarrElectronic2"), + skill="Amarr Electronic Systems") diff --git a/eos/effects/subsystembonusamarrelectronic2tractorbeamrange.py b/eos/effects/subsystembonusamarrelectronic2tractorbeamrange.py new file mode 100644 index 000000000..2e49bfe9d --- /dev/null +++ b/eos/effects/subsystembonusamarrelectronic2tractorbeamrange.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxRange", module.getModifiedItemAttr("subsystemBonusAmarrElectronic2"), + skill="Amarr Electronic Systems") diff --git a/eos/effects/subsystembonusamarrelectronic2tractorbeamvelocity.py b/eos/effects/subsystembonusamarrelectronic2tractorbeamvelocity.py new file mode 100644 index 000000000..0af403adc --- /dev/null +++ b/eos/effects/subsystembonusamarrelectronic2tractorbeamvelocity.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxTractorVelocity", module.getModifiedItemAttr("subsystemBonusAmarrElectronic2"), + skill="Amarr Electronic Systems") diff --git a/eos/effects/subsystembonusamarrelectronicenergydestabilizeramount.py b/eos/effects/subsystembonusamarrelectronicenergydestabilizeramount.py new file mode 100644 index 000000000..e40b2fef6 --- /dev/null +++ b/eos/effects/subsystembonusamarrelectronicenergydestabilizeramount.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", + "energyNeutralizerAmount", + module.getModifiedItemAttr("subsystemBonusAmarrElectronic"), + skill="Amarr Electronic Systems") diff --git a/eos/effects/subsystembonusamarrelectronicenergyvampireamount.py b/eos/effects/subsystembonusamarrelectronicenergyvampireamount.py new file mode 100644 index 000000000..e6723b196 --- /dev/null +++ b/eos/effects/subsystembonusamarrelectronicenergyvampireamount.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", + "powerTransferAmount", module.getModifiedItemAttr("subsystemBonusAmarrElectronic"), + skill="Amarr Electronic Systems") diff --git a/eos/effects/subsystembonusamarrelectronicscanprobestrength.py b/eos/effects/subsystembonusamarrelectronicscanprobestrength.py new file mode 100644 index 000000000..8b8e5ee61 --- /dev/null +++ b/eos/effects/subsystembonusamarrelectronicscanprobestrength.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe", + "baseSensorStrength", module.getModifiedItemAttr("subsystemBonusAmarrElectronic"), + skill="Amarr Electronic Systems") diff --git a/eos/effects/subsystembonusamarrelectronicscanstrengthradar.py b/eos/effects/subsystembonusamarrelectronicscanstrengthradar.py new file mode 100644 index 000000000..e0b13d37a --- /dev/null +++ b/eos/effects/subsystembonusamarrelectronicscanstrengthradar.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("scanRadarStrength", module.getModifiedItemAttr("subsystemBonusAmarrElectronic"), + skill="Amarr Electronic Systems") diff --git a/eos/effects/subsystembonusamarrengineeringcapacitorcapacity.py b/eos/effects/subsystembonusamarrengineeringcapacitorcapacity.py new file mode 100644 index 000000000..22e8f4d41 --- /dev/null +++ b/eos/effects/subsystembonusamarrengineeringcapacitorcapacity.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("capacitorCapacity", module.getModifiedItemAttr("subsystemBonusAmarrCore"), + skill="Amarr Core Systems") diff --git a/eos/effects/subsystembonusamarrengineeringcapacitorrecharge.py b/eos/effects/subsystembonusamarrengineeringcapacitorrecharge.py new file mode 100644 index 000000000..5471853cd --- /dev/null +++ b/eos/effects/subsystembonusamarrengineeringcapacitorrecharge.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("rechargeRate", module.getModifiedItemAttr("subsystemBonusAmarrCore"), + skill="Amarr Core Systems") diff --git a/eos/effects/subsystembonusamarrengineeringpoweroutput.py b/eos/effects/subsystembonusamarrengineeringpoweroutput.py new file mode 100644 index 000000000..6ab9a9ad3 --- /dev/null +++ b/eos/effects/subsystembonusamarrengineeringpoweroutput.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("powerOutput", module.getModifiedItemAttr("subsystemBonusAmarrCore"), + skill="Amarr Core Systems") diff --git a/eos/effects/subsystembonusamarroffensive2hamemdamage.py b/eos/effects/subsystembonusamarroffensive2hamemdamage.py new file mode 100644 index 000000000..efc2542a7 --- /dev/null +++ b/eos/effects/subsystembonusamarroffensive2hamemdamage.py @@ -0,0 +1,11 @@ +# subsystemBonusAmarrOffensive2HAMEmDamage +# +# Used by: +# Subsystem: Legion Offensive - Assault Optimization +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"), + "emDamage", module.getModifiedItemAttr("subsystemBonusAmarrOffensive2"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensive2hamexplosivedamage.py b/eos/effects/subsystembonusamarroffensive2hamexplosivedamage.py new file mode 100644 index 000000000..892f1d13f --- /dev/null +++ b/eos/effects/subsystembonusamarroffensive2hamexplosivedamage.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"), + "explosiveDamage", module.getModifiedItemAttr("subsystemBonusAmarrOffensive2"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensive2hamkineticdamage.py b/eos/effects/subsystembonusamarroffensive2hamkineticdamage.py new file mode 100644 index 000000000..c638eea08 --- /dev/null +++ b/eos/effects/subsystembonusamarroffensive2hamkineticdamage.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"), + "kineticDamage", module.getModifiedItemAttr("subsystemBonusAmarrOffensive2"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensive2hamthermaldamage.py b/eos/effects/subsystembonusamarroffensive2hamthermaldamage.py new file mode 100644 index 000000000..e456df6ff --- /dev/null +++ b/eos/effects/subsystembonusamarroffensive2hamthermaldamage.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"), + "thermalDamage", module.getModifiedItemAttr("subsystemBonusAmarrOffensive2"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensive3dronehp.py b/eos/effects/subsystembonusamarroffensive3dronehp.py new file mode 100644 index 000000000..5160060df --- /dev/null +++ b/eos/effects/subsystembonusamarroffensive3dronehp.py @@ -0,0 +1,12 @@ +# subsystemBonusAmarrOffensive3DroneHP +# +# Used by: +# Subsystem: Legion Offensive - Drone Synthesis Projector +type = "passive" + + +def handler(fit, module, context): + for layer in ("shieldCapacity", "armorHP", "hp"): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), layer, + module.getModifiedItemAttr("subsystemBonusAmarrOffensive3"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensiveassaultmissilelauncherrof.py b/eos/effects/subsystembonusamarroffensiveassaultmissilelauncherrof.py new file mode 100644 index 000000000..fe66e0d40 --- /dev/null +++ b/eos/effects/subsystembonusamarroffensiveassaultmissilelauncherrof.py @@ -0,0 +1,11 @@ +# subsystemBonusAmarrOffensiveAssaultMissileLauncherROF +# +# Used by: +# Subsystem: Legion Offensive - Assault Optimization +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Light", + "speed", module.getModifiedItemAttr("subsystemBonusAmarrOffensive"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensivedronedamagemultiplier.py b/eos/effects/subsystembonusamarroffensivedronedamagemultiplier.py new file mode 100644 index 000000000..40f371fd4 --- /dev/null +++ b/eos/effects/subsystembonusamarroffensivedronedamagemultiplier.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "damageMultiplier", module.getModifiedItemAttr("subsystemBonusAmarrOffensive"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensiveenergyweaponcapacitorneed.py b/eos/effects/subsystembonusamarroffensiveenergyweaponcapacitorneed.py new file mode 100644 index 000000000..51a9c7809 --- /dev/null +++ b/eos/effects/subsystembonusamarroffensiveenergyweaponcapacitorneed.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"), + "capacitorNeed", module.getModifiedItemAttr("subsystemBonusAmarrOffensive"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensiveheavyassaultmissilelauncherrof.py b/eos/effects/subsystembonusamarroffensiveheavyassaultmissilelauncherrof.py new file mode 100644 index 000000000..52440263a --- /dev/null +++ b/eos/effects/subsystembonusamarroffensiveheavyassaultmissilelauncherrof.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault", + "speed", module.getModifiedItemAttr("subsystemBonusAmarrOffensive"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensiveheavymissilelauncherrof.py b/eos/effects/subsystembonusamarroffensiveheavymissilelauncherrof.py new file mode 100644 index 000000000..c0db27ad2 --- /dev/null +++ b/eos/effects/subsystembonusamarroffensiveheavymissilelauncherrof.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy", + "speed", module.getModifiedItemAttr("subsystemBonusAmarrOffensive"), + skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarrpropulsionagility.py b/eos/effects/subsystembonusamarrpropulsionagility.py new file mode 100644 index 000000000..a8d84bdba --- /dev/null +++ b/eos/effects/subsystembonusamarrpropulsionagility.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("agility", module.getModifiedItemAttr("subsystemBonusAmarrPropulsion"), + skill="Amarr Propulsion Systems") diff --git a/eos/effects/subsystembonusamarrpropulsionmwdpenalty.py b/eos/effects/subsystembonusamarrpropulsionmwdpenalty.py new file mode 100644 index 000000000..cc907e436 --- /dev/null +++ b/eos/effects/subsystembonusamarrpropulsionmwdpenalty.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"), + "signatureRadiusBonus", module.getModifiedItemAttr("subsystemBonusAmarrPropulsion"), + skill="Amarr Propulsion Systems") diff --git a/eos/effects/subsystembonuscaldaridefensive2remoteshieldtransporteramount.py b/eos/effects/subsystembonuscaldaridefensive2remoteshieldtransporteramount.py new file mode 100644 index 000000000..5835257fa --- /dev/null +++ b/eos/effects/subsystembonuscaldaridefensive2remoteshieldtransporteramount.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" +runTime = "early" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), + "shieldBonus", module.getModifiedItemAttr("subsystemBonusCaldariDefensive2"), + skill="Caldari Defensive Systems") diff --git a/eos/effects/subsystembonuscaldaridefensive2shieldboostheat.py b/eos/effects/subsystembonuscaldaridefensive2shieldboostheat.py new file mode 100644 index 000000000..bd28f05c4 --- /dev/null +++ b/eos/effects/subsystembonuscaldaridefensive2shieldboostheat.py @@ -0,0 +1,14 @@ +# subsystemBonusCaldariDefensive2ShieldBoostHeat +# +# Used by: +# Subsystem: Tengu Defensive - Amplification Node +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"), + "overloadSelfDurationBonus", src.getModifiedItemAttr("subsystemBonusCaldariDefensive2"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"), + "overloadShieldBonus", src.getModifiedItemAttr("subsystemBonusCaldariDefensive2"), + skill="Caldari Defensive Systems") diff --git a/eos/effects/subsystembonuscaldaridefensive3tractorbeambonus.py b/eos/effects/subsystembonuscaldaridefensive3tractorbeambonus.py new file mode 100644 index 000000000..9802868e5 --- /dev/null +++ b/eos/effects/subsystembonuscaldaridefensive3tractorbeambonus.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxRange", src.getModifiedItemAttr("subsystemBonusCaldariDefensive3"), stackingPenalties=True, skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxTractorVelocity", src.getModifiedItemAttr("subsystemBonusCaldariDefensive3"), skill="Caldari Defensive Systems") diff --git a/eos/effects/subsystembonuscaldaridefensiveinformationwarfare.py b/eos/effects/subsystembonuscaldaridefensiveinformationwarfare.py new file mode 100644 index 000000000..a6245c21a --- /dev/null +++ b/eos/effects/subsystembonuscaldaridefensiveinformationwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") diff --git a/eos/effects/subsystembonuscaldaridefensiveinformationwarfarehidden.py b/eos/effects/subsystembonuscaldaridefensiveinformationwarfarehidden.py new file mode 100644 index 000000000..0cf7a3ef8 --- /dev/null +++ b/eos/effects/subsystembonuscaldaridefensiveinformationwarfarehidden.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"), + "commandBonusHidden", module.getModifiedItemAttr("subsystemBonusCaldariDefensive"), skill="Caldari Defensive Systems") diff --git a/eos/effects/subsystembonuscaldaridefensiveshieldrechargerate.py b/eos/effects/subsystembonuscaldaridefensiveshieldrechargerate.py new file mode 100644 index 000000000..7ddb92b06 --- /dev/null +++ b/eos/effects/subsystembonuscaldaridefensiveshieldrechargerate.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("shieldRechargeRate", module.getModifiedItemAttr("subsystemBonusCaldariDefensive2"), + skill="Caldari Defensive Systems") diff --git a/eos/effects/subsystembonuscaldaridefensiveshieldresistance.py b/eos/effects/subsystembonuscaldaridefensiveshieldresistance.py new file mode 100644 index 000000000..32dd02f63 --- /dev/null +++ b/eos/effects/subsystembonuscaldaridefensiveshieldresistance.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + for type in ("Em", "Explosive", "Kinetic", "Thermal"): + fit.ship.boostItemAttr("shield{0}DamageResonance".format(type), + module.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") diff --git a/eos/effects/subsystembonuscaldaridefensivesiegewarfare.py b/eos/effects/subsystembonuscaldaridefensivesiegewarfare.py new file mode 100644 index 000000000..0dbfb904b --- /dev/null +++ b/eos/effects/subsystembonuscaldaridefensivesiegewarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") diff --git a/eos/effects/subsystembonuscaldaridefensiveskirmishwarfare.py b/eos/effects/subsystembonuscaldaridefensiveskirmishwarfare.py new file mode 100644 index 000000000..2841c2d14 --- /dev/null +++ b/eos/effects/subsystembonuscaldaridefensiveskirmishwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusCaldariDefensive"), + skill="Caldari Defensive Systems") diff --git a/eos/effects/subsystembonuscaldarielectronic2maxtargetingrange.py b/eos/effects/subsystembonuscaldarielectronic2maxtargetingrange.py new file mode 100644 index 000000000..dfecf6025 --- /dev/null +++ b/eos/effects/subsystembonuscaldarielectronic2maxtargetingrange.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("subsystemBonusCaldariElectronic2"), + skill="Caldari Electronic Systems") diff --git a/eos/effects/subsystembonuscaldarielectronic2tractorbeamrange.py b/eos/effects/subsystembonuscaldarielectronic2tractorbeamrange.py new file mode 100644 index 000000000..dec075218 --- /dev/null +++ b/eos/effects/subsystembonuscaldarielectronic2tractorbeamrange.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxRange", module.getModifiedItemAttr("subsystemBonusCaldariElectronic2"), + skill="Caldari Electronic Systems") diff --git a/eos/effects/subsystembonuscaldarielectronic2tractorbeamvelocity.py b/eos/effects/subsystembonuscaldarielectronic2tractorbeamvelocity.py new file mode 100644 index 000000000..93b628f94 --- /dev/null +++ b/eos/effects/subsystembonuscaldarielectronic2tractorbeamvelocity.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxTractorVelocity", module.getModifiedItemAttr("subsystemBonusCaldariElectronic2"), + skill="Caldari Electronic Systems") diff --git a/eos/effects/subsystembonuscaldarielectroniccpu.py b/eos/effects/subsystembonuscaldarielectroniccpu.py new file mode 100644 index 000000000..a953001a6 --- /dev/null +++ b/eos/effects/subsystembonuscaldarielectroniccpu.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("cpuOutput", module.getModifiedItemAttr("subsystemBonusCaldariElectronic"), + skill="Caldari Electronic Systems") diff --git a/eos/effects/subsystembonuscaldarielectronicecmrange.py b/eos/effects/subsystembonuscaldarielectronicecmrange.py new file mode 100644 index 000000000..52c4a2514 --- /dev/null +++ b/eos/effects/subsystembonuscaldarielectronicecmrange.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", + "maxRange", module.getModifiedItemAttr("subsystemBonusCaldariElectronic"), + skill="Caldari Electronic Systems") diff --git a/eos/effects/subsystembonuscaldarielectronicscanprobestrength.py b/eos/effects/subsystembonuscaldarielectronicscanprobestrength.py new file mode 100644 index 000000000..a6678f610 --- /dev/null +++ b/eos/effects/subsystembonuscaldarielectronicscanprobestrength.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe", + "baseSensorStrength", module.getModifiedItemAttr("subsystemBonusCaldariElectronic"), + skill="Caldari Electronic Systems") diff --git a/eos/effects/subsystembonuscaldarielectronicscanstrengthgravimetric.py b/eos/effects/subsystembonuscaldarielectronicscanstrengthgravimetric.py new file mode 100644 index 000000000..76e9e6a5e --- /dev/null +++ b/eos/effects/subsystembonuscaldarielectronicscanstrengthgravimetric.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("scanGravimetricStrength", module.getModifiedItemAttr("subsystemBonusCaldariElectronic"), + skill="Caldari Electronic Systems") diff --git a/eos/effects/subsystembonuscaldariengineeringcapacitorcapacity.py b/eos/effects/subsystembonuscaldariengineeringcapacitorcapacity.py new file mode 100644 index 000000000..e092ba001 --- /dev/null +++ b/eos/effects/subsystembonuscaldariengineeringcapacitorcapacity.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("capacitorCapacity", module.getModifiedItemAttr("subsystemBonusCaldariCore"), + skill="Caldari Core Systems") diff --git a/eos/effects/subsystembonuscaldariengineeringcapacitorrecharge.py b/eos/effects/subsystembonuscaldariengineeringcapacitorrecharge.py new file mode 100644 index 000000000..98d3a2935 --- /dev/null +++ b/eos/effects/subsystembonuscaldariengineeringcapacitorrecharge.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("rechargeRate", module.getModifiedItemAttr("subsystemBonusCaldariCore"), + skill="Caldari Core Systems") diff --git a/eos/effects/subsystembonuscaldariengineeringpoweroutput.py b/eos/effects/subsystembonuscaldariengineeringpoweroutput.py new file mode 100644 index 000000000..2726e0af2 --- /dev/null +++ b/eos/effects/subsystembonuscaldariengineeringpoweroutput.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("powerOutput", module.getModifiedItemAttr("subsystemBonusCaldariCore"), + skill="Caldari Core Systems") diff --git a/eos/effects/subsystembonuscaldarioffensive3ewstrengthgrav.py b/eos/effects/subsystembonuscaldarioffensive3ewstrengthgrav.py new file mode 100644 index 000000000..4f51c23af --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensive3ewstrengthgrav.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", + "scanGravimetricStrengthBonus", + module.getModifiedItemAttr("subsystemBonusCaldariOffensive3"), + skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonuscaldarioffensive3ewstrengthladar.py b/eos/effects/subsystembonuscaldarioffensive3ewstrengthladar.py new file mode 100644 index 000000000..8114c23d8 --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensive3ewstrengthladar.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", + "scanLadarStrengthBonus", + module.getModifiedItemAttr("subsystemBonusCaldariOffensive3"), + skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonuscaldarioffensive3ewstrengthmagn.py b/eos/effects/subsystembonuscaldarioffensive3ewstrengthmagn.py new file mode 100644 index 000000000..69f64527f --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensive3ewstrengthmagn.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", + "scanMagnetometricStrengthBonus", + module.getModifiedItemAttr("subsystemBonusCaldariOffensive3"), + skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonuscaldarioffensive3ewstrengthradar.py b/eos/effects/subsystembonuscaldarioffensive3ewstrengthradar.py new file mode 100644 index 000000000..47eb2f29e --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensive3ewstrengthradar.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", + "scanRadarStrengthBonus", + module.getModifiedItemAttr("subsystemBonusCaldariOffensive3"), + skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonuscaldarioffensive3heavyassaultmissilevelocity.py b/eos/effects/subsystembonuscaldarioffensive3heavyassaultmissilevelocity.py new file mode 100644 index 000000000..b595798d8 --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensive3heavyassaultmissilevelocity.py @@ -0,0 +1,11 @@ +# subsystemBonusCaldariOffensive3HeavyAssaultMissileVelocity +# +# Used by: +# Subsystem: Tengu Offensive - Accelerated Ejection Bay +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"), + "maxVelocity", module.getModifiedItemAttr("subsystemBonusCaldariOffensive3"), + skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonuscaldarioffensive3heavymissilevelocity.py b/eos/effects/subsystembonuscaldarioffensive3heavymissilevelocity.py new file mode 100644 index 000000000..9f7a98f9d --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensive3heavymissilevelocity.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"), + "maxVelocity", module.getModifiedItemAttr("subsystemBonusCaldariOffensive3"), + skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonuscaldarioffensiveassaultmissilelauncherrof.py b/eos/effects/subsystembonuscaldarioffensiveassaultmissilelauncherrof.py new file mode 100644 index 000000000..02d2d3d03 --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensiveassaultmissilelauncherrof.py @@ -0,0 +1,11 @@ +# subsystemBonusCaldariOffensiveAssaultMissileLauncherROF +# +# Used by: +# Variations of subsystem: Tengu Offensive - Accelerated Ejection Bay (3 of 4) +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Light", + "speed", module.getModifiedItemAttr("subsystemBonusCaldariOffensive"), + skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonuscaldarioffensiveheavyassaultmissilelauncherrof.py b/eos/effects/subsystembonuscaldarioffensiveheavyassaultmissilelauncherrof.py new file mode 100644 index 000000000..b9923a206 --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensiveheavyassaultmissilelauncherrof.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault", + "speed", module.getModifiedItemAttr("subsystemBonusCaldariOffensive"), + skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonuscaldarioffensiveheavymissilelauncherrof.py b/eos/effects/subsystembonuscaldarioffensiveheavymissilelauncherrof.py new file mode 100644 index 000000000..a0c74ee2a --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensiveheavymissilelauncherrof.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy", + "speed", module.getModifiedItemAttr("subsystemBonusCaldariOffensive"), + skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonuscaldaripropulsion2warpcapacitor2.py b/eos/effects/subsystembonuscaldaripropulsion2warpcapacitor2.py new file mode 100644 index 000000000..b4b8221c3 --- /dev/null +++ b/eos/effects/subsystembonuscaldaripropulsion2warpcapacitor2.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("warpCapacitorNeed", module.getModifiedItemAttr("subsystemBonusCaldariPropulsion2"), + skill="Caldari Propulsion Systems") diff --git a/eos/effects/subsystembonuscaldaripropulsionagility.py b/eos/effects/subsystembonuscaldaripropulsionagility.py new file mode 100644 index 000000000..2bd22b70d --- /dev/null +++ b/eos/effects/subsystembonuscaldaripropulsionagility.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("agility", module.getModifiedItemAttr("subsystemBonusCaldariPropulsion"), + skill="Caldari Propulsion Systems") diff --git a/eos/effects/subsystembonuscaldaripropulsionwarpspeed.py b/eos/effects/subsystembonuscaldaripropulsionwarpspeed.py new file mode 100644 index 000000000..cfd450c94 --- /dev/null +++ b/eos/effects/subsystembonuscaldaripropulsionwarpspeed.py @@ -0,0 +1,10 @@ +# subsystemBonusCaldariPropulsionWarpSpeed +# +# Used by: +# Subsystem: Tengu Propulsion - Chassis Optimization +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("baseWarpSpeed", module.getModifiedItemAttr("subsystemBonusCaldariPropulsion"), + skill="Caldari Propulsion Systems") diff --git a/eos/effects/subsystembonusgallentedefensive2armorrepheat.py b/eos/effects/subsystembonusgallentedefensive2armorrepheat.py new file mode 100644 index 000000000..e35f7cd1c --- /dev/null +++ b/eos/effects/subsystembonusgallentedefensive2armorrepheat.py @@ -0,0 +1,12 @@ +# subsystemBonusGallenteDefensive2ArmorRepHeat +# +# Used by: +# Subsystem: Proteus Defensive - Nanobot Injector +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "overloadArmorDamageAmount", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive2"), skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "overloadSelfDurationBonus", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive2"), skill="Gallente Defensive Systems") diff --git a/eos/effects/subsystembonusgallentedefensive2remotearmorrepairamount.py b/eos/effects/subsystembonusgallentedefensive2remotearmorrepairamount.py new file mode 100644 index 000000000..42f35203d --- /dev/null +++ b/eos/effects/subsystembonusgallentedefensive2remotearmorrepairamount.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" +runTime = "early" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), + "armorDamageAmount", module.getModifiedItemAttr("subsystemBonusGallenteDefensive2"), + skill="Gallente Defensive Systems") diff --git a/eos/effects/subsystembonusgallentedefensive3tractorbeambonus.py b/eos/effects/subsystembonusgallentedefensive3tractorbeambonus.py new file mode 100644 index 000000000..4493eaa7a --- /dev/null +++ b/eos/effects/subsystembonusgallentedefensive3tractorbeambonus.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", "maxRange", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive3"), skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", "maxTractorVelocity", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive3"), skill="Gallente Defensive Systems") diff --git a/eos/effects/subsystembonusgallentedefensivearmoredwarfare.py b/eos/effects/subsystembonusgallentedefensivearmoredwarfare.py new file mode 100644 index 000000000..8c7e75a9e --- /dev/null +++ b/eos/effects/subsystembonusgallentedefensivearmoredwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") diff --git a/eos/effects/subsystembonusgallentedefensivearmorresistance.py b/eos/effects/subsystembonusgallentedefensivearmorresistance.py new file mode 100644 index 000000000..89c793799 --- /dev/null +++ b/eos/effects/subsystembonusgallentedefensivearmorresistance.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + for type in ("Em", "Explosive", "Kinetic", "Thermal"): + fit.ship.boostItemAttr("armor{0}DamageResonance".format(type), + module.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") diff --git a/eos/effects/subsystembonusgallentedefensiveinformationwarfare.py b/eos/effects/subsystembonusgallentedefensiveinformationwarfare.py new file mode 100644 index 000000000..02d96a8a7 --- /dev/null +++ b/eos/effects/subsystembonusgallentedefensiveinformationwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") diff --git a/eos/effects/subsystembonusgallentedefensiveinformationwarfarehidden.py b/eos/effects/subsystembonusgallentedefensiveinformationwarfarehidden.py new file mode 100644 index 000000000..19b0cf02e --- /dev/null +++ b/eos/effects/subsystembonusgallentedefensiveinformationwarfarehidden.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"), + "commandBonusHidden", module.getModifiedItemAttr("subsystemBonusGallenteDefensive"), skill="Gallente Defensive Systems") diff --git a/eos/effects/subsystembonusgallentedefensiveskirmishwarfare.py b/eos/effects/subsystembonusgallentedefensiveskirmishwarfare.py new file mode 100644 index 000000000..e69d3498c --- /dev/null +++ b/eos/effects/subsystembonusgallentedefensiveskirmishwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusGallenteDefensive"), + skill="Gallente Defensive Systems") diff --git a/eos/effects/subsystembonusgallenteelectronic2maxtargetingrange.py b/eos/effects/subsystembonusgallenteelectronic2maxtargetingrange.py new file mode 100644 index 000000000..5cf5da2da --- /dev/null +++ b/eos/effects/subsystembonusgallenteelectronic2maxtargetingrange.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("subsystemBonusGallenteElectronic2"), + skill="Gallente Electronic Systems") diff --git a/eos/effects/subsystembonusgallenteelectronic2tractorbeamrange.py b/eos/effects/subsystembonusgallenteelectronic2tractorbeamrange.py new file mode 100644 index 000000000..f20787889 --- /dev/null +++ b/eos/effects/subsystembonusgallenteelectronic2tractorbeamrange.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxRange", module.getModifiedItemAttr("subsystemBonusGallenteElectronic2"), + skill="Gallente Electronic Systems") diff --git a/eos/effects/subsystembonusgallenteelectronic2tractorbeamvelocity.py b/eos/effects/subsystembonusgallenteelectronic2tractorbeamvelocity.py new file mode 100644 index 000000000..179582a9f --- /dev/null +++ b/eos/effects/subsystembonusgallenteelectronic2tractorbeamvelocity.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxTractorVelocity", module.getModifiedItemAttr("subsystemBonusGallenteElectronic2"), + skill="Gallente Electronic Systems") diff --git a/eos/effects/subsystembonusgallenteelectroniccpu.py b/eos/effects/subsystembonusgallenteelectroniccpu.py new file mode 100644 index 000000000..2feb00f86 --- /dev/null +++ b/eos/effects/subsystembonusgallenteelectroniccpu.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("cpuOutput", module.getModifiedItemAttr("subsystemBonusGallenteElectronic"), + skill="Gallente Electronic Systems") diff --git a/eos/effects/subsystembonusgallenteelectronicscanprobestrength.py b/eos/effects/subsystembonusgallenteelectronicscanprobestrength.py new file mode 100644 index 000000000..9451a037e --- /dev/null +++ b/eos/effects/subsystembonusgallenteelectronicscanprobestrength.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe", + "baseSensorStrength", + module.getModifiedItemAttr("subsystemBonusGallenteElectronic"), + skill="Gallente Electronic Systems") diff --git a/eos/effects/subsystembonusgallenteelectronicscanstrengthmagnetometric.py b/eos/effects/subsystembonusgallenteelectronicscanstrengthmagnetometric.py new file mode 100644 index 000000000..34ab8b270 --- /dev/null +++ b/eos/effects/subsystembonusgallenteelectronicscanstrengthmagnetometric.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("scanMagnetometricStrength", module.getModifiedItemAttr("subsystemBonusGallenteElectronic"), + skill="Gallente Electronic Systems") diff --git a/eos/effects/subsystembonusgallenteelectronicwarpscramblerange.py b/eos/effects/subsystembonusgallenteelectronicwarpscramblerange.py new file mode 100644 index 000000000..951c13cea --- /dev/null +++ b/eos/effects/subsystembonusgallenteelectronicwarpscramblerange.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler", + "maxRange", module.getModifiedItemAttr("subsystemBonusGallenteElectronic"), + skill="Gallente Electronic Systems") diff --git a/eos/effects/subsystembonusgallenteengineering2dronemwd.py b/eos/effects/subsystembonusgallenteengineering2dronemwd.py new file mode 100644 index 000000000..e476b9f1d --- /dev/null +++ b/eos/effects/subsystembonusgallenteengineering2dronemwd.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), "maxVelocity", + module.getModifiedItemAttr("subsystemBonusGallenteCore2"), + skill="Gallente Core Systems") diff --git a/eos/effects/subsystembonusgallenteengineeringcapacitorrecharge.py b/eos/effects/subsystembonusgallenteengineeringcapacitorrecharge.py new file mode 100644 index 000000000..72bb25e12 --- /dev/null +++ b/eos/effects/subsystembonusgallenteengineeringcapacitorrecharge.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("rechargeRate", module.getModifiedItemAttr("subsystemBonusGallenteCore"), + skill="Gallente Core Systems") diff --git a/eos/effects/subsystembonusgallenteengineeringdronehp.py b/eos/effects/subsystembonusgallenteengineeringdronehp.py new file mode 100644 index 000000000..f9de09f6e --- /dev/null +++ b/eos/effects/subsystembonusgallenteengineeringdronehp.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + for layer in ("shieldCapacity", "armorHP", "hp"): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), layer, + module.getModifiedItemAttr("subsystemBonusGallenteCore"), + skill="Gallente Core Systems") diff --git a/eos/effects/subsystembonusgallenteengineeringpoweroutput.py b/eos/effects/subsystembonusgallenteengineeringpoweroutput.py new file mode 100644 index 000000000..9bcb7adf3 --- /dev/null +++ b/eos/effects/subsystembonusgallenteengineeringpoweroutput.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("powerOutput", module.getModifiedItemAttr("subsystemBonusGallenteCore"), + skill="Gallente Core Systems") diff --git a/eos/effects/subsystembonusgallenteoffensive3dronedamagemultiplier.py b/eos/effects/subsystembonusgallenteoffensive3dronedamagemultiplier.py new file mode 100644 index 000000000..d2eb14e1d --- /dev/null +++ b/eos/effects/subsystembonusgallenteoffensive3dronedamagemultiplier.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "damageMultiplier", module.getModifiedItemAttr("subsystemBonusGallenteOffensive3"), + skill="Gallente Offensive Systems") diff --git a/eos/effects/subsystembonusgallenteoffensivedronehp.py b/eos/effects/subsystembonusgallenteoffensivedronehp.py new file mode 100644 index 000000000..d02eab954 --- /dev/null +++ b/eos/effects/subsystembonusgallenteoffensivedronehp.py @@ -0,0 +1,12 @@ +# subsystemBonusGallenteOffensiveDroneHP +# +# Used by: +# Subsystem: Proteus Offensive - Drone Synthesis Projector +type = "passive" + + +def handler(fit, module, context): + for layer in ("shieldCapacity", "armorHP", "hp"): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), layer, + module.getModifiedItemAttr("subsystemBonusGallenteOffensive"), + skill="Gallente Offensive Systems") diff --git a/eos/effects/subsystembonusgallenteoffensivehybridweapondamagemultiplier.py b/eos/effects/subsystembonusgallenteoffensivehybridweapondamagemultiplier.py new file mode 100644 index 000000000..a94ff5eb0 --- /dev/null +++ b/eos/effects/subsystembonusgallenteoffensivehybridweapondamagemultiplier.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"), + "damageMultiplier", module.getModifiedItemAttr("subsystemBonusGallenteOffensive"), + skill="Gallente Offensive Systems") diff --git a/eos/effects/subsystembonusgallentepropulsion2warpcapacitor.py b/eos/effects/subsystembonusgallentepropulsion2warpcapacitor.py new file mode 100644 index 000000000..e74f2d22d --- /dev/null +++ b/eos/effects/subsystembonusgallentepropulsion2warpcapacitor.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("warpCapacitorNeed", module.getModifiedItemAttr("subsystemBonusGallentePropulsion2"), + skill="Gallente Propulsion Systems") diff --git a/eos/effects/subsystembonusgallentepropulsionagility.py b/eos/effects/subsystembonusgallentepropulsionagility.py new file mode 100644 index 000000000..e15ff4dee --- /dev/null +++ b/eos/effects/subsystembonusgallentepropulsionagility.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("agility", module.getModifiedItemAttr("subsystemBonusGallentePropulsion"), + skill="Gallente Propulsion Systems") diff --git a/eos/effects/subsystembonusgallentepropulsionmwdpenalty.py b/eos/effects/subsystembonusgallentepropulsionmwdpenalty.py new file mode 100644 index 000000000..98e2a1716 --- /dev/null +++ b/eos/effects/subsystembonusgallentepropulsionmwdpenalty.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"), + "signatureRadiusBonus", + module.getModifiedItemAttr("subsystemBonusGallentePropulsion"), + skill="Gallente Propulsion Systems") diff --git a/eos/effects/subsystembonusminmatardefensive2localrepheat.py b/eos/effects/subsystembonusminmatardefensive2localrepheat.py new file mode 100644 index 000000000..732ca1779 --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensive2localrepheat.py @@ -0,0 +1,17 @@ +# subsystemBonusMinmatarDefensive2LocalRepHeat +# +# Used by: +# Subsystem: Loki Defensive - Adaptive Defense Node +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems") or mod.item.requiresSkill("Shield Operation"), + "overloadSelfDurationBonus", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive2"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), + "overloadArmorDamageAmount", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive2"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"), + "overloadShieldBonus", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive2"), + skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensive2remoteshieldtransporteramount.py b/eos/effects/subsystembonusminmatardefensive2remoteshieldtransporteramount.py new file mode 100644 index 000000000..a044b34ae --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensive2remoteshieldtransporteramount.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" +runTime = "early" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), + "shieldBonus", module.getModifiedItemAttr("subsystemBonusMinmatarDefensive2"), + skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensive3tractorbeambonus.py b/eos/effects/subsystembonusminmatardefensive3tractorbeambonus.py new file mode 100644 index 000000000..46c0dc717 --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensive3tractorbeambonus.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", "maxRange", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive3"), skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", "maxTractorVelocity", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive3"), skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensivearmoredwarfare.py b/eos/effects/subsystembonusminmatardefensivearmoredwarfare.py new file mode 100644 index 000000000..b0646226d --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensivearmoredwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensivearmorresistance.py b/eos/effects/subsystembonusminmatardefensivearmorresistance.py new file mode 100644 index 000000000..155c521eb --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensivearmorresistance.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + for type in ("Em", "Explosive", "Kinetic", "Thermal"): + fit.ship.boostItemAttr("armor{0}DamageResonance".format(type), + module.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensiveshieldresistance.py b/eos/effects/subsystembonusminmatardefensiveshieldresistance.py new file mode 100644 index 000000000..fe65b628c --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensiveshieldresistance.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + for type in ("Em", "Explosive", "Kinetic", "Thermal"): + fit.ship.boostItemAttr("shield{0}DamageResonance".format(type), + module.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensivesiegewarfare.py b/eos/effects/subsystembonusminmatardefensivesiegewarfare.py new file mode 100644 index 000000000..c4fcca1fa --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensivesiegewarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensivesignatureradius.py b/eos/effects/subsystembonusminmatardefensivesignatureradius.py new file mode 100644 index 000000000..c31b4186f --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensivesignatureradius.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensiveskirmishwarfare.py b/eos/effects/subsystembonusminmatardefensiveskirmishwarfare.py new file mode 100644 index 000000000..bd9b91cb1 --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensiveskirmishwarfare.py @@ -0,0 +1,20 @@ +# Not used by any item +type = "passive" + + +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff1Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff3Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff4Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "warfareBuff2Value", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Command"), "buffDuration", + src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), + skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatarelectronic2maxtargetingrange.py b/eos/effects/subsystembonusminmatarelectronic2maxtargetingrange.py new file mode 100644 index 000000000..5328c7bb9 --- /dev/null +++ b/eos/effects/subsystembonusminmatarelectronic2maxtargetingrange.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("subsystemBonusMinmatarElectronic2"), + skill="Minmatar Electronic Systems") diff --git a/eos/effects/subsystembonusminmatarelectronic2scanresolution.py b/eos/effects/subsystembonusminmatarelectronic2scanresolution.py new file mode 100644 index 000000000..065af593b --- /dev/null +++ b/eos/effects/subsystembonusminmatarelectronic2scanresolution.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("subsystemBonusMinmatarElectronic2"), + skill="Minmatar Electronic Systems") diff --git a/eos/effects/subsystembonusminmatarelectronic2tractorbeamrange.py b/eos/effects/subsystembonusminmatarelectronic2tractorbeamrange.py new file mode 100644 index 000000000..2204f35dc --- /dev/null +++ b/eos/effects/subsystembonusminmatarelectronic2tractorbeamrange.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxRange", module.getModifiedItemAttr("subsystemBonusMinmatarElectronic2"), + skill="Minmatar Electronic Systems") diff --git a/eos/effects/subsystembonusminmatarelectronic2tractorbeamvelocity.py b/eos/effects/subsystembonusminmatarelectronic2tractorbeamvelocity.py new file mode 100644 index 000000000..f647d5b3c --- /dev/null +++ b/eos/effects/subsystembonusminmatarelectronic2tractorbeamvelocity.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam", + "maxTractorVelocity", module.getModifiedItemAttr("subsystemBonusMinmatarElectronic2"), + skill="Minmatar Electronic Systems") diff --git a/eos/effects/subsystembonusminmatarelectronicscanprobestrength.py b/eos/effects/subsystembonusminmatarelectronicscanprobestrength.py new file mode 100644 index 000000000..873aa1eca --- /dev/null +++ b/eos/effects/subsystembonusminmatarelectronicscanprobestrength.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe", + "baseSensorStrength", + module.getModifiedItemAttr("subsystemBonusMinmatarElectronic"), + skill="Minmatar Electronic Systems") diff --git a/eos/effects/subsystembonusminmatarelectronicscanstrengthladar.py b/eos/effects/subsystembonusminmatarelectronicscanstrengthladar.py new file mode 100644 index 000000000..531b98d96 --- /dev/null +++ b/eos/effects/subsystembonusminmatarelectronicscanstrengthladar.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("scanLadarStrength", module.getModifiedItemAttr("subsystemBonusMinmatarElectronic"), + skill="Minmatar Electronic Systems") diff --git a/eos/effects/subsystembonusminmatarelectronicstasiswebifierrange.py b/eos/effects/subsystembonusminmatarelectronicstasiswebifierrange.py new file mode 100644 index 000000000..53f0a94aa --- /dev/null +++ b/eos/effects/subsystembonusminmatarelectronicstasiswebifierrange.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", + "maxRange", module.getModifiedItemAttr("subsystemBonusMinmatarElectronic"), + skill="Minmatar Electronic Systems") diff --git a/eos/effects/subsystembonusminmatarengineeringcapacitorcapacity.py b/eos/effects/subsystembonusminmatarengineeringcapacitorcapacity.py new file mode 100644 index 000000000..36ffe1d3f --- /dev/null +++ b/eos/effects/subsystembonusminmatarengineeringcapacitorcapacity.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("capacitorCapacity", module.getModifiedItemAttr("subsystemBonusMinmatarCore"), + skill="Minmatar Core Systems") diff --git a/eos/effects/subsystembonusminmatarengineeringcapacitorrecharge.py b/eos/effects/subsystembonusminmatarengineeringcapacitorrecharge.py new file mode 100644 index 000000000..3919fbd1c --- /dev/null +++ b/eos/effects/subsystembonusminmatarengineeringcapacitorrecharge.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("rechargeRate", module.getModifiedItemAttr("subsystemBonusMinmatarCore"), + skill="Minmatar Core Systems") diff --git a/eos/effects/subsystembonusminmatarengineeringpoweroutput.py b/eos/effects/subsystembonusminmatarengineeringpoweroutput.py new file mode 100644 index 000000000..b034cfbc0 --- /dev/null +++ b/eos/effects/subsystembonusminmatarengineeringpoweroutput.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("powerOutput", module.getModifiedItemAttr("subsystemBonusMinmatarCore"), + skill="Minmatar Core Systems") diff --git a/eos/effects/subsystembonusminmataroffensive2projectileweaponrof.py b/eos/effects/subsystembonusminmataroffensive2projectileweaponrof.py new file mode 100644 index 000000000..37de5345a --- /dev/null +++ b/eos/effects/subsystembonusminmataroffensive2projectileweaponrof.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"), + "speed", module.getModifiedItemAttr("subsystemBonusMinmatarOffensive2"), + skill="Minmatar Offensive Systems") diff --git a/eos/effects/subsystembonusminmataroffensiveassaultmissilelauncherrof.py b/eos/effects/subsystembonusminmataroffensiveassaultmissilelauncherrof.py new file mode 100644 index 000000000..545dac076 --- /dev/null +++ b/eos/effects/subsystembonusminmataroffensiveassaultmissilelauncherrof.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Light", + "speed", module.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), + skill="Minmatar Offensive Systems") diff --git a/eos/effects/subsystembonusminmataroffensiveheavyassaultmissilelauncherrof.py b/eos/effects/subsystembonusminmataroffensiveheavyassaultmissilelauncherrof.py new file mode 100644 index 000000000..0cdf31f6c --- /dev/null +++ b/eos/effects/subsystembonusminmataroffensiveheavyassaultmissilelauncherrof.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault", + "speed", module.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), + skill="Minmatar Offensive Systems") diff --git a/eos/effects/subsystembonusminmataroffensiveheavymissilelauncherrof.py b/eos/effects/subsystembonusminmataroffensiveheavymissilelauncherrof.py new file mode 100644 index 000000000..65f3983b2 --- /dev/null +++ b/eos/effects/subsystembonusminmataroffensiveheavymissilelauncherrof.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy", + "speed", module.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), + skill="Minmatar Offensive Systems") diff --git a/eos/effects/subsystembonusminmataroffensiveprojectileweaponrof.py b/eos/effects/subsystembonusminmataroffensiveprojectileweaponrof.py new file mode 100644 index 000000000..49993800a --- /dev/null +++ b/eos/effects/subsystembonusminmataroffensiveprojectileweaponrof.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"), + "speed", module.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), + skill="Minmatar Offensive Systems") diff --git a/eos/effects/subsystembonusminmatarpropulsionagility.py b/eos/effects/subsystembonusminmatarpropulsionagility.py new file mode 100644 index 000000000..3b61c349e --- /dev/null +++ b/eos/effects/subsystembonusminmatarpropulsionagility.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.ship.boostItemAttr("agility", module.getModifiedItemAttr("subsystemBonusMinmatarPropulsion"), + skill="Minmatar Propulsion Systems") diff --git a/eos/effects/subsystembonusoffensivejumpharmonics.py b/eos/effects/subsystembonusoffensivejumpharmonics.py new file mode 100644 index 000000000..aab0f2334 --- /dev/null +++ b/eos/effects/subsystembonusoffensivejumpharmonics.py @@ -0,0 +1,9 @@ +# subsystemBonusOffensiveJumpHarmonics +# +# Used by: +# Subsystems named like: Offensive Covert Reconfiguration (4 of 4) +type = "passive" + + +def handler(fit, module, context): + fit.ship.forceItemAttr("jumpHarmonics", module.getModifiedItemAttr("jumpHarmonicsModifier")) diff --git a/eos/effects/subsystembonusscanprobelaunchercpu.py b/eos/effects/subsystembonusscanprobelaunchercpu.py new file mode 100644 index 000000000..edd4a87f0 --- /dev/null +++ b/eos/effects/subsystembonusscanprobelaunchercpu.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Scan Probe Launcher", + "cpu", module.getModifiedItemAttr("cpuNeedBonus")) diff --git a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprecursorturret.py b/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprecursorturret.py index f1aaa88e2..d4104befa 100644 --- a/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprecursorturret.py +++ b/eos/effects/surgicalstrikedamagemultiplierbonuspostpercentdamagemultiplierlocationshipgroupprecursorturret.py @@ -1,4 +1,4 @@ -# surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupPrecursorTurret +# surgicalStrikeDamageMultiplierBonusPostPercentDamageMultiplierLocationShipGroupProjectileWeapon # # Used by: # Skill: Surgical Strike diff --git a/eos/effects/targetabcattack.py b/eos/effects/targetabcattack.py index c148caf0c..c8d8a8d33 100644 --- a/eos/effects/targetabcattack.py +++ b/eos/effects/targetabcattack.py @@ -1,7 +1,7 @@ # targetABCAttack # # Used by: -# Modules from group: Precursor Weapon (14 of 14) +# Modules from group: Precursor Turret (14 of 14) type = 'active' diff --git a/eos/effects/targetarmorrepair.py b/eos/effects/targetarmorrepair.py new file mode 100644 index 000000000..0a4c0c154 --- /dev/null +++ b/eos/effects/targetarmorrepair.py @@ -0,0 +1,9 @@ +# Not used by any item +type = "projected", "active" + + +def handler(fit, container, context): + if "projected" in context: + bonus = container.getModifiedItemAttr("armorDamageAmount") + duration = container.getModifiedItemAttr("duration") / 1000.0 + fit.extraAttributes.increase("armorRepair", bonus / duration) diff --git a/eos/effects/techtwocommandburstbonus.py b/eos/effects/techtwocommandburstbonus.py index e69de29bb..757513cef 100644 --- a/eos/effects/techtwocommandburstbonus.py +++ b/eos/effects/techtwocommandburstbonus.py @@ -0,0 +1,8 @@ +# Not used by any item +type = "passive" +runTime = "late" + + +def handler(fit, module, context): + for x in xrange(1, 4): + module.boostChargeAttr("warfareBuff{}Multiplier".format(x), module.getModifiedItemAttr("commandBurstStrengthBonus")) diff --git a/eos/effects/titanturretdamagescaling.py b/eos/effects/titanturretdamagescaling.py new file mode 100644 index 000000000..a8f00c006 --- /dev/null +++ b/eos/effects/titanturretdamagescaling.py @@ -0,0 +1,7 @@ +# Not used by any item +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Gunnery"), + "turretDamageScalingRadius", ship.getModifiedItemAttr("titanBonusScalingRadius"))