diff --git a/eos/db/gamedata/item.py b/eos/db/gamedata/item.py index ad6882435..1760f9157 100644 --- a/eos/db/gamedata/item.py +++ b/eos/db/gamedata/item.py @@ -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, diff --git a/eos/effects/armorhpbonusaddpassive.py b/eos/effects/armorhpbonusaddpassive.py index 0cce8f46a..5007c41b1 100644 --- a/eos/effects/armorhpbonusaddpassive.py +++ b/eos/effects/armorhpbonusaddpassive.py @@ -6,4 +6,4 @@ type = "passive" def handler(fit, module, context): - fit.ship.increaseItemAttr("armorHP", module.getModifiedItemAttr("armorHPBonusAdd")) + fit.ship.increaseItemAttr("armorHP", module.getModifiedItemAttr("armorHPBonusAdd") or 0) diff --git a/eos/effects/capacitorcapacityaddpassive.py b/eos/effects/capacitorcapacityaddpassive.py index 6f19332e7..8a60c88b3 100644 --- a/eos/effects/capacitorcapacityaddpassive.py +++ b/eos/effects/capacitorcapacityaddpassive.py @@ -7,5 +7,4 @@ type = "passive" def handler(fit, module, context): - fit.ship.increaseItemAttr("capacitorCapacity", - module.getModifiedItemAttr("capacitorCapacity")) + fit.ship.increaseItemAttr("capacitorCapacity", module.getModifiedItemAttr("capacitorCapacity") or 0) diff --git a/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py b/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py index c52784fa9..2f2378405 100644 --- a/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py +++ b/eos/effects/probelaunchercpupercentbonustacticaldestroyer.py @@ -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")) diff --git a/eos/effects/probelaunchercpupercentrolebonust3.py b/eos/effects/probelaunchercpupercentrolebonust3.py new file mode 100644 index 000000000..cfaa3213c --- /dev/null +++ b/eos/effects/probelaunchercpupercentrolebonust3.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"), "cpu", src.getModifiedItemAttr("roleBonusT3ProbeCPU")) diff --git a/eos/effects/shipbonusstrategiccruiseramarrheatdamage.py b/eos/effects/shipbonusstrategiccruiseramarrheatdamage.py index c693def96..b390e901e 100644 --- a/eos/effects/shipbonusstrategiccruiseramarrheatdamage.py +++ b/eos/effects/shipbonusstrategiccruiseramarrheatdamage.py @@ -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") diff --git a/eos/effects/shipbonusstrategiccruiseramarrnaniterepairtime2.py b/eos/effects/shipbonusstrategiccruiseramarrnaniterepairtime2.py new file mode 100644 index 000000000..969cb36c2 --- /dev/null +++ b/eos/effects/shipbonusstrategiccruiseramarrnaniterepairtime2.py @@ -0,0 +1,8 @@ +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate", + ship.getModifiedItemAttr("shipBonusStrategicCruiserAmarr2"), + skill="Amarr Strategic Cruiser") + diff --git a/eos/effects/shipbonusstrategiccruisercaldariheatdamage.py b/eos/effects/shipbonusstrategiccruisercaldariheatdamage.py index 23e346ffe..8edf19db3 100644 --- a/eos/effects/shipbonusstrategiccruisercaldariheatdamage.py +++ b/eos/effects/shipbonusstrategiccruisercaldariheatdamage.py @@ -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") diff --git a/eos/effects/shipbonusstrategiccruisercaldarinaniterepairtime2.py b/eos/effects/shipbonusstrategiccruisercaldarinaniterepairtime2.py new file mode 100644 index 000000000..ad4b96c32 --- /dev/null +++ b/eos/effects/shipbonusstrategiccruisercaldarinaniterepairtime2.py @@ -0,0 +1,8 @@ +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate", + ship.getModifiedItemAttr("shipBonusStrategicCruiserCaldari2"), + skill="Caldari Strategic Cruiser") + diff --git a/eos/effects/shipbonusstrategiccruisergallenteheatdamage.py b/eos/effects/shipbonusstrategiccruisergallenteheatdamage.py index 8e0be35d8..dc7f7bd80 100644 --- a/eos/effects/shipbonusstrategiccruisergallenteheatdamage.py +++ b/eos/effects/shipbonusstrategiccruisergallenteheatdamage.py @@ -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") diff --git a/eos/effects/shipbonusstrategiccruisergallentenaniterepairtime2.py b/eos/effects/shipbonusstrategiccruisergallentenaniterepairtime2.py new file mode 100644 index 000000000..efd5849c4 --- /dev/null +++ b/eos/effects/shipbonusstrategiccruisergallentenaniterepairtime2.py @@ -0,0 +1,8 @@ +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate", + ship.getModifiedItemAttr("shipBonusStrategicCruiserGallente2"), + skill="Gallente Strategic Cruiser") + diff --git a/eos/effects/shipbonusstrategiccruiserminmatarheatdamage.py b/eos/effects/shipbonusstrategiccruiserminmatarheatdamage.py index 800b5aa2a..f97b203cc 100644 --- a/eos/effects/shipbonusstrategiccruiserminmatarheatdamage.py +++ b/eos/effects/shipbonusstrategiccruiserminmatarheatdamage.py @@ -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") diff --git a/eos/effects/shipbonusstrategiccruiserminmatarnaniterepairtime2.py b/eos/effects/shipbonusstrategiccruiserminmatarnaniterepairtime2.py new file mode 100644 index 000000000..d1a2af8c5 --- /dev/null +++ b/eos/effects/shipbonusstrategiccruiserminmatarnaniterepairtime2.py @@ -0,0 +1,8 @@ +type = "passive" + + +def handler(fit, ship, context): + fit.modules.filteredItemBoost(lambda mod: True, "moduleRepairRate", + ship.getModifiedItemAttr("shipBonusStrategicCruiserMinmatar2"), + skill="Minmatar Strategic Cruiser") + diff --git a/eos/effects/signatureradiusaddpassive.py b/eos/effects/signatureradiusaddpassive.py new file mode 100644 index 000000000..04b4ab662 --- /dev/null +++ b/eos/effects/signatureradiusaddpassive.py @@ -0,0 +1,5 @@ +type = "passive" + + +def handler(fit, module, context): + fit.ship.increaseItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadius")) diff --git a/eos/effects/structurehpbonusaddpassive.py b/eos/effects/structurehpbonusaddpassive.py new file mode 100644 index 000000000..a3de8503a --- /dev/null +++ b/eos/effects/structurehpbonusaddpassive.py @@ -0,0 +1,5 @@ +type = "passive" + + +def handler(fit, module, context): + fit.ship.increaseItemAttr("hp", module.getModifiedItemAttr("structureHPBonusAdd") or 0) diff --git a/eos/effects/subsystembonusamarrdefensivescanprobestrength2.py b/eos/effects/subsystembonusamarrdefensivescanprobestrength2.py new file mode 100644 index 000000000..65811e0a5 --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensivescanprobestrength2.py @@ -0,0 +1,7 @@ +type = "passive" + + +def handler(fit, module, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"), + "baseSensorStrength", module.getModifiedItemAttr("subsystemBonusAmarrDefensive2"), + skill="Amarr Defensive Systems") diff --git a/eos/effects/subsystembonusamarrdefensivetractorbeambonus3.py b/eos/effects/subsystembonusamarrdefensivetractorbeambonus3.py new file mode 100644 index 000000000..410256ca1 --- /dev/null +++ b/eos/effects/subsystembonusamarrdefensivetractorbeambonus3.py @@ -0,0 +1,11 @@ +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") diff --git a/eos/effects/subsystembonusamarroffensive2missiledamage.py b/eos/effects/subsystembonusamarroffensive2missiledamage.py new file mode 100644 index 000000000..46841d82e --- /dev/null +++ b/eos/effects/subsystembonusamarroffensive2missiledamage.py @@ -0,0 +1,7 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"), "explosiveDamage", src.getModifiedItemAttr("subsystemBonusAmarrOffensive2") * lvl, skill="Amarr Offensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"), "kineticDamage", src.getModifiedItemAttr("subsystemBonusAmarrOffensive2") * lvl, skill="Amarr Offensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"), "emDamage", src.getModifiedItemAttr("subsystemBonusAmarrOffensive2") * lvl, skill="Amarr Offensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"), "thermalDamage", src.getModifiedItemAttr("subsystemBonusAmarrOffensive2") * lvl, skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensive3dronedamagehp.py b/eos/effects/subsystembonusamarroffensive3dronedamagehp.py new file mode 100644 index 000000000..80b855d5c --- /dev/null +++ b/eos/effects/subsystembonusamarroffensive3dronedamagehp.py @@ -0,0 +1,7 @@ +type = "passive" +def handler(fit, src, context): + lvl = src.level + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp", src.getModifiedItemAttr("subsystemBonusAmarrOffensive3") * lvl, skill="Amarr Offensive Systems") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP", src.getModifiedItemAttr("subsystemBonusAmarrOffensive3") * lvl, skill="Amarr Offensive Systems") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity", src.getModifiedItemAttr("subsystemBonusAmarrOffensive3") * lvl, skill="Amarr Offensive Systems") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier", src.getModifiedItemAttr("subsystemBonusAmarrOffensive3") * lvl, skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonusamarroffensivemissilelauncherrof.py b/eos/effects/subsystembonusamarroffensivemissilelauncherrof.py new file mode 100644 index 000000000..a2707453d --- /dev/null +++ b/eos/effects/subsystembonusamarroffensivemissilelauncherrof.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + groups = ("Missile Launcher Heavy", "Missile Launcher Rapid Light", "Missile Launcher Heavy Assault") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, "speed", src.getModifiedItemAttr("subsystemBonusAmarrOffensive"), skill="Amarr Offensive Systems") diff --git a/eos/effects/subsystembonuscaldarioffensive1launcherrof.py b/eos/effects/subsystembonuscaldarioffensive1launcherrof.py new file mode 100644 index 000000000..063607962 --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensive1launcherrof.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + groups = ("Missile Launcher Heavy", "Missile Launcher Rapid Light", "Missile Launcher Heavy Assault") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, "speed", src.getModifiedItemAttr("subsystemBonusCaldariOffensive"), skill="Caldari Offensive Systems") \ No newline at end of file diff --git a/eos/effects/subsystembonuscaldarioffensive3hmlhamvelocity.py b/eos/effects/subsystembonuscaldarioffensive3hmlhamvelocity.py new file mode 100644 index 000000000..67eb97c4c --- /dev/null +++ b/eos/effects/subsystembonuscaldarioffensive3hmlhamvelocity.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles") or mod.charge.requiresSkill("Heavy Assault Missiles"), "maxVelocity", src.getModifiedItemAttr("subsystemBonusCaldariOffensive3"), skill="Caldari Offensive Systems") diff --git a/eos/effects/subsystembonusgallenteoffensive2dronevelotracking.py b/eos/effects/subsystembonusgallenteoffensive2dronevelotracking.py new file mode 100644 index 000000000..22ca75ccb --- /dev/null +++ b/eos/effects/subsystembonusgallenteoffensive2dronevelotracking.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "maxVelocity", src.getModifiedItemAttr("subsystemBonusGallenteOffensive2"), skill="Gallente Offensive Systems") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "trackingSpeed", src.getModifiedItemAttr("subsystemBonusGallenteOffensive2"), skill="Gallente Offensive Systems") diff --git a/eos/effects/subsystembonusgallenteoffensivedronedamagehp.py b/eos/effects/subsystembonusgallenteoffensivedronedamagehp.py new file mode 100644 index 000000000..efe96d621 --- /dev/null +++ b/eos/effects/subsystembonusgallenteoffensivedronedamagehp.py @@ -0,0 +1,6 @@ +type = "passive" +def handler(fit, src, context): + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "armorHP", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "hp", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "damageMultiplier", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems") + fit.drones.filteredItemBoost(lambda mod: mod.item.requiresSkill("Drones"), "shieldCapacity", src.getModifiedItemAttr("subsystemBonusGallenteOffensive"), skill="Gallente Offensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensiveshieldarmorhp.py b/eos/effects/subsystembonusminmatardefensiveshieldarmorhp.py new file mode 100644 index 000000000..a54c1f1cc --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensiveshieldarmorhp.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.ship.boostItemAttr("shieldCapacity", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), skill="Minmatar Defensive Systems") + fit.ship.boostItemAttr("armorHP", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmatardefensiveshieldarmorrepairamount.py b/eos/effects/subsystembonusminmatardefensiveshieldarmorrepairamount.py new file mode 100644 index 000000000..06da1a5a7 --- /dev/null +++ b/eos/effects/subsystembonusminmatardefensiveshieldarmorrepairamount.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"), "armorDamageAmount", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), skill="Minmatar Defensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"), "shieldBonus", src.getModifiedItemAttr("subsystemBonusMinmatarDefensive"), skill="Minmatar Defensive Systems") diff --git a/eos/effects/subsystembonusminmataroffensive1hmlhamvelo.py b/eos/effects/subsystembonusminmataroffensive1hmlhamvelo.py new file mode 100644 index 000000000..16ee3db19 --- /dev/null +++ b/eos/effects/subsystembonusminmataroffensive1hmlhamvelo.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Heavy Missiles"), "maxVelocity", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems") + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Heavy Assault Missiles"), "maxVelocity", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive"), skill="Minmatar Offensive Systems") diff --git a/eos/effects/subsystembonusminmataroffensive2missilelauncherrof.py b/eos/effects/subsystembonusminmataroffensive2missilelauncherrof.py new file mode 100644 index 000000000..fcd8e1680 --- /dev/null +++ b/eos/effects/subsystembonusminmataroffensive2missilelauncherrof.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, src, context): + groups = ("Missile Launcher Heavy", "Missile Launcher Rapid Light", "Missile Launcher Heavy Assault") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, "speed", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive2"), stackingPenalties=True, skill="Minmatar Offensive Systems") + diff --git a/eos/effects/subsystembonusminmataroffensive3missileexpvelo.py b/eos/effects/subsystembonusminmataroffensive3missileexpvelo.py new file mode 100644 index 000000000..92bbf2715 --- /dev/null +++ b/eos/effects/subsystembonusminmataroffensive3missileexpvelo.py @@ -0,0 +1,3 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"), "aoeVelocity", src.getModifiedItemAttr("subsystemBonusMinmatarOffensive3"), skill="Minmatar Offensive Systems") diff --git a/eos/effects/subsystemmetfittingreduction.py b/eos/effects/subsystemmetfittingreduction.py new file mode 100644 index 000000000..4ef23b13b --- /dev/null +++ b/eos/effects/subsystemmetfittingreduction.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"), "cpu", src.getModifiedItemAttr("subsystemMETFittingReduction")) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"), "power", src.getModifiedItemAttr("subsystemMETFittingReduction")) diff --git a/eos/effects/subsystemmhtfittingreduction.py b/eos/effects/subsystemmhtfittingreduction.py new file mode 100644 index 000000000..06a8e6f33 --- /dev/null +++ b/eos/effects/subsystemmhtfittingreduction.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"), "cpu", src.getModifiedItemAttr("subsystemMHTFittingReduction")) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"), "power", src.getModifiedItemAttr("subsystemMHTFittingReduction")) diff --git a/eos/effects/subsystemmmissilefittingreduction.py b/eos/effects/subsystemmmissilefittingreduction.py new file mode 100644 index 000000000..fd5a1de23 --- /dev/null +++ b/eos/effects/subsystemmmissilefittingreduction.py @@ -0,0 +1,5 @@ +type = "passive" +def handler(fit, src, context): + groups = ("Missile Launcher Heavy", "Missile Launcher Rapid Light", "Missile Launcher Heavy Assault") + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, "cpu", src.getModifiedItemAttr("subsystemMMissileFittingReduction")) + fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, "power", src.getModifiedItemAttr("subsystemMMissileFittingReduction")) diff --git a/eos/effects/subsystemmptfittingreduction.py b/eos/effects/subsystemmptfittingreduction.py new file mode 100644 index 000000000..854f65a83 --- /dev/null +++ b/eos/effects/subsystemmptfittingreduction.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"), "power", src.getModifiedItemAttr("subsystemMPTFittingReduction")) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"), "cpu", src.getModifiedItemAttr("subsystemMPTFittingReduction")) diff --git a/eos/effects/subsystemmrarfittingreduction.py b/eos/effects/subsystemmrarfittingreduction.py new file mode 100644 index 000000000..1191fefbe --- /dev/null +++ b/eos/effects/subsystemmrarfittingreduction.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "cpu", src.getModifiedItemAttr("subsystemMRARFittingReduction")) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"), "power", src.getModifiedItemAttr("subsystemMRARFittingReduction")) diff --git a/eos/effects/subsystemmrsbfittingreduction.py b/eos/effects/subsystemmrsbfittingreduction.py new file mode 100644 index 000000000..b6c3263c4 --- /dev/null +++ b/eos/effects/subsystemmrsbfittingreduction.py @@ -0,0 +1,4 @@ +type = "passive" +def handler(fit, src, context): + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "cpu", src.getModifiedItemAttr("subsystemMRSBFittingReduction")) + fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Emission Systems"), "power", src.getModifiedItemAttr("subsystemMRSBFittingReduction")) diff --git a/eve.db b/eve.db index a3a1f1d59..e08cc7f7f 100644 Binary files a/eve.db and b/eve.db differ