Merge pull request #1245 from pyfa-org/release/1.30.0

Release/1.30.0
This commit is contained in:
Ryan Holmes
2017-07-11 19:45:44 -04:00
committed by GitHub
365 changed files with 12799 additions and 2766 deletions

View File

@@ -19,9 +19,9 @@ debug = False
saveInRoot = False
# Version data
version = "1.29.4"
version = "1.30.0"
tag = "Stable"
expansionName = "YC119.5"
expansionName = "YC119.7"
expansionVersion = "1.0"
evemonMinVersion = "4081"

View File

@@ -47,7 +47,7 @@ mapper(Item, items_table,
properties={
"group" : relation(Group, backref="items"),
"icon" : relation(Icon),
"_Item__attributes": relation(Attribute, collection_class=attribute_mapped_collection('name')),
"_Item__attributes": relation(Attribute, cascade='all, delete, delete-orphan', collection_class=attribute_mapped_collection('name')),
"effects": relation(Effect, secondary=typeeffects_table, collection_class=attribute_mapped_collection('name')),
"metaGroup" : relation(MetaType,
primaryjoin=metatypes_table.c.typeID == items_table.c.typeID,

View File

@@ -317,7 +317,7 @@ def getVariations(itemids, groupIDs=None, where=None, eager=None):
vars = gamedata_session.query(Item).options(*processEager(eager)).join((groups_table, joinon)).filter(
filter).all()
return vars
return vars
@cachedQuery(1, "attr")

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,9 @@
"""
Migration 26
- Deletes invalid command fit relationships caused by a bug (see #1244)
"""
def upgrade(saveddata_engine):
saveddata_engine.execute("DELETE FROM commandFits WHERE boosterID NOT IN (SELECT ID FROM fits) OR boostedID NOT IN (SELECT ID FROM fits)")

View File

@@ -7,5 +7,5 @@ Overwrites damage profile 0 to reset bad uniform values (bad values set with bug
def upgrade(saveddata_engine):
saveddata_engine.execute('DELETE FROM damagePatterns WHERE name LIKE ? OR ID LIKE ?', ("Uniform", "1"))
saveddata_engine.execute('INSERT INTO damagePatterns VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)',
(1, "Uniform", 25, 25, 25, 25, None, None, None))
saveddata_engine.execute('INSERT INTO damagePatterns (ID, name, emAmount, thermalAmount, kineticAmount, explosiveAmount, ownerID) VALUES (?, ?, ?, ?, ?, ?, ?)',
(1, "Uniform", 25, 25, 25, 25, None))

View File

@@ -18,35 +18,38 @@
# ===============================================================================
from sqlalchemy import Table, Column, ForeignKey, Integer, Boolean, DateTime
from sqlalchemy.ext.associationproxy import association_proxy
from sqlalchemy.orm import mapper, relation
import datetime
from eos.db import saveddata_meta
from eos.saveddata.booster import Booster
from eos.saveddata.boosterSideEffect import BoosterSideEffect
boosters_table = Table("boosters", saveddata_meta,
Column("ID", Integer, primary_key=True),
Column("itemID", Integer),
Column("fitID", Integer, ForeignKey("fits.ID"), nullable=False),
Column("active", Boolean),
Column("created", DateTime, nullable=True, default=datetime.datetime.now),
Column("modified", DateTime, nullable=True, onupdate=datetime.datetime.now),
Column("ID", Integer, primary_key=True),
Column("itemID", Integer),
Column("fitID", Integer, ForeignKey("fits.ID"), nullable=False),
Column("active", Boolean),
Column("created", DateTime, nullable=True, default=datetime.datetime.now),
Column("modified", DateTime, nullable=True, onupdate=datetime.datetime.now),
)
# Legacy booster side effect code, should disable but a mapper relies on it.
activeSideEffects_table = Table("boostersActiveSideEffects", saveddata_meta,
Column("boosterID", ForeignKey("boosters.ID"), primary_key=True),
Column("effectID", Integer, primary_key=True))
booster_side_effect_table = Table("boosterSideEffects", saveddata_meta,
Column("boosterID", Integer, ForeignKey("boosters.ID"), primary_key=True, index=True),
Column("effectID", Integer, nullable=False, primary_key=True),
Column("active", Boolean, default=False)
)
class ActiveSideEffectsDummy(object):
def __init__(self, effectID):
self.effectID = effectID
mapper(ActiveSideEffectsDummy, activeSideEffects_table)
mapper(Booster, boosters_table,
properties={"_Booster__activeSideEffectDummies": relation(ActiveSideEffectsDummy)})
properties={
"_Booster__sideEffects": relation(
BoosterSideEffect,
backref="booster",
cascade='all, delete, delete-orphan'),
}
)
Booster._Booster__activeSideEffectIDs = association_proxy("_Booster__activeSideEffectDummies", "effectID")
mapper(BoosterSideEffect, booster_side_effect_table)

View File

@@ -0,0 +1,9 @@
# agilityBonus
#
# Used by:
# Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
type = "passive"
def handler(fit, src, context):
fit.ship.increaseItemAttr("agility", src.getModifiedItemAttr("agilityBonusAdd"))

View File

@@ -1,9 +1,9 @@
# ammoInfluenceCapNeed
#
# Used by:
# Items from category: Charge (466 of 913)
# Charges from group: Frequency Crystal (185 of 185)
# Charges from group: Hybrid Charge (209 of 209)
# Items from category: Charge (464 of 898)
# Charges from group: Frequency Crystal (184 of 184)
# Charges from group: Hybrid Charge (208 of 208)
type = "passive"

View File

@@ -1,7 +1,7 @@
# ammoInfluenceRange
#
# Used by:
# Items from category: Charge (571 of 913)
# Items from category: Charge (568 of 898)
type = "passive"

View File

@@ -1,7 +1,7 @@
# ammoSpeedMultiplier
#
# Used by:
# Charges from group: Festival Charges (22 of 22)
# Charges from group: Festival Charges (10 of 10)
# Charges from group: Interdiction Probe (2 of 2)
# Charges from group: Survey Probe (3 of 3)
type = "passive"

View File

@@ -7,7 +7,7 @@
# Charges from group: Advanced Blaster Charge (8 of 8)
# Charges from group: Advanced Pulse Laser Crystal (8 of 8)
# Charges from group: Advanced Railgun Charge (8 of 8)
# Charges from group: Projectile Ammo (129 of 129)
# Charges from group: Projectile Ammo (128 of 128)
type = "passive"

View File

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

View File

@@ -1,10 +1,15 @@
# boosterArmorHpPenalty
#
# Used by:
# Implants from group: Booster (12 of 48)
# Implants from group: Booster (12 of 55)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Armor Capacity"
# Attribute that this effect targets
attr = "boosterArmorHPPenalty"
def handler(fit, booster, context):
fit.ship.boostItemAttr("armorHP", booster.getModifiedItemAttr("boosterArmorHPPenalty"))
fit.ship.boostItemAttr("armorHP", booster.getModifiedItemAttr(attr))

View File

@@ -5,9 +5,14 @@
# Implants named like: Mindflood Booster (3 of 4)
# Implants named like: Sooth Sayer Booster (3 of 4)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Armor Repair Amount"
# Attribute that this effect targets
attr = "boosterArmorRepairAmountPenalty"
def handler(fit, booster, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Repair Unit",
"armorDamageAmount", booster.getModifiedItemAttr("boosterArmorRepairAmountPenalty"))
"armorDamageAmount", booster.getModifiedItemAttr(attr))

View File

@@ -4,8 +4,13 @@
# Implants named like: Blue Pill Booster (3 of 5)
# Implants named like: Exile Booster (3 of 4)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Cap Capacity"
# Attribute that this effect targets
attr = "boosterCapacitorCapacityPenalty"
def handler(fit, booster, context):
fit.ship.boostItemAttr("capacitorCapacity", booster.getModifiedItemAttr("boosterCapacitorCapacityPenalty"))
fit.ship.boostItemAttr("capacitorCapacity", booster.getModifiedItemAttr(attr))

View File

@@ -1,10 +1,15 @@
# boosterMaxVelocityPenalty
#
# Used by:
# Implants from group: Booster (12 of 48)
# Implants from group: Booster (12 of 55)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Velocity"
# Attribute that this effect targets
attr = "boosterMaxVelocityPenalty"
def handler(fit, booster, context):
fit.ship.boostItemAttr("maxVelocity", booster.getModifiedItemAttr("boosterMaxVelocityPenalty"))
fit.ship.boostItemAttr("maxVelocity", booster.getModifiedItemAttr(attr))

View File

@@ -4,9 +4,14 @@
# Implants named like: Exile Booster (3 of 4)
# Implants named like: Mindflood Booster (3 of 4)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Missile Explosion Radius"
# Attribute that this effect targets
attr = "boosterMissileAOECloudPenalty"
def handler(fit, booster, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
"aoeCloudSize", booster.getModifiedItemAttr("boosterMissileAOECloudPenalty"))
"aoeCloudSize", booster.getModifiedItemAttr(attr))

View File

@@ -3,9 +3,14 @@
# Used by:
# Implants named like: Blue Pill Booster (3 of 5)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Missile Explosion Velocity"
# Attribute that this effect targets
attr = "boosterAOEVelocityPenalty"
def handler(fit, booster, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
"aoeVelocity", booster.getModifiedItemAttr("boosterAOEVelocityPenalty"))
"aoeVelocity", booster.getModifiedItemAttr(attr))

