Compare commits
85 Commits
v1.1.19
...
v1.1.22-ta
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2903c7e0ca | ||
|
|
e00941b2c5 | ||
|
|
ffaa707ea9 | ||
|
|
7337d54511 | ||
|
|
dd395aff03 | ||
|
|
4a41638472 | ||
|
|
50fbda288a | ||
|
|
7a33aba329 | ||
|
|
ec7a58c592 | ||
|
|
9ac11f9a7c | ||
|
|
63a088631d | ||
|
|
4fa585046f | ||
|
|
f90983b541 | ||
|
|
5095ac4881 | ||
|
|
c01450d1a1 | ||
|
|
3718d20361 | ||
|
|
1d66757b28 | ||
|
|
9e67ad032c | ||
|
|
06bd15079d | ||
|
|
7e59b2d43a | ||
|
|
4430204227 | ||
|
|
652e0738af | ||
|
|
e6bc831305 | ||
|
|
513a02a4d4 | ||
|
|
f355dac322 | ||
|
|
85f632bd20 | ||
|
|
cb0a5ded49 | ||
|
|
bf1df97886 | ||
|
|
b320c6ae77 | ||
|
|
9d2eee3b01 | ||
|
|
9b096524cc | ||
|
|
35a0b0ce4b | ||
|
|
5d75b2bd6d | ||
|
|
83cc3fd28a | ||
|
|
2d69705469 | ||
|
|
2ff6ecdbec | ||
|
|
25c9bfe4d4 | ||
|
|
91b2eff7b4 | ||
|
|
ea3969e1e3 | ||
|
|
cd5d047891 | ||
|
|
34f27f7995 | ||
|
|
752b1fe726 | ||
|
|
281e591984 | ||
|
|
b686aa6d0b | ||
|
|
035e6cea41 | ||
|
|
5aa34caca6 | ||
|
|
4fdd3f177a | ||
|
|
0826aa4bfe | ||
|
|
5869fe6d97 | ||
|
|
e877cef3a9 | ||
|
|
f7fdcfcd4e | ||
|
|
c6ad328e99 | ||
|
|
d8dfafedfa | ||
|
|
65cc0bec1c | ||
|
|
c34215f9e3 | ||
|
|
354b732c2c | ||
|
|
b910982994 | ||
|
|
f2c1002d58 | ||
|
|
50ce4d37aa | ||
|
|
46662d2b72 | ||
|
|
7579f3c3e1 | ||
|
|
3842913fe1 | ||
|
|
aaadcb9b45 | ||
|
|
29fc82b771 | ||
|
|
48963167fe | ||
|
|
4095365518 | ||
|
|
acdc2c496e | ||
|
|
26b078b69f | ||
|
|
9c792fc9a7 | ||
|
|
c7944e91e7 | ||
|
|
9e389f27b0 | ||
|
|
eef34f1dcf | ||
|
|
c1ea161060 | ||
|
|
b4aca7ae90 | ||
|
|
c0b4e73629 | ||
|
|
024637432c | ||
|
|
7ced595cca | ||
|
|
4a7782a713 | ||
|
|
d7dda83314 | ||
|
|
6ee474a8ff | ||
|
|
2e9680191b | ||
|
|
d7b7d127b8 | ||
|
|
2096b7641f | ||
|
|
98850bfc1d | ||
|
|
a5f821850b |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -12,3 +12,7 @@
|
||||
#Patch files
|
||||
*.patch
|
||||
#Personal
|
||||
/saveddata
|
||||
|
||||
#Pyfa file
|
||||
pyfaFits.html
|
||||
|
||||
@@ -13,10 +13,10 @@ debug = False
|
||||
saveInRoot = False
|
||||
|
||||
# Version data
|
||||
version = "1.1.19"
|
||||
tag = "Stable"
|
||||
version = "1.1.23"
|
||||
tag = "git"
|
||||
expansionName = "Rubicon"
|
||||
expansionVersion = "1.1"
|
||||
expansionVersion = "1.3"
|
||||
evemonMinVersion = "4081"
|
||||
|
||||
pyfaPath = None
|
||||
|
||||
@@ -66,7 +66,7 @@ from eos.db.saveddata.queries import getUser, getCharacter, getFit, getFitsWithS
|
||||
getCharacterList, getPrice, getDamagePatternList, getDamagePattern, \
|
||||
getFitList, getFleetList, getFleet, save, remove, commit, add, \
|
||||
getCharactersForUser, getMiscData, getSquadsIDsWithFitID, getWing, \
|
||||
getSquad
|
||||
getSquad, getBoosterFits
|
||||
|
||||
#If using in memory saveddata, you'll want to reflect it so the data structure is good.
|
||||
if config.saveddata_connectionstring == "sqlite:///:memory:":
|
||||
|
||||
@@ -23,7 +23,7 @@ from sqlalchemy.ext.associationproxy import association_proxy
|
||||
from sqlalchemy.orm.collections import attribute_mapped_collection
|
||||
|
||||
from eos.db import gamedata_meta
|
||||
from eos.types import Icon, Attribute, Item, Effect, MetaType, Group
|
||||
from eos.types import Icon, Attribute, Item, Effect, MetaType, Group, Traits
|
||||
|
||||
items_table = Table("invtypes", gamedata_meta,
|
||||
Column("typeID", Integer, primary_key = True),
|
||||
@@ -38,9 +38,8 @@ items_table = Table("invtypes", gamedata_meta,
|
||||
Column("iconID", Integer, ForeignKey("icons.iconID")),
|
||||
Column("groupID", Integer, ForeignKey("invgroups.groupID"), index=True))
|
||||
|
||||
|
||||
|
||||
from .metaGroup import metatypes_table
|
||||
from .traits import traits_table
|
||||
|
||||
mapper(Item, items_table,
|
||||
properties = {"group" : relation(Group, backref = "items"),
|
||||
@@ -52,6 +51,11 @@ mapper(Item, items_table,
|
||||
uselist = False),
|
||||
"ID" : synonym("typeID"),
|
||||
"name" : synonym("typeName"),
|
||||
"description" : deferred(items_table.c.description)})
|
||||
"description" : deferred(items_table.c.description),
|
||||
"traits" : relation(Traits,
|
||||
primaryjoin = traits_table.c.typeID == items_table.c.typeID,
|
||||
order_by = traits_table.c.typeID,
|
||||
uselist = True)
|
||||
})
|
||||
|
||||
Item.category = association_proxy("group", "category")
|
||||
|
||||
22
eos/db/gamedata/traits.py
Normal file
22
eos/db/gamedata/traits.py
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
from sqlalchemy import Column, Table, Integer, String, ForeignKey, and_, select
|
||||
from sqlalchemy.orm import mapper, column_property
|
||||
from eos.types import Item, Traits
|
||||
from eos.db import gamedata_meta
|
||||
|
||||
traits_table = Table("invtraits", gamedata_meta,
|
||||
Column("typeID", Integer, ForeignKey("invtypes.typeID"), primary_key=True),
|
||||
Column("skillID", Integer, ForeignKey("invtypes.typeID"), primary_key=True),
|
||||
Column("bonusText", String, primary_key=True))
|
||||
|
||||
|
||||
from .item import items_table
|
||||
|
||||
mapper(Traits, traits_table,
|
||||
properties = {"skillName" : column_property(
|
||||
select([items_table.c.typeName],
|
||||
and_(
|
||||
items_table.c.typeID == traits_table.c.skillID,
|
||||
traits_table.c.skillID != -1
|
||||
)))
|
||||
});
|
||||
@@ -3,7 +3,7 @@ import sqlalchemy
|
||||
def update(saveddata_engine):
|
||||
checkPriceFailures(saveddata_engine)
|
||||
checkApiDefaultChar(saveddata_engine)
|
||||
|
||||
checkFitBooster(saveddata_engine)
|
||||
|
||||
def checkPriceFailures(saveddata_engine):
|
||||
# Check if we have 'failed' column
|
||||
@@ -39,3 +39,21 @@ def checkApiDefaultChar(saveddata_engine):
|
||||
except sqlalchemy.exc.DatabaseError:
|
||||
saveddata_engine.execute("ALTER TABLE characters ADD COLUMN defaultChar INTEGER;")
|
||||
saveddata_engine.execute("ALTER TABLE characters ADD COLUMN chars VARCHAR;")
|
||||
|
||||
def checkFitBooster(saveddata_engine):
|
||||
try:
|
||||
saveddata_engine.execute("SELECT * FROM fits LIMIT 1")
|
||||
# If table doesn't exist, it means we're doing everything from scratch
|
||||
# and sqlalchemy will process everything as needed
|
||||
except sqlalchemy.exc.DatabaseError:
|
||||
pass
|
||||
# If not, we're running on top of existing DB
|
||||
else:
|
||||
# Check that we have columns
|
||||
try:
|
||||
saveddata_engine.execute("SELECT booster FROM fits LIMIT 1")
|
||||
# If we don't, create them
|
||||
except sqlalchemy.exc.DatabaseError:
|
||||
saveddata_engine.execute("ALTER TABLE fits ADD COLUMN booster BOOLEAN;")
|
||||
# Set NULL data to 0 (needed in case of downgrade, see GH issue #62
|
||||
saveddata_engine.execute("UPDATE fits SET booster = 0 WHERE booster IS NULL;")
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
# along with eos. If not, see <http://www.gnu.org/licenses/>.
|
||||
#===============================================================================
|
||||
|
||||
from sqlalchemy import Table, Column, Integer, ForeignKey, String
|
||||
from sqlalchemy import Table, Column, Integer, ForeignKey, String, Boolean
|
||||
from sqlalchemy.orm import relation, mapper
|
||||
from sqlalchemy.sql import and_
|
||||
|
||||
@@ -36,7 +36,8 @@ fits_table = Table("fits", saveddata_meta,
|
||||
Column("name", String, nullable = False),
|
||||
Column("timestamp", Integer, nullable = False),
|
||||
Column("characterID", ForeignKey("characters.ID"), nullable = True),
|
||||
Column("damagePatternID", ForeignKey("damagePatterns.ID"), nullable=True))
|
||||
Column("damagePatternID", ForeignKey("damagePatterns.ID"), nullable=True),
|
||||
Column("booster", Boolean, nullable = False, index = True, default = 0))
|
||||
|
||||
projectedFits_table = Table("projectedFits", saveddata_meta,
|
||||
Column("sourceID", ForeignKey("fits.ID"), primary_key = True),
|
||||
|
||||
@@ -248,6 +248,24 @@ def getFitsWithShip(shipID, ownerID=None, where=None, eager=None):
|
||||
raise TypeError("ShipID must be integer")
|
||||
return fits
|
||||
|
||||
def getBoosterFits(ownerID=None, where=None, eager=None):
|
||||
"""
|
||||
Get all the fits that are flagged as a boosting ship
|
||||
If no user is passed, do this for all users.
|
||||
"""
|
||||
|
||||
if ownerID is not None and not isinstance(ownerID, int):
|
||||
raise TypeError("OwnerID must be integer")
|
||||
filter = Fit.booster == 1
|
||||
if ownerID is not None:
|
||||
filter = and_(filter, Fit.ownerID == ownerID)
|
||||
|
||||
filter = processWhere(filter, where)
|
||||
eager = processEager(eager)
|
||||
with sd_lock:
|
||||
fits = saveddata_session.query(Fit).options(*eager).filter(filter).all()
|
||||
return fits
|
||||
|
||||
def countFitsWithShip(shipID, ownerID=None, where=None, eager=None):
|
||||
"""
|
||||
Get all the fits using a certain ship.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Modules from group: Capacitor Flux Coil (12 of 12)
|
||||
# Modules from group: Capacitor Power Relay (25 of 25)
|
||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
||||
# Modules from group: Power Diagnostic System (31 of 31)
|
||||
# Modules from group: Propulsion Module (107 of 107)
|
||||
# Modules from group: Reactor Control Unit (28 of 28)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Skill: Capital Energy Emission Systems
|
||||
# Skill: Capital Capacitor Emission Systems
|
||||
type = "passive"
|
||||
def handler(fit, skill, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Emission Systems"),
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Capacitor Emission Systems"),
|
||||
"capacitorNeed", skill.getModifiedItemAttr("capNeedBonus") * skill.level)
|
||||
@@ -6,6 +6,6 @@ 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)
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Emission Systems"),
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Capacitor Emission Systems"),
|
||||
"powerTransferRange", ship.getModifiedItemAttr("carrierAmarrBonus3") * level)
|
||||
|
||||
@@ -7,5 +7,5 @@ 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)
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Emission Systems"),
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Capacitor Emission Systems"),
|
||||
"powerTransferRange", ship.getModifiedItemAttr("carrierCaldariBonus3") * level)
|
||||
|
||||
@@ -5,7 +5,8 @@ gangBoost = "ewarStrRSD"
|
||||
type = "active", "gang"
|
||||
def handler(fit, module, context):
|
||||
if "gang" not in context: return
|
||||
for bonus in ("scanResolutionBonus", "maxTargetRangeBonus"):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Sensor Damper",
|
||||
bonus, module.getModifiedItemAttr("commandBonusRSD"),
|
||||
stackingPenalties = True)
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Sensor Damper",
|
||||
"maxTargetRangeBonus", module.getModifiedItemAttr("commandBonusRSD"))
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Sensor Damper",
|
||||
"scanResolutionBonus", module.getModifiedItemAttr("commandBonusRSD"),
|
||||
stackingPenalties=True)
|
||||
|
||||
@@ -5,6 +5,5 @@ gangBoost = "ewarStrTD"
|
||||
type = "active", "gang"
|
||||
def handler(fit, module, context):
|
||||
for bonus in ("maxRangeBonus", "falloffBonus", "trackingSpeedBonus"):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
bonus, module.getModifiedItemAttr("commandBonusTD"),
|
||||
stackingPenalties = True)
|
||||
fit.modules.filteredItemBoost(lambda mod: lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
||||
bonus, module.getModifiedItemAttr("commandBonusTD"))
|
||||
|
||||
@@ -4,7 +4,9 @@
|
||||
# Ships from group: Covert Ops (5 of 5)
|
||||
# Ships from group: Force Recon Ship (5 of 5)
|
||||
# Ships from group: Stealth Bomber (4 of 4)
|
||||
# Ships named like: Stratios (2 of 2)
|
||||
# Subsystems named like: Offensive Covert Reconfiguration (4 of 4)
|
||||
# Ship: Astero
|
||||
type = "passive"
|
||||
def handler(fit, container, context):
|
||||
fit.modules.filteredItemForce(lambda mod: mod.item.group.name == "Cloaking Device",
|
||||
|
||||
@@ -7,5 +7,6 @@ def handler(fit, module, context):
|
||||
bonus = "%s%sDamageResonance" % (attrPrefix, damageType)
|
||||
bonus = "%s%s" % (bonus[0].lower(), bonus[1:])
|
||||
booster = "%s%sDamageResonance" % (layer, damageType)
|
||||
penalize = False if layer == 'hull' else True
|
||||
fit.ship.multiplyItemAttr(bonus, module.getModifiedItemAttr(booster),
|
||||
stackingPenalties=True, penaltyGroup="preMul")
|
||||
stackingPenalties=penalize, penaltyGroup="preMul")
|
||||
|
||||
14
eos/effects/dronetrackingcomputerbonus.py
Normal file
14
eos/effects/dronetrackingcomputerbonus.py
Normal file
@@ -0,0 +1,14 @@
|
||||
# Used by:
|
||||
# Modules from group: Drone Tracking Modules (7 of 7)
|
||||
type = "active"
|
||||
def handler(fit, module, context):
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
|
||||
"maxRange", module.getModifiedItemAttr("maxRangeBonus"),
|
||||
stackingPenalties=True)
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
|
||||
"falloff", module.getModifiedItemAttr("falloffBonus"),
|
||||
stackingPenalties=True)
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Drones"),
|
||||
"trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
|
||||
stackingPenalties=True)
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
# Used by:
|
||||
# Modules from group: Drone Tracking Modules (7 of 7)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill("Drones"),
|
||||
"trackingSpeed", module.getModifiedItemAttr("trackingSpeedMultiplier"),
|
||||
stackingPenalties = True, penaltyGroup="postMul")
|
||||
fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill("Drones"),
|
||||
"maxRange", module.getModifiedItemAttr("maxRangeMultiplier"),
|
||||
stackingPenalties = True, penaltyGroup="postMul")
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Ship: Kronos
|
||||
# Ship: Paladin
|
||||
# Used by:
|
||||
# Ship: Kronos
|
||||
# Ship: Paladin
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Marauders").level
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Used by:
|
||||
# Ship: Impel
|
||||
# Ship: Occator
|
||||
# Ship: Prorator
|
||||
# Used by:
|
||||
# Ship: Impel
|
||||
# Ship: Occator
|
||||
# Ship: Prorator
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Transport Ships").level
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Ship: Viator
|
||||
# Used by:
|
||||
# Ship: Viator
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Transport Ships").level
|
||||
|
||||
@@ -4,5 +4,7 @@
|
||||
type = "passive"
|
||||
def handler(fit, container, context):
|
||||
level = container.level if "skill" in context else 1
|
||||
penalized = False if "skill" in context else True
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Remote Sensor Damper",
|
||||
"scanResolutionBonus", container.getModifiedItemAttr("scanSkillEwStrengthBonus") * level)
|
||||
"scanResolutionBonus", container.getModifiedItemAttr("scanSkillEwStrengthBonus") * level,
|
||||
stackingPenalties=penalized)
|
||||
|
||||
5
eos/effects/ewskilltrackingdisruptionmaxrangebonus.py → eos/effects/ewskilltrackingdisruptionrangedisruptionbonus.py
Executable file → Normal file
5
eos/effects/ewskilltrackingdisruptionmaxrangebonus.py → eos/effects/ewskilltrackingdisruptionrangedisruptionbonus.py
Executable file → Normal file
@@ -5,6 +5,5 @@ type = "passive"
|
||||
def handler(fit, container, context):
|
||||
level = container.level if "skill" in context else 1
|
||||
for attr in ("maxRangeBonus", "falloffBonus"):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
attr, container.getModifiedItemAttr("scanSkillEwStrengthBonus") * level,
|
||||
stackingPenalties = "skill" not in context)
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
||||
attr, container.getModifiedItemAttr("scanSkillEwStrengthBonus") * level)
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Modules from group: Magnetic Field Stabilizer (19 of 19)
|
||||
# Modules from group: Magnetic Field Stabilizer (20 of 20)
|
||||
# Modules named like: QA Multiship Module Players (4 of 4)
|
||||
# Module: QA Damage Module
|
||||
type = "passive"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Modules from group: Magnetic Field Stabilizer (19 of 19)
|
||||
# Modules from group: Magnetic Field Stabilizer (20 of 20)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.modules.filteredItemMultiply(lambda mod: mod.item.group.name == "Hybrid Weapon",
|
||||
|
||||
@@ -9,8 +9,9 @@ def handler(fit, module, context):
|
||||
bonus = "%s%sDamageResonance" % (attrPrefix, damageType)
|
||||
bonus = "%s%s" % (bonus[0].lower(), bonus[1:])
|
||||
booster = "%s%sDamageResonance" % (layer, damageType)
|
||||
penalize = False if layer == 'hull' else True
|
||||
fit.ship.multiplyItemAttr(bonus, module.getModifiedItemAttr(booster),
|
||||
stackingPenalties=True, penaltyGroup="preMul")
|
||||
stackingPenalties=penalize, penaltyGroup="preMul")
|
||||
|
||||
# Turrets
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret") or \
|
||||
@@ -26,7 +27,8 @@ def handler(fit, module, context):
|
||||
|
||||
# Missiles
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Torpedoes") or \
|
||||
mod.charge.requiresSkill("Cruise Missiles"),
|
||||
mod.charge.requiresSkill("Cruise Missiles") or \
|
||||
mod.charge.requiresSkill("Heavy Missiles"),
|
||||
"maxVelocity", module.getModifiedItemAttr("missileVelocityBonus"))
|
||||
|
||||
# Tanking
|
||||
@@ -1,8 +1,13 @@
|
||||
# Used by:
|
||||
# Ships from group: Covert Ops (5 of 5)
|
||||
# Ships from group: Frigate (10 of 43)
|
||||
# Ships named like: Stratios (2 of 2)
|
||||
# Subsystems named like: Electronics Emergent Locus Analyzer (4 of 4)
|
||||
# Variations of ship: Heron (3 of 3)
|
||||
# Variations of ship: Imicus (3 of 3)
|
||||
# Variations of ship: Magnate (4 of 6)
|
||||
# Variations of ship: Probe (3 of 3)
|
||||
# Ship: Astero
|
||||
# Ship: Nestor
|
||||
type = "passive"
|
||||
def handler(fit, container, context):
|
||||
level = container.level if "skill" in context else 1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Implants named like: Crash Booster (4 of 4)
|
||||
type = "passive"
|
||||
def handler(fit, implant, context):
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||
"aoeCloudSize", implant.getModifiedItemAttr("aoeCloudSizeBonus"))
|
||||
# Used by:
|
||||
# Implants named like: Crash Booster (4 of 4)
|
||||
type = "passive"
|
||||
def handler(fit, implant, context):
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||
"aoeCloudSize", implant.getModifiedItemAttr("aoeCloudSizeBonus"))
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Modules from group: Armor Hardener (156 of 156)
|
||||
# Used by:
|
||||
# Modules from group: Armor Hardener (156 of 156)
|
||||
type = "active"
|
||||
def handler(fit, module, context):
|
||||
for damageType in ("kinetic", "thermal", "explosive", "em"):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Modules from group: Shield Hardener (97 of 97)
|
||||
# Used by:
|
||||
# Modules from group: Shield Hardener (97 of 97)
|
||||
type = "active"
|
||||
def handler(fit, module, context):
|
||||
for damageType in ("kinetic", "thermal", "explosive", "em"):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Modules from group: Capacitor Flux Coil (12 of 12)
|
||||
# Modules from group: Capacitor Power Relay (25 of 25)
|
||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
||||
# Modules from group: Capacitor Recharger (25 of 25)
|
||||
# Modules from group: Power Diagnostic System (31 of 31)
|
||||
# Modules from group: Reactor Control Unit (28 of 28)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Modules from group: Capacitor Flux Coil (12 of 12)
|
||||
# Modules from group: Capacitor Power Relay (25 of 25)
|
||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
||||
# Modules from group: Power Diagnostic System (31 of 31)
|
||||
# Modules from group: Reactor Control Unit (28 of 28)
|
||||
# Modules from group: Shield Flux Coil (11 of 11)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Modules named like: Processor Overclocking Unit II (4 of 4)
|
||||
# Modules named like: Processor Overclocking Unit (8 of 8)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
fit.ship.multiplyItemAttr("shieldRechargeRate", module.getModifiedItemAttr("shieldRechargeRateMultiplier"))
|
||||
|
||||
@@ -2,12 +2,10 @@
|
||||
# Modules from group: Energy Weapon (100 of 183)
|
||||
# Modules from group: Hybrid Weapon (110 of 199)
|
||||
# Modules from group: Missile Launcher Citadel (4 of 4)
|
||||
# Modules from group: Missile Launcher Cruise (20 of 20)
|
||||
# Modules from group: Missile Launcher Heavy (12 of 12)
|
||||
# Modules from group: Missile Launcher Rocket (14 of 14)
|
||||
# Modules from group: Missile Launcher Torpedo (21 of 21)
|
||||
# Modules from group: Projectile Weapon (60 of 143)
|
||||
# Modules named like: Missile Launcher (81 of 82)
|
||||
# Modules named like: Launcher (124 of 137)
|
||||
type = "overheat"
|
||||
def handler(fit, module, context):
|
||||
module.boostItemAttr("speed", module.getModifiedItemAttr("overloadRofBonus"))
|
||||
|
||||
@@ -6,9 +6,11 @@
|
||||
# Modules from group: Remote Armor Repairer (38 of 38)
|
||||
# Modules from group: Remote Capacitor Transmitter (38 of 38)
|
||||
# Modules from group: Remote Shield Booster (39 of 39)
|
||||
# Modules from group: Smart Bomb (118 of 118)
|
||||
# Module: QA Remote Armor Repair System - 5 Players
|
||||
# Module: QA Shield Transporter - 5 Players
|
||||
# Module: Reactive Armor Hardener
|
||||
# Module: Target Spectrum Breaker
|
||||
type = "overheat"
|
||||
def handler(fit, module, context):
|
||||
module.boostItemAttr("duration", module.getModifiedItemAttr("overloadSelfDurationBonus"))
|
||||
module.boostItemAttr("duration", module.getModifiedItemAttr("overloadSelfDurationBonus") or 0)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Used by:
|
||||
# Modules from group: ECCM (44 of 44)
|
||||
# Modules from group: Projected ECCM (7 of 7)
|
||||
type = "overheat"
|
||||
def handler(fit, module, context):
|
||||
for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
|
||||
module.boostItemAttr("scan%sStrengthPercent" % scanType,
|
||||
module.getModifiedItemAttr("overloadECCMStrenghtBonus"),
|
||||
stackingPenalties = True)
|
||||
module.getModifiedItemAttr("overloadECCMStrenghtBonus"))
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# Used by:
|
||||
# Modules from group: ECM (44 of 44)
|
||||
# Modules from group: ECM Burst (7 of 7)
|
||||
type = "overheat"
|
||||
def handler(fit, module, context):
|
||||
for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
|
||||
|
||||
5
eos/effects/overloadselfpainterbonus.py
Normal file
5
eos/effects/overloadselfpainterbonus.py
Normal file
@@ -0,0 +1,5 @@
|
||||
# Used by:
|
||||
# Modules from group: Target Painter (9 of 9)
|
||||
type = "overheat"
|
||||
def handler(fit, module, context):
|
||||
module.boostItemAttr("signatureRadiusBonus", module.getModifiedItemAttr("overloadPainterStrengthBonus") or 0)
|
||||
9
eos/effects/overloadselfsensormodulebonus.py
Normal file
9
eos/effects/overloadselfsensormodulebonus.py
Normal file
@@ -0,0 +1,9 @@
|
||||
# Used by:
|
||||
# Modules from group: Remote Sensor Booster (8 of 8)
|
||||
# Modules from group: Remote Sensor Damper (9 of 9)
|
||||
# Modules from group: Sensor Booster (12 of 12)
|
||||
type = "overheat"
|
||||
def handler(fit, module, context):
|
||||
module.boostItemAttr("maxTargetRangeBonus", module.getModifiedItemAttr("overloadSensorModuleStrengthBonus"))
|
||||
module.boostItemAttr("scanResolutionBonus", module.getModifiedItemAttr("overloadSensorModuleStrengthBonus"),
|
||||
stackingPenalties=True)
|
||||
10
eos/effects/overloadselftrackingmodulebonus.py
Normal file
10
eos/effects/overloadselftrackingmodulebonus.py
Normal file
@@ -0,0 +1,10 @@
|
||||
# Used by:
|
||||
# Modules from group: Drone Tracking Modules (7 of 7)
|
||||
# Modules from group: Remote Tracking Computer (10 of 10)
|
||||
# Modules from group: Tracking Computer (14 of 14)
|
||||
# Modules from group: Tracking Disruptor (10 of 10)
|
||||
type = "overheat"
|
||||
def handler(fit, module, context):
|
||||
module.boostItemAttr("maxRangeBonus", module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
|
||||
module.boostItemAttr("falloffBonus", module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
|
||||
module.boostItemAttr("trackingSpeedBonus", module.getModifiedItemAttr("overloadTrackingModuleStrengthBonus"))
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Modules from group: Capacitor Flux Coil (12 of 12)
|
||||
# Modules from group: Capacitor Power Relay (25 of 25)
|
||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
||||
# Modules from group: Power Diagnostic System (31 of 31)
|
||||
# Modules from group: Reactor Control Unit (28 of 28)
|
||||
# Modules from group: Shield Flux Coil (11 of 11)
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# Used by:
|
||||
# Modules from group: Remote Hull Repairer (7 of 7)
|
||||
# Drones named like: Hull Maintenance Bot (6 of 6)
|
||||
type = "projected", "active"
|
||||
runTime = "late"
|
||||
def handler(fit, module, context):
|
||||
|
||||
8
eos/effects/repairdronehullbonusbonus.py
Normal file
8
eos/effects/repairdronehullbonusbonus.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# Used by:
|
||||
# Modules named like: Drone Repair Augmentor (8 of 8)
|
||||
# Skill: Repair Drone Operation
|
||||
type = "passive"
|
||||
def handler(fit, container, context):
|
||||
level = container.level if "skill" in context else 1
|
||||
fit.drones.filteredItemBoost(lambda drone: drone.item.group.name == "Logistic Drone",
|
||||
"structureDamageAmount", container.getModifiedItemAttr("damageHP") * level)
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Implants from group: Cyberimplant (20 of 155)
|
||||
# Implants from group: Cyberimplant (20 of 157)
|
||||
type = "passive"
|
||||
def handler(fit, implant, context):
|
||||
for type in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Modules from group: Capacitor Power Relay (25 of 25)
|
||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
||||
# Modules from group: Shield Boost Amplifier (25 of 25)
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Modules from group: Capacitor Flux Coil (12 of 12)
|
||||
# Modules from group: Capacitor Power Relay (25 of 25)
|
||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
||||
# Modules from group: Power Diagnostic System (31 of 31)
|
||||
# Modules from group: Reactor Control Unit (28 of 28)
|
||||
# Modules from group: Shield Flux Coil (11 of 11)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Used by:
|
||||
# Ships named like: Punisher (2 of 2)
|
||||
# Ship: Astero
|
||||
# Ship: Malice
|
||||
# Ship: Punisher
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Frigate").level
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Used by:
|
||||
# Ships named like: Punisher (2 of 2)
|
||||
# Ship: Astero
|
||||
# Ship: Malice
|
||||
# Ship: Punisher
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Frigate").level
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Used by:
|
||||
# Ships named like: Punisher (2 of 2)
|
||||
# Ship: Astero
|
||||
# Ship: Malice
|
||||
# Ship: Punisher
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Frigate").level
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Used by:
|
||||
# Ship: Incursus
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Frigate").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
|
||||
"armorDamageAmount", ship.getModifiedItemAttr("shipBonusGF2") * level)
|
||||
# Used by:
|
||||
# Ships named like: Incursus (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Frigate").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
|
||||
"armorDamageAmount", ship.getModifiedItemAttr("shipBonusGF2") * level)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Used by:
|
||||
# Ships named like: Punisher (2 of 2)
|
||||
# Ship: Astero
|
||||
# Ship: Malice
|
||||
# Ship: Punisher
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Frigate").level
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# Used by:
|
||||
# Ship: Abaddon
|
||||
# Ships named like: Abaddon (2 of 2)
|
||||
# Ship: Nestor
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Battleship").level
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Used by:
|
||||
# Variations of ship: Mammoth (2 of 2)
|
||||
# Variations of ship: Wreathe (2 of 2)
|
||||
# Ship: Mammoth Nefantar Edition
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Industrial").level
|
||||
|
||||
2
eos/effects/dreadnoughtshipbonuslauncherrofc1.py → eos/effects/shipbonusdreadcitadelcruiserofc1.py
Executable file → Normal file
2
eos/effects/dreadnoughtshipbonuslauncherrofc1.py → eos/effects/shipbonusdreadcitadelcruiserofc1.py
Executable file → Normal file
@@ -3,5 +3,5 @@
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Dreadnought").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Citadel",
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Citadel Cruise Missiles"),
|
||||
"speed", ship.getModifiedItemAttr("dreadnoughtShipBonusC1") * level)
|
||||
7
eos/effects/shipbonusdreadcitadeltorprofc1.py
Normal file
7
eos/effects/shipbonusdreadcitadeltorprofc1.py
Normal file
@@ -0,0 +1,7 @@
|
||||
# Used by:
|
||||
# Ship: Phoenix
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Dreadnought").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Citadel Torpedoes"),
|
||||
"speed", ship.getModifiedItemAttr("dreadnoughtShipBonusC1") * level)
|
||||
@@ -1,5 +1,6 @@
|
||||
# Used by:
|
||||
# Variations of ship: Dominix (3 of 3)
|
||||
# Ship: Nestor
|
||||
# Ship: Rattlesnake
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
# Used by:
|
||||
# Variations of ship: Dominix (3 of 3)
|
||||
# Ship: Nestor
|
||||
# Ship: Rattlesnake
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Ships named like: Rokh (2 of 2)
|
||||
# Ship: Rattlesnake
|
||||
# Ship: Rokh
|
||||
# Ship: Scorpion Navy Issue
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
# Used by:
|
||||
# Ship: Crucifier
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Frigate").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
"maxRangeBonus", ship.getModifiedItemAttr("shipBonusAF") * level)
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
"falloffBonus", ship.getModifiedItemAttr("shipBonusAF") * level)
|
||||
4
eos/effects/shipbonusewweapondisruptionmaxrangebonusac1.py → eos/effects/shipbonusewweapondisruptionrangedisruptionbonusac1.py
Executable file → Normal file
4
eos/effects/shipbonusewweapondisruptionmaxrangebonusac1.py → eos/effects/shipbonusewweapondisruptionrangedisruptionbonusac1.py
Executable file → Normal file
@@ -3,7 +3,7 @@
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Cruiser").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
||||
"maxRangeBonus", ship.getModifiedItemAttr("shipBonusAC") * level)
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
||||
"falloffBonus", ship.getModifiedItemAttr("shipBonusAC") * level)
|
||||
6
eos/effects/shipbonusewweapondisruptionmaxrangebonusaf2.py → eos/effects/shipbonusewweapondisruptionrangedisruptionbonusaf2.py
Executable file → Normal file
6
eos/effects/shipbonusewweapondisruptionmaxrangebonusaf2.py → eos/effects/shipbonusewweapondisruptionrangedisruptionbonusaf2.py
Executable file → Normal file
@@ -1,9 +1,9 @@
|
||||
# Used by:
|
||||
# Ship: Sentinel
|
||||
# Variations of ship: Crucifier (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Frigate").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
||||
"maxRangeBonus", ship.getModifiedItemAttr("shipBonus2AF") * level)
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
||||
"falloffBonus", ship.getModifiedItemAttr("shipBonus2AF") * level)
|
||||
4
eos/effects/shipbonusewweapondisruptionmaxrangebonusrookie.py → eos/effects/shipbonusewweapondisruptionrangedisruptionrookie.py
Executable file → Normal file
4
eos/effects/shipbonusewweapondisruptionmaxrangebonusrookie.py → eos/effects/shipbonusewweapondisruptionrangedisruptionrookie.py
Executable file → Normal file
@@ -2,7 +2,7 @@
|
||||
# Ship: Impairor
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
||||
"maxRangeBonus", ship.getModifiedItemAttr("rookieWeaponDisruptionBonus"))
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Tracking Disruptor",
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
||||
"falloffBonus", ship.getModifiedItemAttr("rookieWeaponDisruptionBonus"))
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Ships named like: Rokh (2 of 2)
|
||||
# Ship: Rattlesnake
|
||||
# Ship: Rokh
|
||||
# Ship: Scorpion Navy Issue
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Ship: Rokh
|
||||
# Ships named like: Rokh (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Battleship").level
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Used by:
|
||||
# Ship: Ares
|
||||
# Ship: Federation Navy Comet
|
||||
# Ship: Police Pursuit Comet
|
||||
# Ship: Tristan
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Ships named like: Rokh (2 of 2)
|
||||
# Ship: Rattlesnake
|
||||
# Ship: Rokh
|
||||
# Ship: Scorpion Navy Issue
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Ship: Abaddon
|
||||
# Ships named like: Abaddon (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Battleship").level
|
||||
|
||||
6
eos/effects/shipbonusletoptimalrangepiratefaction.py
Normal file
6
eos/effects/shipbonusletoptimalrangepiratefaction.py
Normal file
@@ -0,0 +1,6 @@
|
||||
# Used by:
|
||||
# Ship: Nestor
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Energy Turret"),
|
||||
"maxRange", ship.getModifiedItemAttr("shipBonusPirateFaction"))
|
||||
6
eos/effects/shipbonusremoterepairamountpiratefaction.py
Normal file
6
eos/effects/shipbonusremoterepairamountpiratefaction.py
Normal file
@@ -0,0 +1,6 @@
|
||||
# Used by:
|
||||
# Ship: Nestor
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
|
||||
"armorDamageAmount", ship.getModifiedItemAttr("shipBonusPirateFaction"))
|
||||
6
eos/effects/shipbonusremoterepairrangepiratefaction2.py
Normal file
6
eos/effects/shipbonusremoterepairrangepiratefaction2.py
Normal file
@@ -0,0 +1,6 @@
|
||||
# Used by:
|
||||
# Ship: Nestor
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Remote Armor Repair Systems"),
|
||||
"maxRange", ship.getModifiedItemAttr("shipBonusPirateFaction2"))
|
||||
@@ -1,7 +1,7 @@
|
||||
# Used by:
|
||||
# Ship: Hyperion
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Battleship").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
|
||||
"armorDamageAmount", ship.getModifiedItemAttr("shipBonusGB2") * level)
|
||||
# Used by:
|
||||
# Ships named like: Hyperion (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Gallente Battleship").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
|
||||
"armorDamageAmount", ship.getModifiedItemAttr("shipBonusGB2") * level)
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Ship: Vangel
|
||||
# Used by:
|
||||
# Ship: Vangel
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Repair Systems"),
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Ship: Maelstrom
|
||||
# Ships named like: Maelstrom (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Battleship").level
|
||||
|
||||
7
eos/effects/shipbonussptfalloffmf2.py
Normal file
7
eos/effects/shipbonussptfalloffmf2.py
Normal file
@@ -0,0 +1,7 @@
|
||||
# Used by:
|
||||
# Ships named like: Rifter (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Frigate").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
|
||||
"falloff", ship.getModifiedItemAttr("shipBonusMF2") * level)
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Ships named like: Rokh (2 of 2)
|
||||
# Ship: Rattlesnake
|
||||
# Ship: Rokh
|
||||
# Ship: Scorpion Navy Issue
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Ship: Bhaalgorn
|
||||
# Used by:
|
||||
# Ship: Bhaalgorn
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Battleship").level
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Ships named like: Hyperion (2 of 2)
|
||||
# Ship: Dominix Navy Issue
|
||||
# Ship: Hyperion
|
||||
# Ship: Kronos
|
||||
# Ship: Megathron Federate Issue
|
||||
# Ship: Sin
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Ship: Merlin
|
||||
# Ships named like: Merlin (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Frigate").level
|
||||
|
||||
9
eos/effects/shipmissilerofmf2.py
Normal file
9
eos/effects/shipmissilerofmf2.py
Normal file
@@ -0,0 +1,9 @@
|
||||
# Used by:
|
||||
# Ship: Breacher
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Frigate").level
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Missile Launcher Operation"),
|
||||
"speed", ship.getModifiedItemAttr("shipBonusMF2") * level)
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# Ship: Cheetah
|
||||
# Ship: Freki
|
||||
# Ship: Republic Fleet Firetail
|
||||
# Ship: Rifter Krusual Edition
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Frigate").level
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
# Used by:
|
||||
# Variations of ship: Rifter (3 of 3)
|
||||
# Variations of ship: Slasher (3 of 3)
|
||||
# Ship: Jaguar
|
||||
# Ship: Republic Fleet Firetail
|
||||
# Ship: Wolf
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Frigate").level
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Used by:
|
||||
# Ships named like: Maelstrom (2 of 2)
|
||||
# Variations of ship: Tempest (4 of 4)
|
||||
# Ship: Maelstrom
|
||||
# Ship: Panther
|
||||
# Ship: Typhoon Fleet Issue
|
||||
type = "passive"
|
||||
|
||||
6
eos/effects/shipscanprobestrengthbonuspiratefaction.py
Normal file
6
eos/effects/shipscanprobestrengthbonuspiratefaction.py
Normal file
@@ -0,0 +1,6 @@
|
||||
# Used by:
|
||||
# Ship: Nestor
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Astrometrics"),
|
||||
"baseSensorStrength", ship.getModifiedItemAttr("shipBonusPirateFaction"))
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Ship: Punisher
|
||||
# Ships named like: Punisher (2 of 2)
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Amarr Frigate").level
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Used by:
|
||||
# Variations of ship: Merlin (3 of 4)
|
||||
# Ship: Cambion
|
||||
# Ship: Merlin Nugoeihuvi Edition
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Frigate").level
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Used by:
|
||||
# Variations of ship: Merlin (3 of 4)
|
||||
# Ship: Cambion
|
||||
# Ship: Merlin Nugoeihuvi Edition
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Frigate").level
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Used by:
|
||||
# Variations of ship: Merlin (3 of 4)
|
||||
# Ship: Cambion
|
||||
# Ship: Merlin Nugoeihuvi Edition
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Frigate").level
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
# Used by:
|
||||
# Variations of ship: Merlin (3 of 4)
|
||||
# Ship: Cambion
|
||||
# Ship: Merlin Nugoeihuvi Edition
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Caldari Frigate").level
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
# Ship: Atron
|
||||
# Ship: Federation Navy Comet
|
||||
# Ship: Helios
|
||||
# Ship: Incursus Aliastra Edition
|
||||
# Ship: Police Pursuit Comet
|
||||
# Ship: Taranis
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# Used by:
|
||||
# Ship: Breacher
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Frigate").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
|
||||
"emDamage", ship.getModifiedItemAttr("shipBonusMF2") * level)
|
||||
@@ -1,7 +0,0 @@
|
||||
# Used by:
|
||||
# Ship: Breacher
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Frigate").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
|
||||
"explosiveDamage", ship.getModifiedItemAttr("shipBonusMF2") * level)
|
||||
@@ -1,7 +0,0 @@
|
||||
# Used by:
|
||||
# Ship: Breacher
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Frigate").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
|
||||
"kineticDamage", ship.getModifiedItemAttr("shipBonusMF2") * level)
|
||||
@@ -1,7 +0,0 @@
|
||||
# Used by:
|
||||
# Ship: Breacher
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
level = fit.character.getSkill("Minmatar Frigate").level
|
||||
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Rockets") or mod.charge.requiresSkill("Light Missiles"),
|
||||
"thermalDamage", ship.getModifiedItemAttr("shipBonusMF2") * level)
|
||||
@@ -1,6 +1,7 @@
|
||||
# Used by:
|
||||
# Variations of ship: Mammoth (2 of 2)
|
||||
# Ship: Hoarder
|
||||
# Ship: Mammoth Nefantar Edition
|
||||
# Ship: Prowler
|
||||
type = "passive"
|
||||
def handler(fit, ship, context):
|
||||
|
||||
@@ -7,14 +7,12 @@ def handler(fit, module, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret") or \
|
||||
mod.item.requiresSkill("Capital Hybrid Turret") or \
|
||||
mod.item.requiresSkill("Capital Projectile Turret"),
|
||||
"damageMultiplier", module.getModifiedItemAttr("damageMultiplierBonus"),
|
||||
stackingPenalties=True)
|
||||
"damageMultiplier", module.getModifiedItemAttr("damageMultiplierBonus"))
|
||||
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Capital Energy Turret") or \
|
||||
mod.item.requiresSkill("Capital Hybrid Turret") or \
|
||||
mod.item.requiresSkill("Capital Projectile Turret"),
|
||||
"trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"),
|
||||
stackingPenalties=True)
|
||||
"trackingSpeed", module.getModifiedItemAttr("trackingSpeedBonus"))
|
||||
|
||||
#Missiles
|
||||
for type in ("kinetic", "thermal", "explosive", "em"):
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Skill: Armor Resistance Phasing
|
||||
# Used by:
|
||||
# Skill: Armor Resistance Phasing
|
||||
type = "passive"
|
||||
def handler(fit, skill, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Resistance Shift Hardener",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Skill: Armor Resistance Phasing
|
||||
# Used by:
|
||||
# Skill: Armor Resistance Phasing
|
||||
type = "passive"
|
||||
def handler(fit, skill, context):
|
||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Armor Resistance Shift Hardener",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Subsystem: Legion Defensive - Nanobot Injector
|
||||
# Used by:
|
||||
# Subsystem: Legion Defensive - Nanobot Injector
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
level = fit.character.getSkill("Amarr Defensive Systems").level
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# Used by:
|
||||
# Subsystem: Proteus Defensive - Nanobot Injector
|
||||
# Used by:
|
||||
# Subsystem: Proteus Defensive - Nanobot Injector
|
||||
type = "passive"
|
||||
def handler(fit, module, context):
|
||||
level = fit.character.getSkill("Gallente Defensive Systems").level
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user