Replace submodules with actual files

Submodules never were actually useful
This commit is contained in:
DarkPhoenix
2013-06-10 22:12:34 +04:00
parent 91513d7d95
commit fd36a0b172
2940 changed files with 105139 additions and 0 deletions

19
eos/effects/__init__.py Executable file
View File

@@ -0,0 +1,19 @@
#===============================================================================
# Copyright (C) 2010 Diego Duclos
# 2010 Anton Vorobyov
#
# This file, as well as all files in this folder, are part of eos.
#
# eos is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# eos is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with eos. If not, see <http://www.gnu.org/licenses/>.
#===============================================================================

View File

@@ -0,0 +1,6 @@
# Used by:
# Modules named like: Dynamic Fuel Valve (8 of 8)
type = "passive"
def handler(fit, container, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
"capacitorNeed", container.getModifiedItemAttr("capNeedBonus"))

View File

@@ -0,0 +1,8 @@
# Used by:
# Implant: Zor's Custom Navigation Hyper-Link
# Skill: Acceleration Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
"speedFactor", container.getModifiedItemAttr("speedFBonus") * level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Implants named like: Eifyr and Co. 'Rogue' Acceleration Control AC (6 of 6)
type = "passive"
def handler(fit, implant, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Propulsion Module",
"speedFactor", implant.getModifiedItemAttr("speedFBonus"))

View File

@@ -0,0 +1,8 @@
# Used by:
# Modules named like: Emission Scope Sharpener (8 of 8)
# Implant: Poteque 'Prospector' Archaeology AC-905
type = "passive"
def handler(fit, container, context):
fit.modules.filteredItemIncrease(lambda module: module.item.requiresSkill("Archaeology"),
"accessDifficultyBonus",
container.getModifiedItemAttr("accessDifficultyBonusModifier"), position="post")

View File

@@ -0,0 +1,8 @@
# Used by:
# Modules named like: Memetic Algorithm Bank (8 of 8)
# Implant: Poteque 'Prospector' Hacking HC-905
type = "passive"
def handler(fit, container, context):
fit.modules.filteredItemIncrease(lambda c: c.item.requiresSkill("Hacking"),
"accessDifficultyBonus",
container.getModifiedItemAttr("accessDifficultyBonusModifier"), position="post")

View File

@@ -0,0 +1,8 @@
# Used by:
# Module: Reactive Armor Hardener
type = "active"
def handler(fit, module, context):
for type in ("kinetic", "thermal", "explosive", "em"):
attr = "armor%sDamageResonance" % type.capitalize()
fit.ship.multiplyItemAttr(attr, module.getModifiedItemAttr(attr),
stackingPenalties=True, penaltyGroup="preMul")

View File

@@ -0,0 +1,5 @@
# Used by:
# Modules from group: Shield Extender (37 of 37)
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusAdd"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Skill: Advanced Drone Interfacing
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Drone Control Unit",
"maxGroupActive", skill.level)

View File

@@ -0,0 +1,9 @@
# Used by:
# Implants named like: Eifyr and Co. 'Rogue' Afterburner AB (6 of 6)
# Implant: Zor's Custom Navigation Link
# Skill: Afterburner
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Afterburner"),
"duration", container.getModifiedItemAttr("durationBonus") * level)

View File

@@ -0,0 +1,9 @@
# Used by:
# Modules from group: Inertia Stabilizer (12 of 12)
# Modules from group: Nanofiber Internal Structure (14 of 14)
# Modules from group: Reinforced Bulkhead (12 of 12)
type = "passive"
def handler(fit, module, context):
fit.ship.boostItemAttr("agility",
module.getModifiedItemAttr("agilityMultiplier"),
stackingPenalties = True)

View File

@@ -0,0 +1,5 @@
# Used by:
# Modules named like: Polycarbon Engine Housing (8 of 8)
type = "passive"
def handler(fit, module, context):
fit.ship.boostItemAttr("agility", module.getModifiedItemAttr("agilityMultiplier"), stackingPenalties = True)

View File

@@ -0,0 +1,10 @@
# Used by:
# Charges from group: Advanced Artillery Ammo (6 of 6)
# Charges from group: Advanced Autocannon Ammo (6 of 6)
# Charges from group: Advanced Beam Laser Crystal (6 of 6)
# Charges from group: Advanced Blaster Charge (6 of 6)
# Charges from group: Advanced Pulse Laser Crystal (6 of 6)
# Charges from group: Advanced Railgun Charge (6 of 6)
type = "passive"
def handler(fit, module, context):
module.multiplyItemAttr("falloff", module.getModifiedChargeAttr("fallofMultiplier") or 1)