View File

@@ -4,9 +4,14 @@
# Implants named like: Crash Booster (3 of 4)
# Implants named like: X Instinct Booster (3 of 4)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Missile Velocity"
# Attribute that this effect targets
attr = "boosterMissileVelocityPenalty"
def handler(fit, booster, context):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
"maxVelocity", "boosterMissileVelocityPenalty")
"maxVelocity", attr)

View File

@@ -1,10 +1,15 @@
# boosterShieldCapacityPenalty
#
# Used by:
# Implants from group: Booster (12 of 48)
# Implants from group: Booster (12 of 55)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Shield Capacity"
# Attribute that this effect targets
attr = "boosterShieldCapacityPenalty"
def handler(fit, booster, context):
fit.ship.boostItemAttr("shieldCapacity", booster.getModifiedItemAttr("boosterShieldCapacityPenalty"))
fit.ship.boostItemAttr("shieldCapacity", booster.getModifiedItemAttr(attr))

View File

@@ -4,9 +4,14 @@
# Implants named like: Drop Booster (3 of 4)
# Implants named like: X Instinct Booster (3 of 4)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Turret Falloff"
# Attribute that this effect targets
attr = "boosterTurretFalloffPenalty"
def handler(fit, booster, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"falloff", booster.getModifiedItemAttr("boosterTurretFalloffPenalty"))
"falloff", booster.getModifiedItemAttr(attr))

