diff --git a/eos/effects/elitebonuscommandshiparmoredcs3.py b/eos/effects/elitebonuscommandshiparmoredcs3.py index d801e659d..b668a700e 100644 --- a/eos/effects/elitebonuscommandshiparmoredcs3.py +++ b/eos/effects/elitebonuscommandshiparmoredcs3.py @@ -1,7 +1,10 @@ # eliteBonusCommandShipArmoredCS3 # # Used by: -# Ships from group: Command Ship (4 of 8) +# Ship: Absolution +# Ship: Astarte +# Ship: Damnation +# Ship: Eos type = "passive" def handler(fit, ship, context): fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"), diff --git a/eos/effects/industrialcoreeffect2.py b/eos/effects/industrialcoreeffect2.py index 114f820a2..7bb0909f4 100644 --- a/eos/effects/industrialcoreeffect2.py +++ b/eos/effects/industrialcoreeffect2.py @@ -7,4 +7,4 @@ runTime = "early" def handler(fit, module, context): fit.extraAttributes["siege"] = True fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor")) - fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("massMultiplier")) + fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("siegeMassMultiplier")) diff --git a/eos/effects/modulebonusarmoredwarfarelinkdamagecontrol.py b/eos/effects/modulebonusarmoredwarfarelinkdamagecontrol.py new file mode 100644 index 000000000..3a9d33b3b --- /dev/null +++ b/eos/effects/modulebonusarmoredwarfarelinkdamagecontrol.py @@ -0,0 +1,12 @@ +# gangArmorRepairCapReducerSelfAndProjected +# +# Used by: +# Variations of module: Armored Warfare Link - Damage Control I (2 of 2) +type = "gang", "active" +gangBoost = "armorRepairCapacitorNeed" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems") or mod.item.requiresSkill("Remote Armor Repair Systems"), + "capacitorNeed", module.getModifiedItemAttr("commandBonus")) diff --git a/eos/effects/modulebonusarmoredwarfarelinkpassivedefense.py b/eos/effects/modulebonusarmoredwarfarelinkpassivedefense.py new file mode 100644 index 000000000..2c8feddf4 --- /dev/null +++ b/eos/effects/modulebonusarmoredwarfarelinkpassivedefense.py @@ -0,0 +1,14 @@ +# gangArmorHardening +# +# Used by: +# Variations of module: Armored Warfare Link - Passive Defense I (2 of 2) +type = "gang", "active" +gangBoost = "armorResistance" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + for damageType in ("Em", "Thermal", "Explosive", "Kinetic"): + fit.ship.boostItemAttr("armor%sDamageResonance" % damageType, + module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) diff --git a/eos/effects/modulebonusarmoredwarfarelinkrapidrepair.py b/eos/effects/modulebonusarmoredwarfarelinkrapidrepair.py new file mode 100644 index 000000000..352090e76 --- /dev/null +++ b/eos/effects/modulebonusarmoredwarfarelinkrapidrepair.py @@ -0,0 +1,12 @@ +# gangArmorRepairSpeedAmplifierSelfAndProjected +# +# Used by: +# Variations of module: Armored Warfare Link - Rapid Repair I (2 of 2) +type = "gang", "active" +gangBoost = "armorRepairDuration" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems") or mod.item.requiresSkill("Remote Armor Repair Systems"), + "duration", module.getModifiedItemAttr("commandBonus")) diff --git a/eos/effects/modulebonusinformationwarfarelinkelectronicsuperiority.py b/eos/effects/modulebonusinformationwarfarelinkelectronicsuperiority.py new file mode 100644 index 000000000..cb7f2e544 --- /dev/null +++ b/eos/effects/modulebonusinformationwarfarelinkelectronicsuperiority.py @@ -0,0 +1,11 @@ +# gangInformationWarfareSuperiorityAll2 +# +# Used by: +# Variations of module: Information Warfare Link - Electronic Superiority I (2 of 2) +type = "active" + +def handler(fit, module, context): + module.multiplyItemAttr("commandBonusTD", module.getModifiedItemAttr("commandBonusHidden")) + module.multiplyItemAttr("commandBonusECM", module.getModifiedItemAttr("commandBonusHidden")) + module.multiplyItemAttr("commandBonusRSD", module.getModifiedItemAttr("commandBonusHidden")) + module.multiplyItemAttr("commandBonusTP", module.getModifiedItemAttr("commandBonusHidden")) diff --git a/eos/effects/modulebonusinformationwarfarelinkreconoperation.py b/eos/effects/modulebonusinformationwarfarelinkreconoperation.py new file mode 100644 index 000000000..527879399 --- /dev/null +++ b/eos/effects/modulebonusinformationwarfarelinkreconoperation.py @@ -0,0 +1,14 @@ +# gangInformationWarfareRangeBonusWithEcmBurst +# +# Used by: +# Variations of module: Information Warfare Link - Recon Operation I (2 of 2) +type = "gang", "active" +gangBoost = "electronicMaxRange" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + groups = ("Target Painter", "Weapon Disruptor", "Sensor Dampener", "ECM", "Burst Jammer") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, + "maxRange", module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) diff --git a/eos/effects/modulebonusinformationwarfarelinksensorintegrity.py b/eos/effects/modulebonusinformationwarfarelinksensorintegrity.py new file mode 100644 index 000000000..87d291afd --- /dev/null +++ b/eos/effects/modulebonusinformationwarfarelinksensorintegrity.py @@ -0,0 +1,17 @@ +# gangSensorIntegrity +# +# Used by: +# Variations of module: Information Warfare Link - Sensor Integrity I (2 of 2) +type = "gang", "active" +gangBoost = "maxTargetRange" +gangBonus = "commandBonus" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) + for scanType in ("Gravimetric", "Radar", "Ladar", "Magnetometric"): + fit.ship.boostItemAttr("scan%sStrength" % scanType, + module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) diff --git a/eos/effects/modulebonusminingforemanlinkharvestercapacitorefficiency.py b/eos/effects/modulebonusminingforemanlinkharvestercapacitorefficiency.py new file mode 100644 index 000000000..a5729efce --- /dev/null +++ b/eos/effects/modulebonusminingforemanlinkharvestercapacitorefficiency.py @@ -0,0 +1,13 @@ +# gangGasHarvesterAndIceHarvesterAndMiningLaserCapNeedBonus +# +# Used by: +# Variations of module: Mining Foreman Link - Harvester Capacitor Efficiency I (2 of 2) +type = "gang", "active" +gangBoost = "miningCapacitorNeed" +def handler(fit, module, context): + if "gang" not in context: return + groups = ("Mining Laser", "Strip Miner", "Frequency Mining Laser", + "Ice Harvester", "Gas Cloud Harvester") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, + "capacitorNeed", module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) diff --git a/eos/effects/modulebonusminingforemanlinklaseroptimization.py b/eos/effects/modulebonusminingforemanlinklaseroptimization.py new file mode 100644 index 000000000..1884f0fca --- /dev/null +++ b/eos/effects/modulebonusminingforemanlinklaseroptimization.py @@ -0,0 +1,13 @@ +# gangGasHarvesterAndIceHarvesterAndMiningLaserDurationBonus +# +# Used by: +# Variations of module: Mining Foreman Link - Laser Optimization I (2 of 2) +type = "gang", "active" +gangBoost = "miningDuration" +def handler(fit, module, context): + if "gang" not in context: return + groups = ("Mining Laser", "Strip Miner", "Frequency Mining Laser", + "Ice Harvester", "Gas Cloud Harvester") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, + "duration", module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) diff --git a/eos/effects/modulebonusminingforemanlinkmininglaserfieldenhancement.py b/eos/effects/modulebonusminingforemanlinkmininglaserfieldenhancement.py new file mode 100644 index 000000000..00919eecf --- /dev/null +++ b/eos/effects/modulebonusminingforemanlinkmininglaserfieldenhancement.py @@ -0,0 +1,13 @@ +# gangMiningLaserIceHarvesterGasHarvesterSurveyScannerMaxRangeBonus +# +# Used by: +# Variations of module: Mining Foreman Link - Mining Laser Field Enhancement I (2 of 2) +type = "gang", "active" +gangBoost = "miningMaxRange" +def handler(fit, module, context): + if "gang" not in context: return + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gas Cloud Harvesting") or mod.item.requiresSkill("Ice Harvesting") or mod.item.requiresSkill("Mining"), + "maxRange", module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("CPU Management"), + "surveyScanRange", module.getModifiedItemAttr("commandBonus")) diff --git a/eos/effects/modulebonussiegewarfarelinkactiveshielding.py b/eos/effects/modulebonussiegewarfarelinkactiveshielding.py new file mode 100644 index 000000000..5fc79557b --- /dev/null +++ b/eos/effects/modulebonussiegewarfarelinkactiveshielding.py @@ -0,0 +1,12 @@ +# gangShieldBoosterAndTransporterSpeed +# +# Used by: +# Variations of module: Siege Warfare Link - Active Shielding I (2 of 2) +type = "gang", "active" +gangBoost = "shieldRepairDuration" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation") or mod.item.requiresSkill("Shield Emission Systems"), + "duration", module.getModifiedItemAttr("commandBonus")) diff --git a/eos/effects/modulebonussiegewarfarelinkshieldefficiency.py b/eos/effects/modulebonussiegewarfarelinkshieldefficiency.py new file mode 100644 index 000000000..0206ad559 --- /dev/null +++ b/eos/effects/modulebonussiegewarfarelinkshieldefficiency.py @@ -0,0 +1,14 @@ +# gangShieldHardening +# +# Used by: +# Variations of module: Siege Warfare Link - Shield Harmonizing I (2 of 2) +type = "gang", "active" +gangBoost = "shieldResistance" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + for damageType in ("Em", "Explosive", "Thermal", "Kinetic"): + fit.ship.boostItemAttr("shield%sDamageResonance" % damageType, + module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) diff --git a/eos/effects/modulebonussiegewarfarelinkshieldharmonizing.py b/eos/effects/modulebonussiegewarfarelinkshieldharmonizing.py new file mode 100644 index 000000000..945345b41 --- /dev/null +++ b/eos/effects/modulebonussiegewarfarelinkshieldharmonizing.py @@ -0,0 +1,12 @@ +# gangShieldBoosteAndTransporterCapacitorNeed +# +# Used by: +# Variations of module: Siege Warfare Link - Shield Efficiency I (2 of 2) +type = "gang", "active" +gangBoost = "shieldRepairCapacitorNeed" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation") or mod.item.requiresSkill("Shield Emission Systems"), + "capacitorNeed", module.getModifiedItemAttr("commandBonus")) diff --git a/eos/effects/modulebonusskirmishwarfarelinkevasivemaneuvers.py b/eos/effects/modulebonusskirmishwarfarelinkevasivemaneuvers.py new file mode 100644 index 000000000..f1a53a9a6 --- /dev/null +++ b/eos/effects/modulebonusskirmishwarfarelinkevasivemaneuvers.py @@ -0,0 +1,12 @@ +# gangBonusSignature +# +# Used by: +# Variations of module: Skirmish Warfare Link - Evasive Maneuvers I (2 of 2) +type = "gang", "active" +gangBoost = "signatureRadius" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) diff --git a/eos/effects/modulebonusskirmishwarfarelinkinterdictionmaneuvers.py b/eos/effects/modulebonusskirmishwarfarelinkinterdictionmaneuvers.py new file mode 100644 index 000000000..3043f17e2 --- /dev/null +++ b/eos/effects/modulebonusskirmishwarfarelinkinterdictionmaneuvers.py @@ -0,0 +1,14 @@ +# gangPropulsionJammingBoost +# +# Used by: +# Variations of module: Skirmish Warfare Link - Interdiction Maneuvers I (2 of 2) +type = "gang", "active" +gangBoost = "interdictionMaxRange" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + groups = ("Stasis Web", "Warp Scrambler") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, + "maxRange", module.getModifiedItemAttr("commandBonus"), + stackingPenalties = True) diff --git a/eos/effects/modulebonusskirmishwarfarelinkrapiddeployment.py b/eos/effects/modulebonusskirmishwarfarelinkrapiddeployment.py new file mode 100644 index 000000000..0cc9d74bd --- /dev/null +++ b/eos/effects/modulebonusskirmishwarfarelinkrapiddeployment.py @@ -0,0 +1,13 @@ +# gangAbMwdFactorBoost +# +# Used by: +# Variations of module: Skirmish Warfare Link - Rapid Deployment I (2 of 2) +type = "gang", "active" +gangBoost = "speedFactor" +runTime = "late" + +def handler(fit, module, context): + if "gang" not in context: return + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module", + "speedFactor", module.getModifiedItemAttr("commandBonus"), + stackingPenalties=True) diff --git a/eos/effects/siegemodeeffect6.py b/eos/effects/siegemodeeffect6.py index f94a2b25d..8b27e7809 100644 --- a/eos/effects/siegemodeeffect6.py +++ b/eos/effects/siegemodeeffect6.py @@ -46,7 +46,7 @@ def handler(fit, module, context): fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor")) #Mass - fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("massMultiplier")) + fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("siegeMassMultiplier")) #Scan resolution fit.ship.multiplyItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionMultiplier"), diff --git a/eos/effects/skillbonuscapitalartilleryspecialization.py b/eos/effects/skillbonuscapitalartilleryspecialization.py new file mode 100644 index 000000000..6f917b620 --- /dev/null +++ b/eos/effects/skillbonuscapitalartilleryspecialization.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Artillery Specialization"), "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl) diff --git a/eos/effects/skillbonuscapitalautocannonspecialization.py b/eos/effects/skillbonuscapitalautocannonspecialization.py new file mode 100644 index 000000000..ff535856f --- /dev/null +++ b/eos/effects/skillbonuscapitalautocannonspecialization.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Autocannon Specialization"), "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl) diff --git a/eos/effects/skillbonuscapitalbeamlaserspecialization.py b/eos/effects/skillbonuscapitalbeamlaserspecialization.py new file mode 100644 index 000000000..56b4000ac --- /dev/null +++ b/eos/effects/skillbonuscapitalbeamlaserspecialization.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Beam Laser Specialization"), "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl) diff --git a/eos/effects/skillbonuscapitalblasterspecialization.py b/eos/effects/skillbonuscapitalblasterspecialization.py new file mode 100644 index 000000000..20c056c64 --- /dev/null +++ b/eos/effects/skillbonuscapitalblasterspecialization.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Blaster Specialization"), "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl) diff --git a/eos/effects/skillbonuscapitalpulselaserspecialization.py b/eos/effects/skillbonuscapitalpulselaserspecialization.py new file mode 100644 index 000000000..a0b7050a3 --- /dev/null +++ b/eos/effects/skillbonuscapitalpulselaserspecialization.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Pulse Laser Specialization"), "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl) diff --git a/eos/effects/skillbonuscapitalrailgunspecialization.py b/eos/effects/skillbonuscapitalrailgunspecialization.py new file mode 100644 index 000000000..891b3b444 --- /dev/null +++ b/eos/effects/skillbonuscapitalrailgunspecialization.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Railgun Specialization"), "damageMultiplier", src.getModifiedItemAttr("damageMultiplierBonus") * lvl) diff --git a/eos/effects/skillbonusdoomsdayrapidfiring.py b/eos/effects/skillbonusdoomsdayrapidfiring.py new file mode 100644 index 000000000..e5efe3100 --- /dev/null +++ b/eos/effects/skillbonusdoomsdayrapidfiring.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Doomsday Operation"), "duration", src.getModifiedItemAttr("rofBonus") * lvl) diff --git a/eos/effects/skillbonusxlcruisemissilespecialization.py b/eos/effects/skillbonusxlcruisemissilespecialization.py new file mode 100644 index 000000000..1beec5141 --- /dev/null +++ b/eos/effects/skillbonusxlcruisemissilespecialization.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missile Specialization"), "speed", src.getModifiedItemAttr("rofBonus") * lvl) diff --git a/eos/effects/skillbonusxltorpedospecialization.py b/eos/effects/skillbonusxltorpedospecialization.py new file mode 100644 index 000000000..61ebb6c40 --- /dev/null +++ b/eos/effects/skillbonusxltorpedospecialization.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("XL Torpedo Specialization"), "speed", src.getModifiedItemAttr("rofBonus") * lvl) diff --git a/eos/effects/triagemodeeffect3.py b/eos/effects/triagemodeeffect3.py index eeb4bbf78..d53d475d3 100644 --- a/eos/effects/triagemodeeffect3.py +++ b/eos/effects/triagemodeeffect3.py @@ -53,7 +53,7 @@ def handler(fit, module, context): stackingPenalties=True) # Mass multiplier - fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("massMultiplier"), + fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("siegeMassMultiplier"), stackingPenalties=True) # Lock range diff --git a/eos/effects/triagemodeeffect7.py b/eos/effects/triagemodeeffect7.py index 6d19541fe..92d19d2ff 100644 --- a/eos/effects/triagemodeeffect7.py +++ b/eos/effects/triagemodeeffect7.py @@ -53,7 +53,7 @@ def handler(fit, module, context): stackingPenalties=True) # Mass multiplier - fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("massMultiplier"), + fit.ship.multiplyItemAttr("mass", module.getModifiedItemAttr("siegeMassMultiplier"), stackingPenalties=True) # Lock range