Revert "Remove effect files that are not used by any item"

This reverts commit b29fa2467a.

(cherry picked from commit 4a95156)
This commit is contained in:
blitzman
2016-12-04 20:10:09 -08:00
committed by Ebag333
parent 9f4b31979c
commit 7fbd89392a
67 changed files with 744 additions and 1 deletions

View File

@@ -0,0 +1,10 @@
# Not used by any item
type = "gang", "active"
gangBonus = "armorHpBonus2"
gangBoost = "armorHP"
def handler(fit, module, context):
if "gang" not in context:
return
fit.ship.boostItemAttr("armorHP", module.getModifiedItemAttr("armorHpBonus2"))

View File

@@ -0,0 +1,9 @@
# Not used by any item
type = "active", "projected"
def handler(fit, module, context):
if "projected" not in context:
return
fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor"),
stackingPenalties=True)

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
def handler(fit, skill, context):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
"damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)

View File

@@ -0,0 +1,6 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"), "commandBonusHidden", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"), "signatureRadiusBonus",
src.getModifiedItemAttr("eliteBonusCommandDestroyer3"), skill="Command Destroyers")

View File

@@ -0,0 +1,5 @@
# Not used by any item
type = "passive"
def handler(fit, module, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"),
"commandBonusHidden", module.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")

View File

@@ -0,0 +1,13 @@
# Not used by any item
from eos.types import State
type = "active", "projected"
def handler(fit, src, context):
if "projected" in context and (
(hasattr(src, "state") and src.state >= State.ACTIVE) or hasattr(src, "amountActive")):
multiplier = src.amountActive if hasattr(src, "amountActive") else 1
amount = src.getModifiedItemAttr("energyNeutralizerAmount")
time = src.getModifiedItemAttr("duration")
fit.addDrain(src, time, amount * multiplier, 0)

View File

@@ -0,0 +1,9 @@
# Not used by any item
type = "projected", "active"
def handler(fit, src, context):
if "projected" in context:
amount = src.getModifiedItemAttr("powerTransferAmount")
duration = src.getModifiedItemAttr("duration")
fit.addDrain(src, duration, -amount, 0)

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "projected", "active"
def handler(fit, container, context):
if "projected" in context:
fit.ship.boostItemAttr("signatureRadius", container.getModifiedItemAttr("signatureRadiusBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,16 @@
# 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 = "Turret Attack"
# Attribute prefix that this ability targets
prefix = "fighterAbilityAttackMissile"
type = "active"
def handler(fit, src, context):
pass

View File

@@ -0,0 +1,21 @@
# 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 = "ECM"
prefix = "fighterAbilityECM"
type = "projected", "active"
def handler(fit, module, context):
if "projected" not in context:
return
# jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
strModifier = 1 - module.getModifiedItemAttr("{}Strength{}".format(prefix, fit.scanType)) / fit.scanStrength
fit.ecmProjectedStr *= strModifier

View File

@@ -0,0 +1,17 @@
# 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 = "Energy Neutralizer"
prefix = "fighterAbilityEnergyNeutralizer"
type = "active", "projected"
def handler(fit, src, context):
if "projected" in context:
amount = src.getModifiedItemAttr("{}Amount".format(prefix))
time = src.getModifiedItemAttr("{}Duration".format(prefix))
fit.addDrain(src, time, amount, 0)

View File

@@ -0,0 +1,37 @@
# 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, container, context):
container.boostItemAttr("maxVelocity",
container.getModifiedItemAttr("fighterAbilityEvasiveManeuversSpeedBonus"))
container.boostItemAttr("signatureRadius",
container.getModifiedItemAttr("fighterAbilityEvasiveManeuversSignatureRadiusBonus"),
stackingPenalties=True)
# These may not have stacking penalties, but there's nothing else that affects the attributes yet to check.
container.multiplyItemAttr("shieldEmDamageResonance",
container.getModifiedItemAttr("fighterAbilityEvasiveManeuversEmResonance"),
stackingPenalties=True)
container.multiplyItemAttr("shieldThermalDamageResonance",
container.getModifiedItemAttr("fighterAbilityEvasiveManeuversThermResonance"),
stackingPenalties=True)
container.multiplyItemAttr("shieldKineticDamageResonance",
container.getModifiedItemAttr("fighterAbilityEvasiveManeuversKinResonance"),
stackingPenalties=True)
container.multiplyItemAttr("shieldExplosiveDamageResonance",
container.getModifiedItemAttr("fighterAbilityEvasiveManeuversExpResonance"),
stackingPenalties=True)

View File

@@ -0,0 +1,19 @@
# 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 = "Bomb"
# Attribute prefix that this ability targets
prefix = "fighterAbilityLaunchBomb"
type = "active"
# This flag is required for effects that use charges in order to properly calculate reload time
hasCharges = True
def handler(fit, src, context):
pass

View File

@@ -0,0 +1,20 @@
# 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 = "Microwarpdrive"
# 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("fighterAbilityMicroWarpDriveSpeedBonus"))
module.boostItemAttr("signatureRadius",
module.getModifiedItemAttr("fighterAbilityMicroWarpDriveSignatureRadiusBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,19 @@
# 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 = "Missile Attack"
# Attribute prefix that this ability targets
prefix = "fighterAbilityMissiles"
type = "active"
# This flag is required for effects that use charges in order to properly calculate reload time
hasCharges = True
def handler(fit, src, context):
pass

View File

@@ -0,0 +1,18 @@
# 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 = "Stasis Webifier"
prefix = "fighterAbilityStasisWebifier"
type = "active", "projected"
def handler(fit, src, context):
if "projected" not in context:
return
fit.ship.boostItemAttr("maxVelocity", src.getModifiedItemAttr("{}SpeedPenalty".format(prefix)))

View File

@@ -0,0 +1,16 @@
# 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 = "Warp Disruption"
prefix = "fighterAbilityWarpDisruption"
type = "active", "projected"
def handler(fit, src, context):
if "projected" not in context:
return
fit.ship.increaseItemAttr("warpScrambleStatus", src.getModifiedItemAttr("{}PointStrength".format(prefix)))

View File

@@ -0,0 +1,11 @@
# Not used by any item
type = "passive"
def handler(fit, module, context):
# Note: we increase maxGroupActive by two.
# If we only increased it by one, we'd get the number to stay equal
# As Comman Processors use one themselves too
fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Gang Coordinator" and
"maxGroupActive" in mod.itemModifiedAttributes,
"maxGroupActive", 1)

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
"capacitorNeed", ship.getModifiedItemAttr("iceHarvestCycleBonus"))

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "gang"
gangBoost = "maxTargetRange"
gangBonus = "maxTargetRangeBonus"
def handler(fit, container, context):
fit.ship.boostItemAttr(gangBoost, container.getModifiedItemAttr(gangBonus))

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, implant, context):
fit.character.getSkill("Information Command").suppress()
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"),
"commandBonusHidden", implant.getModifiedItemAttr("mindlinkBonus"))

View File

@@ -0,0 +1,6 @@
# Not used by any item
type = 'active'
def handler(fit, module, context):
pass

View File

@@ -0,0 +1,52 @@
# Not used by any item
type = "active"
runTime = "early"
def handler(fit, module, context):
# Resistances
for layer, attrPrefix in (('shield', 'shield'), ('armor', 'armor'), ('hull', '')):
for damageType in ('Kinetic', 'Thermal', 'Explosive', 'Em'):
bonus = "%s%sDamageResonance" % (attrPrefix, damageType)
bonus = "%s%s" % (bonus[0].lower(), bonus[1:])
booster = "%s%sDamageResonance" % (layer, damageType)
penalize = False if layer == 'hull' else True
fit.ship.multiplyItemAttr(bonus, module.getModifiedItemAttr(booster),
stackingPenalties=penalize, penaltyGroup="preMul")
# Turrets
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret") or
mod.item.requiresSkill("Large Hybrid Turret") or
mod.item.requiresSkill("Large Projectile Turret"),
"maxRange", module.getModifiedItemAttr("maxRangeBonus"),
stackingPenalties=True)
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret") or
mod.item.requiresSkill("Large Hybrid Turret") or
mod.item.requiresSkill("Large Projectile Turret"),
"falloff", module.getModifiedItemAttr("falloffBonus"),
stackingPenalties=True)
# Missiles
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes") or
mod.charge.requiresSkill("Cruise Missiles") or
mod.charge.requiresSkill("Heavy Missiles"),
"maxVelocity", module.getModifiedItemAttr("missileVelocityBonus"))
# Tanking
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill("Capital Repair Systems") or mod.item.requiresSkill("Repair Systems"),
"armorDamageAmount", module.getModifiedItemAttr("armorDamageAmountBonus"),
stackingPenalties=True)
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill("Capital Shield Operation") or mod.item.requiresSkill("Shield Operation"),
"shieldBonus", module.getModifiedItemAttr("shieldBoostMultiplier"),
stackingPenalties=True)
# Speed penalty
fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor"))
# Max locked targets
fit.ship.forceItemAttr("maxLockedTargets", module.getModifiedItemAttr("maxLockedTargets"))
# Block Hostile ewar
fit.ship.forceItemAttr("disallowOffensiveModifiers", module.getModifiedItemAttr("disallowOffensiveModifiers"))

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Director"),
"commandBonus", ship.getModifiedItemAttr("commandBonusEffective"))

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
"falloffEffectiveness", src.getModifiedItemAttr("shipBonusORECapital3"),
skill="Capital Industrial Ships")

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
"maxRange", ship.getModifiedItemAttr("shipBonusORECapital3"),
skill="Capital Industrial Ships")

