Merge branch 'singularity'

This commit is contained in:
DarkPhoenix
2013-09-03 21:18:05 +04:00
223 changed files with 626 additions and 280 deletions

View File

@@ -15,8 +15,8 @@ saveInRoot = False
# Version data
version = "1.1.15"
tag = "git"
expansionName = "Odyssey"
expansionVersion = "1.0"
expansionName = "Singularity"
expansionVersion = "597398"
evemonMinVersion = "4081"
pyfaPath = None

View File

@@ -2,5 +2,5 @@
# 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"),
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems") or mod.item.requiresSkill("Capital Repair Systems"),
"armorDamageAmount", booster.getModifiedItemAttr("armorDamageAmountBonus"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Skill: Armored Warfare Specialist
runTime = "early"
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"),
"commandBonus", skill.getModifiedItemAttr("squadronCommandBonus") * skill.level)

View File

@@ -1,5 +1,7 @@
# Used by:
# Implant: Armored Warfare Mindlink
# Implant: Federation Navy Warfare Mindlink
# Implant: Imperial Navy Warfare Mindlink
type = "passive"
def handler(fit, implant, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"),

View File

@@ -5,5 +5,5 @@
# Ship: Navitas
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Repair Projector",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer",
"maxRange", ship.getModifiedItemAttr("maxRangeBonus"))

View File

@@ -1,5 +1,7 @@
# Used by:
# Implant: Armored Warfare Mindlink
# Implant: Federation Navy Warfare Mindlink
# Implant: Imperial Navy Warfare Mindlink
type = "gang", "active"
gangBonus = "armorHpBonus2"
gangBoost = "armorHP"

View File

@@ -1,7 +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)
# Used by:
# Skill: Armor Layering
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

@@ -1,7 +1,7 @@
# 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
# Skill: Neurotoxin Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1

View File

@@ -1,7 +1,7 @@
# 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
# Skill: Neurotoxin Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1

View File

@@ -1,7 +1,7 @@
# 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
# Skill: Neurotoxin Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1

View File

@@ -1,7 +1,7 @@
# 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
# Skill: Neurotoxin Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1

View File

@@ -1,7 +1,7 @@
# 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
# Skill: Neurotoxin Control
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1

View File

@@ -3,6 +3,5 @@
runTime = "early"
type = "passive"
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda implant: "implantSetCaldariNavy" in implant.itemModifiedAttributes and\
"scanGravimetricStrengthPercent" in implant.itemModifiedAttributes,
fit.implants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
"scanGravimetricStrengthPercent", implant.getModifiedItemAttr("implantSetCaldariNavy"))

View File

@@ -2,6 +2,6 @@
# 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"))
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
"scanGravimetricStrengthModifier", implant.getModifiedItemAttr("implantSetLGCaldariNavy"))

View File

@@ -1,9 +1,9 @@
# Used by:
# Implants named like: Inherent Implants 'Squire' Energy Emission Systems ES (6 of 6)
# Modules named like: Egress Port Maximizer (8 of 8)
# Skill: Energy Emission Systems
# Skill: Capacitor 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("Energy Emission Systems"),
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capacitor Emission Systems"),
"capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)

View File

@@ -4,7 +4,7 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Minmatar Carrier").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Shield Transporter",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Shield Booster",
"shieldBonus", ship.getModifiedItemAttr("carrierMinmatarBonus2") * level)
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Repair Projector",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer",
"armorDamageAmount", ship.getModifiedItemAttr("carrierMinmatarBonus2") * level)

View File

@@ -1,7 +0,0 @@
# Used by:
# Skills named like: Warfare Specialist (4 of 5)
# Skill: Mining Director
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill(skill),
"commandBonus", skill.level)

View File

@@ -1,7 +0,0 @@
# Used by:
# Skill: Information Warfare Specialist
runTime = "early"
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill(skill),
"commandBonusHidden", skill.level)

View File

@@ -1,8 +1,8 @@
# Used by:
# Ships from group: Black Ops (4 of 4)
# Ships from group: Blockade Runner (4 of 4)
# Ships from group: Covert Ops (4 of 4)
# Ships from group: Force Recon Ship (4 of 4)
# Ships from group: Covert Ops (5 of 5)
# Ships from group: Force Recon Ship (5 of 5)
# Ships from group: Stealth Bomber (4 of 4)
# Subsystems named like: Offensive Covert Reconfiguration (4 of 4)
type = "passive"