View File

@@ -5,9 +5,14 @@
# Implants named like: Mindflood Booster (3 of 4)
# Implants named like: Sooth Sayer Booster (3 of 4)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Turret Optimal Range"
# Attribute that this effect targets
attr = "boosterTurretOptimalRange"
def handler(fit, booster, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"maxRange", booster.getModifiedItemAttr("boosterTurretOptimalRange"))
"maxRange", booster.getModifiedItemAttr(attr))

View File

@@ -4,9 +4,14 @@
# Implants named like: Exile Booster (3 of 4)
# Implants named like: Frentix Booster (3 of 4)
type = "boosterSideEffect"
activeByDefault = False
# User-friendly name for the side effect
displayName = "Turret Tracking"
# Attribute that this effect targets
attr = "boosterTurretTrackingPenalty"
def handler(fit, booster, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Gunnery"),
"trackingSpeed", booster.getModifiedItemAttr("boosterTurretTrackingPenalty"))
"trackingSpeed", booster.getModifiedItemAttr(attr))

View File

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

View File

@@ -1,7 +1,8 @@
# capacityAddPassive
#
# Used by:
# Subsystems from group: Defensive Systems (16 of 16)
# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
# Subsystem: Legion Defensive - Nanobot Injector
type = "passive"

View File

@@ -8,6 +8,5 @@ type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"),
"maxRange",
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Leadership"), "maxRange",
src.getModifiedItemAttr("areaOfEffectBonus") * src.level)

View File

@@ -7,7 +7,7 @@
# Ships from group: Force Auxiliary (5 of 5)
# Ships from group: Supercarrier (6 of 6)
# Ships from group: Titan (6 of 6)
# Subsystems named like: Defensive Warfare Processor (4 of 4)
# Subsystems named like: Offensive Support Processor (4 of 4)
# Ship: Orca
# Ship: Rorqual
type = "passive"

