Add new effects. This commit uses a new helper script that automatically writes the effect file for the more straightforward effects.

This commit is contained in:
blitzmann
2015-11-27 01:14:59 -05:00
parent 9c9a6b69fe
commit 350f4c9f89
100 changed files with 360 additions and 42 deletions

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer", "falloffEffectiveness", src.getModifiedItemAttr("falloffBonus"))

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("carrierAmarrBonus3"), skill="Amarr Carrier")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), "falloffEffectiveness", src.getModifiedItemAttr("carrierCaldariBonus3"), skill="Caldari Carrier")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems") or mod.item.requiresSkill("Capital Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("carrierGallenteBonus3"), skill="Gallente Carrier")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems") or mod.item.requiresSkill("Capital Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("carrierMinmatarBonus3"), skill="Minmatar Carrier")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Logistic Drone", "structureDamageAmount", src.getModifiedItemAttr("droneArmorDamageAmountBonus"))

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")

View File

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

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Micro Jump Drive Operation"), "duration", src.getModifiedItemAttr("eliteBonusCommandDestroyer2"), skill="Command Destroyers")

View File

@@ -0,0 +1,3 @@
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,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Siege Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Warfare Specialist"), "commandBonus", src.getModifiedItemAttr("eliteBonusCommandDestroyer1"), skill="Command Destroyers")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("armorHP", src.getModifiedItemAttr("eliteBonusLogiFrig2"), skill="Logistics Frigates")

View File

@@ -0,0 +1,4 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "capacitorNeed", src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "duration", src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("shieldCapacity", src.getModifiedItemAttr("eliteBonusLogiFrig2"), skill="Logistics Frigates")

View File

@@ -0,0 +1,4 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "duration", src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "capacitorNeed", src.getModifiedItemAttr("eliteBonusLogiFrig1"), skill="Logistics Frigates")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("signatureRadius", src.getModifiedItemAttr("eliteBonusLogiFrig2"), skill="Logistics Frigates")

View File

@@ -0,0 +1,9 @@
from eos.types import State
type = "active", "projected"
def handler(fit, container, context):
if "projected" in context and ((hasattr(container, "state") \
and container.state >= State.ACTIVE) or hasattr(container, "amountActive")):
multiplier = container.amountActive if hasattr(container, "amountActive") else 1
amount = container.getModifiedItemAttr("energyDestabilizationAmount")
time = container.getModifiedItemAttr("duration")
fit.addDrain(time, amount * multiplier, 0)

View File

@@ -0,0 +1,9 @@
type = "active", "projected"
runTime = "late"
def handler(fit, module, context):
amount = module.getModifiedItemAttr("powerTransferAmount")
time = module.getModifiedItemAttr("duration")
if "projected" in context:
fit.addDrain(time, amount, 0)
elif "module" in context:
module.itemModifiedAttributes.force("capacitorNeed", -amount)

View File

@@ -0,0 +1,3 @@
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,6 @@
type = "projected", "active"
def handler(fit, container, context):
if "projected" in context:
bonus = container.getModifiedItemAttr("armorDamageAmount")
duration = container.getModifiedItemAttr("duration") / 1000.0
fit.extraAttributes.increase("armorRepair", bonus / duration)

View File

@@ -0,0 +1,6 @@
type = "projected", "active"
def handler(fit, container, context):
if "projected" in context:
bonus = container.getModifiedItemAttr("shieldBonus")
duration = container.getModifiedItemAttr("duration") / 1000.0
fit.extraAttributes.increase("shieldRepair", bonus / duration)

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "power", src.getModifiedItemAttr("roleBonusCD"))

View File