View File

@@ -1,5 +1,5 @@
# Used by:
# Ships from group: Covert Ops (4 of 4)
# Ships from group: Covert Ops (5 of 5)
type = "passive"
runTime = "early"
def handler(fit, ship, context):

View File

@@ -1,6 +1,7 @@
# Used by:
# Ships from group: Black Ops (4 of 4)
# Ships from group: Stealth Bomber (4 of 4)
# Ship: Chremoas
# Ship: Etana
type = "passive"
def handler(fit, ship, context):

View File

@@ -0,0 +1,9 @@
# Used by:
# Implant: Caldari Navy Warfare Mindlink
# Implant: Imperial Navy Warfare Mindlink
# Implant: Information Warfare Mindlink
type = "passive"
def handler(fit, implant, context):
fit.character.getSkill("Information Warfare").suppress()
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
"commandBonus", implant.getModifiedItemAttr("mindlinkBonus"))

View File

@@ -1,5 +1,5 @@
# Used by:
# Ships from group: Force Recon Ship (4 of 4)
# Ships from group: Force Recon Ship (4 of 5)
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Cynosural Field",

View File

@@ -1,5 +1,5 @@
# Used by:
# Ships from group: Force Recon Ship (4 of 4)
# Ships from group: Force Recon Ship (4 of 5)
# Skill: Cynosural Field Theory
type = "passive"
def handler(fit, container, context):

View File

@@ -1,5 +1,5 @@
# Used by:
# Modules from group: Rig Astronautic (64 of 64)
# Modules from group: Rig Navigation (64 of 64)
type = "passive"
def handler(fit, module, context):
fit.ship.boostItemAttr("armorHP", module.getModifiedItemAttr("drawback"))

View File

@@ -1,5 +1,6 @@
# Used by:
# Modules from group: Rig Armor (56 of 72)
# Modules from group: Rig Armor (48 of 64)
# Modules from group: Rig Resource Processing (8 of 10)
type = "passive"
def handler(fit, module, context):
fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("drawback"),

View File

@@ -1,5 +1,7 @@
# Used by:
# Modules from group: Rig Electronics Superiority (64 of 64)
# Modules from group: Rig Electronic Systems (40 of 48)
# Modules from group: Rig Targeting (16 of 16)
# Modules named like: Signal Focusing Kit (8 of 8)
type = "passive"
def handler(fit, module, context):
fit.ship.boostItemAttr("shieldCapacity", module.getModifiedItemAttr("drawback"))

View File

@@ -2,7 +2,7 @@
# Implants named like: Zainou 'Gypsy' Electronics EE (6 of 6)
# Modules named like: Processor Overclocking Unit (8 of 8)
# Implant: Genolution Core Augmentation CA-2
# Skill: Electronics
# Skill: CPU Management
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1

View File

@@ -1,7 +1,7 @@
# Used by:
# Ship: Damnation
# Ships from group: Command Ship (4 of 8)
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"),
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips3") * level)

View File

@@ -1,7 +1,8 @@
# Used by:
# Ship: Claymore
# Ship: Nighthawk
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Battlecruiser").level
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault",
"speed", ship.getModifiedItemAttr("shipBonusCBC1") * level)
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)

View File

@@ -0,0 +1,9 @@
# Used by:
# Ship: Damnation
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
damageTypes = ("em", "explosive", "kinetic", "thermal")
for damageType in damageTypes:
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
"{0}Damage".format(damageType), ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Eos
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
"trackingSpeed", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Eos
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
"maxVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)

View File

@@ -0,0 +1,9 @@
# Used by:
# Ship: Damnation
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
damageTypes = ("em", "explosive", "kinetic", "thermal")
for damageType in damageTypes:
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
"{0}Damage".format(damageType), ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)

View File

@@ -1,7 +1,8 @@
# Used by:
# Ship: Claymore
# Ship: Nighthawk
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Caldari Battlecruiser").level
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy",
"speed", ship.getModifiedItemAttr("shipBonusCBC1") * level)
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)

View File

