Merge branch 'master' into test-3
Conflicts: eos/gamedata.py eos/saveddata/booster.py eos/saveddata/character.py gui/builtinAdditionPanes/commandView.py gui/builtinContextMenus/commandFits.py gui/builtinMarketBrowser/itemView.py gui/builtinMarketBrowser/marketTree.py gui/builtinPreferenceViews/pyfaGeneralPreferences.py gui/builtinShipBrowser/categoryItem.py gui/builtinShipBrowser/fitItem.py gui/builtinShipBrowser/navigationPanel.py gui/builtinShipBrowser/raceSelector.py gui/builtinShipBrowser/shipItem.py gui/builtinStatsViews/priceViewFull.py gui/builtinViews/fittingView.py gui/characterEditor.py gui/characterSelection.py gui/chromeTabs.py gui/crestFittings.py gui/itemStats.py gui/mainFrame.py scripts/itemDiff.py service/price.py
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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")
|
||||
|
||||
4246
eos/db/migrations/upgrade25.py
Normal file
4246
eos/db/migrations/upgrade25.py
Normal file
File diff suppressed because it is too large
Load Diff
9
eos/db/migrations/upgrade26.py
Normal file
9
eos/db/migrations/upgrade26.py
Normal 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)")
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -25,8 +25,10 @@ from eos.saveddata.price import Price
|
||||
|
||||
prices_table = Table("prices", saveddata_meta,
|
||||
Column("typeID", Integer, primary_key=True),
|
||||
Column("price", Float),
|
||||
Column("price", Float, default=0.0),
|
||||
Column("time", Integer, nullable=False),
|
||||
Column("failed", Integer))
|
||||
|
||||
mapper(Price, prices_table)
|
||||
mapper(Price, prices_table, properties={
|
||||
"_Price__price": prices_table.c.price,
|
||||
})
|
||||
|
||||
9
eos/effects/agilitybonus.py
Normal file
9
eos/effects/agilitybonus.py
Normal 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"))
|
||||
@@ -1,9 +1,7 @@
|
||||
# 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 (478 of 924)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# ammoInfluenceRange
|
||||
#
|
||||
# Used by:
|
||||
# Items from category: Charge (571 of 913)
|
||||
# Items from category: Charge (572 of 924)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
# Used by:
|
||||
# Charges from group: Festival Charges (22 of 22)
|
||||
# Charges from group: Interdiction Probe (2 of 2)
|
||||
# Charges from group: Survey Probe (3 of 3)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
# boosterArmorHpPenalty
|
||||
#
|
||||
# Used by:
|
||||
# Implants from group: Booster (12 of 48)
|
||||
# Implants from group: Booster (12 of 52)
|
||||
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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
# boosterMaxVelocityPenalty
|
||||
#
|
||||
# Used by:
|
||||
# Implants from group: Booster (12 of 48)
|
||||
# Implants from group: Booster (12 of 52)
|
||||
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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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", booster.getModifiedItemAttr(attr))
|
||||
|
||||
14
eos/effects/boostershieldboostamountpenaltyshieldskills.py
Normal file
14
eos/effects/boostershieldboostamountpenaltyshieldskills.py
Normal file
@@ -0,0 +1,14 @@
|
||||
type = "boosterSideEffect"
|
||||
|
||||
# User-friendly name for the side effect
|
||||
displayName = "Shield Boost"
|
||||
|
||||
# Attribute that this effect targets
|
||||
attr = "boosterShieldBoostAmountPenalty"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Shield Operation"), "shieldBonus",
|
||||
src.getModifiedItemAttr("boosterShieldBoostAmountPenalty"))
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Operation"), "shieldBonus",
|
||||
src.getModifiedItemAttr("boosterShieldBoostAmountPenalty"))
|
||||
@@ -1,10 +1,15 @@
|
||||
# boosterShieldCapacityPenalty
|
||||
#
|
||||
# Used by:
|
||||
# Implants from group: Booster (12 of 48)
|
||||
# Implants from group: Booster (12 of 52)
|
||||
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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
# 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"
|
||||
|
||||
|
||||
def handler(fit, subsystem, context):
|
||||
fit.ship.increaseItemAttr("capacity", subsystem.getModifiedItemAttr("capacity") or 0)
|
||||
fit.ship.increaseItemAttr("capacity", subsystem.getModifiedItemAttr("cargoCapacityAdd") or 0)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -4,10 +4,10 @@
|
||||
# Ships from group: Carrier (4 of 4)
|
||||
# Ships from group: Combat Battlecruiser (13 of 13)
|
||||
# Ships from group: Command Ship (8 of 8)
|
||||
# Ships from group: Force Auxiliary (5 of 5)
|
||||
# Ships from group: Force Auxiliary (6 of 6)
|
||||
# Ships from group: Supercarrier (6 of 6)
|
||||
# Ships from group: Titan (6 of 6)
|
||||
# Subsystems named like: Defensive Warfare Processor (4 of 4)
|
||||
# Ships from group: Titan (7 of 7)
|
||||
# Subsystems named like: Offensive Support Processor (4 of 4)
|
||||
# Ship: Orca
|
||||
# Ship: Rorqual
|
||||
type = "passive"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Enforcer
|
||||
# Ship: Marshal
|
||||
# Ship: Pacifier
|
||||
type = "passive"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# covertOpsAndReconOpsCloakModuleDelayBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Black Ops (4 of 4)
|
||||
# Ships from group: Black Ops (5 of 5)
|
||||
# Ships from group: Blockade Runner (4 of 4)
|
||||
# Ships from group: Covert Ops (7 of 7)
|
||||
# Ships from group: Expedition Frigate (2 of 2)
|
||||
# Ships from group: Force Recon Ship (7 of 7)
|
||||
# Ships from group: Stealth Bomber (4 of 4)
|
||||
# Ships from group: Force Recon Ship (7 of 8)
|
||||
# Ships from group: Stealth Bomber (4 of 5)
|
||||
# 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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# covertOpsCpuBonus1
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Stealth Bomber (4 of 4)
|
||||
# Subsystems named like: Offensive Covert Reconfiguration (4 of 4)
|
||||
# Ships from group: Stealth Bomber (4 of 5)
|
||||
# Subsystems named like: Defensive Covert Reconfiguration (4 of 4)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# covertOpsStealthBomberSiegeMissileLauncerPowerNeedBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Stealth Bomber (4 of 4)
|
||||
# Ships from group: Stealth Bomber (4 of 5)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# covertOpsStealthBomberTargettingDelayBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Black Ops (4 of 4)
|
||||
# Ships from group: Stealth Bomber (4 of 4)
|
||||
# Ships from group: Black Ops (5 of 5)
|
||||
# Ships from group: Stealth Bomber (4 of 5)
|
||||
# Ship: Caedes
|
||||
# Ship: Chremoas
|
||||
# Ship: Endurance
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# cpuOutputAddCpuOutputPassive
|
||||
#
|
||||
# Used by:
|
||||
# Items from category: Subsystem (40 of 80)
|
||||
# Subsystems from group: Offensive Systems (8 of 12)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# cynosuralDurationBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Force Recon Ship (6 of 7)
|
||||
# Ships from group: Force Recon Ship (6 of 8)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# cynosuralTheoryConsumptionBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Force Recon Ship (6 of 7)
|
||||
# Ships from group: Force Recon Ship (6 of 8)
|
||||
# Skill: Cynosural Field Theory
|
||||
type = "passive"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# doHacking
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Data Miners (15 of 16)
|
||||
# Modules from group: Data Miners (17 of 18)
|
||||
type = "active"
|
||||
|
||||
|
||||
|
||||
18
eos/effects/doomsdayaoeecm.py
Normal file
18
eos/effects/doomsdayaoeecm.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# doomsdayAOEECM
|
||||
#
|
||||
# Used by:
|
||||
# Module: ECM Jammer Burst Projector
|
||||
from eos.modifiedAttributeDict import ModifiedAttributeDict
|
||||
|
||||
type = "projected", "active"
|
||||
|
||||
|
||||
def handler(fit, module, context, **kwargs):
|
||||
if "projected" in context:
|
||||
# jam formula: 1 - (1- (jammer str/ship str))^(# of jam mods with same str))
|
||||
strModifier = 1 - module.getModifiedItemAttr("scan{0}StrengthBonus".format(fit.scanType)) / fit.scanStrength
|
||||
|
||||
if 'effect' in kwargs:
|
||||
strModifier *= ModifiedAttributeDict.getResistance(fit, kwargs['effect'])
|
||||
|
||||
fit.ecmProjectedStr *= strModifier
|
||||
@@ -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"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# droneCapacityAdddroneCapacityPassive
|
||||
#
|
||||
# Used by:
|
||||
# Items from category: Subsystem (42 of 80)
|
||||
# Subsystems from group: Offensive Systems (12 of 12)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# eliteBonusBlackOpsCloakVelocity2
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Black Ops (4 of 4)
|
||||
# Ships from group: Black Ops (5 of 5)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
10
eos/effects/elitebonusblackopsscramblerrange4.py
Normal file
10
eos/effects/elitebonusblackopsscramblerrange4.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# eliteBonusBlackOpsScramblerRange4
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Marshal
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler", "maxRange",
|
||||
src.getModifiedItemAttr("eliteBonusBlackOps4"), stackingPenalties=True, skill="Black Ops")
|
||||
9
eos/effects/elitebonusblackopswarpvelocity1.py
Normal file
9
eos/effects/elitebonusblackopswarpvelocity1.py
Normal file
@@ -0,0 +1,9 @@
|
||||
# eliteBonusBlackOpsWarpVelocity1
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Marshal
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.ship.boostItemAttr("warpSpeedMultiplier", src.getModifiedItemAttr("eliteBonusBlackOps1"), stackingPenalties=True, skill="Black Ops")
|
||||
10
eos/effects/elitebonusblackopswebrange3.py
Normal file
10
eos/effects/elitebonusblackopswebrange3.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# eliteBonusBlackOpsWebRange3
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Marshal
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web", "maxRange",
|
||||
src.getModifiedItemAttr("eliteBonusBlackOps3"), stackingPenalties=True, skill="Black Ops")
|
||||
@@ -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"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# entosisDurationMultiply
|
||||
#
|
||||
# Used by:
|
||||
# Items from market group: Ships > Capital Ships (28 of 37)
|
||||
# Items from market group: Ships > Capital Ships (31 of 40)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# massAddPassive
|
||||
#
|
||||
# Used by:
|
||||
# Items from category: Subsystem (80 of 80)
|
||||
# Not used by any item
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# maxVelocityAddPassive
|
||||
#
|
||||
# Used by:
|
||||
# Subsystems from group: Propulsion Systems (16 of 16)
|
||||
# Not used by any item
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
13
eos/effects/mediumremoterepfittingadjustment.py
Normal file
13
eos/effects/mediumremoterepfittingadjustment.py
Normal 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"))
|
||||
@@ -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
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# miningInfoMultiplier
|
||||
#
|
||||
# Used by:
|
||||
# Charges from group: Mining Crystal (30 of 30)
|
||||
# Charges named like: Mining Crystal (32 of 32)
|
||||
# Charges from group: Mining Crystal (40 of 40)
|
||||
# Charges named like: Mining Crystal (42 of 42)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# missileDMGBonus
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Ballistic Control system (17 of 17)
|
||||
# Modules from group: Ballistic Control system (18 of 18)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# missileLauncherSpeedMultiplier
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Ballistic Control system (17 of 17)
|
||||
# Modules from group: Ballistic Control system (18 of 18)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# missileSkillFoFAoeCloudSizeBonus
|
||||
#
|
||||
# Used by:
|
||||
# Implants named like: Zainou 'Snapshot' FOF Explosion Radius FR (6 of 6)
|
||||
# Implants named like: Zainou 'Snapshot' Auto Targeting Explosion Radius FR (6 of 6)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
# missileSkillWarheadUpgradesEmDamageBonus
|
||||
#
|
||||
# Used by:
|
||||
# Implants named like: Agency Damage Booster (3 of 3)
|
||||
# Skill: Warhead Upgrades
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, skill, context):
|
||||
def handler(fit, src, context):
|
||||
mod = src.level if "skill" in context else 1
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||
"emDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
|
||||
"emDamage", src.getModifiedItemAttr("damageMultiplierBonus") * mod)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
# missileSkillWarheadUpgradesExplosiveDamageBonus
|
||||
#
|
||||
# Used by:
|
||||
# Implants named like: Agency Damage Booster (3 of 3)
|
||||
# Skill: Warhead Upgrades
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, skill, context):
|
||||
def handler(fit, src, context):
|
||||
mod = src.level if "skill" in context else 1
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||
"explosiveDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
|
||||
"explosiveDamage", src.getModifiedItemAttr("damageMultiplierBonus") * mod)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
# missileSkillWarheadUpgradesKineticDamageBonus
|
||||
#
|
||||
# Used by:
|
||||
# Implants named like: Agency Damage Booster (3 of 3)
|
||||
# Skill: Warhead Upgrades
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, skill, context):
|
||||
def handler(fit, src, context):
|
||||
mod = src.level if "skill" in context else 1
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||
"kineticDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
|
||||
"kineticDamage", src.getModifiedItemAttr("damageMultiplierBonus") * mod)
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
# missileSkillWarheadUpgradesThermalDamageBonus
|
||||
#
|
||||
# Used by:
|
||||
# Implants named like: Agency Damage Booster (3 of 3)
|
||||
# Skill: Warhead Upgrades
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, skill, context):
|
||||
def handler(fit, src, context):
|
||||
mod = src.level if "skill" in context else 1
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||
"thermalDamage", skill.getModifiedItemAttr("damageMultiplierBonus") * skill.level)
|
||||
"thermalDamage", src.getModifiedItemAttr("damageMultiplierBonus") * mod)
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# modifyArmorResonancePassivePreAssignment
|
||||
#
|
||||
# Used by:
|
||||
# Subsystems from group: Defensive Systems (16 of 16)
|
||||
# Not used by any item
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# modifyShieldResonancePassivePreAssignment
|
||||
#
|
||||
# Used by:
|
||||
# Subsystems from group: Defensive Systems (16 of 16)
|
||||
# Not used by any item
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# modifyShipAgilityPassivePreAssignment
|
||||
#
|
||||
# Used by:
|
||||
# Subsystems from group: Propulsion Systems (16 of 16)
|
||||
# Not used by any item
|
||||
runTime = "early"
|
||||
type = "passive"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# remoteArmorRepairEntity
|
||||
# npcEntityRemoteArmorRepairer
|
||||
#
|
||||
# Used by:
|
||||
# Drones named like: Armor Maintenance Bot (6 of 6)
|
||||
@@ -1,4 +1,4 @@
|
||||
# remoteHullRepairEntity
|
||||
# npcEntityRemoteHullRepairer
|
||||
#
|
||||
# Used by:
|
||||
# Drones named like: Hull Maintenance Bot (6 of 6)
|
||||
@@ -1,4 +1,4 @@
|
||||
# remoteShieldTransferEntity
|
||||
# npcEntityRemoteShieldBooster
|
||||
#
|
||||
# Used by:
|
||||
# Drones named like: Shield Maintenance Bot (6 of 6)
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Missile Launcher Torpedo (22 of 22)
|
||||
# Items from market group: Ship Equipment > Turrets & Bays (428 of 859)
|
||||
# Items from market group: Ship Equipment > Turrets & Bays (429 of 861)
|
||||
# Module: Interdiction Sphere Launcher I
|
||||
type = "overheat"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# overloadSelfDamageBonus
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Energy Weapon (101 of 209)
|
||||
# Modules from group: Energy Weapon (101 of 213)
|
||||
# Modules from group: Hybrid Weapon (105 of 221)
|
||||
# Modules from group: Projectile Weapon (99 of 165)
|
||||
type = "overheat"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# powerOutputAddPassive
|
||||
#
|
||||
# Used by:
|
||||
# Items from category: Subsystem (40 of 80)
|
||||
# Subsystems from group: Offensive Systems (8 of 12)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -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"))
|
||||
|
||||
10
eos/effects/probelaunchercpupercentrolebonust3.py
Normal file
10
eos/effects/probelaunchercpupercentrolebonust3.py
Normal 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"))
|
||||
@@ -7,7 +7,8 @@ type = "passive"
|
||||
|
||||
|
||||
def handler(fit, container, context):
|
||||
groups = ("Stasis Web", "Stasis Grappler", "Warp Scrambler", "Warp Disrupt Field Generator")
|
||||
|
||||
level = container.level if "skill" in context else 1
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
|
||||
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Propulsion Jamming"),
|
||||
"capacitorNeed", container.getModifiedItemAttr("capNeedBonus") * level)
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# rechargeRateAddPassive
|
||||
#
|
||||
# Used by:
|
||||
# Subsystems from group: Engineering Systems (16 of 16)
|
||||
# Not used by any item
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# reconShipCloakCpuBonus1
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Force Recon Ship (6 of 7)
|
||||
# Ships from group: Force Recon Ship (6 of 8)
|
||||
type = "passive"
|
||||
runTime = "early"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# salvaging
|
||||
#
|
||||
# Used by:
|
||||
# Modules from group: Salvager (2 of 2)
|
||||
# Modules from group: Salvager (3 of 3)
|
||||
type = "active"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# scanResolutionAddPassive
|
||||
#
|
||||
# Used by:
|
||||
# Subsystems from group: Electronic Systems (16 of 16)
|
||||
# Not used by any item
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# scanStrengthAddPassive
|
||||
#
|
||||
# Used by:
|
||||
# Subsystems from group: Electronic Systems (16 of 16)
|
||||
# Not used by any item
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# shieldRechargeRateAddPassive
|
||||
#
|
||||
# Used by:
|
||||
# Subsystems from group: Defensive Systems (16 of 16)
|
||||
# Not used by any item
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# shipAdvancedSpaceshipCommandAgilityBonus
|
||||
#
|
||||
# Used by:
|
||||
# Items from market group: Ships > Capital Ships (37 of 37)
|
||||
# Items from market group: Ships > Capital Ships (40 of 40)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# shipBonusDreadnoughtC2ShieldResists
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Caiman
|
||||
# Ship: Phoenix
|
||||
type = "passive"
|
||||
|
||||
|
||||
20
eos/effects/shipbonusdreadnoughtg1kinthermdamagebonus.py
Normal file
20
eos/effects/shipbonusdreadnoughtg1kinthermdamagebonus.py
Normal file
@@ -0,0 +1,20 @@
|
||||
# shipBonusDreadnoughtG1KinThermDamageBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Caiman
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Torpedoes"), "kineticDamage",
|
||||
src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("Torpedoes"), "thermalDamage",
|
||||
src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Torpedoes"), "kineticDamage",
|
||||
src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Torpedoes"), "thermalDamage",
|
||||
src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missiles"), "thermalDamage",
|
||||
src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.item.requiresSkill("XL Cruise Missiles"), "kineticDamage",
|
||||
src.getModifiedItemAttr("shipBonusDreadnoughtG1"), skill="Gallente Dreadnought")
|
||||
@@ -1,11 +1,15 @@
|
||||
# shipBonusForceAuxiliaryC1RemoteBoostAndCapAmount
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Loggerhead
|
||||
# Ship: Minokawa
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
if src.getModifiedItemAttr("shipBonusForceAuxiliaryC1") is None:
|
||||
return # See GH Issue 1321
|
||||
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capacitor Emission Systems") or
|
||||
mod.item.requiresSkill("Capital Capacitor Emission Systems"),
|
||||
"powerTransferAmount", src.getModifiedItemAttr("shipBonusForceAuxiliaryC1"),
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# shipBonusForceAuxiliaryC2ShieldResists
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Loggerhead
|
||||
# Ship: Minokawa
|
||||
type = "passive"
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
# shipBonusForceAuxiliaryG1RemoteShieldBoostAmount
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Loggerhead
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"), "shieldBonus",
|
||||
src.getModifiedItemAttr("shipBonusForceAuxiliaryG1"), skill="Gallente Carrier")
|
||||
@@ -1,3 +1,7 @@
|
||||
# shipBonusForceAuxiliaryM2LocalRepairAmount
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Dagon
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# shipBonusLargeEnergyTurretMaxRangeAB
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Marshal
|
||||
# Ship: Paladin
|
||||
type = "passive"
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Abaddon
|
||||
# Ship: Marshal
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
12
eos/effects/shipbonuslargemissileflighttimecb1.py
Normal file
12
eos/effects/shipbonuslargemissileflighttimecb1.py
Normal file
@@ -0,0 +1,12 @@
|
||||
# shipBonusLargeMissileFlightTimeCB1
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Marshal
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes"), "explosionDelay",
|
||||
src.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Cruise Missiles"), "explosionDelay",
|
||||
src.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
|
||||
14
eos/effects/shipbonuslauncherrof2cb.py
Normal file
14
eos/effects/shipbonuslauncherrof2cb.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# shipBonusLauncherRoF2CB
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Marshal
|
||||
type = "passive"
|
||||
|
||||
|
||||
def handler(fit, src, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Cruise", "speed",
|
||||
src.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Torpedo", "speed",
|
||||
src.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Heavy", "speed",
|
||||
src.getModifiedItemAttr("shipBonus2CB"), skill="Caldari Battleship")
|
||||
@@ -1,6 +1,7 @@
|
||||
# shipBonusPTFalloffMB1
|
||||
#
|
||||
# Used by:
|
||||
# Ship: Marshal
|
||||
# Ship: Vargur
|
||||
type = "passive"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# shipBonusRole1CommandBurstCPUBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Force Auxiliary (5 of 5)
|
||||
# Ships from group: Force Auxiliary (6 of 6)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# shipBonusRole1NumWarfareLinks
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Titan (6 of 6)
|
||||
# Ships from group: Titan (7 of 7)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# shipBonusRole2ArmorPlates&ShieldExtendersBonus
|
||||
#
|
||||
# Used by:
|
||||
# Ships from group: Titan (6 of 6)
|
||||
# Ships from group: Titan (7 of 7)
|
||||
type = "passive"
|
||||
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user