View File

@@ -1,7 +1,7 @@
# covertCynoCpuPenalty
#
# Used by:
# Subsystems from group: Offensive Systems (12 of 16)
# Subsystems from group: Defensive Systems (8 of 12)
type = "passive"

View File

@@ -8,7 +8,7 @@
# Ships from group: Force Recon Ship (7 of 7)
# Ships from group: Stealth Bomber (4 of 4)
# Ships named like: Stratios (2 of 2)
# Subsystems named like: Offensive Covert Reconfiguration (4 of 4)
# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
# Ship: Astero
# Ship: Rabisu
type = "passive"

View File

@@ -1,7 +1,7 @@
# covertOpsCloakCpuPenalty
#
# Used by:
# Subsystems from group: Offensive Systems (12 of 16)
# Subsystems from group: Defensive Systems (8 of 12)
type = "passive"

View File

@@ -2,7 +2,7 @@
#
# Used by:
# Ships from group: Stealth Bomber (4 of 4)
# Subsystems named like: Offensive Covert Reconfiguration (4 of 4)
# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
type = "passive"

View File

@@ -1,7 +1,7 @@
# cpuOutputAddCpuOutputPassive
#
# Used by:
# Items from category: Subsystem (40 of 80)
# Subsystems from group: Offensive Systems (8 of 12)
type = "passive"

View File

@@ -1,8 +1,7 @@
# droneBandwidthAddPassive
#
# Used by:
# Subsystems from group: Engineering Systems (13 of 16)
# Subsystems from group: Offensive Systems (16 of 16)
# Subsystems from group: Offensive Systems (12 of 12)
type = "passive"

View File

@@ -1,7 +1,7 @@
# droneCapacityAdddroneCapacityPassive
#
# Used by:
# Items from category: Subsystem (42 of 80)
# Subsystems from group: Offensive Systems (12 of 12)
type = "passive"

View File

@@ -3,6 +3,7 @@
# Used by:
# Implants named like: Zainou 'Gypsy' CPU Management EE (6 of 6)
# Modules named like: Processor Overclocking Unit (8 of 8)
# Subsystems named like: Core Electronic Efficiency Gate (2 of 2)
# Implant: Genolution Core Augmentation CA-2
# Skill: CPU Management
type = "passive"

View File

@@ -3,6 +3,7 @@
# Used by:
# Implants named like: Inherent Implants 'Squire' Power Grid Management EG (6 of 6)
# Modules named like: Ancillary Current Router (8 of 8)
# Subsystems named like: Core Augmented Reactor (4 of 4)
# Implant: Genolution Core Augmentation CA-1
# Skill: Power Grid Management
type = "passive"

View File

@@ -1,8 +1,7 @@
# hardPointModifierEffect
#
# Used by:
# Subsystems from group: Engineering Systems (16 of 16)
# Subsystems from group: Offensive Systems (16 of 16)
# Subsystems from group: Offensive Systems (12 of 12)
type = "passive"

View File

@@ -1,7 +1,4 @@
# massAddPassive
#
# Used by:
# Items from category: Subsystem (80 of 80)
# Not used by any item
type = "passive"

View File

@@ -1,7 +1,7 @@
# maxTargetRangeAddPassive
#
# Used by:
# Subsystems from group: Electronic Systems (16 of 16)
# Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
type = "passive"

View File

@@ -1,7 +1,4 @@
# maxVelocityAddPassive
#
# Used by:
# Subsystems from group: Propulsion Systems (16 of 16)
# Not used by any item
type = "passive"

View File

@@ -0,0 +1,13 @@
# mediumRemoteRepFittingAdjustment
#
# Used by:
# Variations of module: Medium Remote Armor Repairer I (12 of 12)
# Variations of module: Medium Remote Shield Booster I (11 of 11)
# Module: Medium Ancillary Remote Armor Repairer
# Module: Medium Ancillary Remote Shield Booster
type = "passive"
def handler(fit, module, context):
module.multiplyItemAttr("power", module.getModifiedItemAttr("mediumRemoteRepFittingMultiplier"))
module.multiplyItemAttr("cpu", module.getModifiedItemAttr("mediumRemoteRepFittingMultiplier"))