@@ -1,7 +1,7 @@
# Used by:
# Ship: Eos
# Ships from group: Command Ship (4 of 8)
type = "passive"
def handler(fit, ship, context):
def handler(fit, module, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
"commandBonusHidden", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
"commandBonus", module.getModifiedItemAttr("eliteBonusCommandShips3") * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Ships from group: Command Ship (4 of 8)
type = "passive"
def handler(fit, module, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
"commandBonusHidden", module.getModifiedItemAttr("eliteBonusCommandShips3") * level)

View File

@@ -1,7 +1,7 @@
# Used by:
# Ship: Astarte
# Ship: Vulture
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
"damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
"damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)

View File

@@ -1,7 +1,7 @@
# Used by:
# Ship: Eos
# Ship: Astarte
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)

View File

@@ -1,7 +1,7 @@
# Used by:
# Ship: Claymore
# Ship: Eos
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
"trackingSpeed", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
"kineticDamage", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
"aoeCloudSize", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Claymore
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
"aoeVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Ship: Nighthawk
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
"aoeCloudSize", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)

View File

@@ -1,5 +1,5 @@
# Used by:
# Ship: Nighthawk
# Ship: Claymore
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level

View File

@@ -1,7 +1,7 @@
# Used by:
# Ship: Vulture
# Ships from group: Command Ship (4 of 8)
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Siege Warfare Specialist"),
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips3") * level)

View File

@@ -1,7 +1,7 @@
# Used by:
# Ship: Claymore
# Ships from group: Command Ship (4 of 8)
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Warfare Specialist"),
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips3") * level)

View File

@@ -1,5 +1,5 @@
# Used by:
# Ships from group: Covert Ops (4 of 4)
# Ships from group: Covert Ops (5 of 5)
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Covert Ops").level

View File

@@ -1,6 +0,0 @@
# Used by:
# Ship: Sacrilege
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Heavy Assault Cruisers").level
fit.ship.boostItemAttr("rechargeRate", ship.getModifiedItemAttr("eliteBonusHeavyGunship1") * level)

View File

@@ -1,6 +0,0 @@
# Used by:
# Ship: Ishtar
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Heavy Assault Cruisers").level
fit.ship.increaseItemAttr("droneCapacity", ship.getModifiedItemAttr("eliteBonusHeavyGunship2") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Transfer Array",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
"capacitorNeed", ship.getModifiedItemAttr("eliteBonusLogistics1") * level)

View File

@@ -4,5 +4,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Transfer Array",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
"capacitorNeed", ship.getModifiedItemAttr("eliteBonusLogistics2") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Repair Projector",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer",
"capacitorNeed", ship.getModifiedItemAttr("eliteBonusLogistics1") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Repair Projector",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer",
"capacitorNeed", ship.getModifiedItemAttr("eliteBonusLogistics2") * level)

View File

@@ -4,5 +4,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Shield Transporter",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Shield Booster",
"capacitorNeed", ship.getModifiedItemAttr("eliteBonusLogistics1") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Shield Transporter",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Shield Booster",
"capacitorNeed", ship.getModifiedItemAttr("eliteBonusLogistics2") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Link",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
"falloffBonus", ship.getModifiedItemAttr("eliteBonusLogistics1") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Link",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
"falloffBonus", ship.getModifiedItemAttr("eliteBonusLogistics2") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Link",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
"maxRangeBonus", ship.getModifiedItemAttr("eliteBonusLogistics1") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Link",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
"maxRangeBonus", ship.getModifiedItemAttr("eliteBonusLogistics2") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Link",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
"trackingSpeedBonus", ship.getModifiedItemAttr("eliteBonusLogistics1") * level)

View File

@@ -3,5 +3,5 @@
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Logistics").level
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Link",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Tracking Computer",
"trackingSpeedBonus", ship.getModifiedItemAttr("eliteBonusLogistics2") * level)

View File

@@ -1,6 +0,0 @@
# Used by:
# Ship: Eos
type = "passive"
def handler(fit, ship, context):
level = fit.character.getSkill("Command Ships").level
fit.ship.increaseItemAttr("droneCapacity", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)

View File

@@ -1,5 +1,6 @@
# Used by:
# Ship: Huginn
# Ship: Moracha
# Ship: Rapier
type = "passive"
def handler(fit, ship, context):