View File

@@ -0,0 +1,6 @@
# Not used by any item
type = 'active'
def handler(fit, module, context):
pass

View File

@@ -0,0 +1,10 @@
# Not used by any item
type = "projected", "active"
runTime = "late"
def handler(fit, module, context):
if "projected" not in context: return
bonus = module.getModifiedItemAttr("structureDamageAmount")
duration = module.getModifiedItemAttr("duration") / 1000.0
fit.extraAttributes.increase("hullRepair", bonus / duration)

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill),
"drawback", skill.getModifiedItemAttr("rigDrawbackBonus") * skill.level)

View File

@@ -1,8 +1,8 @@
# setBonusAsklepian
#
# Used by:
# Implants named like: Asklepian Omega (3 of 3)
# Implants named like: Grade Asklepian (16 of 16)
# Implants named like: grade Asklepian Omega (2 of 2)
runTime = "early"
type = "passive"

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu",
"maxRange", ship.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")

View File

@@ -0,0 +1,9 @@
# Not used by any item
type = "passive"
def handler(fit, ship, context):
for type in ("shieldCapacity", "armorHP", "hp"):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
type, ship.getModifiedItemAttr("shipBonusORECapital4"),
skill="Capital Industrial Ships")

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, ship, context):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
"damageMultiplier", ship.getModifiedItemAttr("shipBonusORECapital4"),
skill="Capital Industrial Ships")

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, ship, context):
if fit.extraAttributes["siege"]:
fit.ship.increaseItemAttr("commandBonusEffective", ship.getModifiedItemAttr("shipBonusORECapital2"),
skill="Capital Industrial Ships")