View File

@@ -3,7 +3,7 @@
# Used by:
# Ships from group: Covert Ops (7 of 7)
# Ships named like: Stratios (2 of 2)
# Subsystems named like: Electronics Emergent Locus Analyzer (4 of 4)
# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
# Ship: Astero
# Ship: Heron
# Ship: Imicus

View File

@@ -1,7 +1,4 @@
# modifyArmorResonancePassivePreAssignment
#
# Used by:
# Subsystems from group: Defensive Systems (16 of 16)
# Not used by any item
type = "passive"

View File

@@ -1,7 +1,4 @@
# modifyShieldResonancePassivePreAssignment
#
# Used by:
# Subsystems from group: Defensive Systems (16 of 16)
# Not used by any item
type = "passive"

View File

@@ -1,7 +1,4 @@
# modifyShipAgilityPassivePreAssignment
#
# Used by:
# Subsystems from group: Propulsion Systems (16 of 16)
# Not used by any item
runTime = "early"
type = "passive"

View File

@@ -2,6 +2,7 @@
#
# Used by:
# Modules from group: Rig Anchor (4 of 4)
# Implants named like: Agency Speed Booster (3 of 3)
# Implants named like: grade Snake (16 of 18)
# Modules named like: Auxiliary Thrusters (8 of 8)
# Implant: Quafe Zero

View File

@@ -1,4 +1,4 @@
# remoteArmorRepairEntity
# npcEntityRemoteArmorRepairer
#
# Used by:
# Drones named like: Armor Maintenance Bot (6 of 6)

View File

@@ -1,4 +1,4 @@
# remoteHullRepairEntity
# npcEntityRemoteHullRepairer
#
# Used by:
# Drones named like: Hull Maintenance Bot (6 of 6)

View File

@@ -1,4 +1,4 @@
# remoteShieldTransferEntity
# npcEntityRemoteShieldBooster
#
# Used by:
# Drones named like: Shield Maintenance Bot (6 of 6)

View File

@@ -1,7 +1,7 @@
# powerOutputAddPassive
#
# Used by:
# Items from category: Subsystem (40 of 80)
# Subsystems from group: Offensive Systems (8 of 12)
type = "passive"

View File

@@ -7,4 +7,4 @@ type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"),
"cpu", ship.getModifiedItemAttr("roleBonusTacticalDestroyer1"))
"cpu", ship.getModifiedItemAttr("roleBonusT3ProbeCPU"))

View File

@@ -0,0 +1,10 @@
# probeLauncherCPUPercentRoleBonusT3
#
# Used by:
# Ships from group: Strategic Cruiser (4 of 4)
# Ships from group: Tactical Destroyer (4 of 4)
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"), "cpu", src.getModifiedItemAttr("roleBonusT3ProbeCPU"))

View File

@@ -1,7 +1,4 @@
# rechargeRateAddPassive
#
# Used by:
# Subsystems from group: Engineering Systems (16 of 16)
# Not used by any item
type = "passive"

View File

@@ -1,7 +1,4 @@
# scanResolutionAddPassive
#
# Used by:
# Subsystems from group: Electronic Systems (16 of 16)
# Not used by any item
type = "passive"

View File

@@ -1,7 +1,4 @@
# scanStrengthAddPassive
#
# Used by:
# Subsystems from group: Electronic Systems (16 of 16)
# Not used by any item
type = "passive"

View File

@@ -1,6 +1,7 @@
# shieldBoostAmplifierPassive
#
# Used by:
# Implants named like: Agency Tank Booster (3 of 3)
# Implants named like: grade Crystal (15 of 18)
type = "passive"

View File

@@ -1,7 +1,7 @@
# shieldCapacityAddPassive
#
# Used by:
# Subsystems from group: Defensive Systems (16 of 16)
# Subsystems from group: Defensive Systems (8 of 12)
type = "passive"

View File

@@ -1,7 +1,4 @@
# shieldRechargeRateAddPassive
#
# Used by:
# Subsystems from group: Defensive Systems (16 of 16)
# Not used by any item
type = "passive"

View File