View File

@@ -3,7 +3,7 @@
# Implants named like: Mindflood Booster (4 of 4)
# Modules named like: Semiconductor Memory Cell (8 of 8)
# Implant: Genolution Core Augmentation CA-1
# Skill: Energy Management
# Skill: Capacitor Management
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1

View File

@@ -2,7 +2,7 @@
# Implants named like: Inherent Implants 'Squire' Energy Systems Operation EO (6 of 6)
# Modules named like: Capacitor Control Circuit (8 of 8)
# Implant: Genolution Core Augmentation CA-2
# Skill: Energy Systems Operation
# Skill: Capacitor Systems Operation
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1

View File

@@ -1,5 +1,5 @@
# Used by:
# Modules from group: Energy Transfer Array (38 of 38)
# Modules from group: Remote Capacitor Transmitter (38 of 38)
type = "projected", "active"
def handler(fit, module, context):
if "projected" in context:

View File

@@ -3,5 +3,5 @@
# Ship: Osprey
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Transfer Array",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
"powerTransferRange", ship.getModifiedItemAttr("maxRangeBonus"))

View File

@@ -3,5 +3,5 @@
# Ship: Osprey
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Transfer Array",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
"powerTransferAmount", ship.getModifiedItemAttr("energyTransferAmountBonus"))

View File

@@ -2,5 +2,5 @@
# Ships from group: Logistics (3 of 5)
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Transfer Array",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Capacitor Transmitter",
"power", ship.getModifiedItemAttr("powerTransferPowerNeedBonus"))

View File

@@ -2,7 +2,7 @@
# Implants named like: Inherent Implants 'Squire' Engineering EG (6 of 6)
# Modules named like: Ancillary Current Router (8 of 8)
# Implant: Genolution Core Augmentation CA-1
# Skill: Engineering
# Skill: Power Grid Management
type = "passive"
def handler(fit, container, context):
level = container.level if "skill" in context else 1

View File

@@ -2,6 +2,7 @@
# Implants named like: Eifyr and Co. 'Rogue' Evasive Maneuvering EM (6 of 6)
# Implants named like: Low grade Nomad (5 of 6)
# Modules named like: Low Friction Nozzle Joints (8 of 8)
# Implant: Genolution Core Augmentation CA-4
# Skill: Evasive Maneuvering
# Skill: Spaceship Command
type = "passive"

View File

@@ -3,6 +3,5 @@
type = "passive"
runTime = "early"
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda implant: "implantSetFederationNavy" in implant.itemModifiedAttributes and\
"scanMagnetometricStrengthPercent" in implant.itemModifiedAttributes,
"scanMagnetometricStrengthPercent", implant.getModifiedItemAttr("implantSetFederationNavy"))
fit.implants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
"scanMagnetometricStrengthPercent", implant.getModifiedItemAttr("implantSetFederationNavy"))

View File

@@ -2,6 +2,6 @@
# Implants named like: Low grade Spur (6 of 6)
type = "passive"
runTime = "early"
def handler(fit, item, context):
fit.implants.filteredItemMultiply(lambda implant: "scanMagnetometricStrengthModifier" in implant.itemModifiedAttributes,
"scanMagnetometricStrengthModifier", item.getModifiedItemAttr("implantSetLGFederationNavy"))
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
"scanMagnetometricStrengthModifier", implant.getModifiedItemAttr("implantSetLGFederationNavy"))

View File

@@ -4,6 +4,8 @@ type = "gang", "active"
gangBoost = "scanTypeStrength"
def handler(fit, module, context):
if "gang" not in context: return
fit.ship.boostItemAttr("maxTargetRange", module.getModifiedItemAttr("commandBonus"),
stackingPenalties = True)
for scanType in ("Gravimetric", "Radar", "Ladar", "Magnetometric"):
fit.ship.boostItemAttr("scan%sStrength" % scanType,
module.getModifiedItemAttr("commandBonus"),

View File

@@ -3,6 +3,5 @@
type = "passive"
runTime = "early"
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda implant: "scanRadarStrengthPercent" in implant.itemModifiedAttributes and\
"implantSetImperialNavy" in implant.itemModifiedAttributes,
fit.implants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
"scanRadarStrengthPercent", implant.getModifiedItemAttr("implantSetImperialNavy"))