View File

@@ -0,0 +1,11 @@
# Not used by any item
type = "passive"
def handler(fit, module, context):
fit.ship.multiplyItemAttr(
"scanResolution",
1 / module.getModifiedItemAttr("modeScanResPostDiv"),
stackingPenalties=True,
penaltyGroup="postDiv"
)

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"),
"damageMultiplier", ship.getModifiedItemAttr("shipBonusPirateFaction"))

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "gang"
gangBoost = "shieldCapacity"
gangBonus = "shieldCapacityBonus"
def handler(fit, container, context):
fit.ship.boostItemAttr(gangBoost, container.getModifiedItemAttr(gangBonus))

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "gang"
gangBoost = "agility"
gangBonus = "agilityBonus"
def handler(fit, container, context):
fit.ship.boostItemAttr(gangBoost, container.getModifiedItemAttr(gangBonus))

View File

@@ -0,0 +1,17 @@
# Not used by any item
type = "passive"
def handler(fit, module, context):
missileGroups = ("Structure Anti-Capital Missile", "Structure Anti-Subcapital Missile")
for dmgType in ("em", "kinetic", "explosive", "thermal"):
fit.modules.filteredChargeMultiply(lambda mod: mod.charge.group.name in missileGroups,
"%sDamage" % dmgType,
module.getModifiedItemAttr("missileDamageMultiplierBonus"),
stackingPenalties=True)
launcherGroups = ("Structure AXL Missile Launcher", "Structure ASML Missile Launcher")
fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name in launcherGroups,
"speed", module.getModifiedItemAttr("speedMultiplier"),
stackingPenalties=True)