View File

@@ -0,0 +1,9 @@
# Used by:
# Items from category: Charge (458 of 824)
type = "passive"
def handler(fit, module, context):
# Dirty hack to work around cap charges setting cap booster
# injection amount to zero
rawAttr = module.item.getAttribute("capacitorNeed")
if rawAttr is not None and rawAttr >= 0:
module.boostItemAttr("capacitorNeed", module.getModifiedChargeAttr("capNeedBonus") or 0)

View File

@@ -0,0 +1,5 @@
# Used by:
# Items from category: Charge (559 of 824)
type = "passive"
def handler(fit, module, context):
module.multiplyItemAttr("maxRange", module.getModifiedChargeAttr("weaponRangeMultiplier"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Charges from group: Festival Charges (4 of 4)
# Charges from group: Survey Probe (3 of 3)
# Charge: Warp Disrupt Probe
type = "passive"
def handler(fit, module, context):
module.multiplyItemAttr("speed", module.getModifiedChargeAttr("speedMultiplier") or 1)

View File

@@ -0,0 +1,11 @@
# Used by:
# Charges from group: Advanced Artillery Ammo (6 of 6)
# Charges from group: Advanced Autocannon Ammo (6 of 6)
# Charges from group: Advanced Beam Laser Crystal (6 of 6)
# Charges from group: Advanced Blaster Charge (6 of 6)
# Charges from group: Advanced Pulse Laser Crystal (6 of 6)
# Charges from group: Advanced Railgun Charge (6 of 6)
# Charges from group: Projectile Ammo (129 of 129)
type = "passive"
def handler(fit, module, context):
module.multiplyItemAttr("trackingSpeed", module.getModifiedChargeAttr("trackingSpeedMultiplier"))

9
eos/effects/angelsetbonus.py Executable file
View File

@@ -0,0 +1,9 @@
# Used by:
# Implants named like: Halo (12 of 12)
runTime = "early"
type = "passive"
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(
lambda implant: "signatureRadiusBonus" in implant.itemModifiedAttributes and "implantSetAngel" in implant.itemModifiedAttributes,
"signatureRadiusBonus",
implant.getModifiedItemAttr("implantSetAngel"))

View File

@@ -0,0 +1,5 @@
# Used by:
# Modules from group: Warp Core Stabilizer (8 of 8)
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("warmScrambleStatus", module.getModifiedItemAttr("warpScrambleStrength"))

View File

@@ -0,0 +1,9 @@
# Used by:
# Modules named like: Emission Scope Sharpener (8 of 8)
# Implant: Poteque 'Prospector' Archaeology AC-905
# Skill: Archaeology
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill("Archaeology"),
"virusCoherence", container.getModifiedItemAttr("virusCoherenceBonus") * level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Implants named like: Exile Booster (4 of 4)
type = "passive"
def handler(fit, booster, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
"armorDamageAmount", booster.getModifiedItemAttr("armorDamageAmountBonus"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Modules named like: Auxiliary Nano Pump (8 of 8)
type = "passive"
def handler(fit, implant, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"),
"armorDamageAmount", implant.getModifiedItemAttr("repairBonus"),
stackingPenalties = True)

View File

@@ -0,0 +1,6 @@
# Used by:
# Implant: Armored Warfare Mindlink
type = "passive"
def handler(fit, implant, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"),
"commandBonus", implant.getModifiedItemAttr("mindlinkBonus"))

5
eos/effects/armorhpbonusadd.py Executable file
View File

@@ -0,0 +1,5 @@
# Used by:
# Modules from group: Armor Reinforcer (57 of 57)
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("armorHP", module.getModifiedItemAttr("armorHPBonusAdd"))

View File

@@ -0,0 +1,5 @@
# Used by:
# Subsystems from group: Defensive Systems (16 of 16)
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("armorHP", module.getModifiedItemAttr("armorHPBonusAdd"))

7
eos/effects/armorhpmultiply.py Executable file
View File

@@ -0,0 +1,7 @@
# Used by:
# Modules from group: Armor Coating (202 of 202)
# Modules from group: Armor Plating Energized (187 of 187)
# Modules named like: QA Multiship Module Players (4 of 4)
type = "passive"
def handler(fit, module, context):
fit.ship.multiplyItemAttr("armorHP", module.getModifiedItemAttr("armorHPMultiplier"))

View File

@@ -0,0 +1,5 @@
# Used by:
# Modules from group: Armor Reinforcer (57 of 57)
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("mass", module.getModifiedItemAttr("massAddition"))

8
eos/effects/armorrepair.py Executable file
View File

@@ -0,0 +1,8 @@
# Used by:
# Modules from group: Armor Repair Unit (100 of 100)
runTime = "late"
type = "active"
def handler(fit, module, context):
amount = module.getModifiedItemAttr("armorDamageAmount")
speed = module.getModifiedItemAttr("duration") / 1000.0
fit.extraAttributes.increase("armorRepair", amount / speed)

View File

@@ -0,0 +1,9 @@
# Used by:
# Ship: Augoror
# Ship: Exequror
# Ship: Inquisitor
# Ship: Navitas
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Repair Projector",
"maxRange", ship.getModifiedItemAttr("maxRangeBonus"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Skill: Armored Warfare
type = "gang"
gangBoost = "armorHP"
gangBonus = "armorHpBonus"
def handler(fit, skill, context):
fit.ship.boostItemAttr(gangBoost, skill.getModifiedItemAttr(gangBonus) * skill.level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Implant: Armored Warfare Mindlink
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,7 @@
# Used by:
# Skill: Armor Honeycombing
type = "passive"
def handler(fit, container, context):
level = container.level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Reinforcer",
"massAddition", container.getModifiedItemAttr("massPenaltyReduction") * level)

View File

@@ -0,0 +1,10 @@
# Used by:
# Implants named like: Inherent Implants 'Highwall' Mining MX (3 of 3)
# Implant: Michi's Excavation Augmentor
# Skill: Astrogeology
# Skill: Mining
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
"miningAmount", container.getModifiedItemAttr("miningAmountBonus") * level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Variations of module: Scan Pinpointing Array I (2 of 2)
type = "passive"
def handler(fit, module, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
"baseMaxScanDeviation", module.getModifiedItemAttr("maxScanDeviationModifierModule"))

View File

@@ -0,0 +1,9 @@
# Used by:
# Implants named like: Poteque 'Prospector' Astrometric Pinpointing AP (3 of 3)
# Skill: Astrometric Pinpointing
# Skill: Astrometrics
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
"baseMaxScanDeviation", container.getModifiedItemAttr("maxScanDeviationModifier") * level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Variations of module: Scan Rangefinding Array I (2 of 2)
type = "passive"
def handler(fit, module, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
"baseSensorStrength", module.getModifiedItemAttr("scanStrengthBonusModule"))

View File

@@ -0,0 +1,12 @@
# Used by:
# Modules from group: Scan Probe Launcher (4 of 7)
# Implants named like: Low grade Virtue (5 of 6)
# Implants named like: Poteque 'Prospector' Astrometric Rangefinding AR (3 of 3)
# Modules named like: Gravity Capacitor Upgrade (8 of 8)
# Skill: Astrometric Rangefinding
# Skill: Astrometrics
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
"baseSensorStrength", container.getModifiedItemAttr("scanStrengthBonus") * level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Ship: Oracle
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
"capacitorNeed", ship.getModifiedItemAttr("bcLargeTurretCap"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Ship: Oracle
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
"cpu", ship.getModifiedItemAttr("bcLargeTurretCPU"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Ship: Oracle
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
"power", ship.getModifiedItemAttr("bcLargeTurretPower"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Naga
# Ship: Talos
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
"capacitorNeed", ship.getModifiedItemAttr("bcLargeTurretCap"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Naga
# Ship: Talos
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
"cpu", ship.getModifiedItemAttr("bcLargeTurretCPU"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Naga
# Ship: Talos
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Hybrid Turret"),
"power", ship.getModifiedItemAttr("bcLargeTurretPower"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Ship: Tornado
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
"cpu", ship.getModifiedItemAttr("bcLargeTurretCPU"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Ship: Tornado
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
"power", ship.getModifiedItemAttr("bcLargeTurretPower"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Implants named like: Eifyr and Co. 'Alchemist' Biology BY (2 of 2)
# Skill: Biology
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.boosters.filteredItemBoost(lambda bst: True, "boosterDuration", container.getModifiedItemAttr("durationBonus") * level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Ships from group: Blockade Runner (4 of 4)
type = "passive"
runTime = "early"
def handler(fit, ship, context):
level = fit.character.getSkill("Transport Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Cloaking Device",
"cpu", ship.getModifiedItemAttr("eliteIndustrialCovertCloakBonus") * level)

View File

@@ -0,0 +1,5 @@
# Used by:
# Implants from group: Booster (12 of 37)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.ship.boostItemAttr("armorHP", booster.getModifiedItemAttr("boosterArmorHPPenalty"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Implants from group: Booster (9 of 37)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Repair Unit",
"armorDamageAmount", booster.getModifiedItemAttr("boosterArmorRepairAmountPenalty"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Implants named like: Blue Pill Booster (3 of 5)
# Implants named like: Exile Booster (3 of 4)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.ship.boostItemAttr("capacitorCapacity", booster.getModifiedItemAttr("boosterCapacitorCapacityPenalty"))

View File

@@ -0,0 +1,5 @@
# Used by:
# Implants from group: Booster (12 of 37)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.ship.boostItemAttr("maxVelocity", booster.getModifiedItemAttr("boosterMaxVelocityPenalty"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Implants named like: Exile Booster (3 of 4)
# Implants named like: Mindflood Booster (3 of 4)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
"aoeCloudSize", booster.getModifiedItemAttr("boosterMissileAOECloudPenalty"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Implants named like: Blue Pill Booster (3 of 5)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
"aoeVelocity", booster.getModifiedItemAttr("boosterAOEVelocityPenalty"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Implants named like: Crash Booster (3 of 4)
# Implants named like: X Instinct Booster (3 of 4)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
"maxVelocity", "boosterMissileVelocityPenalty")

View File

@@ -0,0 +1,11 @@
# Used by:
# Implants named like: Eifyr and Co. 'Alchemist' Nanite Control NC (2 of 2)
# Implants named like: Low grade Edge (5 of 6)
# Skill: Nanite Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
attrs = ("boosterArmorHPPenalty", "boosterArmorRepairAmountPenalty")
for attr in attrs:
fit.boosters.filteredItemBoost(lambda booster: True, attr,
container.getModifiedItemAttr("boosterAttributeModifier") * level)

View File

@@ -0,0 +1,11 @@
# Used by:
# Implants named like: Eifyr and Co. 'Alchemist' Nanite Control NC (2 of 2)
# Implants named like: Low grade Edge (5 of 6)
# Skill: Nanite Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
attrs = ("boosterCapacitorCapacityPenalty", "boosterMaxVelocityPenalty")
for attr in attrs:
fit.boosters.filteredItemBoost(lambda booster: True, attr,
container.getModifiedItemAttr("boosterAttributeModifier") * level)

View File

@@ -0,0 +1,11 @@
# Used by:
# Implants named like: Eifyr and Co. 'Alchemist' Nanite Control NC (2 of 2)
# Implants named like: Low grade Edge (5 of 6)
# Skill: Nanite Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
attrs = ("boosterAOEVelocityPenalty", "boosterMissileAOECloudPenalty", "boosterMissileVelocityPenalty")
for attr in attrs:
fit.boosters.filteredItemBoost(lambda booster: True, attr,
container.getModifiedItemAttr("boosterAttributeModifier") * level)

View File

@@ -0,0 +1,13 @@
# Used by:
# Implants named like: Eifyr and Co. 'Alchemist' Nanite Control NC (2 of 2)
# Implants named like: Low grade Edge (5 of 6)
# Skill: Nanite Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
attrs = ("boosterShieldBoostAmountPenalty", "boosterShieldCapacityPenalty", "shieldBoostMultiplier")
for attr in attrs:
# shieldBoostMultiplier can be positive (Blue Pill) and negative value (other boosters)
# We're interested in decreasing only side-effects
fit.boosters.filteredItemBoost(lambda booster: booster.getModifiedItemAttr(attr) < 0,
attr, container.getModifiedItemAttr("boosterAttributeModifier") * level)

View File

@@ -0,0 +1,11 @@
# Used by:
# Implants named like: Eifyr and Co. 'Alchemist' Nanite Control NC (2 of 2)
# Implants named like: Low grade Edge (5 of 6)
# Skill: Nanite Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
attrs = ("boosterTurretFalloffPenalty", "boosterTurretOptimalRange", "boosterTurretTrackingPenalty")
for attr in attrs:
fit.boosters.filteredItemBoost(lambda booster: True, attr,
container.getModifiedItemAttr("boosterAttributeModifier") * level)

View File

@@ -0,0 +1,5 @@
# Used by:
# Implants from group: Booster (12 of 37)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.ship.boostItemAttr("shieldCapacity", booster.getModifiedItemAttr("boosterShieldCapacityPenalty"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Implants named like: Drop Booster (3 of 4)
# Implants named like: X Instinct Booster (3 of 4)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"falloff", booster.getModifiedItemAttr("boosterTurretFalloffPenalty"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Implants from group: Booster (9 of 37)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"maxRange", booster.getModifiedItemAttr("boosterTurretOptimalRange"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Implants named like: Exile Booster (3 of 4)
# Implants named like: Frentix Booster (3 of 4)
type = "boosterSideEffect"
def handler(fit, booster, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"trackingSpeed", booster.getModifiedItemAttr("boosterTurretTrackingPenalty"))

View File

@@ -0,0 +1,8 @@
# Used by:
# Implants named like: Talon (6 of 12)
runTime = "early"
type = "passive"
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda implant: "implantSetCaldariNavy" in implant.itemModifiedAttributes and\
"scanGravimetricStrengthPercent" in implant.itemModifiedAttributes,
"scanGravimetricStrengthPercent", implant.getModifiedItemAttr("implantSetCaldariNavy"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Implants named like: Low grade Talon (6 of 6)
runTime = "early"
type = "passive"
def handler(fit, item, context):
fit.implants.filteredItemMultiply(lambda implant: "scanGravimetricStrengthModifier" in implant.itemModifiedAttributes,
"scanGravimetricStrengthModifier", item.getModifiedItemAttr("implantSetLGCaldariNavy"))

View File

@@ -0,0 +1,8 @@
# Used by:
# Ship: Scorpion
# Ship: Scorpion Ishukone Watch
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Battleship").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM Burst",
"ecmBurstRange", ship.getModifiedItemAttr("shipBonusCB3") * level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Ship: Falcon
# Ship: Rook
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Cruiser").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
"capacitorNeed", ship.getModifiedItemAttr("shipBonusCC") * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Variations of ship: Griffin (2 of 2)
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Frigate").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
"capacitorNeed", ship.getModifiedItemAttr("shipBonusCF2") * level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Ship: Scorpion
# Ship: Scorpion Ishukone Watch
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Battleship").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
"falloff", ship.getModifiedItemAttr("shipBonusCB3") * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Blackbird
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Cruiser").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
"falloff", ship.getModifiedItemAttr("shipBonusCC2") * level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Ship: Scorpion
# Ship: Scorpion Ishukone Watch
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Battleship").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
"maxRange", ship.getModifiedItemAttr("shipBonusCB3") * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Blackbird
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Cruiser").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
"maxRange", ship.getModifiedItemAttr("shipBonusCC2") * level)

View File

@@ -0,0 +1,10 @@
# Used by:
# Ship: Scorpion
# Ship: Scorpion Ishukone Watch
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Battleship").level
for sensorType in ("Gravimetric", "Ladar", "Magnetometric", "Radar"):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
"scan{0}StrengthBonus".format(sensorType),
ship.getModifiedItemAttr("shipBonusCB") * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Subsystems from group: Engineering Systems (16 of 16)
# Subsystem: Tengu Offensive - Magnetic Infusion Basin
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("capacitorCapacity",
module.getModifiedItemAttr("capacitorCapacity"))

View File

@@ -0,0 +1,5 @@
# Used by:
# Modules from group: Capacitor Battery (27 of 27)
type = "passive"
def handler(fit, ship, context):
fit.ship.increaseItemAttr("capacitorCapacity", ship.getModifiedItemAttr("capacitorBonus"))

View File

@@ -0,0 +1,11 @@
# Used by:
# Modules from group: Capacitor Flux Coil (12 of 12)
# Modules from group: Capacitor Power Relay (25 of 25)
# Modules from group: Power Diagnostic System (31 of 31)
# Modules from group: Propulsion Module (107 of 107)
# Modules from group: Reactor Control Unit (28 of 28)
# Modules from group: Shield Flux Coil (11 of 11)
# Modules from group: Shield Power Relay (11 of 11)
type = "passive"
def handler(fit, module, context):
fit.ship.multiplyItemAttr("capacitorCapacity", module.getModifiedItemAttr("capacitorCapacityMultiplier"))

View File

@@ -0,0 +1,5 @@
# Used by:
# Subsystems from group: Defensive Systems (16 of 16)
type = "passive"
def handler(fit, subsystem, context):
fit.ship.increaseItemAttr("capacity", subsystem.getModifiedItemAttr("capacity") or 0)

View File

@@ -0,0 +1,8 @@
# Used by:
# Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
# Skill: Citadel Torpedoes
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Citadel Torpedoes"),
"emDamage", container.getModifiedItemAttr("damageMultiplierBonus") * level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
# Skill: Citadel Torpedoes
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Citadel Torpedoes"),
"explosiveDamage", container.getModifiedItemAttr("damageMultiplierBonus") * level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
# Skill: Citadel Torpedoes
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Citadel Torpedoes"),
"kineticDamage", container.getModifiedItemAttr("damageMultiplierBonus") * level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Implants named like: Hardwiring Zainou 'Sharpshooter' ZMX (6 of 6)
# Skill: Citadel Torpedoes
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Citadel Torpedoes"),
"thermalDamage", container.getModifiedItemAttr("damageMultiplierBonus") * level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Skill: Citadel Cruise Missiles
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Citadel Cruise Missiles"),
"emDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Skill: Citadel Cruise Missiles
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Citadel Cruise Missiles"),
"explosiveDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Skill: Citadel Cruise Missiles
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Citadel Cruise Missiles"),
"kineticDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Skill: Citadel Cruise Missiles
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Citadel Cruise Missiles"),
"thermalDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Variations of module: Capital Remote Repair Augmentor I (2 of 2)
# Skill: Capital Remote Armor Repair Systems
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Armor Repair Systems"),
"capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Skill: Capital Energy Emission Systems
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Emission Systems"),
"capacitorNeed", skill.getModifiedItemAttr("capNeedBonus") * skill.level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Skill: Capital Shield Emission Systems
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
"capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)

View File

@@ -0,0 +1,9 @@
# Used by:
# Modules named like: Nanobot Accelerator (8 of 8)
# Skill: Capital Repair Systems
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"),
"duration", container.getModifiedItemAttr("durationSkillBonus") * level,
stackingPenalties = "skill" not in context)

View File

@@ -0,0 +1,8 @@
# Used by:
# Modules named like: Core Defense Capacitor Safeguard (8 of 8)
# Skill: Capital Shield Operation
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"),
"capacitorNeed", container.getModifiedItemAttr("shieldBoostCapacitorBonus") * level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Skill: Capital Hybrid Turret
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"),
"damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Skill: Capital Energy Turret
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret"),
"damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Skill: Capital Projectile Turret
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"),
"damageMultiplier", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)

View File

@@ -0,0 +1,6 @@
# Used by:
# Modules named like: Hybrid Discharge Elutriation (8 of 8)
type = "passive"
def handler(fit, module, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Hybrid Weapon",
"capacitorNeed", module.getModifiedItemAttr("capNeedBonus"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Modules named like: Energy Discharge Elutriation (8 of 8)
type = "passive"
def handler(fit, module, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Weapon",
"capacitorNeed", module.getModifiedItemAttr("capNeedBonus"))

View File

@@ -0,0 +1,6 @@
# Used by:
# Modules from group: Expanded Cargohold (13 of 13)
# Modules from group: Overdrive Injector System (14 of 14)
type = "passive"
def handler(fit, module, context):
fit.ship.multiplyItemAttr("capacity", module.getModifiedItemAttr("cargoCapacityMultiplier"))

View File

@@ -0,0 +1,11 @@
# Used by:
# Ship: Aeon
# Ship: Archon
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Amarr Carrier").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Armor Repair Systems"),
"maxRange", ship.getModifiedItemAttr("carrierAmarrBonus3") * level)
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Emission Systems"),
"powerTransferRange", ship.getModifiedItemAttr("carrierAmarrBonus3") * level)

View File

@@ -0,0 +1,9 @@
# Used by:
# Ship: Aeon
# Ship: Archon
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Amarr Carrier").level
for resType in ("Em", "Explosive", "Kinetic", "Thermal"):
fit.ship.boostItemAttr("armor{0}DamageResonance".format(resType),
ship.getModifiedItemAttr("carrierAmarrBonus2") * level)

View File

@@ -0,0 +1,8 @@
# Used by:
# Ship: Aeon
# Ship: Archon
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Amarr Carrier").level
amount = ship.getModifiedItemAttr("carrierAmarrBonus1")
fit.extraAttributes.increase("maxActiveDrones", amount * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Revenant
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Amarr Carrier").level
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Fighter Bombers"),
"maxVelocity", ship.getModifiedItemAttr("carrierAmarrBonus2") * level)

Some files were not shown because too many files have changed in this diff Show More