diff --git a/eos/effects/armorrepairprojectorfalloffbonus.py b/eos/effects/armorrepairprojectorfalloffbonus.py new file mode 100644 index 000000000..405f9802a --- /dev/null +++ b/eos/effects/armorrepairprojectorfalloffbonus.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer", "falloffEffectiveness", src.getModifiedItemAttr("falloffBonus")) diff --git a/eos/effects/carrieramarrarmortransferfalloff3.py b/eos/effects/carrieramarrarmortransferfalloff3.py new file mode 100644 index 000000000..5eb8e46c3 --- /dev/null +++ b/eos/effects/carrieramarrarmortransferfalloff3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("carrierAmarrBonus3"), skill="Amarr Carrier") diff --git a/eos/effects/carriercaldarishieldtransferfalloff3.py b/eos/effects/carriercaldarishieldtransferfalloff3.py new file mode 100644 index 000000000..db9443da5 --- /dev/null +++ b/eos/effects/carriercaldarishieldtransferfalloff3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), "falloffEffectiveness", src.getModifiedItemAttr("carrierCaldariBonus3"), skill="Caldari Carrier") diff --git a/eos/effects/carriergallentearmorshieldtransferfalloff3.py b/eos/effects/carriergallentearmorshieldtransferfalloff3.py new file mode 100644 index 000000000..371a664cf --- /dev/null +++ b/eos/effects/carriergallentearmorshieldtransferfalloff3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems") or mod.item.requiresSkill("Capital Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("carrierGallenteBonus3"), skill="Gallente Carrier") \ No newline at end of file diff --git a/eos/effects/carrierminmatararmorshieldtransferfalloff3.py b/eos/effects/carrierminmatararmorshieldtransferfalloff3.py new file mode 100644 index 000000000..a37581c56 --- /dev/null +++ b/eos/effects/carrierminmatararmorshieldtransferfalloff3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems") or mod.item.requiresSkill("Capital Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("carrierMinmatarBonus3"), skill="Minmatar Carrier") diff --git a/eos/effects/dronehullrepairbonuseffect.py b/eos/effects/dronehullrepairbonuseffect.py new file mode 100644 index 000000000..2cb661aa4 --- /dev/null +++ b/eos/effects/dronehullrepairbonuseffect.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Logistic Drone", "structureDamageAmount", src.getModifiedItemAttr("droneArmorDamageAmountBonus")) \ No newline at end of file diff --git a/eos/effects/elitebonuscommanddestroyerarmored1.py b/eos/effects/elitebonuscommanddestroyerarmored1.py new file mode 100644 index 000000000..04cd1f32d --- /dev/null +++ b/eos/effects/elitebonuscommanddestroyerarmored1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers") diff --git a/eos/effects/elitebonuscommanddestroyerinfo1.py b/eos/effects/elitebonuscommanddestroyerinfo1.py new file mode 100644 index 000000000..6ed3a7a9e --- /dev/null +++ b/eos/effects/elitebonuscommanddestroyerinfo1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers") diff --git a/eos/effects/elitebonuscommanddestroyerinfohidden1.py b/eos/effects/elitebonuscommanddestroyerinfohidden1.py new file mode 100644 index 000000000..9ebc8481c --- /dev/null +++ b/eos/effects/elitebonuscommanddestroyerinfohidden1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"), "commandBonusHidden", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers") diff --git a/eos/effects/elitebonuscommanddestroyermjfgspool2.py b/eos/effects/elitebonuscommanddestroyermjfgspool2.py new file mode 100644 index 000000000..29b82ae42 --- /dev/null +++ b/eos/effects/elitebonuscommanddestroyermjfgspool2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Micro Jump Drive Operation"), "duration", src.getModifiedItemAttr("eliteBonusCommandDestroyer2"), skill="Command Destroyers") diff --git a/eos/effects/elitebonuscommanddestroyermwdsigradius3.py b/eos/effects/elitebonuscommanddestroyermwdsigradius3.py new file mode 100644 index 000000000..4b9926f91 --- /dev/null +++ b/eos/effects/elitebonuscommanddestroyermwdsigradius3.py @@ -0,0 +1,3 @@ +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/elitebonuscommanddestroyersiege1.py b/eos/effects/elitebonuscommanddestroyersiege1.py new file mode 100644 index 000000000..8b24b7e81 --- /dev/null +++ b/eos/effects/elitebonuscommanddestroyersiege1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Siege Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers") diff --git a/eos/effects/elitebonuscommanddestroyerskirmish1.py b/eos/effects/elitebonuscommanddestroyerskirmish1.py new file mode 100644 index 000000000..d7e1c07dd --- /dev/null +++ b/eos/effects/elitebonuscommanddestroyerskirmish1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers") diff --git a/eos/effects/elitebonuslogifrigarmorhp2.py b/eos/effects/elitebonuslogifrigarmorhp2.py new file mode 100644 index 000000000..687b4feee --- /dev/null +++ b/eos/effects/elitebonuslogifrigarmorhp2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorHP", src.getModifiedItemAttr("eliteBonusLogiFrig2"), skill="Logistics Frigates") diff --git a/eos/effects/elitebonuslogifrigarmorrepspeedcap1.py b/eos/effects/elitebonuslogifrigarmorrepspeedcap1.py new file mode 100644 index 000000000..8347b1b6f --- /dev/null +++ b/eos/effects/elitebonuslogifrigarmorrepspeedcap1.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed", src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "duration", src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates") diff --git a/eos/effects/elitebonuslogifrigshieldhp2.py b/eos/effects/elitebonuslogifrigshieldhp2.py new file mode 100644 index 000000000..932285db4 --- /dev/null +++ b/eos/effects/elitebonuslogifrigshieldhp2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldCapacity", src.getModifiedItemAttr("eliteBonusLogiFrig2"), skill="Logistics Frigates") diff --git a/eos/effects/elitebonuslogifrigshieldrepspeedcap1.py b/eos/effects/elitebonuslogifrigshieldrepspeedcap1.py new file mode 100644 index 000000000..492324ce8 --- /dev/null +++ b/eos/effects/elitebonuslogifrigshieldrepspeedcap1.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "duration", src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "capacitorNeed", src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates") diff --git a/eos/effects/elitebonuslogifrigsignature2.py b/eos/effects/elitebonuslogifrigsignature2.py new file mode 100644 index 000000000..a72670464 --- /dev/null +++ b/eos/effects/elitebonuslogifrigsignature2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("signatureRadius", src.getModifiedItemAttr("eliteBonusLogiFrig2"), skill="Logistics Frigates") diff --git a/eos/effects/energyneutralizerfalloff.py b/eos/effects/energyneutralizerfalloff.py new file mode 100644 index 000000000..9346d4d85 --- /dev/null +++ b/eos/effects/energyneutralizerfalloff.py @@ -0,0 +1,9 @@ +from eos.types import State +type = "active", "projected" +def handler(fit, container, context): + if "projected" in context and ((hasattr(container, "state") \ + and container.state >= State.ACTIVE) or hasattr(container, "amountActive")): + multiplier = container.amountActive if hasattr(container, "amountActive") else 1 + amount = container.getModifiedItemAttr("energyDestabilizationAmount") + time = container.getModifiedItemAttr("duration") + fit.addDrain(time, amount * multiplier, 0) diff --git a/eos/effects/energynosferatufalloff.py b/eos/effects/energynosferatufalloff.py new file mode 100644 index 000000000..59b2bffa9 --- /dev/null +++ b/eos/effects/energynosferatufalloff.py @@ -0,0 +1,9 @@ +type = "active", "projected" +runTime = "late" +def handler(fit, module, context): + amount = module.getModifiedItemAttr("powerTransferAmount") + time = module.getModifiedItemAttr("duration") + if "projected" in context: + fit.addDrain(time, amount, 0) + elif "module" in context: + module.itemModifiedAttributes.force("capacitorNeed", -amount) \ No newline at end of file diff --git a/eos/effects/orecapitalshipshieldtransferfalloff.py b/eos/effects/orecapitalshipshieldtransferfalloff.py new file mode 100644 index 000000000..6e3e7245b --- /dev/null +++ b/eos/effects/orecapitalshipshieldtransferfalloff.py @@ -0,0 +1,3 @@ +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/remotearmorrepairfalloff.py b/eos/effects/remotearmorrepairfalloff.py new file mode 100644 index 000000000..98cdd3f67 --- /dev/null +++ b/eos/effects/remotearmorrepairfalloff.py @@ -0,0 +1,6 @@ +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/remoteshieldtransferfalloff.py b/eos/effects/remoteshieldtransferfalloff.py new file mode 100644 index 000000000..317d61a26 --- /dev/null +++ b/eos/effects/remoteshieldtransferfalloff.py @@ -0,0 +1,6 @@ +type = "projected", "active" +def handler(fit, container, context): + if "projected" in context: + bonus = container.getModifiedItemAttr("shieldBonus") + duration = container.getModifiedItemAttr("duration") / 1000.0 + fit.extraAttributes.increase("shieldRepair", bonus / duration) diff --git a/eos/effects/rolebonuscdlinkspgreduction.py b/eos/effects/rolebonuscdlinkspgreduction.py new file mode 100644 index 000000000..e85f496de --- /dev/null +++ b/eos/effects/rolebonuscdlinkspgreduction.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "power", src.getModifiedItemAttr("roleBonusCD")) diff --git a/eos/effects/rolebonusecmcapcpu.py b/eos/effects/rolebonusecmcapcpu.py new file mode 100644 index 000000000..b357fa216 --- /dev/null +++ b/eos/effects/rolebonusecmcapcpu.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "capacitorNeed", src.getModifiedItemAttr("roleBonus")) + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "cpu", src.getModifiedItemAttr("roleBonus")) diff --git a/eos/effects/rolebonusecmrange.py b/eos/effects/rolebonusecmrange.py new file mode 100644 index 000000000..15978730d --- /dev/null +++ b/eos/effects/rolebonusecmrange.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "falloff", src.getModifiedItemAttr("roleBonus")) + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "maxRange", src.getModifiedItemAttr("roleBonus")) diff --git a/eos/effects/rolebonusstasisrange.py b/eos/effects/rolebonusstasisrange.py new file mode 100644 index 000000000..b3e62a1bd --- /dev/null +++ b/eos/effects/rolebonusstasisrange.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "maxRange", src.getModifiedItemAttr("roleBonus")) diff --git a/eos/effects/rolebonuswdcapcpu.py b/eos/effects/rolebonuswdcapcpu.py new file mode 100644 index 000000000..946dadde4 --- /dev/null +++ b/eos/effects/rolebonuswdcapcpu.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "cpu", src.getModifiedItemAttr("roleBonus")) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "capacitorNeed", src.getModifiedItemAttr("roleBonus")) diff --git a/eos/effects/rolebonuswdrange.py b/eos/effects/rolebonuswdrange.py new file mode 100644 index 000000000..91074db2d --- /dev/null +++ b/eos/effects/rolebonuswdrange.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "falloff", src.getModifiedItemAttr("roleBonus")) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "maxRange", src.getModifiedItemAttr("roleBonus")) diff --git a/eos/effects/shieldtransporterfalloffbonus.py b/eos/effects/shieldtransporterfalloffbonus.py new file mode 100644 index 000000000..f133337e9 --- /dev/null +++ b/eos/effects/shieldtransporterfalloffbonus.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Shield Booster", "falloffEffectiveness", src.getModifiedItemAttr("falloffBonus")) diff --git a/eos/effects/shipbonusaoevelocityrocketsmf.py b/eos/effects/shipbonusaoevelocityrocketsmf.py new file mode 100644 index 000000000..676ddde50 --- /dev/null +++ b/eos/effects/shipbonusaoevelocityrocketsmf.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "aoeVelocity", src.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate") diff --git a/eos/effects/shipbonusdronedamagemultiplierad1.py b/eos/effects/shipbonusdronedamagemultiplierad1.py index 7e70551d7..9cd98d219 100644 --- a/eos/effects/shipbonusdronedamagemultiplierad1.py +++ b/eos/effects/shipbonusdronedamagemultiplierad1.py @@ -1,8 +1,3 @@ -# shipBonusDroneDamageMultiplierAD1 -# -# Used by: -# Ship: Dragoon type = "passive" -def handler(fit, ship, context): - fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), - "damageMultiplier", ship.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer") +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusdronedamagemultipliergd1.py b/eos/effects/shipbonusdronedamagemultipliergd1.py index b753cddff..e6fd67d68 100644 --- a/eos/effects/shipbonusdronedamagemultipliergd1.py +++ b/eos/effects/shipbonusdronedamagemultipliergd1.py @@ -1,8 +1,3 @@ -# shipBonusDroneDamageMultiplierGD1 -# -# Used by: -# Ship: Algos type = "passive" -def handler(fit, ship, context): - fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), - "damageMultiplier", ship.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer") +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier", src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer") diff --git a/eos/effects/shipbonusdronehitpointsad1.py b/eos/effects/shipbonusdronehitpointsad1.py index d3dd36216..72ee19bd9 100644 --- a/eos/effects/shipbonusdronehitpointsad1.py +++ b/eos/effects/shipbonusdronehitpointsad1.py @@ -1,9 +1,5 @@ -# shipBonusDroneHitpointsAD1 -# -# Used by: -# Ship: Dragoon type = "passive" -def handler(fit, ship, context): - for layer in ("shieldCapacity", "armorHP", "hp"): - fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), - layer, ship.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer") +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusdronehitpointsgd1.py b/eos/effects/shipbonusdronehitpointsgd1.py index 975b0ae31..bc6c685d3 100644 --- a/eos/effects/shipbonusdronehitpointsgd1.py +++ b/eos/effects/shipbonusdronehitpointsgd1.py @@ -1,9 +1,5 @@ -# shipBonusDroneHitpointsGD1 -# -# Used by: -# Ship: Algos type = "passive" -def handler(fit, ship, context): - for layer in ("shieldCapacity", "armorHP", "hp"): - fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), - layer, ship.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer") +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity", src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP", src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp", src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer") diff --git a/eos/effects/shipbonusemarmorresistancead2.py b/eos/effects/shipbonusemarmorresistancead2.py new file mode 100644 index 000000000..38047ac08 --- /dev/null +++ b/eos/effects/shipbonusemarmorresistancead2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusemarmorresistancegd2.py b/eos/effects/shipbonusemarmorresistancegd2.py new file mode 100644 index 000000000..9b8a9ac4d --- /dev/null +++ b/eos/effects/shipbonusemarmorresistancegd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusGD2"), skill="Gallente Destroyer") diff --git a/eos/effects/shipbonusemmissiledamagecd1.py b/eos/effects/shipbonusemmissiledamagecd1.py new file mode 100644 index 000000000..06627549e --- /dev/null +++ b/eos/effects/shipbonusemmissiledamagecd1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "emDamage", src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer") diff --git a/eos/effects/shipbonusemmissiledmgmd1.py b/eos/effects/shipbonusemmissiledmgmd1.py new file mode 100644 index 000000000..d7b5d731d --- /dev/null +++ b/eos/effects/shipbonusemmissiledmgmd1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "emDamage", src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer") diff --git a/eos/effects/shipbonusemshieldresistancemd2.py b/eos/effects/shipbonusemshieldresistancemd2.py new file mode 100644 index 000000000..423fde35e --- /dev/null +++ b/eos/effects/shipbonusemshieldresistancemd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusMD2"), skill="Minmatar Destroyer") diff --git a/eos/effects/shipbonusenergyneutfalloffab2.py b/eos/effects/shipbonusenergyneutfalloffab2.py new file mode 100644 index 000000000..40810e2c9 --- /dev/null +++ b/eos/effects/shipbonusenergyneutfalloffab2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship") diff --git a/eos/effects/shipbonusenergyneutfalloffac3.py b/eos/effects/shipbonusenergyneutfalloffac3.py new file mode 100644 index 000000000..a208cf28b --- /dev/null +++ b/eos/effects/shipbonusenergyneutfalloffac3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAC3"), skill="Amarr Cruiser") diff --git a/eos/effects/shipbonusenergyneutfalloffad1.py b/eos/effects/shipbonusenergyneutfalloffad1.py new file mode 100644 index 000000000..c6eaf3605 --- /dev/null +++ b/eos/effects/shipbonusenergyneutfalloffad1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusenergyneutfalloffaf3.py b/eos/effects/shipbonusenergyneutfalloffaf3.py new file mode 100644 index 000000000..835aa27b3 --- /dev/null +++ b/eos/effects/shipbonusenergyneutfalloffaf3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("shipBonus3AF"), skill="Amarr Frigate") diff --git a/eos/effects/shipbonusenergyneutfalloffeaf3.py b/eos/effects/shipbonusenergyneutfalloffeaf3.py new file mode 100644 index 000000000..1f704ed70 --- /dev/null +++ b/eos/effects/shipbonusenergyneutfalloffeaf3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusElectronicAttackShip3"), skill="Electronic Attack Ships") diff --git a/eos/effects/shipbonusenergyneutfalloffrs2.py b/eos/effects/shipbonusenergyneutfalloffrs2.py new file mode 100644 index 000000000..017a8b667 --- /dev/null +++ b/eos/effects/shipbonusenergyneutfalloffrs2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusReconShip2"), skill="Recon Ships") diff --git a/eos/effects/shipbonusenergyneutfalloffrs3.py b/eos/effects/shipbonusenergyneutfalloffrs3.py new file mode 100644 index 000000000..2d242ac21 --- /dev/null +++ b/eos/effects/shipbonusenergyneutfalloffrs3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships") diff --git a/eos/effects/shipbonusenergyneutoptimalab.py b/eos/effects/shipbonusenergyneutoptimalab.py new file mode 100644 index 000000000..2d1e08725 --- /dev/null +++ b/eos/effects/shipbonusenergyneutoptimalab.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship") diff --git a/eos/effects/shipbonusenergyneutoptimalac1.py b/eos/effects/shipbonusenergyneutoptimalac1.py new file mode 100644 index 000000000..580663cd9 --- /dev/null +++ b/eos/effects/shipbonusenergyneutoptimalac1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser") diff --git a/eos/effects/shipbonusenergyneutoptimalad2.py b/eos/effects/shipbonusenergyneutoptimalad2.py new file mode 100644 index 000000000..d2c4a4e37 --- /dev/null +++ b/eos/effects/shipbonusenergyneutoptimalad2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusenergyneutoptimalaf2.py b/eos/effects/shipbonusenergyneutoptimalaf2.py new file mode 100644 index 000000000..16cff81fa --- /dev/null +++ b/eos/effects/shipbonusenergyneutoptimalaf2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate") diff --git a/eos/effects/shipbonusenergyneutoptimaleaf1.py b/eos/effects/shipbonusenergyneutoptimaleaf1.py new file mode 100644 index 000000000..4dc4c6b96 --- /dev/null +++ b/eos/effects/shipbonusenergyneutoptimaleaf1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("eliteBonusElectronicAttackShip1"), skill="Electronic Attack Ships") diff --git a/eos/effects/shipbonusenergyneutoptimalrs1.py b/eos/effects/shipbonusenergyneutoptimalrs1.py new file mode 100644 index 000000000..6dfeacb3d --- /dev/null +++ b/eos/effects/shipbonusenergyneutoptimalrs1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships") diff --git a/eos/effects/shipbonusenergyneutoptimalrs3.py b/eos/effects/shipbonusenergyneutoptimalrs3.py new file mode 100644 index 000000000..3e3fa70fb --- /dev/null +++ b/eos/effects/shipbonusenergyneutoptimalrs3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships") diff --git a/eos/effects/shipbonusenergynosfalloffab.py b/eos/effects/shipbonusenergynosfalloffab.py new file mode 100644 index 000000000..e6451ce3d --- /dev/null +++ b/eos/effects/shipbonusenergynosfalloffab.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship") diff --git a/eos/effects/shipbonusenergynosfalloffab2.py b/eos/effects/shipbonusenergynosfalloffab2.py new file mode 100644 index 000000000..07f933f17 --- /dev/null +++ b/eos/effects/shipbonusenergynosfalloffab2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship") diff --git a/eos/effects/shipbonusenergynosfalloffac3.py b/eos/effects/shipbonusenergynosfalloffac3.py new file mode 100644 index 000000000..ba25c6950 --- /dev/null +++ b/eos/effects/shipbonusenergynosfalloffac3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAC3"), skill="Amarr Cruiser") diff --git a/eos/effects/shipbonusenergynosfalloffad1.py b/eos/effects/shipbonusenergynosfalloffad1.py new file mode 100644 index 000000000..61cc33227 --- /dev/null +++ b/eos/effects/shipbonusenergynosfalloffad1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusenergynosfalloffaf3.py b/eos/effects/shipbonusenergynosfalloffaf3.py new file mode 100644 index 000000000..486ac7b72 --- /dev/null +++ b/eos/effects/shipbonusenergynosfalloffaf3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonus3AF"), skill="Amarr Frigate") diff --git a/eos/effects/shipbonusenergynosfalloffeaf3.py b/eos/effects/shipbonusenergynosfalloffeaf3.py new file mode 100644 index 000000000..c7816bb0f --- /dev/null +++ b/eos/effects/shipbonusenergynosfalloffeaf3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusElectronicAttackShip3"), skill="Electronic Attack Ships") diff --git a/eos/effects/shipbonusenergynosfalloffrs2.py b/eos/effects/shipbonusenergynosfalloffrs2.py new file mode 100644 index 000000000..274a91ada --- /dev/null +++ b/eos/effects/shipbonusenergynosfalloffrs2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusReconShip2"), skill="Recon Ships") diff --git a/eos/effects/shipbonusenergynosfalloffrs3.py b/eos/effects/shipbonusenergynosfalloffrs3.py new file mode 100644 index 000000000..4feecd7ac --- /dev/null +++ b/eos/effects/shipbonusenergynosfalloffrs3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships") diff --git a/eos/effects/shipbonusenergynosoptimalac1.py b/eos/effects/shipbonusenergynosoptimalac1.py new file mode 100644 index 000000000..ecb8b7222 --- /dev/null +++ b/eos/effects/shipbonusenergynosoptimalac1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser") diff --git a/eos/effects/shipbonusenergynosoptimalad2.py b/eos/effects/shipbonusenergynosoptimalad2.py new file mode 100644 index 000000000..7112f90fa --- /dev/null +++ b/eos/effects/shipbonusenergynosoptimalad2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusenergynosoptimalaf2.py b/eos/effects/shipbonusenergynosoptimalaf2.py new file mode 100644 index 000000000..113bb33dc --- /dev/null +++ b/eos/effects/shipbonusenergynosoptimalaf2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate") diff --git a/eos/effects/shipbonusenergynosoptimaleaf1.py b/eos/effects/shipbonusenergynosoptimaleaf1.py new file mode 100644 index 000000000..8efe12a2f --- /dev/null +++ b/eos/effects/shipbonusenergynosoptimaleaf1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("eliteBonusElectronicAttackShip1"), skill="Electronic Attack Ships") diff --git a/eos/effects/shipbonusenergynosoptimalrs1.py b/eos/effects/shipbonusenergynosoptimalrs1.py new file mode 100644 index 000000000..7a7cb4bd6 --- /dev/null +++ b/eos/effects/shipbonusenergynosoptimalrs1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships") diff --git a/eos/effects/shipbonusenergynosoptimalrs3.py b/eos/effects/shipbonusenergynosoptimalrs3.py new file mode 100644 index 000000000..6d24848fe --- /dev/null +++ b/eos/effects/shipbonusenergynosoptimalrs3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships") diff --git a/eos/effects/shipbonusewweapondisruptionstrengthaf2.py b/eos/effects/shipbonusewweapondisruptionstrengthaf2.py new file mode 100644 index 000000000..2cf85e987 --- /dev/null +++ b/eos/effects/shipbonusewweapondisruptionstrengthaf2.py @@ -0,0 +1,9 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "trackingSpeedBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "explosionDelayBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "maxRangeBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "falloffBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "missileVelocityBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "aoeVelocityBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "aoeCloudSizeBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate") diff --git a/eos/effects/shipbonusexplosivearmorresistancead2.py b/eos/effects/shipbonusexplosivearmorresistancead2.py new file mode 100644 index 000000000..8190af8e0 --- /dev/null +++ b/eos/effects/shipbonusexplosivearmorresistancead2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusexplosivearmorresistancegd2.py b/eos/effects/shipbonusexplosivearmorresistancegd2.py new file mode 100644 index 000000000..b2427a891 --- /dev/null +++ b/eos/effects/shipbonusexplosivearmorresistancegd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusGD2"), skill="Gallente Destroyer") diff --git a/eos/effects/shipbonusexplosivemissiledamagecd1.py b/eos/effects/shipbonusexplosivemissiledamagecd1.py new file mode 100644 index 000000000..afd5cfa98 --- /dev/null +++ b/eos/effects/shipbonusexplosivemissiledamagecd1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "explosiveDamage", src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer") diff --git a/eos/effects/shipbonusexplosivemissiledmgmd1.py b/eos/effects/shipbonusexplosivemissiledmgmd1.py new file mode 100644 index 000000000..fe780b008 --- /dev/null +++ b/eos/effects/shipbonusexplosivemissiledmgmd1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "explosiveDamage", src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer") diff --git a/eos/effects/shipbonusexplosiveshieldresistancemd2.py b/eos/effects/shipbonusexplosiveshieldresistancemd2.py new file mode 100644 index 000000000..09aa7d92a --- /dev/null +++ b/eos/effects/shipbonusexplosiveshieldresistancemd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusMD2"), skill="Minmatar Destroyer") diff --git a/eos/effects/shipbonusjustscramblerrangegf2.py b/eos/effects/shipbonusjustscramblerrangegf2.py new file mode 100644 index 000000000..6f84fe9d8 --- /dev/null +++ b/eos/effects/shipbonusjustscramblerrangegf2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Navigation"), "maxRange", src.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate") diff --git a/eos/effects/shipbonuskineticarmorresistancead2.py b/eos/effects/shipbonuskineticarmorresistancead2.py new file mode 100644 index 000000000..8c4ddad63 --- /dev/null +++ b/eos/effects/shipbonuskineticarmorresistancead2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonuskineticarmorresistancegd2.py b/eos/effects/shipbonuskineticarmorresistancegd2.py new file mode 100644 index 000000000..d5f3637af --- /dev/null +++ b/eos/effects/shipbonuskineticarmorresistancegd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusGD2"), skill="Gallente Destroyer") diff --git a/eos/effects/shipbonuskineticmissiledamagecd1.py b/eos/effects/shipbonuskineticmissiledamagecd1.py new file mode 100644 index 000000000..d752e500b --- /dev/null +++ b/eos/effects/shipbonuskineticmissiledamagecd1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage", src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer") diff --git a/eos/effects/shipbonuskineticmissiledmgmd1.py b/eos/effects/shipbonuskineticmissiledmgmd1.py new file mode 100644 index 000000000..9a3c444a0 --- /dev/null +++ b/eos/effects/shipbonuskineticmissiledmgmd1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage", src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer") diff --git a/eos/effects/shipbonuskineticshieldresistancemd2.py b/eos/effects/shipbonuskineticshieldresistancemd2.py new file mode 100644 index 000000000..0b5ffa4c0 --- /dev/null +++ b/eos/effects/shipbonuskineticshieldresistancemd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusMD2"), skill="Minmatar Destroyer") diff --git a/eos/effects/shipbonusshieldemresistancecd2.py b/eos/effects/shipbonusshieldemresistancecd2.py new file mode 100644 index 000000000..4cf9c3341 --- /dev/null +++ b/eos/effects/shipbonusshieldemresistancecd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer") diff --git a/eos/effects/shipbonusshieldexplosiveresistancecd2.py b/eos/effects/shipbonusshieldexplosiveresistancecd2.py new file mode 100644 index 000000000..f64499eaf --- /dev/null +++ b/eos/effects/shipbonusshieldexplosiveresistancecd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer") diff --git a/eos/effects/shipbonusshieldkineticresistancecd2.py b/eos/effects/shipbonusshieldkineticresistancecd2.py new file mode 100644 index 000000000..f2d7551a6 --- /dev/null +++ b/eos/effects/shipbonusshieldkineticresistancecd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer") diff --git a/eos/effects/shipbonusshieldthermalresistancecd2.py b/eos/effects/shipbonusshieldthermalresistancecd2.py new file mode 100644 index 000000000..f4ffeda64 --- /dev/null +++ b/eos/effects/shipbonusshieldthermalresistancecd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer") diff --git a/eos/effects/shipbonusthermalarmorresistancead2.py b/eos/effects/shipbonusthermalarmorresistancead2.py new file mode 100644 index 000000000..dcadae1c1 --- /dev/null +++ b/eos/effects/shipbonusthermalarmorresistancead2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer") diff --git a/eos/effects/shipbonusthermalarmorresistancegd2.py b/eos/effects/shipbonusthermalarmorresistancegd2.py new file mode 100644 index 000000000..8550ba23a --- /dev/null +++ b/eos/effects/shipbonusthermalarmorresistancegd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusGD2"), skill="Gallente Destroyer") diff --git a/eos/effects/shipbonusthermalmissiledamagecd1.py b/eos/effects/shipbonusthermalmissiledamagecd1.py new file mode 100644 index 000000000..63fdd9337 --- /dev/null +++ b/eos/effects/shipbonusthermalmissiledamagecd1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "thermalDamage", src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer") diff --git a/eos/effects/shipbonusthermalshieldresistancemd2.py b/eos/effects/shipbonusthermalshieldresistancemd2.py new file mode 100644 index 000000000..ecb351191 --- /dev/null +++ b/eos/effects/shipbonusthermalshieldresistancemd2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusMD2"), skill="Minmatar Destroyer") diff --git a/eos/effects/shipbonusthermmissiledmgmd1.py b/eos/effects/shipbonusthermmissiledmgmd1.py new file mode 100644 index 000000000..d7e386683 --- /dev/null +++ b/eos/effects/shipbonusthermmissiledmgmd1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "thermalDamage", src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer") diff --git a/eos/effects/shipetdamageaf.py b/eos/effects/shipetdamageaf.py index 74dded640..013a92685 100644 --- a/eos/effects/shipetdamageaf.py +++ b/eos/effects/shipetdamageaf.py @@ -1,9 +1,3 @@ -# shipETDamageAF -# -# Used by: -# Ship: Crusader -# Ship: Imperial Navy Slicer type = "passive" -def handler(fit, ship, context): - fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"), - "damageMultiplier", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate") \ No newline at end of file +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"), "damageMultiplier", src.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate") diff --git a/eos/effects/shipmissilekindamagecc3.py b/eos/effects/shipmissilekindamagecc3.py new file mode 100644 index 000000000..ec03affec --- /dev/null +++ b/eos/effects/shipmissilekindamagecc3.py @@ -0,0 +1,14 @@ +# shipMissileKinDamageCC3 +# Modifier 1: +# # state: offline +# # scope: local +# # srcattr: shipBonusCC3 1535 +# # operator: post_percent 8 +# # tgtattr: kineticDamage (not penalized) 117 +# # location: space +# # filter type: skill +# # filter value: Missile Launcher Operation + +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage", src.getModifiedItemAttr("shipBonusCC3"), skill="Caldari Cruiser") \ No newline at end of file diff --git a/eos/effects/shipremotearmorfalloffac2.py b/eos/effects/shipremotearmorfalloffac2.py new file mode 100644 index 000000000..7cdc7392f --- /dev/null +++ b/eos/effects/shipremotearmorfalloffac2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser") diff --git a/eos/effects/shipremotearmorfalloffgc1.py b/eos/effects/shipremotearmorfalloffgc1.py new file mode 100644 index 000000000..031fc202e --- /dev/null +++ b/eos/effects/shipremotearmorfalloffgc1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser") diff --git a/eos/effects/shiprocketemthermkindmgmf2.py b/eos/effects/shiprocketemthermkindmgmf2.py new file mode 100644 index 000000000..8d3e25cbd --- /dev/null +++ b/eos/effects/shiprocketemthermkindmgmf2.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "emDamage", src.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate") + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "thermalDamage", src.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate") + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "kineticDamage", src.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate") diff --git a/eos/effects/shiprocketexpdmgmf3.py b/eos/effects/shiprocketexpdmgmf3.py new file mode 100644 index 000000000..f94d45fbc --- /dev/null +++ b/eos/effects/shiprocketexpdmgmf3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "explosiveDamage", src.getModifiedItemAttr("shipBonus3MF"), skill="Minmatar Frigate") diff --git a/eos/effects/shipshieldtransferfalloffcc1.py b/eos/effects/shipshieldtransferfalloffcc1.py new file mode 100644 index 000000000..8f2d5aa02 --- /dev/null +++ b/eos/effects/shipshieldtransferfalloffcc1.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "falloffEffectiveness", src.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser") diff --git a/eos/effects/shipshieldtransferfalloffmc2.py b/eos/effects/shipshieldtransferfalloffmc2.py new file mode 100644 index 000000000..7e9695af7 --- /dev/null +++ b/eos/effects/shipshieldtransferfalloffmc2.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "falloffEffectiveness", src.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser") diff --git a/eos/effects/shipsmallmissilekindmgcf3.py b/eos/effects/shipsmallmissilekindmgcf3.py new file mode 100644 index 000000000..c6128917f --- /dev/null +++ b/eos/effects/shipsmallmissilekindmgcf3.py @@ -0,0 +1,23 @@ +# shipSmallMissileKinDmgCF3 +# Modifier 1: +# # state: offline +# # scope: local +# # srcattr: shipBonus3CF 1624 +# # operator: post_percent 8 +# # tgtattr: kineticDamage (not penalized) 117 +# # location: space +# # filter type: skill +# # filter value: Light Missiles +# Modifier 2: +# # state: offline +# # scope: local +# # srcattr: shipBonus3CF 1624 +# # operator: post_percent 8 +# # tgtattr: kineticDamage (not penalized) 117 +# # location: space +# # filter type: skill +# # filter value: Rockets + +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles") or mod.charge.requiresSkill("Rockets"), "kineticDamage", src.getModifiedItemAttr("shipBonus3CF"), skill="Caldari Frigate") \ No newline at end of file diff --git a/eos/saveddata/drone.py b/eos/saveddata/drone.py index 2fcb6a908..507c55681 100644 --- a/eos/saveddata/drone.py +++ b/eos/saveddata/drone.py @@ -172,7 +172,7 @@ class Drone(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut): # Put them in the attrs tuple. @property def falloff(self): - attrs = ("falloff",) + attrs = ("falloff", "falloffEffectiveness") for attr in attrs: falloff = self.getModifiedItemAttr(attr) if falloff is not None: return falloff @@ -201,7 +201,7 @@ class Drone(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut): # Do not allow to apply offensive modules on ship with offensive module immunite, with few exceptions # (all effects which apply instant modification are exception, generally speaking) if item.offensive and projectedOnto.ship.getModifiedItemAttr("disallowOffensiveModifiers") == 1: - offensiveNonModifiers = set(("energyDestabilizationNew", "leech")) + offensiveNonModifiers = set(("energyDestabilizationNew", "leech", "energyNosferatuFalloff", "energyNeutralizerFalloff")) if not offensiveNonModifiers.intersection(set(item.effects)): return False # If assistive modules are not allowed, do not let to apply these altogether diff --git a/eos/saveddata/module.py b/eos/saveddata/module.py index 5fbb75e1c..6c3b4273a 100644 --- a/eos/saveddata/module.py +++ b/eos/saveddata/module.py @@ -254,7 +254,7 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut): @property def falloff(self): - attrs = ("falloff", "shipScanFalloff") + attrs = ("falloff", "shipScanFalloff", "falloffEffectiveness") for attr in attrs: falloff = self.getModifiedItemAttr(attr) if falloff is not None: return falloff @@ -469,7 +469,7 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut): # Do not allow to apply offensive modules on ship with offensive module immunite, with few exceptions # (all effects which apply instant modification are exception, generally speaking) if item.offensive and projectedOnto.ship.getModifiedItemAttr("disallowOffensiveModifiers") == 1: - offensiveNonModifiers = set(("energyDestabilizationNew", "leech")) + offensiveNonModifiers = set(("energyDestabilizationNew", "leech", "energyNosferatuFalloff", "energyNeutralizerFalloff")) if not offensiveNonModifiers.intersection(set(item.effects)): return False # If assistive modules are not allowed, do not let to apply these altogether