@@ -1,3 +1,7 @@
# shipBonusForceAuxiliaryM2LocalRepairAmount
#
# Used by:
# Ship: Dagon
type = "passive"

View File

@@ -7,5 +7,5 @@ type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
ship.getModifiedItemAttr("shipBonusStrategicCruiserAmarr"),
ship.getModifiedItemAttr("shipBonusStrategicCruiserAmarr1"),
skill="Amarr Strategic Cruiser")

View File

@@ -0,0 +1,11 @@
# shipBonusStrategicCruiserAmarrNaniteRepairTime2
#
# Used by:
# Ship: Legion
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate",
ship.getModifiedItemAttr("shipBonusStrategicCruiserAmarr2"),
skill="Amarr Strategic Cruiser")

View File

@@ -7,5 +7,5 @@ type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
ship.getModifiedItemAttr("shipBonusStrategicCruiserCaldari"),
ship.getModifiedItemAttr("shipBonusStrategicCruiserCaldari1"),
skill="Caldari Strategic Cruiser")

View File

@@ -0,0 +1,11 @@
# shipBonusStrategicCruiserCaldariNaniteRepairTime2
#
# Used by:
# Ship: Tengu
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate",
ship.getModifiedItemAttr("shipBonusStrategicCruiserCaldari2"),
skill="Caldari Strategic Cruiser")

View File

@@ -7,5 +7,5 @@ type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
ship.getModifiedItemAttr("shipBonusStrategicCruiserGallente"),
ship.getModifiedItemAttr("shipBonusStrategicCruiserGallente1"),
skill="Gallente Strategic Cruiser")

View File

@@ -0,0 +1,11 @@
# shipBonusStrategicCruiserGallenteNaniteRepairTime2
#
# Used by:
# Ship: Proteus
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate",
ship.getModifiedItemAttr("shipBonusStrategicCruiserGallente2"),
skill="Gallente Strategic Cruiser")

View File

@@ -7,5 +7,5 @@ type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
ship.getModifiedItemAttr("shipBonusStrategicCruiserMinmatar"),
ship.getModifiedItemAttr("shipBonusStrategicCruiserMinmatar1"),
skill="Minmatar Strategic Cruiser")

View File

@@ -0,0 +1,11 @@
# shipBonusStrategicCruiserMinmatarNaniteRepairTime2
#
# Used by:
# Ship: Loki
type = "passive"
def handler(fit, ship, context):
fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate",
ship.getModifiedItemAttr("shipBonusStrategicCruiserMinmatar2"),
skill="Minmatar Strategic Cruiser")

View File

@@ -0,0 +1,11 @@
# shipMaxLockedTargetsBonusAddPassive
#
# Used by:
# Subsystems named like: Core Dissolution Sequencer (2 of 2)
# Subsystems named like: Core Electronic Efficiency Gate (2 of 2)
# Subsystems named like: Offensive Support Processor (4 of 4)
type = "passive"
def handler(fit, src, context):
fit.ship.increaseItemAttr("maxLockedTargets", src.getModifiedItemAttr("maxLockedTargetsBonus"))

View File

@@ -1,4 +1,4 @@
# moduleBonusAncillaryRemoteArmorRepairer
# shipModuleAncillaryRemoteArmorRepairer
#
# Used by:
# Modules from group: Ancillary Remote Armor Repairer (4 of 4)

View File

@@ -1,4 +1,4 @@
# moduleBonusAncillaryRemoteShieldBooster
# shipModuleAncillaryRemoteShieldBooster
#
# Used by:
# Modules from group: Ancillary Remote Shield Booster (4 of 4)

View File

@@ -1,4 +1,4 @@
# remoteArmorRepairFalloff
# shipModuleRemoteArmorRepairer
#
# Used by:
# Modules from group: Remote Armor Repairer (39 of 39)

View File

@@ -1,4 +1,4 @@
# remoteEnergyTransferFalloff
# shipModuleRemoteCapacitorTransmitter
#
# Used by:
# Modules from group: Remote Capacitor Transmitter (41 of 41)

View File

@@ -1,4 +1,4 @@
# remoteHullRepairFalloff
# shipModuleRemoteHullRepairer
#
# Used by:
# Modules from group: Remote Hull Repairer (8 of 8)

View File