View File

@@ -2,6 +2,6 @@
# Implants named like: Low grade Grail (6 of 6)
type = "passive"
runTime = "early"
def handler(fit, item, context):
fit.implants.filteredItemMultiply(lambda implant: "scanRadarStrengthModifier" in implant.itemModifiedAttributes,
"scanRadarStrengthModifier", item.getModifiedItemAttr("implantSetLGImperialNavy"))
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
"scanRadarStrengthModifier", implant.getModifiedItemAttr("implantSetLGImperialNavy"))

View File

@@ -1,5 +1,6 @@
# Used by:
# Implants named like: Inherent Implants 'Noble' Hull Upgrades HG (7 of 7)
# Implant: Genolution Core Augmentation CA-4
# Implant: Imperial Navy Modified 'Noble' Implant
# Implant: Imperial Special Ops Field Enhancer - Standard
type = "passive"

View File

@@ -1,5 +1,6 @@
# Used by:
# Implants named like: Eifyr and Co. 'Rogue' Navigation NN (6 of 6)
# Implant: Genolution Core Augmentation CA-3
# Implant: Shaqil's Speed Enhancer
type = "passive"
def handler(fit, implant, context):

View File

@@ -0,0 +1,7 @@
# Used by:
# Skill: Information Warfare Specialist
runTime = "early"
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
"commandBonus", skill.getModifiedItemAttr("squadronCommandBonus") * skill.level)

View File

@@ -0,0 +1,7 @@
# Used by:
# Skill: Information Warfare Specialist
runTime = "early"
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
"commandBonusHidden", skill.getModifiedItemAttr("squadronCommandBonus") * skill.level)

View File

@@ -1,9 +1,9 @@
# Used by:
# Implant: Caldari Navy Warfare Mindlink
# Implant: Imperial Navy Warfare Mindlink
# Implant: Information Warfare Mindlink
type = "passive"
def handler(fit, implant, context):
fit.character.getSkill("Information Warfare").suppress()
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
"commandBonus", implant.getModifiedItemAttr("mindlinkBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
"commandBonusHidden", implant.getModifiedItemAttr("mindlinkBonus"))

View File

@@ -1,5 +1,5 @@
# Used by:
# Ships from group: Covert Ops (4 of 4)
# Ships from group: Covert Ops (5 of 5)
# Subsystems named like: Electronics Emergent Locus Analyzer (4 of 4)
# Variations of ship: Heron (3 of 3)
# Variations of ship: Imicus (3 of 3)

View File

@@ -0,0 +1,7 @@
# Used by:
# Skill: Mining Director
runTime = "early"
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining Director"),
"commandBonus", skill.getModifiedItemAttr("squadronCommandBonus") * skill.level)

View File

@@ -2,5 +2,5 @@
# Implants named like: Crash Booster (4 of 4)
type = "passive"
def handler(fit, implant, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Citadel Cruise Missiles") or mod.charge.requiresSkill("Citadel Torpedoes"),
"aoeCloudSize", implant.getModifiedItemAttr("aoeCloudSizeBonus"))
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
"aoeCloudSize", implant.getModifiedItemAttr("aoeCloudSizeBonus"))

View File

@@ -4,7 +4,6 @@
# Modules from group: Power Diagnostic System (31 of 31)
# 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)
# Modules from group: Shield Recharger (6 of 6)
# Modules named like: QA Multiship Module Players (4 of 4)
type = "passive"

View File

@@ -1,5 +1,6 @@
# Used by:
# Ships from group: Assault Frigate (8 of 12)
# Ships from group: Heavy Assault Cruiser (8 of 11)
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),

View File

@@ -1,5 +1,6 @@
# Used by:
# Modules from group: Data Miners (13 of 14)
# Module: QA Cross Protocol Analyzer
type = "active"
def handler(fit, module, context):
pass

View File

