diff --git a/eos/effects/covertopsandreconopscloakmoduledelaybonus.py b/eos/effects/covertopsandreconopscloakmoduledelaybonus.py index e028d50f8..3d5d95227 100755 --- a/eos/effects/covertopsandreconopscloakmoduledelaybonus.py +++ b/eos/effects/covertopsandreconopscloakmoduledelaybonus.py @@ -9,5 +9,5 @@ # Ship: Astero type = "passive" def handler(fit, container, context): - fit.modules.filteredItemForce(lambda mod: mod.item.group.name == "Cloaking Device", + fit.modules.filteredItemForce(lambda mod: mod.item.requiresSkill("Cloaking"), "moduleReactivationDelay", container.getModifiedItemAttr("covertOpsAndReconOpsCloakModuleDelay")) diff --git a/eos/effects/drawbackcargocapacity.py b/eos/effects/drawbackcargocapacity.py new file mode 100644 index 000000000..a478f370e --- /dev/null +++ b/eos/effects/drawbackcargocapacity.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, module, context): + fit.ship.boostItemAttr("capacity", module.getModifiedItemAttr("drawback")) diff --git a/eos/effects/dronetrackingenhancerbonus.py b/eos/effects/dronetrackingenhancerbonus.py new file mode 100644 index 000000000..f9c2cb7a0 --- /dev/null +++ b/eos/effects/dronetrackingenhancerbonus.py @@ -0,0 +1,11 @@ +type = "passive" +def handler(fit, module, context): + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "maxRange", module.getModifiedItemAttr("maxRangeBonus"), + stackingPenalties = True) + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "falloff", module.getModifiedItemAttr("falloffBonus"), + stackingPenalties = True) + fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"), + "trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"), + stackingPenalties = True) diff --git a/eos/effects/elitebonusexpeditionmining1.py b/eos/effects/elitebonusexpeditionmining1.py new file mode 100644 index 000000000..519635646 --- /dev/null +++ b/eos/effects/elitebonusexpeditionmining1.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, module, context): + level = fit.character.getSkill("Expedition Frigates").level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"), + "miningAmount", module.getModifiedItemAttr("eliteBonusExpedition1") * level) diff --git a/eos/effects/elitebonusexpeditionsigradius2.py b/eos/effects/elitebonusexpeditionsigradius2.py new file mode 100644 index 000000000..a504c7b1e --- /dev/null +++ b/eos/effects/elitebonusexpeditionsigradius2.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Expedition Frigates").level + fit.ship.boostItemAttr("signatureRadius", ship.getModifiedItemAttr("eliteBonusExpedition2") * level) diff --git a/eos/effects/frequencymininglasermaxrangebonus.py b/eos/effects/frequencymininglasermaxrangebonus.py new file mode 100644 index 000000000..341782cb2 --- /dev/null +++ b/eos/effects/frequencymininglasermaxrangebonus.py @@ -0,0 +1,6 @@ +# Used by: +# Implants named like: Low grade Harvest (5 of 6) +type = "passive" +def handler(fit, implant, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Frequency Mining Laser", + "maxRange", implant.getModifiedItemAttr("maxRangeBonus")) diff --git a/eos/effects/gchyieldmultiplypassive.py b/eos/effects/gchyieldmultiplypassive.py index d4d3d6082..87105143e 100755 --- a/eos/effects/gchyieldmultiplypassive.py +++ b/eos/effects/gchyieldmultiplypassive.py @@ -2,5 +2,5 @@ # Ship: Venture type = "passive" def handler(fit, module, context): - fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Gas Cloud Harvesting"), - "miningAmount", module.getModifiedItemAttr("miningAmountMultiplier")) \ No newline at end of file + fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Gas Cloud Harvester", + "miningAmount", module.getModifiedItemAttr("miningAmountMultiplier")) diff --git a/eos/effects/shipbonusmissileexplosiondelaypiratefaction2.py b/eos/effects/shipbonusmissileexplosiondelaypiratefaction2.py new file mode 100644 index 000000000..6d39ac986 --- /dev/null +++ b/eos/effects/shipbonusmissileexplosiondelaypiratefaction2.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, ship, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), + "explosionDelay", ship.getModifiedItemAttr("shipBonusPirateFaction2")) diff --git a/eos/effects/shipbonuswarpscramblemaxrangegb.py b/eos/effects/shipbonuswarpscramblemaxrangegb.py new file mode 100644 index 000000000..5d703d1c7 --- /dev/null +++ b/eos/effects/shipbonuswarpscramblemaxrangegb.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Gallente Battleship").level + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler", + "maxRange", ship.getModifiedItemAttr("shipBonusGB") * level) diff --git a/eos/effects/shipgchyieldbonusorefrig2.py b/eos/effects/shipgchyieldbonusorefrig2.py index 5d0451b2f..839ce2e55 100755 --- a/eos/effects/shipgchyieldbonusorefrig2.py +++ b/eos/effects/shipgchyieldbonusorefrig2.py @@ -3,5 +3,5 @@ type = "passive" def handler(fit, module, context): level = fit.character.getSkill("Mining Frigate").level - fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gas Cloud Harvesting"), - "duration", module.getModifiedItemAttr("shipBonusOREfrig2") * level) \ No newline at end of file + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Gas Cloud Harvester", + "duration", module.getModifiedItemAttr("shipBonusOREfrig2") * level) diff --git a/eos/effects/shipminingbonusorefrig1.py b/eos/effects/shipminingbonusorefrig1.py index d6f138813..214c4bca7 100755 --- a/eos/effects/shipminingbonusorefrig1.py +++ b/eos/effects/shipminingbonusorefrig1.py @@ -4,4 +4,4 @@ type = "passive" def handler(fit, module, context): level = fit.character.getSkill("Mining Frigate").level fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"), - "miningAmount", module.getModifiedItemAttr("shipBonusOREfrig1") * level) \ No newline at end of file + "miningAmount", module.getModifiedItemAttr("shipBonusOREfrig1") * level) diff --git a/eos/effects/shipmissileemdamagecb.py b/eos/effects/shipmissileemdamagecb.py new file mode 100644 index 000000000..f9c7a0ccb --- /dev/null +++ b/eos/effects/shipmissileemdamagecb.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Caldari Battleship").level + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), + "emDamage", ship.getModifiedItemAttr("shipBonusCB") * level) diff --git a/eos/effects/shipmissileemdamagecf.py b/eos/effects/shipmissileemdamagecf.py new file mode 100644 index 000000000..0b438808d --- /dev/null +++ b/eos/effects/shipmissileemdamagecf.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Caldari Frigate").level + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), + "emDamage", ship.getModifiedItemAttr("shipBonusCF") * level) diff --git a/eos/effects/shipmissileexplodamagecb.py b/eos/effects/shipmissileexplodamagecb.py new file mode 100644 index 000000000..c503aad56 --- /dev/null +++ b/eos/effects/shipmissileexplodamagecb.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Caldari Battleship").level + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), + "explosiveDamage", ship.getModifiedItemAttr("shipBonusCB") * level) diff --git a/eos/effects/shipmissileexplosivedamagecf.py b/eos/effects/shipmissileexplosivedamagecf.py new file mode 100644 index 000000000..e4ecd68ff --- /dev/null +++ b/eos/effects/shipmissileexplosivedamagecf.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Caldari Frigate").level + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), + "explosiveDamage", ship.getModifiedItemAttr("shipBonusCF") * level) diff --git a/eos/effects/shipmissilekindamagecb.py b/eos/effects/shipmissilekindamagecb.py new file mode 100644 index 000000000..979ccc11b --- /dev/null +++ b/eos/effects/shipmissilekindamagecb.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Caldari Battleship").level + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), + "kineticDamage", ship.getModifiedItemAttr("shipBonusCB") * level) diff --git a/eos/effects/shipmissilethermaldamagecf.py b/eos/effects/shipmissilethermaldamagecf.py new file mode 100644 index 000000000..c64848fbb --- /dev/null +++ b/eos/effects/shipmissilethermaldamagecf.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Caldari Frigate").level + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), + "thermalDamage", ship.getModifiedItemAttr("shipBonusCF") * level) diff --git a/eos/effects/shipmissilethermdamagecb.py b/eos/effects/shipmissilethermdamagecb.py new file mode 100644 index 000000000..57b5c3531 --- /dev/null +++ b/eos/effects/shipmissilethermdamagecb.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, ship, context): + level = fit.character.getSkill("Caldari Battleship").level + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), + "thermalDamage", ship.getModifiedItemAttr("shipBonusCB") * level) diff --git a/eos/effects/shipmissilevelocitypiratefactionfrigate.py b/eos/effects/shipmissilevelocitypiratefactionfrigate.py index bbed3cadb..c4761d17d 100755 --- a/eos/effects/shipmissilevelocitypiratefactionfrigate.py +++ b/eos/effects/shipmissilevelocitypiratefactionfrigate.py @@ -2,5 +2,5 @@ # Ship: Worm type = "passive" def handler(fit, ship, context): - fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles") or mod.charge.requiresSkill("Rockets"), + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "maxVelocity", ship.getModifiedItemAttr("shipBonusPirateFaction")) diff --git a/eos/effects/warpskillspeed.py b/eos/effects/warpskillspeed.py index 4eae764aa..4af697ef9 100755 --- a/eos/effects/warpskillspeed.py +++ b/eos/effects/warpskillspeed.py @@ -4,4 +4,6 @@ # Modules named like: Hyperspatial Velocity Optimizer (8 of 8) type = "passive" def handler(fit, container, context): - fit.ship.boostItemAttr("baseWarpSpeed", container.getModifiedItemAttr("WarpSBonus")) + penalized = False if "skill" in context or "implant" in context else True + fit.ship.boostItemAttr("baseWarpSpeed", container.getModifiedItemAttr("WarpSBonus"), + stackingPenalties=penalized) diff --git a/eos/effects/warpspeedaddition.py b/eos/effects/warpspeedaddition.py new file mode 100644 index 000000000..e7910c02a --- /dev/null +++ b/eos/effects/warpspeedaddition.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, module, context): + fit.ship.increaseItemAttr("warpSpeedMultiplier", module.getModifiedItemAttr("warpSpeedAdd"))