Merge pull request #756 from MrNukealizer/FighterFixes

Fixed a few fighter/carrier bugs:
This commit is contained in:
Ryan Holmes
2016-10-08 23:07:01 -04:00
committed by GitHub
7 changed files with 76 additions and 15 deletions

View File

@@ -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)

View File

@@ -4,13 +4,13 @@
# Module: Networked Sensor Array
type = "active"
def handler(fit, src, context):
fit.ship.multiplyItemAttr("maxTargetRange", src.getModifiedItemAttr("maxTargetRangeMultiplier"), stackingPenalties=True, penaltyGroup="postMul")
fit.ship.boostItemAttr("scanResolution", src.getModifiedItemAttr("scanResolutionBonus"), stackingPenalties=True)
for scanType in ('Magnetometric', 'Ladar', 'Gravimetric', 'Radar'):
fit.ship.boostItemAttr("scan{}Strength".format(scanType),
src.getModifiedItemAttr("scan{}StrengthPercent".format(scanType)),
stackingPenalties=True)
attr = "scan{}Strength".format(scanType)
bonus = src.getModifiedItemAttr("scan{}StrengthPercent".format(scanType))
fit.ship.boostItemAttr(attr, bonus, stackingPenalties=True)
fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill("Fighters"), attr, bonus, stackingPenalties=True)
# EW cap need increase
groups = [

View File

@@ -4,6 +4,9 @@
# Modules from group: Drone Tracking Modules (10 of 10)
type = "overheat"
def handler(fit, module, context):
module.boostItemAttr("maxRangeBonus", module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
module.boostItemAttr("falloffBonus", module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
module.boostItemAttr("trackingSpeedBonus", module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
overloadBonus = module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus")
module.boostItemAttr("maxRangeBonus", overloadBonus)
module.boostItemAttr("falloffBonus", overloadBonus)
module.boostItemAttr("trackingSpeedBonus", overloadBonus)
module.boostItemAttr("aoeCloudSizeBonus", overloadBonus)
module.boostItemAttr("aoeVelocityBonus", overloadBonus)