Merge branch 'master' into wx3
Conflicts: config.py staticdata/icons/icon01_08.png staticdata/icons/icon02_11.png staticdata/icons/icon105_46.png staticdata/icons/icon105_47.png staticdata/icons/icon105_48.png staticdata/icons/icon105_49.png staticdata/icons/icon108_5.png staticdata/icons/icon113_64_1.png staticdata/icons/icon113_64_2.png staticdata/icons/icon113_64_3.png staticdata/icons/icon34_16.png staticdata/icons/iconMarketIcon_16px_Amarr.png staticdata/icons/iconMarketIcon_16px_Caldari.png staticdata/icons/iconMarketIcon_16px_Gallente.png staticdata/icons/iconMarketIcon_16px_Minmatar.png
This commit is contained in:
44
config.py
44
config.py
@@ -17,11 +17,14 @@ debug = False
|
||||
# Defines if our saveddata will be in pyfa root or not
|
||||
saveInRoot = False
|
||||
|
||||
logLevel = logging.WARN
|
||||
if debug:
|
||||
logLevel = logging.DEBUG
|
||||
else:
|
||||
logLevel = logging.WARN
|
||||
|
||||
# Version data
|
||||
version = "1.13.2"
|
||||
tag = "Stable"
|
||||
version = "1.13.3"
|
||||
tag = "git"
|
||||
expansionName = "Aegis"
|
||||
expansionVersion = "1.0"
|
||||
evemonMinVersion = "4081"
|
||||
@@ -32,13 +35,27 @@ staticPath = None
|
||||
saveDB = None
|
||||
gameDB = None
|
||||
|
||||
|
||||
class StreamToLogger(object):
|
||||
"""
|
||||
Fake file-like stream object that redirects writes to a logger instance.
|
||||
From: http://www.electricmonk.nl/log/2011/08/14/redirect-stdout-and-stderr-to-a-logger-in-python/
|
||||
"""
|
||||
def __init__(self, logger, log_level=logging.INFO):
|
||||
self.logger = logger
|
||||
self.log_level = log_level
|
||||
self.linebuf = ''
|
||||
|
||||
def write(self, buf):
|
||||
for line in buf.rstrip().splitlines():
|
||||
self.logger.log(self.log_level, line.rstrip())
|
||||
|
||||
def isFrozen():
|
||||
if hasattr(sys, 'frozen'):
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def getPyfaRoot():
|
||||
base = sys.executable if isFrozen() else sys.argv[0]
|
||||
root = os.path.dirname(os.path.realpath(os.path.abspath(base)))
|
||||
@@ -84,19 +101,14 @@ def defPaths():
|
||||
|
||||
logging.info("Starting pyfa")
|
||||
|
||||
# Redirect stderr to file if we're requested to do so
|
||||
stderrToFile = getattr(configforced, "stderrToFile", None)
|
||||
if stderrToFile is None:
|
||||
stderrToFile = True if isFrozen() else False
|
||||
if stderrToFile is True:
|
||||
sys.stderr = open(os.path.join(savePath, "error_log.txt"), "w")
|
||||
if hasattr(sys, 'frozen'):
|
||||
stdout_logger = logging.getLogger('STDOUT')
|
||||
sl = StreamToLogger(stdout_logger, logging.INFO)
|
||||
sys.stdout = sl
|
||||
|
||||
# Same for stdout
|
||||
stdoutToFile = getattr(configforced, "stdoutToFile", None)
|
||||
if stdoutToFile is None:
|
||||
stdoutToFile = True if isFrozen() else False
|
||||
if stdoutToFile is True:
|
||||
sys.stdout = open(os.path.join(savePath, "output_log.txt"), "w")
|
||||
stderr_logger = logging.getLogger('STDERR')
|
||||
sl = StreamToLogger(stderr_logger, logging.ERROR)
|
||||
sys.stderr = sl
|
||||
|
||||
# Static EVE Data from the staticdata repository, should be in the staticdata
|
||||
# directory in our pyfa directory
|
||||
|
||||
16
eos/db/migrations/upgrade10.py
Normal file
16
eos/db/migrations/upgrade10.py
Normal file
@@ -0,0 +1,16 @@
|
||||
"""
|
||||
Migration 10
|
||||
|
||||
- Adds active attribute to projected fits
|
||||
"""
|
||||
|
||||
import sqlalchemy
|
||||
|
||||
def upgrade(saveddata_engine):
|
||||
# Update projectedFits schema to include active attribute
|
||||
try:
|
||||
saveddata_engine.execute("SELECT active FROM projectedFits LIMIT 1")
|
||||
except sqlalchemy.exc.DatabaseError:
|
||||
saveddata_engine.execute("ALTER TABLE projectedFits ADD COLUMN active BOOLEAN")
|
||||
saveddata_engine.execute("UPDATE projectedFits SET active = 1")
|
||||
saveddata_engine.execute("UPDATE projectedFits SET amount = 1")
|
||||
@@ -17,9 +17,11 @@
|
||||
# along with eos. If not, see <http://www.gnu.org/licenses/>.
|
||||
#===============================================================================
|
||||
|
||||
from sqlalchemy import Table, Column, Integer, ForeignKey, String, Boolean
|
||||
from sqlalchemy.orm import relation, mapper
|
||||
from sqlalchemy import *
|
||||
from sqlalchemy.orm import *
|
||||
from sqlalchemy.sql import and_
|
||||
from sqlalchemy.ext.associationproxy import association_proxy
|
||||
from sqlalchemy.orm.collections import attribute_mapped_collection
|
||||
|
||||
from eos.db import saveddata_meta
|
||||
from eos.db.saveddata.module import modules_table
|
||||
@@ -45,33 +47,119 @@ fits_table = Table("fits", saveddata_meta,
|
||||
projectedFits_table = Table("projectedFits", saveddata_meta,
|
||||
Column("sourceID", ForeignKey("fits.ID"), primary_key = True),
|
||||
Column("victimID", ForeignKey("fits.ID"), primary_key = True),
|
||||
Column("amount", Integer))
|
||||
Column("amount", Integer, nullable = False, default = 1),
|
||||
Column("active", Boolean, nullable = False, default = 1),
|
||||
)
|
||||
|
||||
class ProjectedFit(object):
|
||||
def __init__(self, sourceID, source_fit, amount=1, active=True):
|
||||
self.sourceID = sourceID
|
||||
self.source_fit = source_fit
|
||||
self.active = active
|
||||
self.__amount = amount
|
||||
|
||||
@reconstructor
|
||||
def init(self):
|
||||
if self.source_fit.isInvalid:
|
||||
# Very rare for this to happen, but be prepared for it
|
||||
eos.db.saveddata_session.delete(self.source_fit)
|
||||
eos.db.saveddata_session.flush()
|
||||
eos.db.saveddata_session.refresh(self.victim_fit)
|
||||
|
||||
# We have a series of setters and getters here just in case someone
|
||||
# downgrades and screws up the table with NULL values
|
||||
@property
|
||||
def amount(self):
|
||||
return self.__amount or 1
|
||||
|
||||
@amount.setter
|
||||
def amount(self, amount):
|
||||
self.__amount = amount
|
||||
|
||||
def __repr__(self):
|
||||
return "ProjectedFit(sourceID={}, victimID={}, amount={}, active={}) at {}".format(
|
||||
self.sourceID, self.victimID, self.amount, self.active, hex(id(self))
|
||||
)
|
||||
|
||||
Fit._Fit__projectedFits = association_proxy(
|
||||
"victimOf", # look at the victimOf association...
|
||||
"source_fit", # .. and return the source fits
|
||||
creator=lambda sourceID, source_fit: ProjectedFit(sourceID, source_fit)
|
||||
)
|
||||
|
||||
mapper(Fit, fits_table,
|
||||
properties = {"_Fit__modules" : relation(Module, collection_class = HandledModuleList,
|
||||
primaryjoin = and_(modules_table.c.fitID == fits_table.c.ID, modules_table.c.projected == False),
|
||||
order_by = modules_table.c.position, cascade='all, delete, delete-orphan'),
|
||||
"_Fit__projectedModules" : relation(Module, collection_class = HandledProjectedModList, cascade='all, delete, delete-orphan', single_parent=True,
|
||||
primaryjoin = and_(modules_table.c.fitID == fits_table.c.ID, modules_table.c.projected == True)),
|
||||
"owner" : relation(User, backref = "fits"),
|
||||
"itemID" : fits_table.c.shipID,
|
||||
"shipID" : fits_table.c.shipID,
|
||||
"_Fit__boosters" : relation(Booster, collection_class = HandledImplantBoosterList, cascade='all, delete, delete-orphan', single_parent=True),
|
||||
"_Fit__drones" : relation(Drone, collection_class = HandledDroneCargoList, cascade='all, delete, delete-orphan', single_parent=True,
|
||||
primaryjoin = and_(drones_table.c.fitID == fits_table.c.ID, drones_table.c.projected == False)),
|
||||
"_Fit__cargo" : relation(Cargo, collection_class = HandledDroneCargoList, cascade='all, delete, delete-orphan', single_parent=True,
|
||||
primaryjoin = and_(cargo_table.c.fitID == fits_table.c.ID)),
|
||||
"_Fit__projectedDrones" : relation(Drone, collection_class = HandledProjectedDroneList, cascade='all, delete, delete-orphan', single_parent=True,
|
||||
primaryjoin = and_(drones_table.c.fitID == fits_table.c.ID, drones_table.c.projected == True)),
|
||||
"_Fit__implants" : relation(Implant, collection_class = HandledImplantBoosterList, cascade='all, delete, delete-orphan', backref='fit', single_parent=True,
|
||||
primaryjoin = fitImplants_table.c.fitID == fits_table.c.ID,
|
||||
secondaryjoin = fitImplants_table.c.implantID == Implant.ID,
|
||||
secondary = fitImplants_table),
|
||||
"_Fit__character" : relation(Character, backref = "fits"),
|
||||
"_Fit__damagePattern" : relation(DamagePattern),
|
||||
"_Fit__targetResists" : relation(TargetResists),
|
||||
"_Fit__projectedFits" : relation(Fit,
|
||||
primaryjoin = projectedFits_table.c.victimID == fits_table.c.ID,
|
||||
secondaryjoin = fits_table.c.ID == projectedFits_table.c.sourceID,
|
||||
secondary = projectedFits_table,
|
||||
collection_class = HandledProjectedFitList)
|
||||
})
|
||||
properties = {
|
||||
"_Fit__modules": relation(
|
||||
Module,
|
||||
collection_class=HandledModuleList,
|
||||
primaryjoin=and_(modules_table.c.fitID == fits_table.c.ID, modules_table.c.projected == False),
|
||||
order_by=modules_table.c.position,
|
||||
cascade='all, delete, delete-orphan'),
|
||||
"_Fit__projectedModules": relation(
|
||||
Module,
|
||||
collection_class=HandledProjectedModList,
|
||||
cascade='all, delete, delete-orphan',
|
||||
single_parent=True,
|
||||
primaryjoin=and_(modules_table.c.fitID == fits_table.c.ID, modules_table.c.projected == True)),
|
||||
"owner": relation(
|
||||
User,
|
||||
backref="fits"),
|
||||
"itemID": fits_table.c.shipID,
|
||||
"shipID": fits_table.c.shipID,
|
||||
"_Fit__boosters": relation(
|
||||
Booster,
|
||||
collection_class=HandledImplantBoosterList,
|
||||
cascade='all, delete, delete-orphan',
|
||||
single_parent=True),
|
||||
"_Fit__drones": relation(
|
||||
Drone,
|
||||
collection_class=HandledDroneCargoList,
|
||||
cascade='all, delete, delete-orphan',
|
||||
single_parent=True,
|
||||
primaryjoin=and_(drones_table.c.fitID == fits_table.c.ID, drones_table.c.projected == False)),
|
||||
"_Fit__cargo": relation(
|
||||
Cargo,
|
||||
collection_class=HandledDroneCargoList,
|
||||
cascade='all, delete, delete-orphan',
|
||||
single_parent=True,
|
||||
primaryjoin=and_(cargo_table.c.fitID == fits_table.c.ID)),
|
||||
"_Fit__projectedDrones": relation(
|
||||
Drone,
|
||||
collection_class=HandledProjectedDroneList,
|
||||
cascade='all, delete, delete-orphan',
|
||||
single_parent=True,
|
||||
primaryjoin=and_(drones_table.c.fitID == fits_table.c.ID, drones_table.c.projected == True)),
|
||||
"_Fit__implants": relation(
|
||||
Implant,
|
||||
collection_class=HandledImplantBoosterList,
|
||||
cascade='all, delete, delete-orphan',
|
||||
backref='fit',
|
||||
single_parent=True,
|
||||
primaryjoin=fitImplants_table.c.fitID == fits_table.c.ID,
|
||||
secondaryjoin=fitImplants_table.c.implantID == Implant.ID,
|
||||
secondary=fitImplants_table),
|
||||
"_Fit__character": relation(
|
||||
Character,
|
||||
backref="fits"),
|
||||
"_Fit__damagePattern": relation(DamagePattern),
|
||||
"_Fit__targetResists": relation(TargetResists),
|
||||
"projectedOnto": relationship(
|
||||
ProjectedFit,
|
||||
primaryjoin=projectedFits_table.c.sourceID == fits_table.c.ID,
|
||||
backref='source_fit',
|
||||
collection_class=attribute_mapped_collection('victimID'),
|
||||
cascade='all, delete, delete-orphan'),
|
||||
"victimOf": relationship(
|
||||
ProjectedFit,
|
||||
primaryjoin=fits_table.c.ID == projectedFits_table.c.victimID,
|
||||
backref='victim_fit',
|
||||
collection_class=attribute_mapped_collection('sourceID'),
|
||||
cascade='all, delete, delete-orphan'),
|
||||
}
|
||||
)
|
||||
|
||||
mapper(ProjectedFit, projectedFits_table,
|
||||
properties = {
|
||||
"_ProjectedFit__amount": projectedFits_table.c.amount,
|
||||
}
|
||||
)
|
||||
|
||||
@@ -232,11 +232,6 @@ class HandledProjectedDroneList(HandledDroneCargoList):
|
||||
if proj.isInvalid or not proj.item.isType("projected"):
|
||||
self.remove(proj)
|
||||
|
||||
class HandledProjectedFitList(HandledList):
|
||||
def append(self, proj):
|
||||
proj.projected = True
|
||||
list.append(self, proj)
|
||||
|
||||
class HandledItem(object):
|
||||
def preAssignItemAttr(self, *args, **kwargs):
|
||||
self.itemModifiedAttributes.preAssign(*args, **kwargs)
|
||||
|
||||
@@ -6,4 +6,4 @@ type = "passive"
|
||||
def handler(fit, implant, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Repair Systems"),
|
||||
"armorDamageAmount", implant.getModifiedItemAttr("repairBonus"),
|
||||
stackingPenalties = True)
|
||||
stackingPenalties=True)
|
||||
|
||||
@@ -5,6 +5,5 @@
|
||||
type = "passive"
|
||||
runTime = "early"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Transport Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Cloaking Device",
|
||||
"cpu", ship.getModifiedItemAttr("eliteIndustrialCovertCloakBonus") * level)
|
||||
"cpu", ship.getModifiedItemAttr("eliteIndustrialCovertCloakBonus"), skill="Transport Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Scorpion
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Battleship").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM Burst",
|
||||
"ecmBurstRange", ship.getModifiedItemAttr("shipBonusCB3") * level)
|
||||
"ecmBurstRange", ship.getModifiedItemAttr("shipBonusCB3"), skill="Caldari Battleship")
|
||||
|
||||
@@ -6,6 +6,5 @@
|
||||
# Ship: Rook
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Cruiser").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
|
||||
"capacitorNeed", ship.getModifiedItemAttr("shipBonusCC") * level)
|
||||
"capacitorNeed", ship.getModifiedItemAttr("shipBonusCC"), skill="Caldari Cruiser")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Variations of ship: Griffin (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Frigate").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
|
||||
"capacitorNeed", ship.getModifiedItemAttr("shipBonusCF2") * level)
|
||||
"capacitorNeed", ship.getModifiedItemAttr("shipBonusCF2"), skill="Caldari Frigate")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Scorpion
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Battleship").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
|
||||
"falloff", ship.getModifiedItemAttr("shipBonusCB3") * level)
|
||||
"falloff", ship.getModifiedItemAttr("shipBonusCB3"), skill="Caldari Battleship")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Blackbird
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Cruiser").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
|
||||
"falloff", ship.getModifiedItemAttr("shipBonusCC2") * level)
|
||||
"falloff", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Scorpion
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Battleship").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
|
||||
"maxRange", ship.getModifiedItemAttr("shipBonusCB3") * level)
|
||||
"maxRange", ship.getModifiedItemAttr("shipBonusCB3"), skill="Caldari Battleship")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Blackbird
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Cruiser").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
|
||||
"maxRange", ship.getModifiedItemAttr("shipBonusCC2") * level)
|
||||
"maxRange", ship.getModifiedItemAttr("shipBonusCC2"), skill="Caldari Cruiser")
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
# Ship: Scorpion
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Battleship").level
|
||||
for sensorType in ("Gravimetric", "Ladar", "Magnetometric", "Radar"):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
|
||||
"scan{0}StrengthBonus".format(sensorType),
|
||||
ship.getModifiedItemAttr("shipBonusCB") * level)
|
||||
ship.getModifiedItemAttr("shipBonusCB"), skill="Caldari Battleship")
|
||||
|
||||
@@ -5,9 +5,7 @@
|
||||
# Ship: Archon
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Carrier").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Armor Repair Systems"),
|
||||
"maxRange", ship.getModifiedItemAttr("carrierAmarrBonus3") * level)
|
||||
"maxRange", ship.getModifiedItemAttr("carrierAmarrBonus3"), skill="Amarr Carrier")
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Capacitor Emission Systems"),
|
||||
"powerTransferRange", ship.getModifiedItemAttr("carrierAmarrBonus3") * level)
|
||||
|
||||
"powerTransferRange", ship.getModifiedItemAttr("carrierAmarrBonus3"), skill="Amarr Carrier")
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
# Ship: Archon
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Carrier").level
|
||||
for resType in ("Em", "Explosive", "Kinetic", "Thermal"):
|
||||
fit.ship.boostItemAttr("armor{0}DamageResonance".format(resType),
|
||||
ship.getModifiedItemAttr("carrierAmarrBonus2") * level)
|
||||
ship.getModifiedItemAttr("carrierAmarrBonus2"), skill="Amarr Carrier")
|
||||
|
||||
@@ -5,6 +5,4 @@
|
||||
# Ship: Archon
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Carrier").level
|
||||
amount = ship.getModifiedItemAttr("carrierAmarrBonus1")
|
||||
fit.extraAttributes.increase("maxActiveDrones", amount * level)
|
||||
fit.extraAttributes.increase("maxActiveDrones", ship.getModifiedItemAttr("carrierAmarrBonus1"), skill="Amarr Carrier")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Revenant
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Carrier").level
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Fighter Bombers"),
|
||||
"maxVelocity", ship.getModifiedItemAttr("carrierAmarrBonus2") * level)
|
||||
"maxVelocity", ship.getModifiedItemAttr("carrierAmarrBonus2"), skill="Amarr Carrier")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Revenant
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Carrier").level
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Fighters"),
|
||||
"maxVelocity", ship.getModifiedItemAttr("carrierAmarrBonus2") * level)
|
||||
"maxVelocity", ship.getModifiedItemAttr("carrierAmarrBonus2"), skill="Amarr Carrier")
|
||||
|
||||
@@ -5,6 +5,5 @@
|
||||
# Ship: Revenant
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Carrier").level
|
||||
fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Gang Coordinator",
|
||||
"maxGroupActive", ship.getModifiedItemAttr("carrierAmarrBonus4") * level)
|
||||
"maxGroupActive", ship.getModifiedItemAttr("carrierAmarrBonus4"), skill="Amarr Carrier")
|
||||
|
||||
@@ -5,6 +5,4 @@
|
||||
# Ship: Wyvern
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Carrier").level
|
||||
amount = ship.getModifiedItemAttr("carrierCaldariBonus1")
|
||||
fit.extraAttributes.increase("maxActiveDrones", amount * level)
|
||||
fit.extraAttributes.increase("maxActiveDrones", ship.getModifiedItemAttr("carrierCaldariBonus1"), skill="Caldari Carrier")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Revenant
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Carrier").level
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Fighters") or drone.item.requiresSkill("Fighter Bombers"),
|
||||
"signatureRadius", ship.getModifiedItemAttr("carrierCaldariBonus1") * level)
|
||||
"signatureRadius", ship.getModifiedItemAttr("carrierCaldariBonus1"), skill="Caldari Carrier")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Wyvern
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Carrier").level
|
||||
fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Gang Coordinator",
|
||||
"maxGroupActive", ship.getModifiedItemAttr("carrierCaldariBonus4") * level)
|
||||
"maxGroupActive", ship.getModifiedItemAttr("carrierCaldariBonus4"), skill="Caldari Carrier")
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
# Ship: Wyvern
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Carrier").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
|
||||
"shieldTransferRange", ship.getModifiedItemAttr("carrierCaldariBonus3") * level)
|
||||
"shieldTransferRange", ship.getModifiedItemAttr("carrierCaldariBonus3"), skill="Caldari Carrier")
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Capacitor Emission Systems"),
|
||||
"powerTransferRange", ship.getModifiedItemAttr("carrierCaldariBonus3") * level)
|
||||
"powerTransferRange", ship.getModifiedItemAttr("carrierCaldariBonus3"), skill="Caldari Carrier")
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
# Ship: Wyvern
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Carrier").level
|
||||
for resType in ("Em", "Explosive", "Kinetic", "Thermal"):
|
||||
fit.ship.boostItemAttr("shield{0}DamageResonance".format(resType),
|
||||
ship.getModifiedItemAttr("carrierCaldariBonus2") * level)
|
||||
ship.getModifiedItemAttr("carrierCaldariBonus2"), skill="Caldari Carrier")
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
# Ship: Thanatos
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Carrier").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
|
||||
"shieldTransferRange", ship.getModifiedItemAttr("carrierGallenteBonus3") * level)
|
||||
"shieldTransferRange", ship.getModifiedItemAttr("carrierGallenteBonus3"), skill="Gallente Carrier")
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Armor Repair Systems"),
|
||||
"maxRange", ship.getModifiedItemAttr("carrierGallenteBonus3") * level)
|
||||
"maxRange", ship.getModifiedItemAttr("carrierGallenteBonus3"), skill="Gallente Carrier")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Nyx
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Carrier").level
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Fighter Bombers"),
|
||||
"damageMultiplier", ship.getModifiedItemAttr("carrierGallenteBonus2") * level)
|
||||
"damageMultiplier", ship.getModifiedItemAttr("carrierGallenteBonus2"), skill="Gallente Carrier")
|
||||
|
||||
@@ -5,6 +5,4 @@
|
||||
# Ship: Thanatos
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Carrier").level
|
||||
amount = ship.getModifiedItemAttr("carrierGallenteBonus1")
|
||||
fit.extraAttributes.increase("maxActiveDrones", amount * level)
|
||||
fit.extraAttributes.increase("maxActiveDrones", ship.getModifiedItemAttr("carrierGallenteBonus1"), skill="Gallente Carrier")
|
||||
|
||||
@@ -5,6 +5,5 @@
|
||||
# Ship: Thanatos
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Carrier").level
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Fighters"),
|
||||
"damageMultiplier", ship.getModifiedItemAttr("carrierGallenteBonus2") * level)
|
||||
"damageMultiplier", ship.getModifiedItemAttr("carrierGallenteBonus2"), skill="Gallente Carrier")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Nyx
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Carrier").level
|
||||
fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Gang Coordinator",
|
||||
"maxGroupActive", ship.getModifiedItemAttr("carrierGallenteBonus4") * level)
|
||||
"maxGroupActive", ship.getModifiedItemAttr("carrierGallenteBonus4"), skill="Gallente Carrier")
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
# Ship: Nidhoggur
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Carrier").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Shield Booster",
|
||||
"shieldBonus", ship.getModifiedItemAttr("carrierMinmatarBonus2") * level)
|
||||
"shieldBonus", ship.getModifiedItemAttr("carrierMinmatarBonus2"), skill="Minmatar Carrier")
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Armor Repairer",
|
||||
"armorDamageAmount", ship.getModifiedItemAttr("carrierMinmatarBonus2") * level)
|
||||
"armorDamageAmount", ship.getModifiedItemAttr("carrierMinmatarBonus2"), skill="Minmatar Carrier")
|
||||
|
||||
@@ -5,8 +5,7 @@
|
||||
# Ship: Nidhoggur
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Carrier").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Shield Emission Systems"),
|
||||
"shieldTransferRange", ship.getModifiedItemAttr("carrierMinmatarBonus3") * level)
|
||||
"shieldTransferRange", ship.getModifiedItemAttr("carrierMinmatarBonus3"), skill="Minmatar Carrier")
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Remote Armor Repair Systems"),
|
||||
"maxRange", ship.getModifiedItemAttr("carrierMinmatarBonus3") * level)
|
||||
"maxRange", ship.getModifiedItemAttr("carrierMinmatarBonus3"), skill="Minmatar Carrier")
|
||||
|
||||
@@ -5,6 +5,4 @@
|
||||
# Ship: Nidhoggur
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Carrier").level
|
||||
amount = ship.getModifiedItemAttr("carrierMinmatarBonus1")
|
||||
fit.extraAttributes.increase("maxActiveDrones", amount * level)
|
||||
fit.extraAttributes.increase("maxActiveDrones", ship.getModifiedItemAttr("carrierMinmatarBonus1"), skill="Minmatar Carrier")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Hel
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Carrier").level
|
||||
fit.modules.filteredItemIncrease(lambda mod: mod.item.group.name == "Gang Coordinator",
|
||||
"maxGroupActive", ship.getModifiedItemAttr("carrierMinmatarBonus4") * level)
|
||||
"maxGroupActive", ship.getModifiedItemAttr("carrierMinmatarBonus4"), skill="Minmatar Carrier")
|
||||
|
||||
@@ -5,6 +5,5 @@
|
||||
type = "passive"
|
||||
runTime = "early"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Covert Ops").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Cloaking Device",
|
||||
"cpu", ship.getModifiedItemAttr("eliteBonusCoverOps1") * level)
|
||||
"cpu", ship.getModifiedItemAttr("eliteBonusCoverOps1"), skill="Covert Ops")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Naglfar
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Dreadnought").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"),
|
||||
"damageMultiplier", ship.getModifiedItemAttr("dreadnoughtShipBonusM1") * level)
|
||||
"damageMultiplier", ship.getModifiedItemAttr("dreadnoughtShipBonusM1"), skill="Minmatar Dreadnought")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Naglfar
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Dreadnought").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Projectile Turret"),
|
||||
"speed", ship.getModifiedItemAttr("dreadnoughtShipBonusM3") * level)
|
||||
"speed", ship.getModifiedItemAttr("dreadnoughtShipBonusM3"), skill="Minmatar Dreadnought")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Moros
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Dreadnought").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"),
|
||||
"damageMultiplier", ship.getModifiedItemAttr("dreadnoughtShipBonusG1") * level)
|
||||
"damageMultiplier", ship.getModifiedItemAttr("dreadnoughtShipBonusG1"), skill="Gallente Dreadnought")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Moros
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Dreadnought").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Hybrid Turret"),
|
||||
"speed", ship.getModifiedItemAttr("dreadnoughtShipBonusG2") * level)
|
||||
"speed", ship.getModifiedItemAttr("dreadnoughtShipBonusG2"), skill="Gallente Dreadnought")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Revelation
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Dreadnought").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret"),
|
||||
"capacitorNeed", ship.getModifiedItemAttr("dreadnoughtShipBonusA1") * level)
|
||||
"capacitorNeed", ship.getModifiedItemAttr("dreadnoughtShipBonusA1"), skill="Amarr Dreadnought")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Revelation
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Dreadnought").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret"),
|
||||
"speed", ship.getModifiedItemAttr("dreadnoughtShipBonusA2") * level)
|
||||
"speed", ship.getModifiedItemAttr("dreadnoughtShipBonusA2"), skill="Amarr Dreadnought")
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
# Ship: Phoenix
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Dreadnought").level
|
||||
for damageType in ("em", "thermal", "explosive", "kinetic"):
|
||||
fit.ship.boostItemAttr("shield{}DamageResonance".format(damageType.capitalize()),
|
||||
ship.getModifiedItemAttr("dreadnoughtShipBonusC2") * level)
|
||||
ship.getModifiedItemAttr("dreadnoughtShipBonusC2"), skill="Caldari Dreadnought")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ships from group: Exhumer (3 of 3)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Exhumers").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
|
||||
"duration", ship.getModifiedItemAttr("eliteBonusBarge2") * level)
|
||||
"duration", ship.getModifiedItemAttr("eliteBonusBarge2"), skill="Exhumers")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ships from group: Exhumer (3 of 3)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Exhumers").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
|
||||
"duration", ship.getModifiedItemAttr("eliteBonusBarge2") * level)
|
||||
"duration", ship.getModifiedItemAttr("eliteBonusBarge2"), skill="Exhumers")
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
# Ships from group: Exhumer (3 of 3)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Exhumers").level
|
||||
for damageType in ("em", "thermal", "explosive", "kinetic"):
|
||||
fit.ship.boostItemAttr("shield{}DamageResonance".format(damageType.capitalize()),
|
||||
ship.getModifiedItemAttr("eliteBonusBarge1") * level)
|
||||
ship.getModifiedItemAttr("eliteBonusBarge1"), skill="Exhumers")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Cambion
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Assault Frigates").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Light",
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusGunship1") * level)
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Hawk
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Assault Frigates").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||
"maxVelocity", ship.getModifiedItemAttr("eliteBonusGunship1") * level)
|
||||
"maxVelocity", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Cambion
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Assault Frigates").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rocket",
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusGunship1") * level)
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Sin
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Black Ops").level
|
||||
fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("eliteBonusBlackOps1") * level)
|
||||
fit.ship.boostItemAttr("agility", ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
|
||||
@@ -5,5 +5,4 @@
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
if fit.extraAttributes["cloaked"]:
|
||||
level = fit.character.getSkill("Black Ops").level
|
||||
fit.ship.multiplyItemAttr("maxVelocity", ship.getModifiedItemAttr("eliteBonusBlackOps2") * level)
|
||||
fit.ship.multiplyItemAttr("maxVelocity", ship.getModifiedItemAttr("eliteBonusBlackOps2"), skill="Black Ops")
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
# Ship: Widow
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Black Ops").level
|
||||
sensorTypes = ("Gravimetric", "Ladar", "Magnetometric", "Radar")
|
||||
for type in sensorTypes:
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM Burst", "scan{0}StrengthBonus".format(type),
|
||||
ship.getModifiedItemAttr("eliteBonusBlackOps1") * level)
|
||||
ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
# Ship: Widow
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Black Ops").level
|
||||
sensorTypes = ("Gravimetric", "Ladar", "Magnetometric", "Radar")
|
||||
for type in sensorTypes:
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM", "scan{0}StrengthBonus".format(type),
|
||||
ship.getModifiedItemAttr("eliteBonusBlackOps1") * level)
|
||||
ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Redeemer
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Black Ops").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
|
||||
"trackingSpeed", ship.getModifiedItemAttr("eliteBonusBlackOps1") * level)
|
||||
"trackingSpeed", ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Panther
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Black Ops").level
|
||||
fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("eliteBonusBlackOps1") * level)
|
||||
fit.ship.boostItemAttr("maxVelocity", ship.getModifiedItemAttr("eliteBonusBlackOps1"), skill="Black Ops")
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ships from group: Command Ship (4 of 8)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Armored Warfare Specialist"),
|
||||
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips3") * level)
|
||||
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Damnation
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.ship.boostItemAttr("armorHP", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
|
||||
fit.ship.boostItemAttr("armorHP", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
|
||||
@@ -5,6 +5,5 @@
|
||||
# Ship: Nighthawk
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault",
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
# Ship: Damnation
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
damageTypes = ("em", "explosive", "kinetic", "thermal")
|
||||
for damageType in damageTypes:
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
|
||||
"{0}Damage".format(damageType), ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"{0}Damage".format(damageType), ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Eos
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
|
||||
"trackingSpeed", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"trackingSpeed", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Eos
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
|
||||
"maxVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"maxVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,8 +4,7 @@
|
||||
# Ship: Damnation
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
damageTypes = ("em", "explosive", "kinetic", "thermal")
|
||||
for damageType in damageTypes:
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
|
||||
"{0}Damage".format(damageType), ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"{0}Damage".format(damageType), ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -5,6 +5,5 @@
|
||||
# Ship: Nighthawk
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy",
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Astarte
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
|
||||
"falloff", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"falloff", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Vulture
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
|
||||
"maxRange", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
|
||||
"maxRange", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ships from group: Command Ship (4 of 8)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
|
||||
"commandBonus", module.getModifiedItemAttr("eliteBonusCommandShips3") * level)
|
||||
"commandBonus", module.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ships from group: Command Ship (4 of 8)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Information Warfare Specialist"),
|
||||
"commandBonusHidden", module.getModifiedItemAttr("eliteBonusCommandShips3") * level)
|
||||
"commandBonusHidden", module.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Absolution
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
|
||||
"damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
|
||||
"damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Absolution
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Energy Turret"),
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Vulture
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
|
||||
"damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Astarte
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
|
||||
"speed", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Eos
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
|
||||
"trackingSpeed", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
|
||||
"trackingSpeed", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Sleipnir
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
|
||||
"damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips1") * level)
|
||||
"damageMultiplier", ship.getModifiedItemAttr("eliteBonusCommandShips1"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Sleipnir
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
|
||||
"falloff", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"falloff", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Nighthawk
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
|
||||
"aoeCloudSize", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"aoeCloudSize", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Claymore
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Assault Missiles"),
|
||||
"aoeVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"aoeVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Nighthawk
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
|
||||
"aoeCloudSize", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"aoeCloudSize", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Claymore
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Heavy Missiles"),
|
||||
"aoeVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2") * level)
|
||||
"aoeVelocity", ship.getModifiedItemAttr("eliteBonusCommandShips2"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ships from group: Command Ship (4 of 8)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Siege Warfare Specialist"),
|
||||
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips3") * level)
|
||||
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ships from group: Command Ship (4 of 8)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Command Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Skirmish Warfare Specialist"),
|
||||
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips3") * level)
|
||||
"commandBonus", ship.getModifiedItemAttr("eliteBonusCommandShips3"), skill="Command Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Purifier
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Covert Ops").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
|
||||
"emDamage", ship.getModifiedItemAttr("eliteBonusCoverOps1") * level)
|
||||
"emDamage", ship.getModifiedItemAttr("eliteBonusCoverOps1"), skill="Covert Ops")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Hound
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Covert Ops").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
|
||||
"explosiveDamage", ship.getModifiedItemAttr("eliteBonusCoverOps1") * level)
|
||||
"explosiveDamage", ship.getModifiedItemAttr("eliteBonusCoverOps1"), skill="Covert Ops")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Manticore
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Covert Ops").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
|
||||
"kineticDamage", ship.getModifiedItemAttr("eliteBonusCoverOps1") * level)
|
||||
"kineticDamage", ship.getModifiedItemAttr("eliteBonusCoverOps1"), skill="Covert Ops")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Nemesis
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Covert Ops").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Bomb Deployment"),
|
||||
"thermalDamage", ship.getModifiedItemAttr("eliteBonusCoverOps1") * level)
|
||||
"thermalDamage", ship.getModifiedItemAttr("eliteBonusCoverOps1"), skill="Covert Ops")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ships from group: Covert Ops (5 of 5)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Covert Ops").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.group.name == "Scanner Probe",
|
||||
"baseSensorStrength", ship.getModifiedItemAttr("eliteBonusCoverOps2") * level)
|
||||
"baseSensorStrength", ship.getModifiedItemAttr("eliteBonusCoverOps2"), skill="Covert Ops")
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Kitsune
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Electronic Attack Ships").level
|
||||
fit.ship.boostItemAttr("capacitorCapacity", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2") * level)
|
||||
fit.ship.boostItemAttr("capacitorCapacity", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2"), skill="Electronic Attack Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Kitsune
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Electronic Attack Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "ECM",
|
||||
"maxRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1") * level)
|
||||
"maxRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1"), skill="Electronic Attack Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Sentinel
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Electronic Attack Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Destabilizer",
|
||||
"energyDestabilizationRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1") * level)
|
||||
"energyDestabilizationRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1"), skill="Electronic Attack Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Sentinel
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Electronic Attack Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Vampire",
|
||||
"powerTransferRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1") * level)
|
||||
"powerTransferRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1"), skill="Electronic Attack Ships")
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Sentinel
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Electronic Attack Ships").level
|
||||
fit.ship.boostItemAttr("rechargeRate", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2") * level)
|
||||
fit.ship.boostItemAttr("rechargeRate", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2"), skill="Electronic Attack Ships")
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Hyena
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Electronic Attack Ships").level
|
||||
fit.ship.boostItemAttr("signatureRadius", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2") * level)
|
||||
fit.ship.boostItemAttr("signatureRadius", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2"), skill="Electronic Attack Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Hyena
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Electronic Attack Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Stasis Web",
|
||||
"maxRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1") * level)
|
||||
"maxRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1"), skill="Electronic Attack Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Keres
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Electronic Attack Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler",
|
||||
"capacitorNeed", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2") * level)
|
||||
"capacitorNeed", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip2"), skill="Electronic Attack Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Keres
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Electronic Attack Ships").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Warp Scrambler",
|
||||
"maxRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1") * level)
|
||||
"maxRange", ship.getModifiedItemAttr("eliteBonusElectronicAttackShip1"), skill="Electronic Attack Ships")
|
||||
|
||||
@@ -4,6 +4,5 @@
|
||||
# Ship: Prospect
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
level = fit.character.getSkill("Expedition Frigates").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
|
||||
"miningAmount", module.getModifiedItemAttr("eliteBonusExpedition1") * level)
|
||||
"miningAmount", module.getModifiedItemAttr("eliteBonusExpedition1"), skill="Expedition Frigates")
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Prospect
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Expedition Frigates").level
|
||||
fit.ship.boostItemAttr("signatureRadius", ship.getModifiedItemAttr("eliteBonusExpedition2") * level)
|
||||
fit.ship.boostItemAttr("signatureRadius", ship.getModifiedItemAttr("eliteBonusExpedition2"), skill="Expedition Frigates")
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Vengeance
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Assault Frigates").level
|
||||
fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1") * level)
|
||||
fit.ship.boostItemAttr("armorEmDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
|
||||
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Vengeance
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Assault Frigates").level
|
||||
fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1") * level)
|
||||
fit.ship.boostItemAttr("armorExplosiveDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Vengeance
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Assault Frigates").level
|
||||
fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1") * level)
|
||||
fit.ship.boostItemAttr("armorKineticDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Vengeance
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Assault Frigates").level
|
||||
fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1") * level)
|
||||
fit.ship.boostItemAttr("armorThermalDamageResonance", ship.getModifiedItemAttr("eliteBonusGunship1"), skill="Assault Frigates")
|
||||
@@ -4,5 +4,4 @@
|
||||
# Ship: Vengeance
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Assault Frigates").level
|
||||
fit.ship.boostItemAttr("rechargeRate", ship.getModifiedItemAttr("eliteBonusGunship2") * level)
|
||||
fit.ship.boostItemAttr("rechargeRate", ship.getModifiedItemAttr("eliteBonusGunship2"), skill="Assault Frigates")
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user