Merge pull request #756 from MrNukealizer/FighterFixes
Fixed a few fighter/carrier bugs:
This commit is contained in:
24
eos/effects/fighterabilityevasivemaneuvers.py
Normal file
24
eos/effects/fighterabilityevasivemaneuvers.py
Normal 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)
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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)
|
||||
Reference in New Issue
Block a user