Files
pyfa/eos/effects/offensivedefensivereduction.py

33 lines
1.8 KiB
Python

# OffensiveDefensiveReduction
#
# Used by:
# Celestials named like: Drifter Incursion (6 of 6)
# Celestials named like: Incursion ship attributes effects (3 of 3)
runTime = "early"
type = ("projected", "passive")
def handler(fit, beacon, context):
damages = ("em", "thermal", "kinetic", "explosive")
for damage in damages:
# Nerf missile damage
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
"{0}Damage".format(damage),
beacon.getModifiedItemAttr("systemEffectDamageReduction"))
# Nerf smartbomb damage
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Smart Bomb",
"{0}Damage".format(damage),
beacon.getModifiedItemAttr("systemEffectDamageReduction"))
# Nerf armor resistances
fit.ship.boostItemAttr("armor{0}DamageResonance".format(damage.capitalize()),
beacon.getModifiedItemAttr("armor{0}DamageResistanceBonus".format(damage.capitalize())))
# Nerf shield resistances
fit.ship.boostItemAttr("shield{0}DamageResonance".format(damage.capitalize()),
beacon.getModifiedItemAttr("shield{0}DamageResistanceBonus".format(damage.capitalize())))
# Nerf drone damage output
fit.drones.filteredItemBoost(lambda drone: True,
"damageMultiplier", beacon.getModifiedItemAttr("systemEffectDamageReduction"))
# Nerf turret damage output
fit.modules.filteredItemBoost(lambda module: module.item.requiresSkill("Gunnery"),
"damageMultiplier", beacon.getModifiedItemAttr("systemEffectDamageReduction"))