Revert "Remove effect files that are not used by any item"
This reverts commit b29fa2467a.
This commit is contained in:
10
eos/effects/armorwarfarearmorhpreplacer.py
Normal file
10
eos/effects/armorwarfarearmorhpreplacer.py
Normal 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"))
|
||||||
9
eos/effects/decreasetargetspeed.py
Normal file
9
eos/effects/decreasetargetspeed.py
Normal 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)
|
||||||
7
eos/effects/dronedamagebonusrequringdrones.py
Normal file
7
eos/effects/dronedamagebonusrequringdrones.py
Normal 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)
|
||||||
6
eos/effects/elitebonuscommanddestroyerinfohidden1.py
Normal file
6
eos/effects/elitebonuscommanddestroyerinfohidden1.py
Normal 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")
|
||||||
7
eos/effects/elitebonuscommanddestroyermwdsigradius3.py
Normal file
7
eos/effects/elitebonuscommanddestroyermwdsigradius3.py
Normal 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")
|
||||||
5
eos/effects/elitebonuscommandshipinformationhiddencs3.py
Normal file
5
eos/effects/elitebonuscommandshipinformationhiddencs3.py
Normal 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")
|
||||||
13
eos/effects/energydestabilizationnew.py
Normal file
13
eos/effects/energydestabilizationnew.py
Normal 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)
|
||||||
9
eos/effects/energytransfer.py
Normal file
9
eos/effects/energytransfer.py
Normal 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)
|
||||||
8
eos/effects/ewtargetpaint.py
Normal file
8
eos/effects/ewtargetpaint.py
Normal 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)
|
||||||
16
eos/effects/fighterabilityattackm.py
Normal file
16
eos/effects/fighterabilityattackm.py
Normal 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
|
||||||
21
eos/effects/fighterabilityecm.py
Normal file
21
eos/effects/fighterabilityecm.py
Normal 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
|
||||||
17
eos/effects/fighterabilityenergyneutralizer.py
Normal file
17
eos/effects/fighterabilityenergyneutralizer.py
Normal 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)
|
||||||
37
eos/effects/fighterabilityevasivemaneuvers.py
Normal file
37
eos/effects/fighterabilityevasivemaneuvers.py
Normal 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)
|
||||||
19
eos/effects/fighterabilitylaunchbomb.py
Normal file
19
eos/effects/fighterabilitylaunchbomb.py
Normal 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
|
||||||
20
eos/effects/fighterabilitymicrowarpdrive.py
Normal file
20
eos/effects/fighterabilitymicrowarpdrive.py
Normal 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)
|
||||||
19
eos/effects/fighterabilitymissiles.py
Normal file
19
eos/effects/fighterabilitymissiles.py
Normal 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
|
||||||
18
eos/effects/fighterabilitystasiswebifier.py
Normal file
18
eos/effects/fighterabilitystasiswebifier.py
Normal 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)))
|
||||||
16
eos/effects/fighterabilitywarpdisruption.py
Normal file
16
eos/effects/fighterabilitywarpdisruption.py
Normal 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)))
|
||||||
11
eos/effects/flagshipmultirelayeffect.py
Normal file
11
eos/effects/flagshipmultirelayeffect.py
Normal 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)
|
||||||
7
eos/effects/iceharvestercapacitorneedmultiplier.py
Normal file
7
eos/effects/iceharvestercapacitorneedmultiplier.py
Normal 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"))
|
||||||
8
eos/effects/informationwarfaremaxtargetrangebonus.py
Normal file
8
eos/effects/informationwarfaremaxtargetrangebonus.py
Normal 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))
|
||||||
8
eos/effects/informationwarfaremindlinkhidden.py
Normal file
8
eos/effects/informationwarfaremindlinkhidden.py
Normal 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"))
|
||||||
6
eos/effects/lightningweapon.py
Normal file
6
eos/effects/lightningweapon.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Not used by any item
|
||||||
|
type = 'active'
|
||||||
|
|
||||||
|
|
||||||
|
def handler(fit, module, context):
|
||||||
|
pass
|
||||||
52
eos/effects/maraudermodeeffect26.py
Normal file
52
eos/effects/maraudermodeeffect26.py
Normal 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"))
|
||||||
7
eos/effects/miningdirectorbonuscommandbonuseffective.py
Normal file
7
eos/effects/miningdirectorbonuscommandbonuseffective.py
Normal 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"))
|
||||||
8
eos/effects/orecapitalshipshieldtransferfalloff.py
Normal file
8
eos/effects/orecapitalshipshieldtransferfalloff.py
Normal 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")
|
||||||
8
eos/effects/orecapitalshipshieldtransferrange.py
Normal file
8
eos/effects/orecapitalshipshieldtransferrange.py
Normal 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")
|
||||||
6
eos/effects/pointdefense.py
Normal file
6
eos/effects/pointdefense.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Not used by any item
|
||||||
|
type = 'active'
|
||||||
|
|
||||||
|
|
||||||
|
def handler(fit, module, context):
|
||||||
|
pass
|
||||||
10
eos/effects/remotehullrepair.py
Normal file
10
eos/effects/remotehullrepair.py
Normal 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)
|
||||||
7
eos/effects/rigdrawbackbonuseffect.py
Normal file
7
eos/effects/rigdrawbackbonuseffect.py
Normal 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)
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# setBonusAsklepian
|
# setBonusAsklepian
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Implants named like: Asklepian Omega (3 of 3)
|
|
||||||
# Implants named like: Grade Asklepian (16 of 16)
|
# Implants named like: Grade Asklepian (16 of 16)
|
||||||
|
# Implants named like: grade Asklepian Omega (2 of 2)
|
||||||
runTime = "early"
|
runTime = "early"
|
||||||
type = "passive"
|
type = "passive"
|
||||||
|
|
||||||
|
|||||||
7
eos/effects/shipbonusenergyvampirerangead2.py
Normal file
7
eos/effects/shipbonusenergyvampirerangead2.py
Normal 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")
|
||||||
@@ -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")
|
||||||
8
eos/effects/shipbonusorecapshipdronedmgbonus.py
Normal file
8
eos/effects/shipbonusorecapshipdronedmgbonus.py
Normal 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")
|
||||||
@@ -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")
|
||||||
11
eos/effects/shipmodescanrespostdiv.py
Normal file
11
eos/effects/shipmodescanrespostdiv.py
Normal 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"
|
||||||
|
)
|
||||||
7
eos/effects/shipxlprojectiledamagerole.py
Normal file
7
eos/effects/shipxlprojectiledamagerole.py
Normal 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"))
|
||||||
8
eos/effects/siegewarfareshieldcapacitybonusreplacer.py
Normal file
8
eos/effects/siegewarfareshieldcapacitybonusreplacer.py
Normal 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))
|
||||||
8
eos/effects/skirmishwarfareagilitybonusreplacer.py
Normal file
8
eos/effects/skirmishwarfareagilitybonusreplacer.py
Normal 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))
|
||||||
17
eos/effects/structureballisticcontrolsystem.py
Normal file
17
eos/effects/structureballisticcontrolsystem.py
Normal 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)
|
||||||
13
eos/effects/structureenergyneutralizerfalloff.py
Normal file
13
eos/effects/structureenergyneutralizerfalloff.py
Normal 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)
|
||||||
10
eos/effects/structuremoduleeffectecm.py
Normal file
10
eos/effects/structuremoduleeffectecm.py
Normal 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
|
||||||
14
eos/effects/structuremoduleeffectremotesensordampener.py
Normal file
14
eos/effects/structuremoduleeffectremotesensordampener.py
Normal 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)
|
||||||
8
eos/effects/structuremoduleeffectstasiswebifier.py
Normal file
8
eos/effects/structuremoduleeffectstasiswebifier.py
Normal 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)
|
||||||
8
eos/effects/structuremoduleeffecttargetpainter.py
Normal file
8
eos/effects/structuremoduleeffecttargetpainter.py
Normal 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)
|
||||||
26
eos/effects/structuremoduleeffectweapondisruption.py
Normal file
26
eos/effects/structuremoduleeffectweapondisruption.py
Normal 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)
|
||||||
@@ -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)
|
||||||
8
eos/effects/structurerigdoomsdaydamageloss.py
Normal file
8
eos/effects/structurerigdoomsdaydamageloss.py
Normal 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"))
|
||||||
8
eos/effects/structurerigdoomsdaytargetamountbonus.py
Normal file
8
eos/effects/structurerigdoomsdaytargetamountbonus.py
Normal 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"))
|
||||||
9
eos/effects/structurerigewcapacitorneed.py
Normal file
9
eos/effects/structurerigewcapacitorneed.py
Normal 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)
|
||||||
18
eos/effects/structurerigewmaxrangefalloff.py
Normal file
18
eos/effects/structurerigewmaxrangefalloff.py
Normal 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)
|
||||||
@@ -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)
|
||||||
6
eos/effects/structurerigmaxtargets.py
Normal file
6
eos/effects/structurerigmaxtargets.py
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Not used by any item
|
||||||
|
type = "passive"
|
||||||
|
|
||||||
|
|
||||||
|
def handler(fit, src, context):
|
||||||
|
fit.ship.increaseItemAttr("maxLockedTargets", src.getModifiedItemAttr("structureRigMaxTargetBonus"))
|
||||||
8
eos/effects/structurerigneutralizercapacitorneed.py
Normal file
8
eos/effects/structurerigneutralizercapacitorneed.py
Normal 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)
|
||||||
@@ -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)
|
||||||
8
eos/effects/structurerigpdbcapacitorneed.py
Normal file
8
eos/effects/structurerigpdbcapacitorneed.py
Normal 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)
|
||||||
8
eos/effects/structurerigpdbmaxrange.py
Normal file
8
eos/effects/structurerigpdbmaxrange.py
Normal 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)
|
||||||
7
eos/effects/structurerigsensorresolution.py
Normal file
7
eos/effects/structurerigsensorresolution.py
Normal 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)
|
||||||
8
eos/effects/structurerigvelocitybonusaoemissiles.py
Normal file
8
eos/effects/structurerigvelocitybonusaoemissiles.py
Normal 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)
|
||||||
@@ -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)
|
||||||
15
eos/effects/structurewarpscrambleblockmwdwithnpceffect.py
Normal file
15
eos/effects/structurewarpscrambleblockmwdwithnpceffect.py
Normal 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
|
||||||
@@ -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")
|
||||||
@@ -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")
|
||||||
@@ -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")
|
||||||
7
eos/effects/techtwocommandburstbonus.py
Normal file
7
eos/effects/techtwocommandburstbonus.py
Normal 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"))
|
||||||
7
eos/effects/titanturretdamagescaling.py
Normal file
7
eos/effects/titanturretdamagescaling.py
Normal 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"))
|
||||||
@@ -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")
|
||||||
Reference in New Issue
Block a user