View File

@@ -0,0 +1,13 @@
# Not used by any item
from eos.types import State
type = "active", "projected"
def handler(fit, container, context):
amount = 0
if "projected" in context and ((hasattr(container, "state")
and container.state >= State.ACTIVE) or hasattr(container, "amountActive")):
amount = container.getModifiedItemAttr("energyNeutralizerAmount")
time = container.getModifiedItemAttr("duration")
fit.addDrain(time, amount, 0)

View File

@@ -0,0 +1,10 @@
# Not used by any item
type = "projected", "active"
def handler(fit, module, context):
if "projected" in context:
# jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
strModifier = 1 - module.getModifiedItemAttr("scan{0}StrengthBonus".format(fit.scanType)) / fit.scanStrength
fit.ecmProjectedStr *= strModifier

View File

@@ -0,0 +1,14 @@
# Not used by any item
type = "projected", "active"
def handler(fit, module, context):
if "projected" not in context:
return
fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("maxTargetRangeBonus"),
stackingPenalties=True, remoteResists=True)
fit.ship.boostItemAttr("scanResolution", module.getModifiedItemAttr("scanResolutionBonus"),
stackingPenalties=True, remoteResists=True)

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "active", "projected"
def handler(fit, module, context):
if "projected" not in context: return
fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("speedFactor"),
stackingPenalties=True, remoteResists=True)

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "projected", "active"
def handler(fit, container, context):
if "projected" in context:
fit.ship.boostItemAttr("signatureRadius", container.getModifiedItemAttr("signatureRadiusBonus"),
stackingPenalties=True, remoteResists=True)

View File

@@ -0,0 +1,26 @@
# Not used by any item
type = "active", "projected"
def handler(fit, module, context):
if "projected" in context:
for srcAttr, tgtAttr in (
("aoeCloudSizeBonus", "aoeCloudSize"),
("aoeVelocityBonus", "aoeVelocity"),
("missileVelocityBonus", "maxVelocity"),
("explosionDelayBonus", "explosionDelay"),
):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
tgtAttr, module.getModifiedItemAttr(srcAttr),
stackingPenalties=True, remoteResists=True)
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
stackingPenalties=True, remoteResists=True)
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"maxRange", module.getModifiedItemAttr("maxRangeBonus"),
stackingPenalties=True, remoteResists=True)
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"falloff", module.getModifiedItemAttr("falloffBonus"),
stackingPenalties=True, remoteResists=True)

View File

@@ -0,0 +1,10 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
groups = ("Structure Anti-Subcapital Missile", "Structure Anti-Capital Missile")
fit.modules.filteredItemBoost(lambda mod: mod.charge.group.name in groups,
"aoeVelocity", src.getModifiedItemAttr("structureRigMissileExploVeloBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Structure Doomsday Weapon",
"lightningWeaponDamageLossTarget",
src.getModifiedItemAttr("structureRigDoomsdayDamageLossTargetBonus"))

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Structure Doomsday Weapon",
"lightningWeaponTargetAmount",
src.getModifiedItemAttr("structureRigDoomsdayTargetAmountBonus"))

View File