@@ -0,0 +1,4 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "capacitorNeed", src.getModifiedItemAttr("roleBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "cpu", src.getModifiedItemAttr("roleBonus"))

View File

@@ -0,0 +1,4 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "falloff", src.getModifiedItemAttr("roleBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "maxRange", src.getModifiedItemAttr("roleBonus"))

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "maxRange", src.getModifiedItemAttr("roleBonus"))

View File

@@ -0,0 +1,4 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "cpu", src.getModifiedItemAttr("roleBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "capacitorNeed", src.getModifiedItemAttr("roleBonus"))

View File

@@ -0,0 +1,4 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "falloff", src.getModifiedItemAttr("roleBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "maxRange", src.getModifiedItemAttr("roleBonus"))

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Shield Booster", "falloffEffectiveness", src.getModifiedItemAttr("falloffBonus"))

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "aoeVelocity", src.getModifiedItemAttr("shipBonusMF"), skill="Minmatar Frigate")

View File

@@ -1,8 +1,3 @@
# shipBonusDroneDamageMultiplierAD1
#
# Used by:
# Ship: Dragoon
type = "passive"
def handler(fit, ship, context):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
"damageMultiplier", ship.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
def handler(fit, src, context):
fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")

View File

@@ -1,8 +1,3 @@
# shipBonusDroneDamageMultiplierGD1
#
# Used by:
# Ship: Algos
type = "passive"
def handler(fit, ship, context):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
"damageMultiplier", ship.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
def handler(fit, src, context):
fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier", src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")

View File

@@ -1,9 +1,5 @@
# shipBonusDroneHitpointsAD1
#
# Used by:
# Ship: Dragoon
type = "passive"
def handler(fit, ship, context):
for layer in ("shieldCapacity", "armorHP", "hp"):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
layer, ship.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
def handler(fit, src, context):
fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")
fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")

View File

@@ -1,9 +1,5 @@
# shipBonusDroneHitpointsGD1
#
# Used by:
# Ship: Algos
type = "passive"
def handler(fit, ship, context):
for layer in ("shieldCapacity", "armorHP", "hp"):
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
layer, ship.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
def handler(fit, src, context):
fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity", src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP", src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")
fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp", src.getModifiedItemAttr("shipBonusGD1"), skill="Gallente Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("armorEmDamageResonance", src.getModifiedItemAttr("shipBonusGD2"), skill="Gallente Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "emDamage", src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "emDamage", src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusMD2"), skill="Minmatar Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAC3"), skill="Amarr Cruiser")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("shipBonus3AF"), skill="Amarr Frigate")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusElectronicAttackShip3"), skill="Electronic Attack Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusReconShip2"), skill="Recon Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("eliteBonusElectronicAttackShip1"), skill="Electronic Attack Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "maxRange", src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAB"), skill="Amarr Battleship")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAB2"), skill="Amarr Battleship")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAC3"), skill="Amarr Cruiser")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAD1"), skill="Amarr Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("shipBonus3AF"), skill="Amarr Frigate")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusElectronicAttackShip3"), skill="Electronic Attack Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusReconShip2"), skill="Recon Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "falloffEffectiveness", src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("shipBonusAC"), skill="Amarr Cruiser")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("eliteBonusElectronicAttackShip1"), skill="Electronic Attack Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("eliteBonusReconShip1"), skill="Recon Ships")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "maxRange", src.getModifiedItemAttr("eliteBonusReconShip3"), skill="Recon Ships")

View File

@@ -0,0 +1,9 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "trackingSpeedBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "explosionDelayBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "maxRangeBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "falloffBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "missileVelocityBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "aoeVelocityBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"), "aoeCloudSizeBonus", src.getModifiedItemAttr("shipBonus2AF"), skill="Amarr Frigate")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("armorExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusGD2"), skill="Gallente Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "explosiveDamage", src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "explosiveDamage", src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusMD2"), skill="Minmatar Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Navigation"), "maxRange", src.getModifiedItemAttr("shipBonusGF2"), skill="Gallente Frigate")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("armorKineticDamageResonance", src.getModifiedItemAttr("shipBonusGD2"), skill="Gallente Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage", src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage", src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusMD2"), skill="Minmatar Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("shieldEmDamageResonance", src.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("shieldExplosiveDamageResonance", src.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("shieldKineticDamageResonance", src.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusCD2"), skill="Caldari Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusAD2"), skill="Amarr Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("armorThermalDamageResonance", src.getModifiedItemAttr("shipBonusGD2"), skill="Gallente Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "thermalDamage", src.getModifiedItemAttr("shipBonusCD1"), skill="Caldari Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("shieldThermalDamageResonance", src.getModifiedItemAttr("shipBonusMD2"), skill="Minmatar Destroyer")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "thermalDamage", src.getModifiedItemAttr("shipBonusMD1"), skill="Minmatar Destroyer")

View File

@@ -1,9 +1,3 @@
# shipETDamageAF
#
# Used by:
# Ship: Crusader
# Ship: Imperial Navy Slicer
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
"damageMultiplier", ship.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Energy Turret"), "damageMultiplier", src.getModifiedItemAttr("shipBonusAF"), skill="Amarr Frigate")

View File

@@ -0,0 +1,14 @@
# shipMissileKinDamageCC3
# Modifier 1:
# # state: offline
# # scope: local
# # srcattr: shipBonusCC3 1535
# # operator: post_percent 8
# # tgtattr: kineticDamage (not penalized) 117
# # location: space
# # filter type: skill
# # filter value: Missile Launcher Operation
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"), "kineticDamage", src.getModifiedItemAttr("shipBonusCC3"), skill="Caldari Cruiser")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("shipBonusAC2"), skill="Amarr Cruiser")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "falloffEffectiveness", src.getModifiedItemAttr("shipBonusGC"), skill="Gallente Cruiser")

View File

@@ -0,0 +1,5 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "emDamage", src.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "thermalDamage", src.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "kineticDamage", src.getModifiedItemAttr("shipBonusMF2"), skill="Minmatar Frigate")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets"), "explosiveDamage", src.getModifiedItemAttr("shipBonus3MF"), skill="Minmatar Frigate")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "falloffEffectiveness", src.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")

View File

@@ -0,0 +1,3 @@
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "falloffEffectiveness", src.getModifiedItemAttr("shipBonusMC2"), skill="Minmatar Cruiser")

