diff --git a/eos/effects/fighterabilityevasivemaneuvers.py b/eos/effects/fighterabilityevasivemaneuvers.py new file mode 100644 index 000000000..19af7030f --- /dev/null +++ b/eos/effects/fighterabilityevasivemaneuvers.py @@ -0,0 +1,24 @@ +# 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, module, context): + module.boostItemAttr("maxVelocity", module.getModifiedItemAttr("fighterAbilityEvasiveManeuversSpeedBonus")) + module.boostItemAttr("signatureRadius", module.getModifiedItemAttr("fighterAbilityEvasiveManeuversSignatureRadiusBonus"), stackingPenalties = True) + + # These may not have stacking penalties, but there's nothing else that affects the attributes yet to check. + module.multiplyItemAttr("shieldEmDamageResonance", module.getModifiedItemAttr("fighterAbilityEvasiveManeuversEmResonance"), stackingPenalties = True) + module.multiplyItemAttr("shieldThermalDamageResonance", module.getModifiedItemAttr("fighterAbilityEvasiveManeuversThermResonance"), stackingPenalties = True) + module.multiplyItemAttr("shieldKineticDamageResonance", module.getModifiedItemAttr("fighterAbilityEvasiveManeuversKinResonance"), stackingPenalties = True) + module.multiplyItemAttr("shieldExplosiveDamageResonance", module.getModifiedItemAttr("fighterAbilityEvasiveManeuversExpResonance"), stackingPenalties = True) \ No newline at end of file diff --git a/eos/saveddata/fighterAbility.py b/eos/saveddata/fighterAbility.py index 027ffa30f..39129483a 100644 --- a/eos/saveddata/fighterAbility.py +++ b/eos/saveddata/fighterAbility.py @@ -29,9 +29,10 @@ class FighterAbility(object): # We aren't able to get data on the charges that can be stored with fighters. So we hardcode that data here, keyed # with the fighter squadron role NUM_SHOTS_MAPPING = { - 2: 8, # Light fighter / Attack + 1: 0, # Superiority fighter / Attack + 2: 12, # Light fighter / Attack 4: 6, # Heavy fighter / Heavy attack - 5: 2, # Heavy fighter / Long range attack + 5: 3, # Heavy fighter / Long range attack } def __init__(self, effect):