@@ -1,11 +1,11 @@
# Used by:
# Modules from group: Armor Repair Projector (38 of 38)
# Modules from group: Capacitor Booster (54 of 54)
# Modules from group: Energy Destabilizer (41 of 41)
# Modules from group: Energy Transfer Array (38 of 38)
# Modules from group: Energy Vampire (52 of 52)
# Modules from group: Hull Repair Unit (21 of 21)
# Modules from group: Shield Transporter (39 of 39)
# Modules from group: Remote Armor Repairer (38 of 38)
# Modules from group: Remote Capacitor Transmitter (38 of 38)
# Modules from group: Remote Shield Booster (39 of 39)
# Module: QA Remote Armor Repair System - 5 Players
# Module: QA Shield Transporter - 5 Players
# Module: Reactive Armor Hardener

View File

@@ -1,4 +1,6 @@
# Used by:
# Implant: Caldari Navy Warfare Mindlink
# Implant: Imperial Navy Warfare Mindlink
# Implant: Information Warfare Mindlink
# Skill: Information Warfare
type = "gang"

View File

@@ -1,5 +1,5 @@
# Used by:
# Ships from group: Force Recon Ship (4 of 4)
# Ships from group: Force Recon Ship (5 of 5)
type = "passive"
runTime = "early"
def handler(fit, ship, context):

View File

@@ -3,5 +3,5 @@
# Ship: Oneiros
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Repair Projector",
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer",
"power", ship.getModifiedItemAttr("remoteArmorPowerNeedBonus"))

View File

@@ -3,6 +3,5 @@
runTime = "early"
type = "passive"
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda implant: "implantSetRepublicFleet" in implant.itemModifiedAttributes and\
"scanLadarStrengthPercent" in implant.itemModifiedAttributes,
"scanLadarStrengthPercent", implant.getModifiedItemAttr("implantSetRepublicFleet"))
fit.implants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
"scanLadarStrengthPercent", implant.getModifiedItemAttr("implantSetRepublicFleet"))

View File

@@ -2,6 +2,6 @@
# Implants named like: Low grade Jackal (6 of 6)
runTime = "early"
type = "passive"
def handler(fit, item, context):
fit.implants.filteredItemMultiply(lambda implant: "scanLadarStrengthModifier" in implant.itemModifiedAttributes,
"scanLadarStrengthModifier", item.getModifiedItemAttr("implantSetLGRepublicFleet"))
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda target: target.item.requiresSkill("Cybernetics"),
"scanLadarStrengthModifier", implant.getModifiedItemAttr("implantSetLGRepublicFleet"))

View File

@@ -1,5 +1,5 @@
# Used by:
# Skills named like: Rigging (9 of 10)
# Skills from group: Rigging (9 of 10)
type = "passive"
def handler(fit, skill, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill(skill),

View File

@@ -1,5 +1,5 @@
# Used by:
# Modules named like: Salvage Tackle (8 of 8)
# Modules from group: Rig Resource Processing (8 of 10)
# Implant: Poteque 'Prospector' Salvaging SV-905
type = "passive"
def handler(fit, container, context):

View File

@@ -1,5 +1,5 @@
# Used by:
# Implants from group: Cyberimplant (20 of 141)
# Implants from group: Cyberimplant (20 of 143)
type = "passive"
def handler(fit, implant, context):
for type in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):

View File

@@ -3,6 +3,5 @@
runTime = "early"
type = "passive"
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda implant: "durationBonus" in implant.itemModifiedAttributes and \
"implantSetBloodraider" in implant.itemModifiedAttributes,
fit.implants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
"durationBonus", implant.getModifiedItemAttr("implantSetBloodraider"))

View File

@@ -2,5 +2,5 @@
# Implants named like: Talisman (10 of 12)
type = "passive"
def handler(fit, implant, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Energy Emission Systems"),
"duration", implant.getModifiedItemAttr("durationBonus"))
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capacitor Emission Systems"),
"duration", implant.getModifiedItemAttr("durationBonus"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Implants named like: Genolution Core Augmentation CA (4 of 4)
runTime = "early"
type = "passive"
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
"agilityBonus", implant.getModifiedItemAttr("implantSetChristmas"))

View File

@@ -0,0 +1,7 @@
# Used by:
# Implants named like: Genolution Core Augmentation CA (4 of 4)
runTime = "early"
type = "passive"
def handler(fit, implant, context):
fit.implants.filteredItemMultiply(lambda mod: mod.item.group.name == "Cyberimplant",
"armorHpBonus2", implant.getModifiedItemAttr("implantSetChristmas"))

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