Merge branch 'master' into wx3
This commit is contained in:
180
config.py
180
config.py
@@ -1,90 +1,90 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
# Load variable overrides specific to distribution type
|
# Load variable overrides specific to distribution type
|
||||||
try:
|
try:
|
||||||
import configforced
|
import configforced
|
||||||
except ImportError:
|
except ImportError:
|
||||||
configforced = None
|
configforced = None
|
||||||
|
|
||||||
# Turns on debug mode
|
# Turns on debug mode
|
||||||
debug = False
|
debug = False
|
||||||
# Defines if our saveddata will be in pyfa root or not
|
# Defines if our saveddata will be in pyfa root or not
|
||||||
saveInRoot = False
|
saveInRoot = False
|
||||||
|
|
||||||
# Version data
|
# Version data
|
||||||
version = "1.7.2"
|
version = "1.10.1"
|
||||||
tag = "git"
|
tag = "git"
|
||||||
expansionName = "Rhea"
|
expansionName = "Scylla"
|
||||||
expansionVersion = "1.0"
|
expansionVersion = "1.0"
|
||||||
evemonMinVersion = "4081"
|
evemonMinVersion = "4081"
|
||||||
|
|
||||||
# Database version (int ONLY)
|
# Database version (int ONLY)
|
||||||
# Increment every time we need to flag for user database upgrade/modification
|
# Increment every time we need to flag for user database upgrade/modification
|
||||||
dbversion = 3
|
dbversion = 6
|
||||||
|
|
||||||
pyfaPath = None
|
pyfaPath = None
|
||||||
savePath = None
|
savePath = None
|
||||||
staticPath = None
|
staticPath = None
|
||||||
saveDB = None
|
saveDB = None
|
||||||
gameDB = None
|
gameDB = None
|
||||||
|
|
||||||
def defPaths():
|
def defPaths():
|
||||||
global pyfaPath
|
global pyfaPath
|
||||||
global savePath
|
global savePath
|
||||||
global staticPath
|
global staticPath
|
||||||
global saveDB
|
global saveDB
|
||||||
global gameDB
|
global gameDB
|
||||||
global saveInRoot
|
global saveInRoot
|
||||||
# The main pyfa directory which contains run.py
|
# The main pyfa directory which contains run.py
|
||||||
# Python 2.X uses ANSI by default, so we need to convert the character encoding
|
# Python 2.X uses ANSI by default, so we need to convert the character encoding
|
||||||
pyfaPath = getattr(configforced, "pyfaPath", pyfaPath)
|
pyfaPath = getattr(configforced, "pyfaPath", pyfaPath)
|
||||||
if pyfaPath is None:
|
if pyfaPath is None:
|
||||||
pyfaPath = unicode(os.path.dirname(os.path.realpath(os.path.abspath(
|
pyfaPath = unicode(os.path.dirname(os.path.realpath(os.path.abspath(
|
||||||
sys.modules['__main__'].__file__))), sys.getfilesystemencoding())
|
sys.modules['__main__'].__file__))), sys.getfilesystemencoding())
|
||||||
|
|
||||||
# Where we store the saved fits etc, default is the current users home directory
|
# Where we store the saved fits etc, default is the current users home directory
|
||||||
if saveInRoot is True:
|
if saveInRoot is True:
|
||||||
savePath = getattr(configforced, "savePath", None)
|
savePath = getattr(configforced, "savePath", None)
|
||||||
if savePath is None:
|
if savePath is None:
|
||||||
savePath = os.path.join(pyfaPath, "saveddata")
|
savePath = os.path.join(pyfaPath, "saveddata")
|
||||||
else:
|
else:
|
||||||
savePath = getattr(configforced, "savePath", None)
|
savePath = getattr(configforced, "savePath", None)
|
||||||
if savePath is None:
|
if savePath is None:
|
||||||
savePath = unicode(os.path.expanduser(os.path.join("~", ".pyfa")),
|
savePath = unicode(os.path.expanduser(os.path.join("~", ".pyfa")),
|
||||||
sys.getfilesystemencoding())
|
sys.getfilesystemencoding())
|
||||||
|
|
||||||
# Redirect stderr to file if we're requested to do so
|
# Redirect stderr to file if we're requested to do so
|
||||||
stderrToFile = getattr(configforced, "stderrToFile", None)
|
stderrToFile = getattr(configforced, "stderrToFile", None)
|
||||||
if stderrToFile is True:
|
if stderrToFile is True:
|
||||||
if not os.path.exists(savePath):
|
if not os.path.exists(savePath):
|
||||||
os.mkdir(savePath)
|
os.mkdir(savePath)
|
||||||
sys.stderr = open(os.path.join(savePath, "error_log.txt"), "w")
|
sys.stderr = open(os.path.join(savePath, "error_log.txt"), "w")
|
||||||
|
|
||||||
# Same for stdout
|
# Same for stdout
|
||||||
stdoutToFile = getattr(configforced, "stdoutToFile", None)
|
stdoutToFile = getattr(configforced, "stdoutToFile", None)
|
||||||
if stdoutToFile is True:
|
if stdoutToFile is True:
|
||||||
if not os.path.exists(savePath):
|
if not os.path.exists(savePath):
|
||||||
os.mkdir(savePath)
|
os.mkdir(savePath)
|
||||||
sys.stdout = open(os.path.join(savePath, "output_log.txt"), "w")
|
sys.stdout = open(os.path.join(savePath, "output_log.txt"), "w")
|
||||||
|
|
||||||
# Static EVE Data from the staticdata repository, should be in the staticdata
|
# Static EVE Data from the staticdata repository, should be in the staticdata
|
||||||
# directory in our pyfa directory
|
# directory in our pyfa directory
|
||||||
staticPath = os.path.join(pyfaPath, "staticdata")
|
staticPath = os.path.join(pyfaPath, "staticdata")
|
||||||
|
|
||||||
# The database where we store all the fits etc
|
# The database where we store all the fits etc
|
||||||
saveDB = os.path.join(savePath, "saveddata.db")
|
saveDB = os.path.join(savePath, "saveddata.db")
|
||||||
|
|
||||||
# The database where the static EVE data from the datadump is kept.
|
# The database where the static EVE data from the datadump is kept.
|
||||||
# This is not the standard sqlite datadump but a modified version created by eos
|
# This is not the standard sqlite datadump but a modified version created by eos
|
||||||
# maintenance script
|
# maintenance script
|
||||||
gameDB = os.path.join(staticPath, "eve.db")
|
gameDB = os.path.join(staticPath, "eve.db")
|
||||||
|
|
||||||
## DON'T MODIFY ANYTHING BELOW ##
|
## DON'T MODIFY ANYTHING BELOW ##
|
||||||
import eos.config
|
import eos.config
|
||||||
|
|
||||||
#Caching modifiers, disable all gamedata caching, its unneeded.
|
#Caching modifiers, disable all gamedata caching, its unneeded.
|
||||||
eos.config.gamedataCache = False
|
eos.config.gamedataCache = False
|
||||||
# saveddata db location modifier, shouldn't ever need to touch this
|
# saveddata db location modifier, shouldn't ever need to touch this
|
||||||
eos.config.saveddata_connectionstring = "sqlite:///" + saveDB + "?check_same_thread=False"
|
eos.config.saveddata_connectionstring = "sqlite:///" + saveDB + "?check_same_thread=False"
|
||||||
eos.config.gamedata_connectionstring = "sqlite:///" + gameDB + "?check_same_thread=False"
|
eos.config.gamedata_connectionstring = "sqlite:///" + gameDB + "?check_same_thread=False"
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
import os.path
|
from os.path import realpath, join, dirname, abspath
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
debug = False
|
debug = False
|
||||||
gamedataCache = True
|
gamedataCache = True
|
||||||
saveddataCache = True
|
saveddataCache = True
|
||||||
gamedata_connectionstring = 'sqlite:///' + os.path.expanduser(os.path.join("~", ".pyfa","eve.db"))
|
gamedata_connectionstring = 'sqlite:///' + unicode(realpath(join(dirname(abspath(__file__)), "..", "staticdata", "eve.db")), sys.getfilesystemencoding())
|
||||||
saveddata_connectionstring = 'sqlite:///:memory:'
|
saveddata_connectionstring = 'sqlite:///:memory:'
|
||||||
|
|
||||||
#Autodetect path, only change if the autodetection bugs out.
|
#Autodetect path, only change if the autodetection bugs out.
|
||||||
path = os.path.dirname(unicode(__file__, sys.getfilesystemencoding()))
|
path = dirname(unicode(__file__, sys.getfilesystemencoding()))
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ from eos.db.saveddata.queries import getUser, getCharacter, getFit, getFitsWithS
|
|||||||
getFitList, getFleetList, getFleet, save, remove, commit, add, \
|
getFitList, getFleetList, getFleet, save, remove, commit, add, \
|
||||||
getCharactersForUser, getMiscData, getSquadsIDsWithFitID, getWing, \
|
getCharactersForUser, getMiscData, getSquadsIDsWithFitID, getWing, \
|
||||||
getSquad, getBoosterFits, getProjectedFits, getTargetResistsList, getTargetResists,\
|
getSquad, getBoosterFits, getProjectedFits, getTargetResistsList, getTargetResists,\
|
||||||
clearPrices
|
clearPrices, countAllFits
|
||||||
|
|
||||||
#If using in memory saveddata, you'll want to reflect it so the data structure is good.
|
#If using in memory saveddata, you'll want to reflect it so the data structure is good.
|
||||||
if config.saveddata_connectionstring == "sqlite:///:memory:":
|
if config.saveddata_connectionstring == "sqlite:///:memory:":
|
||||||
|
|||||||
@@ -8,6 +8,6 @@ import sqlalchemy
|
|||||||
|
|
||||||
def upgrade(saveddata_engine):
|
def upgrade(saveddata_engine):
|
||||||
try:
|
try:
|
||||||
saveddata_engine.execute("SELECT mode FROM fits LIMIT 1")
|
saveddata_engine.execute("SELECT modeID FROM fits LIMIT 1")
|
||||||
except sqlalchemy.exc.DatabaseError:
|
except sqlalchemy.exc.DatabaseError:
|
||||||
saveddata_engine.execute("ALTER TABLE fits ADD COLUMN modeID INTEGER")
|
saveddata_engine.execute("ALTER TABLE fits ADD COLUMN modeID INTEGER")
|
||||||
|
|||||||
141
eos/db/migrations/upgrade4.py
Normal file
141
eos/db/migrations/upgrade4.py
Normal file
@@ -0,0 +1,141 @@
|
|||||||
|
"""
|
||||||
|
Migration 4
|
||||||
|
|
||||||
|
- Converts modules based on Proteus Module Tiericide
|
||||||
|
Some modules have been unpublished (and unpublished module attributes are removed
|
||||||
|
from database), which causes pyfa to crash. We therefore replace these
|
||||||
|
modules with their new replacements
|
||||||
|
|
||||||
|
Based on http://community.eveonline.com/news/patch-notes/patch-notes-for-proteus/
|
||||||
|
and output of itemDiff.py
|
||||||
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
CONVERSIONS = {
|
||||||
|
506: ( # 'Basic' Capacitor Power Relay
|
||||||
|
8205, # Alpha Reactor Control: Capacitor Power Relay
|
||||||
|
8209, # Marked Generator Refitting: Capacitor Power Relay
|
||||||
|
8203, # Partial Power Plant Manager: Capacity Power Relay
|
||||||
|
8207, # Type-E Power Core Modification: Capacitor Power Relay
|
||||||
|
),
|
||||||
|
8177: ( # Mark I Compact Capacitor Power Relay
|
||||||
|
8173, # Beta Reactor Control: Capacitor Power Relay I
|
||||||
|
),
|
||||||
|
8175: ( # Type-D Restrained Capacitor Power Relay
|
||||||
|
8171, # Local Power Plant Manager: Capacity Power Relay I
|
||||||
|
),
|
||||||
|
|
||||||
|
421: ( # 'Basic' Capacitor Recharger
|
||||||
|
4425, # AGM Capacitor Charge Array,
|
||||||
|
4421, # F-a10 Buffer Capacitor Regenerator
|
||||||
|
4423, # Industrial Capacitor Recharger
|
||||||
|
4427, # Secondary Parallel Link-Capacitor
|
||||||
|
),
|
||||||
|
4435: ( # Eutectic Compact Cap Recharger
|
||||||
|
4433, # Barton Reactor Capacitor Recharger I
|
||||||
|
4431, # F-b10 Nominal Capacitor Regenerator
|
||||||
|
4437, # Fixed Parallel Link-Capacitor I
|
||||||
|
),
|
||||||
|
|
||||||
|
1315: ( # 'Basic' Expanded Cargohold
|
||||||
|
5483, # Alpha Hull Mod Expanded Cargo
|
||||||
|
5479, # Marked Modified SS Expanded Cargo
|
||||||
|
5481, # Partial Hull Conversion Expanded Cargo
|
||||||
|
5485, # Type-E Altered SS Expanded Cargo
|
||||||
|
),
|
||||||
|
5493: ( # Type-D Restrained Expanded Cargo
|
||||||
|
5491, # Beta Hull Mod Expanded Cargo
|
||||||
|
5489, # Local Hull Conversion Expanded Cargo I
|
||||||
|
5487, # Mark I Modified SS Expanded Cargo
|
||||||
|
),
|
||||||
|
|
||||||
|
1401: ( # 'Basic' Inertial Stabilizers
|
||||||
|
5523, # Alpha Hull Mod Inertial Stabilizers
|
||||||
|
5521, # Partial Hull Conversion Inertial Stabilizers
|
||||||
|
5525, # Type-E Altered SS Inertial Stabilizers
|
||||||
|
),
|
||||||
|
5533: ( # Type-D Restrained Inertial Stabilizers
|
||||||
|
5531, # Beta Hull Mod Inertial Stabilizers
|
||||||
|
5529, # Local Hull Conversion Inertial Stabilizers I
|
||||||
|
5527, # Mark I Modified SS Inertial Stabilizers
|
||||||
|
5519, # Marked Modified SS Inertial Stabilizers
|
||||||
|
),
|
||||||
|
|
||||||
|
5239: ( # EP-S Gaussian Scoped Mining Laser
|
||||||
|
5241, # Dual Diode Mining Laser I
|
||||||
|
),
|
||||||
|
5233: ( # Single Diode Basic Mining Laser
|
||||||
|
5231, # EP-R Argon Ion Basic Excavation Pulse
|
||||||
|
5237, # Rubin Basic Particle Bore Stream
|
||||||
|
5235, # Xenon Basic Drilling Beam
|
||||||
|
),
|
||||||
|
5245: ( # Particle Bore Compact Mining Laser
|
||||||
|
5243, # XeCl Drilling Beam I
|
||||||
|
),
|
||||||
|
|
||||||
|
22619: ( # Frigoris Restrained Ice Harvester Upgrade
|
||||||
|
22617, # Crisium Ice Harvester Upgrade
|
||||||
|
),
|
||||||
|
22611: ( # Elara Restrained Mining Laser Upgrade
|
||||||
|
22609, # Erin Mining Laser Upgrade
|
||||||
|
),
|
||||||
|
|
||||||
|
1242: ( # 'Basic' Nanofiber Internal Structure
|
||||||
|
5591, # Alpha Hull Mod Nanofiber Structure
|
||||||
|
5595, # Marked Modified SS Nanofiber Structure
|
||||||
|
5559, # Partial Hull Conversion Nanofiber Structure
|
||||||
|
5593, # Type-E Altered SS Nanofiber Structure
|
||||||
|
),
|
||||||
|
5599: ( # Type-D Restrained Nanofiber Structure
|
||||||
|
5597, # Beta Hull Mod Nanofiber Structure
|
||||||
|
5561, # Local Hull Conversion Nanofiber Structure I
|
||||||
|
5601, # Mark I Modified SS Nanofiber Structure
|
||||||
|
),
|
||||||
|
|
||||||
|
1192: ( # 'Basic' Overdrive Injector System
|
||||||
|
5613, # Alpha Hull Mod Overdrive Injector
|
||||||
|
5617, # Marked Modified SS Overdrive Injector
|
||||||
|
5611, # Partial Hull Conversion Overdrive Injector
|
||||||
|
5615, # Type-E Altered SS Overdrive Injector
|
||||||
|
),
|
||||||
|
5631: ( # Type-D Restrained Overdrive Injector
|
||||||
|
5629, # Beta Hull Mod Overdrive Injector
|
||||||
|
5627, # Local Hull Conversion Overdrive Injector I
|
||||||
|
5633, # Mark I Modified SS Overdrive Injector
|
||||||
|
),
|
||||||
|
|
||||||
|
1537: ( # 'Basic' Power Diagnostic System
|
||||||
|
8213, # Alpha Reactor Control: Diagnostic System
|
||||||
|
8217, # Marked Generator Refitting: Diagnostic System
|
||||||
|
8211, # Partial Power Plant Manager: Diagnostic System
|
||||||
|
8215, # Type-E Power Core Modification: Diagnostic System
|
||||||
|
8255, # Type-E Power Core Modification: Reaction Control
|
||||||
|
),
|
||||||
|
8225: ( # Mark I Compact Power Diagnostic System
|
||||||
|
8221, # Beta Reactor Control: Diagnostic System I
|
||||||
|
8219, # Local Power Plant Manager: Diagnostic System I
|
||||||
|
8223, # Type-D Power Core Modification: Diagnostic System
|
||||||
|
),
|
||||||
|
|
||||||
|
1240: ( # 'Basic' Reinforced Bulkheads
|
||||||
|
5677, # Alpha Hull Mod Reinforced Bulkheads
|
||||||
|
5681, # Marked Modified SS Reinforced Bulkheads
|
||||||
|
5675, # Partial Hull Conversion Reinforced Bulkheads
|
||||||
|
5679, # Type-E Altered SS Reinforced Bulkheads
|
||||||
|
),
|
||||||
|
5649: ( # Mark I Compact Reinforced Bulkheads
|
||||||
|
5645, # Beta Hull Mod Reinforced Bulkheads
|
||||||
|
),
|
||||||
|
5647: ( # Type-D Restrained Reinforced Bulkheads
|
||||||
|
5643, # Local Hull Conversion Reinforced Bulkheads I
|
||||||
|
),
|
||||||
|
}
|
||||||
|
|
||||||
|
def upgrade(saveddata_engine):
|
||||||
|
|
||||||
|
# Convert modules
|
||||||
|
for replacement_item, list in CONVERSIONS.iteritems():
|
||||||
|
for retired_item in list:
|
||||||
|
saveddata_engine.execute('UPDATE "modules" SET "itemID" = ? WHERE "itemID" = ?', (replacement_item, retired_item))
|
||||||
|
saveddata_engine.execute('UPDATE "cargo" SET "itemID" = ? WHERE "itemID" = ?', (replacement_item, retired_item))
|
||||||
|
|
||||||
8
eos/db/migrations/upgrade5.py
Normal file
8
eos/db/migrations/upgrade5.py
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
"""
|
||||||
|
Migration 5
|
||||||
|
|
||||||
|
Simply deletes damage profiles with a blank name. See GH issue #256
|
||||||
|
"""
|
||||||
|
|
||||||
|
def upgrade(saveddata_engine):
|
||||||
|
saveddata_engine.execute('DELETE FROM damagePatterns WHERE name LIKE ?', ("",))
|
||||||
9
eos/db/migrations/upgrade6.py
Normal file
9
eos/db/migrations/upgrade6.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
"""
|
||||||
|
Migration 6
|
||||||
|
|
||||||
|
Overwrites damage profile 0 to reset bad uniform values (bad values set with bug)
|
||||||
|
"""
|
||||||
|
|
||||||
|
def upgrade(saveddata_engine):
|
||||||
|
saveddata_engine.execute('DELETE FROM damagePatterns WHERE name LIKE ? OR ID LIKE ?', ("Uniform", "1"))
|
||||||
|
saveddata_engine.execute('INSERT INTO damagePatterns VALUES (?, ?, ?, ?, ?, ?, ?)', (1, "Uniform", 25, 25, 25, 25, None))
|
||||||
@@ -267,6 +267,11 @@ def getBoosterFits(ownerID=None, where=None, eager=None):
|
|||||||
fits = saveddata_session.query(Fit).options(*eager).filter(filter).all()
|
fits = saveddata_session.query(Fit).options(*eager).filter(filter).all()
|
||||||
return fits
|
return fits
|
||||||
|
|
||||||
|
def countAllFits():
|
||||||
|
with sd_lock:
|
||||||
|
count = saveddata_session.query(Fit).count()
|
||||||
|
return count
|
||||||
|
|
||||||
def countFitsWithShip(shipID, ownerID=None, where=None, eager=None):
|
def countFitsWithShip(shipID, ownerID=None, where=None, eager=None):
|
||||||
"""
|
"""
|
||||||
Get all the fits using a certain ship.
|
Get all the fits using a certain ship.
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# agilityMultiplierEffect
|
# agilityMultiplierEffect
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Inertia Stabilizer (12 of 12)
|
# Modules from group: Inertial Stabilizer (7 of 7)
|
||||||
# Modules from group: Nanofiber Internal Structure (14 of 14)
|
# Modules from group: Nanofiber Internal Structure (7 of 7)
|
||||||
# Modules from group: Reinforced Bulkhead (12 of 12)
|
# Modules from group: Reinforced Bulkhead (8 of 8)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.boostItemAttr("agility",
|
fit.ship.boostItemAttr("agility",
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Capacitor Flux Coil (6 of 6)
|
# Modules from group: Capacitor Flux Coil (6 of 6)
|
||||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
# Modules from group: Capacitor Power Relay (20 of 20)
|
||||||
# Modules from group: Power Diagnostic System (31 of 31)
|
# Modules from group: Power Diagnostic System (23 of 23)
|
||||||
# Modules from group: Propulsion Module (107 of 107)
|
# Modules from group: Propulsion Module (107 of 107)
|
||||||
# Modules from group: Reactor Control Unit (22 of 22)
|
# Modules from group: Reactor Control Unit (22 of 22)
|
||||||
# Modules from group: Shield Flux Coil (11 of 11)
|
# Modules from group: Shield Flux Coil (11 of 11)
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# cargoCapacityMultiply
|
# cargoCapacityMultiply
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Expanded Cargohold (13 of 13)
|
# Modules from group: Expanded Cargohold (7 of 7)
|
||||||
# Modules from group: Overdrive Injector System (14 of 14)
|
# Modules from group: Overdrive Injector System (7 of 7)
|
||||||
# Modules from group: Reinforced Bulkhead (12 of 12)
|
# Modules from group: Reinforced Bulkhead (8 of 8)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.multiplyItemAttr("capacity", module.getModifiedItemAttr("cargoCapacityMultiplier"))
|
fit.ship.multiplyItemAttr("capacity", module.getModifiedItemAttr("cargoCapacityMultiplier"))
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ gangBonus = "commandBonusTD"
|
|||||||
gangBoost = "ewarStrTD"
|
gangBoost = "ewarStrTD"
|
||||||
type = "active", "gang"
|
type = "active", "gang"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
|
if "gang" not in context: return
|
||||||
for bonus in ("maxRangeBonus", "falloffBonus", "trackingSpeedBonus"):
|
for bonus in ("maxRangeBonus", "falloffBonus", "trackingSpeedBonus"):
|
||||||
fit.modules.filteredItemBoost(lambda mod: lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
fit.modules.filteredItemBoost(lambda mod: lambda mod: mod.item.requiresSkill("Weapon Disruption"),
|
||||||
bonus, module.getModifiedItemAttr("commandBonusTD"))
|
bonus, module.getModifiedItemAttr("commandBonusTD"))
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
# Used by:
|
# Used by:
|
||||||
# Ship: Astero
|
# Ship: Astero
|
||||||
# Ship: Prospect
|
# Ship: Prospect
|
||||||
|
# Ship: Victorieux Luxury Yacht
|
||||||
type = "passive"
|
type = "passive"
|
||||||
runTime = "early"
|
runTime = "early"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
|
|||||||
@@ -1,10 +0,0 @@
|
|||||||
# eliteReconBonusAssaultLauncherROF1
|
|
||||||
#
|
|
||||||
# Used by:
|
|
||||||
# Ship: Huginn
|
|
||||||
# Ship: Lachesis
|
|
||||||
type = "passive"
|
|
||||||
def handler(fit, ship, context):
|
|
||||||
level = fit.character.getSkill("Recon Ships").level
|
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Rapid Light",
|
|
||||||
"speed", ship.getModifiedItemAttr("eliteBonusReconShip1") * level)
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
# eliteReconBonusHeavyAssaultLauncherROF1
|
|
||||||
#
|
|
||||||
# Used by:
|
|
||||||
# Ship: Huginn
|
|
||||||
type = "passive"
|
|
||||||
def handler(fit, ship, context):
|
|
||||||
level = fit.character.getSkill("Recon Ships").level
|
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy Assault",
|
|
||||||
"speed", ship.getModifiedItemAttr("eliteBonusReconShip1") * level)
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
# eliteReconBonusHeavyLauncherROF1
|
|
||||||
#
|
|
||||||
# Used by:
|
|
||||||
# Ship: Huginn
|
|
||||||
# Ship: Lachesis
|
|
||||||
type = "passive"
|
|
||||||
def handler(fit, ship, context):
|
|
||||||
level = fit.character.getSkill("Recon Ships").level
|
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Missile Launcher Heavy",
|
|
||||||
"speed", ship.getModifiedItemAttr("eliteBonusReconShip1") * level)
|
|
||||||
9
eos/effects/elitereconbonusmhtoptimalrange1.py
Normal file
9
eos/effects/elitereconbonusmhtoptimalrange1.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# eliteReconBonusMHTOptimalRange1
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Lachesis
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Recon Ships").level
|
||||||
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Hybrid Turret"),
|
||||||
|
"maxRange", ship.getModifiedItemAttr("eliteBonusReconShip1") * level)
|
||||||
9
eos/effects/elitereconbonusmptdamage1.py
Normal file
9
eos/effects/elitereconbonusmptdamage1.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# eliteReconBonusMPTdamage1
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Huginn
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Recon Ships").level
|
||||||
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Medium Projectile Turret"),
|
||||||
|
"damageMultiplier", ship.getModifiedItemAttr("eliteBonusReconShip1") * level)
|
||||||
9
eos/effects/elitereconbonusneutrange3.py
Normal file
9
eos/effects/elitereconbonusneutrange3.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# eliteReconBonusNeutRange3
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Pilgrim
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Recon Ships").level
|
||||||
|
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Destabilizer",
|
||||||
|
"energyDestabilizationRange", ship.getModifiedItemAttr("eliteBonusReconShip3") * level)
|
||||||
9
eos/effects/elitereconbonusvamprange3.py
Normal file
9
eos/effects/elitereconbonusvamprange3.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# eliteReconBonusVampRange3
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Pilgrim
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Recon Ships").level
|
||||||
|
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == "Energy Vampire",
|
||||||
|
"powerTransferRange", ship.getModifiedItemAttr("eliteBonusReconShip3") * level)
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# iceHarvestCycleTimeModulesRequiringIceHarvestingOnline
|
# iceHarvestCycleTimeModulesRequiringIceHarvestingOnline
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Variations of module: Ice Harvester Upgrade I (6 of 6)
|
# Variations of module: Ice Harvester Upgrade I (5 of 5)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# iceMinerCpuUsagePercent
|
# iceMinerCpuUsagePercent
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Variations of module: Ice Harvester Upgrade I (6 of 6)
|
# Variations of module: Ice Harvester Upgrade I (5 of 5)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Ice Harvesting"),
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# increaseSignatureRadiusOnline
|
# increaseSignatureRadiusOnline
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Inertia Stabilizer (12 of 12)
|
# Modules from group: Inertial Stabilizer (7 of 7)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusBonus"))
|
fit.ship.boostItemAttr("signatureRadius", module.getModifiedItemAttr("signatureRadiusBonus"))
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
# minerCpuUsageMultiplyPercent2
|
# minerCpuUsageMultiplyPercent2
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Variations of module: Mining Laser Upgrade I (6 of 6)
|
# Variations of module: Mining Laser Upgrade I (5 of 5)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Frequency Mining Laser (3 of 3)
|
# Modules from group: Frequency Mining Laser (3 of 3)
|
||||||
# Modules from group: Mining Laser (17 of 17)
|
# Modules from group: Mining Laser (12 of 12)
|
||||||
# Modules from group: Strip Miner (5 of 5)
|
# Modules from group: Strip Miner (5 of 5)
|
||||||
type = 'active'
|
type = 'active'
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# miningYieldMultiplyPercent
|
# miningYieldMultiplyPercent
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Variations of module: Mining Laser Upgrade I (6 of 6)
|
# Variations of module: Mining Laser Upgrade I (5 of 5)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Mining"),
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
# modeAgilityPostDiv
|
# modeAgilityPostDiv
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Module: Amarr Tactical Destroyer Propulsion Mode
|
# Modules named like: Propulsion Mode (2 of 2)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.multiplyItemAttr("agility", 1/module.getModifiedItemAttr("modeAgilityPostDiv"),
|
fit.ship.multiplyItemAttr(
|
||||||
stackingPenalties = True, penaltyGroup="postDiv")
|
"agility",
|
||||||
|
1 / module.getModifiedItemAttr("modeAgilityPostDiv"),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,15 +1,18 @@
|
|||||||
# modeArmorResonancePostDiv
|
# modeArmorResonancePostDiv
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Module: Amarr Tactical Destroyer Defense Mode
|
# Modules named like: Defense Mode (2 of 2)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
for resType in ("Em", "Explosive", "Kinetic"):
|
for srcResType, tgtResType in (
|
||||||
fit.ship.multiplyItemAttr("armor{0}DamageResonance".format(resType),
|
("Em", "Em"),
|
||||||
1/module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(resType)),
|
("Explosive", "Explosive"),
|
||||||
stackingPenalties = True, penaltyGroup="postDiv")
|
("Kinetic", "Kinetic"),
|
||||||
|
("Thermic", "Thermal")
|
||||||
# Thermal != Thermic
|
):
|
||||||
fit.ship.multiplyItemAttr("armorThermalDamageResonance",
|
fit.ship.multiplyItemAttr(
|
||||||
1/module.getModifiedItemAttr("modeThermicResistancePostDiv"),
|
"armor{0}DamageResonance".format(tgtResType),
|
||||||
stackingPenalties = True, penaltyGroup="postDiv")
|
1 / module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(srcResType)),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
|
|||||||
13
eos/effects/modemwdsigradiuspostdiv.py
Normal file
13
eos/effects/modemwdsigradiuspostdiv.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# modeMWDSigRadiusPostDiv
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Module: Svipul Defense Mode
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, module, context):
|
||||||
|
fit.modules.filteredItemMultiply(
|
||||||
|
lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
|
||||||
|
"signatureRadiusBonus",
|
||||||
|
1 / module.getModifiedItemAttr("modeMWDSigPenaltyPostDiv"),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
18
eos/effects/modeshieldresonancepostdiv.py
Normal file
18
eos/effects/modeshieldresonancepostdiv.py
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# modeShieldResonancePostDiv
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Module: Svipul Defense Mode
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, module, context):
|
||||||
|
for srcResType, tgtResType in (
|
||||||
|
("Em", "Em"),
|
||||||
|
("Explosive", "Explosive"),
|
||||||
|
("Kinetic", "Kinetic"),
|
||||||
|
("Thermic", "Thermal")
|
||||||
|
):
|
||||||
|
fit.ship.multiplyItemAttr(
|
||||||
|
"shield{0}DamageResonance".format(tgtResType),
|
||||||
|
1 / module.getModifiedItemAttr("mode{0}ResistancePostDiv".format(srcResType)),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
@@ -1,9 +1,8 @@
|
|||||||
# modeSigRadiusPostDiv
|
# modeSigRadiusPostDiv
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Module: Amarr Tactical Destroyer Defense Mode
|
# Module: Confessor Defense Mode
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
level = fit.character.getSkill("Minmatar Destroyer").level
|
|
||||||
fit.ship.multiplyItemAttr("signatureRadius", 1/module.getModifiedItemAttr("modeSignatureRadiusPostDiv"),
|
fit.ship.multiplyItemAttr("signatureRadius", 1/module.getModifiedItemAttr("modeSignatureRadiusPostDiv"),
|
||||||
stackingPenalties = True, penaltyGroup="postDiv")
|
stackingPenalties = True, penaltyGroup="postDiv")
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
# modeVelocityPostDiv
|
# modeVelocityPostDiv
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Module: Amarr Tactical Destroyer Propulsion Mode
|
# Modules named like: Propulsion Mode (2 of 2)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.multiplyItemAttr("maxVelocity", 1/module.getModifiedItemAttr("modeVelocityPostDiv"),
|
fit.ship.multiplyItemAttr(
|
||||||
stackingPenalties = True, penaltyGroup="postDiv")
|
"maxVelocity",
|
||||||
|
1 / module.getModifiedItemAttr("modeVelocityPostDiv"),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# modifyMaxVelocityOfShipPassive
|
# modifyMaxVelocityOfShipPassive
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Expanded Cargohold (13 of 13)
|
# Modules from group: Expanded Cargohold (7 of 7)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.multiplyItemAttr("maxVelocity", module.getModifiedItemAttr("maxVelocityBonus"),
|
fit.ship.multiplyItemAttr("maxVelocity", module.getModifiedItemAttr("maxVelocityBonus"),
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Capacitor Flux Coil (6 of 6)
|
# Modules from group: Capacitor Flux Coil (6 of 6)
|
||||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
# Modules from group: Capacitor Power Relay (20 of 20)
|
||||||
# Modules from group: Capacitor Recharger (25 of 25)
|
# Modules from group: Capacitor Recharger (18 of 18)
|
||||||
# Modules from group: Power Diagnostic System (31 of 31)
|
# Modules from group: Power Diagnostic System (23 of 23)
|
||||||
# Modules from group: Reactor Control Unit (22 of 22)
|
# Modules from group: Reactor Control Unit (22 of 22)
|
||||||
# Modules from group: Shield Flux Coil (11 of 11)
|
# Modules from group: Shield Flux Coil (11 of 11)
|
||||||
# Modules from group: Shield Power Relay (11 of 11)
|
# Modules from group: Shield Power Relay (11 of 11)
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Capacitor Flux Coil (6 of 6)
|
# Modules from group: Capacitor Flux Coil (6 of 6)
|
||||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
# Modules from group: Capacitor Power Relay (20 of 20)
|
||||||
# Modules from group: Power Diagnostic System (31 of 31)
|
# Modules from group: Power Diagnostic System (23 of 23)
|
||||||
# Modules from group: Reactor Control Unit (22 of 22)
|
# Modules from group: Reactor Control Unit (22 of 22)
|
||||||
# Modules from group: Shield Flux Coil (11 of 11)
|
# Modules from group: Shield Flux Coil (11 of 11)
|
||||||
# Modules from group: Shield Recharger (6 of 6)
|
# Modules from group: Shield Recharger (6 of 6)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ships from group: Assault Frigate (8 of 12)
|
# Ships from group: Assault Frigate (8 of 12)
|
||||||
# Ships from group: Heavy Assault Cruiser (8 of 11)
|
# Ships from group: Heavy Assault Cruiser (10 of 13)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("High Speed Maneuvering"),
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# overloadRofBonus
|
# overloadRofBonus
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Energy Weapon (100 of 186)
|
# Modules from group: Energy Weapon (100 of 187)
|
||||||
# Modules from group: Hybrid Weapon (110 of 202)
|
# Modules from group: Hybrid Weapon (110 of 202)
|
||||||
# Modules from group: Missile Launcher Citadel (4 of 4)
|
# Modules from group: Missile Launcher Citadel (4 of 4)
|
||||||
# Modules from group: Missile Launcher Heavy (12 of 12)
|
# Modules from group: Missile Launcher Heavy (12 of 12)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# overloadSelfDamageBonus
|
# overloadSelfDamageBonus
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Energy Weapon (86 of 186)
|
# Modules from group: Energy Weapon (86 of 187)
|
||||||
# Modules from group: Hybrid Weapon (92 of 202)
|
# Modules from group: Hybrid Weapon (92 of 202)
|
||||||
# Modules from group: Projectile Weapon (86 of 146)
|
# Modules from group: Projectile Weapon (86 of 146)
|
||||||
type = "overheat"
|
type = "overheat"
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Capacitor Flux Coil (6 of 6)
|
# Modules from group: Capacitor Flux Coil (6 of 6)
|
||||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
# Modules from group: Capacitor Power Relay (20 of 20)
|
||||||
# Modules from group: Power Diagnostic System (31 of 31)
|
# Modules from group: Power Diagnostic System (23 of 23)
|
||||||
# Modules from group: Reactor Control Unit (22 of 22)
|
# Modules from group: Reactor Control Unit (22 of 22)
|
||||||
# Modules from group: Shield Flux Coil (11 of 11)
|
# Modules from group: Shield Flux Coil (11 of 11)
|
||||||
# Modules from group: Shield Power Relay (11 of 11)
|
# Modules from group: Shield Power Relay (11 of 11)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# probeLauncherCPUPercentBonusTacticalDestroyer
|
# probeLauncherCPUPercentBonusTacticalDestroyer
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ship: Confessor
|
# Ships from group: Tactical Destroyer (2 of 2)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"),
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Astrometrics"),
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# energyTransferPowerNeedBonusEffect
|
# remoteCapacitorTransmitterPowerNeedBonusEffect
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ships from group: Logistics (3 of 5)
|
# Ships from group: Logistics (3 of 5)
|
||||||
@@ -5,7 +5,9 @@
|
|||||||
# Module: QA ECCM
|
# Module: QA ECCM
|
||||||
type = "active"
|
type = "active"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
for type in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
|
for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
|
||||||
fit.ship.boostItemAttr("scan%sStrength" % type,
|
fit.ship.boostItemAttr(
|
||||||
module.getModifiedItemAttr("scan%sStrengthPercent" % type),
|
"scan{}Strength".format(scanType),
|
||||||
stackingPenalties = True)
|
module.getModifiedItemAttr("scan{}StrengthPercent".format(scanType)),
|
||||||
|
stackingPenalties=True
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# shieldBoostAmplifier
|
# shieldBoostAmplifier
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
# Modules from group: Capacitor Power Relay (20 of 20)
|
||||||
# Modules from group: Shield Boost Amplifier (25 of 25)
|
# Modules from group: Shield Boost Amplifier (25 of 25)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Capacitor Flux Coil (6 of 6)
|
# Modules from group: Capacitor Flux Coil (6 of 6)
|
||||||
# Modules from group: Capacitor Power Relay (26 of 26)
|
# Modules from group: Capacitor Power Relay (20 of 20)
|
||||||
# Modules from group: Power Diagnostic System (31 of 31)
|
# Modules from group: Power Diagnostic System (23 of 23)
|
||||||
# Modules from group: Reactor Control Unit (22 of 22)
|
# Modules from group: Reactor Control Unit (22 of 22)
|
||||||
# Modules from group: Shield Flux Coil (11 of 11)
|
# Modules from group: Shield Flux Coil (11 of 11)
|
||||||
# Modules from group: Shield Power Relay (11 of 11)
|
# Modules from group: Shield Power Relay (11 of 11)
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Variations of ship: Dominix (3 of 3)
|
# Variations of ship: Dominix (3 of 3)
|
||||||
|
# Ship: Dominix Quafe Edition
|
||||||
# Ship: Nestor
|
# Ship: Nestor
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ships named like: Stratios (2 of 2)
|
# Ships named like: Stratios (2 of 2)
|
||||||
# Variations of ship: Vexor (3 of 4)
|
# Ships named like: Vexor (3 of 4)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Cruiser").level
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Variations of ship: Dominix (3 of 3)
|
# Variations of ship: Dominix (3 of 3)
|
||||||
|
# Ship: Dominix Quafe Edition
|
||||||
# Ship: Nestor
|
# Ship: Nestor
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ships named like: Stratios (2 of 2)
|
# Ships named like: Stratios (2 of 2)
|
||||||
# Variations of ship: Vexor (3 of 4)
|
# Ships named like: Vexor (3 of 4)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Cruiser").level
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# shipBonusDroneHitpointsGF
|
# shipBonusDroneHitpointsGF
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
|
# Ships named like: Tristan (2 of 2)
|
||||||
# Ship: Astero
|
# Ship: Astero
|
||||||
# Ship: Tristan
|
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Frigate").level
|
level = fit.character.getSkill("Gallente Frigate").level
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
# shipBonusDroneMiningAmountGC2
|
# shipBonusDroneMiningAmountGC2
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ship: Vexor
|
# Ships named like: Vexor (3 of 4)
|
||||||
# Ship: Vexor Navy Issue
|
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Cruiser").level
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ship: Dominix
|
# Ship: Dominix
|
||||||
|
# Ship: Dominix Quafe Edition
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Battleship").level
|
level = fit.character.getSkill("Gallente Battleship").level
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ship: Dominix
|
# Ship: Dominix
|
||||||
|
# Ship: Dominix Quafe Edition
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Battleship").level
|
level = fit.character.getSkill("Gallente Battleship").level
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# shipBonusDroneTrackingGF
|
# shipBonusDroneTrackingGF
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ship: Tristan
|
# Ships named like: Tristan (2 of 2)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Frigate").level
|
level = fit.character.getSkill("Gallente Frigate").level
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
# shipBonusHeavyAssaultLauncherRateOfFireCC2
|
|
||||||
#
|
|
||||||
# Used by:
|
|
||||||
# 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 == "Missile Launcher Heavy Assault",
|
|
||||||
"speed", ship.getModifiedItemAttr("shipBonusCC2") * level)
|
|
||||||
9
eos/effects/shipbonusheavydronearmorhpgc2.py
Normal file
9
eos/effects/shipbonusheavydronearmorhpgc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusHeavyDroneArmorHPGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
|
||||||
|
"armorHP", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonusheavydronedamagemultipliergc2.py
Normal file
9
eos/effects/shipbonusheavydronedamagemultipliergc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusHeavyDroneDamageMultiplierGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
|
||||||
|
"damageMultiplier", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonusheavydronehpgc2.py
Normal file
9
eos/effects/shipbonusheavydronehpgc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusHeavyDroneHPGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
|
||||||
|
"hp", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonusheavydroneshieldhpgc2.py
Normal file
9
eos/effects/shipbonusheavydroneshieldhpgc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusHeavyDroneShieldHPGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Heavy Drone Operation"),
|
||||||
|
"shieldCapacity", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
# shipBonusHeavyLauncherRateOfFireCC2
|
|
||||||
#
|
|
||||||
# Used by:
|
|
||||||
# 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 == "Missile Launcher Heavy",
|
|
||||||
"speed", ship.getModifiedItemAttr("shipBonusCC2") * level)
|
|
||||||
@@ -1,10 +1,10 @@
|
|||||||
# shipBonusHybridTrackingGF2
|
# shipBonusHybridTrackingGF2
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
|
# Ships named like: Tristan (2 of 2)
|
||||||
# Ship: Ares
|
# Ship: Ares
|
||||||
# Ship: Federation Navy Comet
|
# Ship: Federation Navy Comet
|
||||||
# Ship: Police Pursuit Comet
|
# Ship: Police Pursuit Comet
|
||||||
# Ship: Tristan
|
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Frigate").level
|
level = fit.character.getSkill("Gallente Frigate").level
|
||||||
|
|||||||
9
eos/effects/shipbonuslightdronearmorhpgc2.py
Normal file
9
eos/effects/shipbonuslightdronearmorhpgc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusLightDroneArmorHPGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
|
||||||
|
"armorHP", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonuslightdronedamagemultipliergc2.py
Normal file
9
eos/effects/shipbonuslightdronedamagemultipliergc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusLightDroneDamageMultiplierGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
|
||||||
|
"damageMultiplier", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonuslightdronehpgc2.py
Normal file
9
eos/effects/shipbonuslightdronehpgc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusLightDroneHPGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
|
||||||
|
"hp", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonuslightdroneshieldhpgc2.py
Normal file
9
eos/effects/shipbonuslightdroneshieldhpgc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusLightDroneShieldHPGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Light Drone Operation"),
|
||||||
|
"shieldCapacity", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonusmediumdronearmorhpgc2.py
Normal file
9
eos/effects/shipbonusmediumdronearmorhpgc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusMediumDroneArmorHPGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
|
||||||
|
"armorHP", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonusmediumdronedamagemultipliergc2.py
Normal file
9
eos/effects/shipbonusmediumdronedamagemultipliergc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusMediumDroneDamageMultiplierGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
|
||||||
|
"damageMultiplier", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonusmediumdronehpgc2.py
Normal file
9
eos/effects/shipbonusmediumdronehpgc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusMediumDroneHPGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
|
||||||
|
"hp", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonusmediumdroneshieldhpgc2.py
Normal file
9
eos/effects/shipbonusmediumdroneshieldhpgc2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusMediumDroneShieldHPGC2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Medium Drone Operation"),
|
||||||
|
"shieldCapacity", ship.getModifiedItemAttr("shipBonusGC2") * level)
|
||||||
9
eos/effects/shipbonussentryarmorhpgc3.py
Normal file
9
eos/effects/shipbonussentryarmorhpgc3.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusSentryArmorHPGC3
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
|
||||||
|
"armorHP", ship.getModifiedItemAttr("shipBonusGC3") * level)
|
||||||
9
eos/effects/shipbonussentrydamagemultipliergc3.py
Normal file
9
eos/effects/shipbonussentrydamagemultipliergc3.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusSentryDamageMultiplierGC3
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
|
||||||
|
"damageMultiplier", ship.getModifiedItemAttr("shipBonusGC3") * level)
|
||||||
9
eos/effects/shipbonussentryhpgc3.py
Normal file
9
eos/effects/shipbonussentryhpgc3.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusSentryHPGC3
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
|
||||||
|
"hp", ship.getModifiedItemAttr("shipBonusGC3") * level)
|
||||||
9
eos/effects/shipbonussentryshieldhpgc3.py
Normal file
9
eos/effects/shipbonussentryshieldhpgc3.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipBonusSentryShieldHPGC3
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Ishtar
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
fit.drones.filteredItemBoost(lambda drone: drone.item.requiresSkill("Sentry Drone Interfacing"),
|
||||||
|
"shieldCapacity", ship.getModifiedItemAttr("shipBonusGC3") * level)
|
||||||
@@ -3,6 +3,7 @@
|
|||||||
# Used by:
|
# Used by:
|
||||||
# Ship: Chameleon
|
# Ship: Chameleon
|
||||||
# Ship: Gila
|
# Ship: Gila
|
||||||
|
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Cruiser").level
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
|||||||
9
eos/effects/shipheatdamageminmatartacticaldestroyer3.py
Normal file
9
eos/effects/shipheatdamageminmatartacticaldestroyer3.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipHeatDamageMinmatarTacticalDestroyer3
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Svipul
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Minmatar Tactical Destroyer").level
|
||||||
|
fit.modules.filteredItemBoost(lambda mod: True, "heatDamage",
|
||||||
|
ship.getModifiedItemAttr("shipBonusTacticalDestroyerMinmatar3") * level)
|
||||||
@@ -2,13 +2,11 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ships named like: Thorax (3 of 3)
|
# Ships named like: Thorax (3 of 3)
|
||||||
|
# Ships named like: Vexor (3 of 4)
|
||||||
# Ship: Adrestia
|
# Ship: Adrestia
|
||||||
# Ship: Arazu
|
# Ship: Arazu
|
||||||
# Ship: Deimos
|
# Ship: Deimos
|
||||||
# Ship: Exequror Navy Issue
|
# Ship: Exequror Navy Issue
|
||||||
# Ship: Guardian-Vexor
|
|
||||||
# Ship: Lachesis
|
|
||||||
# Ship: Vexor
|
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Cruiser").level
|
level = fit.character.getSkill("Gallente Cruiser").level
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# shipHybridTrackingGC
|
# shipHybridTrackingGC
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
|
# Ship: Lachesis
|
||||||
# Ship: Phobos
|
# Ship: Phobos
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
|
|||||||
9
eos/effects/shipmissilebonusemdmgmc.py
Normal file
9
eos/effects/shipmissilebonusemdmgmc.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipMissileBonusEMdmgMC
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Rapier
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Minmatar Cruiser").level
|
||||||
|
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||||
|
"emDamage", ship.getModifiedItemAttr("shipBonusMC") * level)
|
||||||
9
eos/effects/shipmissilebonusexpdmgmc.py
Normal file
9
eos/effects/shipmissilebonusexpdmgmc.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipMissileBonusExpdmgMC
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Rapier
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Minmatar Cruiser").level
|
||||||
|
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||||
|
"explosiveDamage", ship.getModifiedItemAttr("shipBonusMC") * level)
|
||||||
9
eos/effects/shipmissilebonuskindmgmc.py
Normal file
9
eos/effects/shipmissilebonuskindmgmc.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipMissileBonusKindmgMC
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Rapier
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Minmatar Cruiser").level
|
||||||
|
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||||
|
"kineticDamage", ship.getModifiedItemAttr("shipBonusMC") * level)
|
||||||
9
eos/effects/shipmissilebonusthermdmgmc.py
Normal file
9
eos/effects/shipmissilebonusthermdmgmc.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipMissileBonusThermdmgMC
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Rapier
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Minmatar Cruiser").level
|
||||||
|
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill("Missile Launcher Operation"),
|
||||||
|
"thermalDamage", ship.getModifiedItemAttr("shipBonusMC") * level)
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Ship: Osprey Navy Issue
|
# Ship: Osprey Navy Issue
|
||||||
|
# Ship: Rook
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Caldari Cruiser").level
|
level = fit.character.getSkill("Caldari Cruiser").level
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
# shipModeMaxTargetRangePostDiv
|
# shipModeMaxTargetRangePostDiv
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Module: Amarr Tactical Destroyer Sharpshooter Mode
|
# Modules named like: Sharpshooter Mode (2 of 2)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.multiplyItemAttr("maxTargetRange", 1/module.getModifiedItemAttr("modeMaxTargetRangePostDiv"),
|
fit.ship.multiplyItemAttr(
|
||||||
stackingPenalties = True, penaltyGroup="postDiv")
|
"maxTargetRange",
|
||||||
|
1 / module.getModifiedItemAttr("modeMaxTargetRangePostDiv"),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
# shipModeScanResPostDiv
|
# shipModeScanResPostDiv
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Module: Amarr Tactical Destroyer Sharpshooter Mode
|
# Modules named like: Sharpshooter Mode (2 of 2)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.multiplyItemAttr("scanResolution", 1/module.getModifiedItemAttr("modeScanResPostDiv"),
|
fit.ship.multiplyItemAttr(
|
||||||
stackingPenalties = True, penaltyGroup="postDiv")
|
"scanResolution",
|
||||||
|
1 / module.getModifiedItemAttr("modeScanResPostDiv"),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,8 +1,13 @@
|
|||||||
# shipModeScanStrengthPostDiv
|
# shipModeScanStrengthPostDiv
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Module: Amarr Tactical Destroyer Sharpshooter Mode
|
# Modules named like: Sharpshooter Mode (2 of 2)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.multiplyItemAttr("scanRadarStrength", 1/module.getModifiedItemAttr("modeRadarStrengthPostDiv"),
|
for scanType in ("Gravimetric", "Magnetometric", "Radar", "Ladar"):
|
||||||
stackingPenalties = True, penaltyGroup="postDiv")
|
fit.ship.multiplyItemAttr(
|
||||||
|
"scan{}Strength".format(scanType),
|
||||||
|
1 / (module.getModifiedItemAttr("mode{}StrengthPostDiv".format(scanType)) or 1),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,9 +1,13 @@
|
|||||||
# shipModeSETOptimalRangePostDiv
|
# shipModeSETOptimalRangePostDiv
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Module: Amarr Tactical Destroyer Sharpshooter Mode
|
# Module: Confessor Sharpshooter Mode
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.modules.filteredItemMultiply(lambda mod: mod.item.requiresSkill("Small Energy Turret"),
|
fit.modules.filteredItemMultiply(
|
||||||
"maxRange", 1/module.getModifiedItemAttr("modeMaxRangePostDiv"),
|
lambda mod: mod.item.requiresSkill("Small Energy Turret"),
|
||||||
stackingPenalties=True, penaltyGroup="postDiv")
|
"maxRange",
|
||||||
|
1 / module.getModifiedItemAttr("modeMaxRangePostDiv"),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
|
|||||||
13
eos/effects/shipmodespttrackingpostdiv.py
Normal file
13
eos/effects/shipmodespttrackingpostdiv.py
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# shipModeSPTTrackingPostDiv
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Module: Svipul Sharpshooter Mode
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, module, context):
|
||||||
|
fit.modules.filteredItemMultiply(
|
||||||
|
lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
|
||||||
|
"trackingSpeed",
|
||||||
|
1 / module.getModifiedItemAttr("modeTrackingPostDiv"),
|
||||||
|
stackingPenalties=True,
|
||||||
|
penaltyGroup="postDiv"
|
||||||
|
)
|
||||||
@@ -6,4 +6,4 @@ type = "passive"
|
|||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
level = fit.character.getSkill("Gallente Battleship").level
|
level = fit.character.getSkill("Gallente Battleship").level
|
||||||
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Large Projectile Turret"),
|
||||||
"falloff", ship.getModifiedItemAttr("shipBonusGB") * level)
|
"falloff", ship.getModifiedItemAttr("shipBonusGB") * level)
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
# Variations of ship: Rupture (3 of 3)
|
# Variations of ship: Rupture (3 of 3)
|
||||||
# Variations of ship: Stabber (3 of 3)
|
# Variations of ship: Stabber (3 of 3)
|
||||||
# Ship: Huginn
|
# Ship: Huginn
|
||||||
# Ship: Rapier
|
|
||||||
# Ship: Scythe Fleet Issue
|
# Ship: Scythe Fleet Issue
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, ship, context):
|
def handler(fit, ship, context):
|
||||||
|
|||||||
9
eos/effects/shipsptdamageminmatartacticaldestroyer1.py
Normal file
9
eos/effects/shipsptdamageminmatartacticaldestroyer1.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipSPTDamageMinmatarTacticalDestroyer1
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Svipul
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Minmatar Tactical Destroyer").level
|
||||||
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
|
||||||
|
"damageMultiplier", ship.getModifiedItemAttr("shipBonusTacticalDestroyerMinmatar1") * level)
|
||||||
9
eos/effects/shipsptoptimalminmatartacticaldestroyer2.py
Normal file
9
eos/effects/shipsptoptimalminmatartacticaldestroyer2.py
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# shipSPTOptimalMinmatarTacticalDestroyer2
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Ship: Svipul
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, ship, context):
|
||||||
|
level = fit.character.getSkill("Minmatar Tactical Destroyer").level
|
||||||
|
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Small Projectile Turret"),
|
||||||
|
"maxRange", ship.getModifiedItemAttr("shipBonusTacticalDestroyerMinmatar2") * level)
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
# structureHPMultiply
|
# structureHPMultiply
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Nanofiber Internal Structure (14 of 14)
|
# Modules from group: Nanofiber Internal Structure (7 of 7)
|
||||||
# Modules from group: Reinforced Bulkhead (12 of 12)
|
# Modules from group: Reinforced Bulkhead (8 of 8)
|
||||||
# Modules named like: QA Multiship Module Players (4 of 4)
|
# Modules named like: QA Multiship Module Players (4 of 4)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# structureHPMultiplyPassive
|
# structureHPMultiplyPassive
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Expanded Cargohold (13 of 13)
|
# Modules from group: Expanded Cargohold (7 of 7)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.multiplyItemAttr("hp", module.getModifiedItemAttr("structureHPMultiplier"))
|
fit.ship.multiplyItemAttr("hp", module.getModifiedItemAttr("structureHPMultiplier"))
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
# subsystemBonusCaldariDefensiveShieldRechargeRate
|
||||||
|
#
|
||||||
|
# Used by:
|
||||||
|
# Subsystem: Tengu Defensive - Supplemental Screening
|
||||||
|
type = "passive"
|
||||||
|
def handler(fit, module, context):
|
||||||
|
level = fit.character.getSkill("Caldari Defensive Systems").level
|
||||||
|
fit.ship.boostItemAttr("shieldRechargeRate", module.getModifiedItemAttr("subsystemBonusCaldariDefensive2") * level)
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
# Used by:
|
# Used by:
|
||||||
# Drones from group: Combat Drone (74 of 74)
|
# Drones from group: Combat Drone (74 of 74)
|
||||||
# Drones from group: Fighter Drone (4 of 4)
|
# Drones from group: Fighter Drone (4 of 4)
|
||||||
# Modules from group: Energy Weapon (186 of 186)
|
# Modules from group: Energy Weapon (186 of 187)
|
||||||
type = 'active'
|
type = 'active'
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
# Set reload time to 1 second
|
# Set reload time to 1 second
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
# velocityBonusOnline
|
# velocityBonusOnline
|
||||||
#
|
#
|
||||||
# Used by:
|
# Used by:
|
||||||
# Modules from group: Nanofiber Internal Structure (14 of 14)
|
# Modules from group: Nanofiber Internal Structure (7 of 7)
|
||||||
# Modules from group: Overdrive Injector System (14 of 14)
|
# Modules from group: Overdrive Injector System (7 of 7)
|
||||||
type = "passive"
|
type = "passive"
|
||||||
def handler(fit, module, context):
|
def handler(fit, module, context):
|
||||||
fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("implantBonusVelocity"),
|
fit.ship.boostItemAttr("maxVelocity", module.getModifiedItemAttr("implantBonusVelocity"),
|
||||||
|
|||||||
@@ -120,7 +120,12 @@ class Effect(EqBase):
|
|||||||
'''
|
'''
|
||||||
try:
|
try:
|
||||||
self.__effectModule = effectModule = __import__('eos.effects.' + self.handlerName, fromlist=True)
|
self.__effectModule = effectModule = __import__('eos.effects.' + self.handlerName, fromlist=True)
|
||||||
self.__handler = getattr(effectModule, "handler")
|
try:
|
||||||
|
self.__handler = getattr(effectModule, "handler")
|
||||||
|
except AttributeError:
|
||||||
|
print "effect {} exists, but no handler".format(self.handlerName)
|
||||||
|
raise
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.__runTime = getattr(effectModule, "runTime") or "normal"
|
self.__runTime = getattr(effectModule, "runTime") or "normal"
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
@@ -133,7 +138,7 @@ class Effect(EqBase):
|
|||||||
|
|
||||||
t = t if isinstance(t, tuple) or t is None else (t,)
|
t = t if isinstance(t, tuple) or t is None else (t,)
|
||||||
self.__type = t
|
self.__type = t
|
||||||
except ImportError as e:
|
except (ImportError, AttributeError) as e:
|
||||||
self.__handler = effectDummy
|
self.__handler = effectDummy
|
||||||
self.__runTime = "normal"
|
self.__runTime = "normal"
|
||||||
self.__type = None
|
self.__type = None
|
||||||
|
|||||||
@@ -406,12 +406,14 @@ class Fit(object):
|
|||||||
(effect.isType("active") and thing.state >= State.ACTIVE):
|
(effect.isType("active") and thing.state >= State.ACTIVE):
|
||||||
# Run effect, and get proper bonuses applied
|
# Run effect, and get proper bonuses applied
|
||||||
try:
|
try:
|
||||||
|
self.register(thing)
|
||||||
effect.handler(self, thing, context)
|
effect.handler(self, thing, context)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
# Run effect, and get proper bonuses applied
|
# Run effect, and get proper bonuses applied
|
||||||
try:
|
try:
|
||||||
|
self.register(thing)
|
||||||
effect.handler(self, thing, context)
|
effect.handler(self, thing, context)
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
@@ -735,7 +737,7 @@ class Fit(object):
|
|||||||
capAdded = 0
|
capAdded = 0
|
||||||
for mod in self.modules:
|
for mod in self.modules:
|
||||||
if mod.state >= State.ACTIVE:
|
if mod.state >= State.ACTIVE:
|
||||||
if mod.getModifiedItemAttr("capacitorNeed") != 0:
|
if (mod.getModifiedItemAttr("capacitorNeed") or 0) != 0:
|
||||||
cycleTime = mod.rawCycleTime or 0
|
cycleTime = mod.rawCycleTime or 0
|
||||||
reactivationTime = mod.getModifiedItemAttr("moduleReactivationDelay") or 0
|
reactivationTime = mod.getModifiedItemAttr("moduleReactivationDelay") or 0
|
||||||
fullCycleTime = cycleTime + reactivationTime
|
fullCycleTime = cycleTime + reactivationTime
|
||||||
|
|||||||
6
gpl.txt
6
gpl.txt
@@ -549,14 +549,14 @@ to collect a royalty for further conveying from those to whom you convey
|
|||||||
the Program, the only way you could satisfy both those terms and this
|
the Program, the only way you could satisfy both those terms and this
|
||||||
License would be to refrain entirely from conveying the Program.
|
License would be to refrain entirely from conveying the Program.
|
||||||
|
|
||||||
13. Use with the GNU General Public License.
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
Notwithstanding any other provision of this License, you have
|
Notwithstanding any other provision of this License, you have
|
||||||
permission to link or combine any covered work with a work licensed
|
permission to link or combine any covered work with a work licensed
|
||||||
under version 3 of the GNU General Public License into a single
|
under version 3 of the GNU Affero General Public License into a single
|
||||||
combined work, and to convey the resulting work. The terms of this
|
combined work, and to convey the resulting work. The terms of this
|
||||||
License will continue to apply to the part which is the covered work,
|
License will continue to apply to the part which is the covered work,
|
||||||
but the special requirements of the GNU General Public License,
|
but the special requirements of the GNU Affero General Public License,
|
||||||
section 13, concerning interaction through a network will apply to the
|
section 13, concerning interaction through a network will apply to the
|
||||||
combination as such.
|
combination as such.
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class DamagePattern(ContextMenu):
|
|||||||
self.fit = sFit.getFit(fitID)
|
self.fit = sFit.getFit(fitID)
|
||||||
|
|
||||||
self.patterns = sDP.getDamagePatternList()
|
self.patterns = sDP.getDamagePatternList()
|
||||||
self.patterns.sort(key=lambda p: (p.name not in ["Uniform","Selected Ammo"], p.name))
|
self.patterns.sort(key=lambda p: (p.name not in ["Uniform", "Selected Ammo"], p.name))
|
||||||
|
|
||||||
self.patternIds = {}
|
self.patternIds = {}
|
||||||
self.subMenus = OrderedDict()
|
self.subMenus = OrderedDict()
|
||||||
@@ -71,7 +71,6 @@ class DamagePattern(ContextMenu):
|
|||||||
|
|
||||||
def getSubMenu(self, context, selection, rootMenu, i, pitem):
|
def getSubMenu(self, context, selection, rootMenu, i, pitem):
|
||||||
msw = True if "wxMSW" in wx.PlatformInfo else False
|
msw = True if "wxMSW" in wx.PlatformInfo else False
|
||||||
rootMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch) # this bit is required for some reason
|
|
||||||
|
|
||||||
if self.m[i] not in self.subMenus:
|
if self.m[i] not in self.subMenus:
|
||||||
# if we're trying to get submenu to something that shouldn't have one,
|
# if we're trying to get submenu to something that shouldn't have one,
|
||||||
@@ -79,10 +78,11 @@ class DamagePattern(ContextMenu):
|
|||||||
# our patternIds mapping, then return None for no submenu
|
# our patternIds mapping, then return None for no submenu
|
||||||
id = pitem.GetId()
|
id = pitem.GetId()
|
||||||
self.patternIds[id] = self.singles[i]
|
self.patternIds[id] = self.singles[i]
|
||||||
|
rootMenu.Bind(wx.EVT_MENU, self.handlePatternSwitch, pitem)
|
||||||
if self.patternIds[id] == self.fit.damagePattern:
|
if self.patternIds[id] == self.fit.damagePattern:
|
||||||
bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
|
bitmap = bitmapLoader.getBitmap("state_active_small", "icons")
|
||||||
pitem.SetBitmap(bitmap)
|
pitem.SetBitmap(bitmap)
|
||||||
return None
|
return False
|
||||||
|
|
||||||
sub = wx.Menu()
|
sub = wx.Menu()
|
||||||
|
|
||||||
|
|||||||
@@ -53,6 +53,9 @@ class PFGeneralPref ( PreferenceView):
|
|||||||
labelSizer.Add( self.cbRackLabels, 0, wx.ALL|wx.EXPAND, 5 )
|
labelSizer.Add( self.cbRackLabels, 0, wx.ALL|wx.EXPAND, 5 )
|
||||||
mainSizer.Add( labelSizer, 0, wx.LEFT|wx.EXPAND, 30 )
|
mainSizer.Add( labelSizer, 0, wx.LEFT|wx.EXPAND, 30 )
|
||||||
|
|
||||||
|
self.cbShowTooltip = wx.CheckBox( panel, wx.ID_ANY, u"Show tab tooltips", wx.DefaultPosition, wx.DefaultSize, 0 )
|
||||||
|
mainSizer.Add( self.cbShowTooltip, 0, wx.ALL|wx.EXPAND, 5 )
|
||||||
|
|
||||||
defCharSizer = wx.BoxSizer( wx.HORIZONTAL )
|
defCharSizer = wx.BoxSizer( wx.HORIZONTAL )
|
||||||
|
|
||||||
self.sFit = service.Fit.getInstance()
|
self.sFit = service.Fit.getInstance()
|
||||||
@@ -65,6 +68,7 @@ class PFGeneralPref ( PreferenceView):
|
|||||||
self.cbRackLabels.SetValue(self.sFit.serviceFittingOptions["rackLabels"] or False)
|
self.cbRackLabels.SetValue(self.sFit.serviceFittingOptions["rackLabels"] or False)
|
||||||
self.cbCompactSkills.SetValue(self.sFit.serviceFittingOptions["compactSkills"] or False)
|
self.cbCompactSkills.SetValue(self.sFit.serviceFittingOptions["compactSkills"] or False)
|
||||||
self.cbReopenFits.SetValue(self.openFitsSettings["enabled"])
|
self.cbReopenFits.SetValue(self.openFitsSettings["enabled"])
|
||||||
|
self.cbShowTooltip.SetValue(self.sFit.serviceFittingOptions["showTooltip"] or False)
|
||||||
|
|
||||||
self.cbGlobalChar.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalCharStateChange)
|
self.cbGlobalChar.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalCharStateChange)
|
||||||
self.cbGlobalDmgPattern.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalDmgPatternStateChange)
|
self.cbGlobalDmgPattern.Bind(wx.EVT_CHECKBOX, self.OnCBGlobalDmgPatternStateChange)
|
||||||
@@ -74,6 +78,7 @@ class PFGeneralPref ( PreferenceView):
|
|||||||
self.cbRackLabels.Bind(wx.EVT_CHECKBOX, self.onCBGlobalRackLabels)
|
self.cbRackLabels.Bind(wx.EVT_CHECKBOX, self.onCBGlobalRackLabels)
|
||||||
self.cbCompactSkills.Bind(wx.EVT_CHECKBOX, self.onCBCompactSkills)
|
self.cbCompactSkills.Bind(wx.EVT_CHECKBOX, self.onCBCompactSkills)
|
||||||
self.cbReopenFits.Bind(wx.EVT_CHECKBOX, self.onCBReopenFits)
|
self.cbReopenFits.Bind(wx.EVT_CHECKBOX, self.onCBReopenFits)
|
||||||
|
self.cbShowTooltip.Bind(wx.EVT_CHECKBOX, self.onCBShowTooltip)
|
||||||
|
|
||||||
self.cbRackLabels.Enable(self.sFit.serviceFittingOptions["rackSlots"] or False)
|
self.cbRackLabels.Enable(self.sFit.serviceFittingOptions["rackSlots"] or False)
|
||||||
|
|
||||||
@@ -127,6 +132,9 @@ class PFGeneralPref ( PreferenceView):
|
|||||||
def onCBReopenFits(self, event):
|
def onCBReopenFits(self, event):
|
||||||
self.openFitsSettings["enabled"] = self.cbReopenFits.GetValue()
|
self.openFitsSettings["enabled"] = self.cbReopenFits.GetValue()
|
||||||
|
|
||||||
|
def onCBShowTooltip(self, event):
|
||||||
|
self.sFit.serviceFittingOptions["showTooltip"] = self.cbShowTooltip.GetValue()
|
||||||
|
|
||||||
def getImage(self):
|
def getImage(self):
|
||||||
return bitmapLoader.getBitmap("prefs_settings", "icons")
|
return bitmapLoader.getBitmap("prefs_settings", "icons")
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user