@@ -1,4 +1,4 @@
# remoteShieldTransferFalloff
# shipModuleRemoteShieldBooster
#
# Used by:
# Modules from group: Remote Shield Booster (38 of 38)

View File

@@ -0,0 +1,10 @@
# signatureRadiusAddPassive
#
# Used by:
# Subsystems from group: Defensive Systems (8 of 12)
# Subsystems named like: Propulsion Interdiction Nullifier (4 of 4)
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadius"))

View File

@@ -1,7 +1,4 @@
# signatureRadiusPreAssignment
#
# Used by:
# Subsystems from group: Defensive Systems (16 of 16)
# Not used by any item
type = "passive"
runTime = "early"

View File

@@ -1,7 +1,7 @@
# slotModifier
#
# Used by:
# Items from category: Subsystem (80 of 80)
# Items from category: Subsystem (48 of 48)
type = "passive"

View File

@@ -1,6 +1,7 @@
# structuralAnalysisEffect
#
# Used by:
# Implants named like: Agency Tank Booster (3 of 3)
# Implants named like: Inherent Implants 'Noble' Repair Proficiency RP (6 of 6)
# Modules named like: Auxiliary Nano Pump (8 of 8)
# Implant: Imperial Navy Modified 'Noble' Implant

View File

@@ -0,0 +1,10 @@
# structureHPBonusAddPassive
#
# Used by:
# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
# Subsystem: Loki Defensive - Adaptive Defense Node
type = "passive"
def handler(fit, module, context):
fit.ship.increaseItemAttr("hp", module.getModifiedItemAttr("structureHPBonusAdd") or 0)

View File

@@ -0,0 +1,10 @@
# subsystemBonusAmarrCore2EnergyDestabilizerAmount
#
# Used by:
# Subsystem: Legion Core - Energy Parasitic Complex
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Neutralizer", "energyNeutralizerAmount",
src.getModifiedItemAttr("subsystemBonusAmarrCore2"), skill="Amarr Core Systems")

View File

@@ -0,0 +1,9 @@
# subsystemBonusAmarrCore2EnergyResistance
#
# Used by:
# Subsystem: Legion Core - Augmented Antimatter Reactor
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("energyWarfareResistance", src.getModifiedItemAttr("subsystemBonusAmarrCore2"), skill="Amarr Core Systems")

View File

@@ -0,0 +1,10 @@
# subsystemBonusAmarrCore2EnergyVampireAmount
#
# Used by:
# Subsystem: Legion Core - Energy Parasitic Complex
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Nosferatu", "powerTransferAmount",
src.getModifiedItemAttr("subsystemBonusAmarrCore2"), skill="Amarr Core Systems")

View File

@@ -0,0 +1,10 @@
# subsystemBonusAmarrCore2MaxTargetingRange
#
# Used by:
# Subsystem: Legion Core - Dissolution Sequencer
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("maxTargetRange", src.getModifiedItemAttr("subsystemBonusAmarrCore2"),
skill="Amarr Core Systems")

View File

@@ -0,0 +1,10 @@
# subsystemBonusAmarrCore3EnergyWarHeatBonus
#
# Used by:
# Subsystem: Legion Core - Energy Parasitic Complex
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in ("Energy Nosferatu", "Energy Neutralizer"), "overloadSelfDurationBonus",
src.getModifiedItemAttr("subsystemBonusAmarrCore3"), skill="Amarr Core Systems")

View File

@@ -0,0 +1,10 @@
# subsystemBonusAmarrCore3ScanResolution
#
# Used by:
# Subsystem: Legion Core - Dissolution Sequencer
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("scanResolution", src.getModifiedItemAttr("subsystemBonusAmarrCore3"),
skill="Amarr Core Systems")

View File

@@ -0,0 +1,9 @@
# subsystemBonusAmarrCoreCapacitorCapacity
#
# Used by:
# Subsystem: Legion Core - Augmented Antimatter Reactor
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("capacitorCapacity", src.getModifiedItemAttr("subsystemBonusAmarrCore"), skill="Amarr Core Systems")

View File

@@ -0,0 +1,10 @@
# subsystemBonusAmarrCoreScanStrengthRADAR
#
# Used by:
# Subsystem: Legion Core - Dissolution Sequencer
type = "passive"
def handler(fit, src, context):
fit.ship.boostItemAttr("scanRadarStrength", src.getModifiedItemAttr("subsystemBonusAmarrCore"),
skill="Amarr Core Systems")