@@ -0,0 +1,9 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
groups = ("Structure ECM Battery", "Structure Disruption Battery")
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
"capacitorNeed", src.getModifiedItemAttr("structureRigEwarCapUseBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,18 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
groups = ("Structure ECM Battery", "Structure Disruption Battery")
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
"falloff", src.getModifiedItemAttr("structureRigEwarFalloffBonus"),
stackingPenalties=True)
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
"maxRange", src.getModifiedItemAttr("structureRigEwarOptimalBonus"),
stackingPenalties=True)
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
"falloffEffectiveness", src.getModifiedItemAttr("structureRigEwarFalloffBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Structure Guided Bomb",
"aoeCloudSize", src.getModifiedItemAttr("structureRigMissileExplosionRadiusBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,6 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.ship.increaseItemAttr("maxLockedTargets", src.getModifiedItemAttr("structureRigMaxTargetBonus"))

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Energy Neutralizer",
"capacitorNeed", src.getModifiedItemAttr("structureRigEwarCapUseBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,12 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Energy Neutralizer",
"maxRange", src.getModifiedItemAttr("structureRigEwarOptimalBonus"),
stackingPenalties=True)
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Energy Neutralizer",
"falloffEffectiveness", src.getModifiedItemAttr("structureRigEwarFalloffBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Area Denial Module",
"capacitorNeed", src.getModifiedItemAttr("structureRigPDCapUseBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Structure Area Denial Module",
"empFieldRange", src.getModifiedItemAttr("structureRigPDRangeBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("scanResolution", src.getModifiedItemAttr("structureRigScanResBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,8 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Structure Guided Bomb",
"maxVelocity", src.getModifiedItemAttr("structureRigMissileVelocityBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,9 @@
# Not used by any item
type = "passive"
def handler(fit, src, context):
groups = ("Structure Anti-Subcapital Missile", "Structure Anti-Capital Missile")
fit.modules.filteredItemBoost(lambda mod: mod.charge.group.name in groups,
"maxVelocity", src.getModifiedItemAttr("structureRigMissileVelocityBonus"),
stackingPenalties=True)

View File

@@ -0,0 +1,15 @@
# Not used by any item
from eos.types import State
# Not used by any item
runTime = "early"
type = "projected", "active"
def handler(fit, module, context):
if "projected" not in context:
return
# this is such a dirty hack
for mod in fit.modules:
if not mod.isEmpty and mod.item.requiresSkill("High Speed Maneuvering") and mod.state > State.ONLINE:
mod.state = State.ONLINE

View File

@@ -0,0 +1,5 @@
# Not used by any item
type = "passive"
def handler(fit, module, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"),
"commandBonusHidden", module.getModifiedItemAttr("subsystemBonusAmarrDefensive"), skill="Amarr Defensive Systems")

View File

@@ -0,0 +1,5 @@
# Not used by any item
type = "passive"
def handler(fit, module, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"),
"commandBonusHidden", module.getModifiedItemAttr("subsystemBonusCaldariDefensive"), skill="Caldari Defensive Systems")

View File

@@ -0,0 +1,5 @@
# Not used by any item
type = "passive"
def handler(fit, module, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Command Specialist"),
"commandBonusHidden", module.getModifiedItemAttr("subsystemBonusGallenteDefensive"), skill="Gallente Defensive Systems")

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
runTime = "late"
def handler(fit, module, context):
for x in xrange(1, 4):
module.boostChargeAttr("warfareBuff{}Multiplier".format(x), module.getModifiedItemAttr("commandBurstStrengthBonus"))

View File

@@ -0,0 +1,7 @@
# Not used by any item
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Gunnery"),
"turretDamageScalingRadius", ship.getModifiedItemAttr("titanBonusScalingRadius"))

View File

@@ -0,0 +1,15 @@
# Not used by any item
type = "projected", "active"
def handler(fit, container, context):
if "projected" in context:
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Gunnery"),
"trackingSpeed", container.getModifiedItemAttr("trackingSpeedMultiplier"),
stackingPenalties=True, penaltyGroup="postMul")
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Gunnery"),
"maxRange", container.getModifiedItemAttr("maxRangeMultiplier"),
stackingPenalties=True, penaltyGroup="postMul")
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Gunnery"),
"falloff", container.getModifiedItemAttr("fallofMultiplier"),
stackingPenalties=True, penaltyGroup="postMul")