View File

@@ -0,0 +1,23 @@
# shipSmallMissileKinDmgCF3
# Modifier 1:
# # state: offline
# # scope: local
# # srcattr: shipBonus3CF 1624
# # operator: post_percent 8
# # tgtattr: kineticDamage (not penalized) 117
# # location: space
# # filter type: skill
# # filter value: Light Missiles
# Modifier 2:
# # state: offline
# # scope: local
# # srcattr: shipBonus3CF 1624
# # operator: post_percent 8
# # tgtattr: kineticDamage (not penalized) 117
# # location: space
# # filter type: skill
# # filter value: Rockets
type = "passive"
def handler(fit, src, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Light Missiles") or mod.charge.requiresSkill("Rockets"), "kineticDamage", src.getModifiedItemAttr("shipBonus3CF"), skill="Caldari Frigate")

View File

@@ -172,7 +172,7 @@ class Drone(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
# Put them in the attrs tuple.
@property
def falloff(self):
attrs = ("falloff",)
attrs = ("falloff", "falloffEffectiveness")
for attr in attrs:
falloff = self.getModifiedItemAttr(attr)
if falloff is not None: return falloff
@@ -201,7 +201,7 @@ class Drone(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
# Do not allow to apply offensive modules on ship with offensive module immunite, with few exceptions
# (all effects which apply instant modification are exception, generally speaking)
if item.offensive and projectedOnto.ship.getModifiedItemAttr("disallowOffensiveModifiers") == 1:
offensiveNonModifiers = set(("energyDestabilizationNew", "leech"))
offensiveNonModifiers = set(("energyDestabilizationNew", "leech", "energyNosferatuFalloff", "energyNeutralizerFalloff"))
if not offensiveNonModifiers.intersection(set(item.effects)):
return False
# If assistive modules are not allowed, do not let to apply these altogether

View File

@@ -254,7 +254,7 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
@property
def falloff(self):
attrs = ("falloff", "shipScanFalloff")
attrs = ("falloff", "shipScanFalloff", "falloffEffectiveness")
for attr in attrs:
falloff = self.getModifiedItemAttr(attr)
if falloff is not None: return falloff
@@ -469,7 +469,7 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
# Do not allow to apply offensive modules on ship with offensive module immunite, with few exceptions
# (all effects which apply instant modification are exception, generally speaking)
if item.offensive and projectedOnto.ship.getModifiedItemAttr("disallowOffensiveModifiers") == 1:
offensiveNonModifiers = set(("energyDestabilizationNew", "leech"))
offensiveNonModifiers = set(("energyDestabilizationNew", "leech", "energyNosferatuFalloff", "energyNeutralizerFalloff"))
if not offensiveNonModifiers.intersection(set(item.effects)):
return False
# If assistive modules are not allowed, do not let to apply these altogether