View File

@@ -0,0 +1,12 @@
# subsystemBonusAmarrDefensive2ArmorRepHeat
#
# Used by:
# Subsystem: Legion Defensive - Nanobot Injector
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "overloadArmorDamageAmount",
src.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), skill="Amarr Defensive Systems")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "overloadSelfDurationBonus",
src.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), skill="Amarr Defensive Systems")

View File

@@ -0,0 +1,12 @@
# subsystemBonusAmarrDefensive2HardenerHeat
#
# Used by:
# Subsystem: Legion Defensive - Augmented Plating
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "overloadSelfDurationBonus",
src.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), skill="Amarr Defensive Systems")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Hull Upgrades"), "overloadHardeningBonus",
src.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), skill="Amarr Defensive Systems")

View File

@@ -1,7 +1,4 @@
# subsystemBonusAmarrDefensive2RemoteArmorRepairAmount
#
# Used by:
# Subsystem: Legion Defensive - Adaptive Augmenter
# Not used by any item
type = "passive"
runTime = "early"

View File

@@ -0,0 +1,15 @@
# subsystemBonusAmarrDefensive3ArmorRepHeat
#
# Used by:
# Subsystem: Legion Defensive - Covert Reconfiguration
# Subsystem: Legion Defensive - Nanobot Injector
type = "passive"
def handler(fit, src, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
"overloadSelfDurationBonus", src.getModifiedItemAttr("subsystemBonusAmarrDefensive3"),
skill="Amarr Defensive Systems")
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
"overloadArmorDamageAmount", src.getModifiedItemAttr("subsystemBonusAmarrDefensive3"),
skill="Amarr Defensive Systems")

View File

@@ -1,7 +1,4 @@
# subSystemBonusAmarrDefensiveArmoredWarfare
#
# Used by:
# Subsystem: Legion Defensive - Warfare Processor
# Not used by any item
type = "passive"

View File

@@ -1,6 +1,7 @@
# subsystemBonusAmarrDefensiveArmorRepairAmount
#
# Used by:
# Subsystem: Legion Defensive - Covert Reconfiguration
# Subsystem: Legion Defensive - Nanobot Injector
type = "passive"

View File

@@ -1,7 +1,4 @@
# subsystemBonusAmarrDefensiveArmorResistance
#
# Used by:
# Subsystem: Legion Defensive - Adaptive Augmenter
# Not used by any item
type = "passive"

View File

@@ -1,7 +1,4 @@
# subSystemBonusAmarrDefensiveInformationWarfare
#
# Used by:
# Subsystem: Legion Defensive - Warfare Processor
# Not used by any item
type = "passive"

View File

@@ -0,0 +1,11 @@
# subSystemBonusAmarrDefensiveScanProbeStrength2
#
# Used by:
# Subsystem: Legion Defensive - Covert Reconfiguration
type = "passive"
def handler(fit, module, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"),
"baseSensorStrength", module.getModifiedItemAttr("subsystemBonusAmarrDefensive2"),
skill="Amarr Defensive Systems")

View File

@@ -1,7 +1,4 @@
# subSystemBonusAmarrDefensiveSkirmishWarfare
#
# Used by:
# Subsystem: Legion Defensive - Warfare Processor
# Not used by any item
type = "passive"

View File

@@ -0,0 +1,15 @@
# subSystemBonusAmarrDefensiveTractorBeamBonus3
#
# Used by:
# Subsystem: Legion Defensive - Covert Reconfiguration
type = "passive"
def handler(fit, module, context):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam",
"maxRange", module.getModifiedItemAttr("subsystemBonusAmarrDefensive3"),
skill="Amarr Defensive Systems")
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tractor Beam",
"maxTractorVelocity", module.getModifiedItemAttr("subsystemBonusAmarrDefensive3"),
skill="Amarr Defensive Systems")

View File

@@ -1,7 +1,4 @@
# subsystemBonusAmarrElectronic2MaxTargetingRange
#
# Used by:
# Subsystem: Legion Electronics - Dissolution Sequencer
# Not used by any item
type = "passive"

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