Compare commits

...

32 Commits

Author SHA1 Message Date
DarkPhoenix
3b9bbae0c3 Bump version 2024-10-03 13:37:54 +02:00
DarkPhoenix
6d474492ea Update effects file 2024-10-03 13:37:25 +02:00
DarkPhoenix
ebc61efef8 Update static data 2024-10-03 13:28:30 +02:00
DarkPhoenix
7b5c95213f Bump version 2024-09-18 13:54:33 +02:00
DarkPhoenix
1312177e0e Add new renames 2024-09-18 13:42:53 +02:00
DarkPhoenix
5b0df0a9c3 Update static data to 2682489 2024-09-18 13:33:03 +02:00
DarkPhoenix
1ea6136cb2 Update static data 2024-09-11 16:32:13 +02:00
DarkPhoenix
da2b6bbb6d Bump version 2024-09-10 00:01:40 +02:00
DarkPhoenix
87007af5f8 Pass package path to importlib call, not module path 2024-09-09 23:35:07 +02:00
DarkPhoenix
dd5ab872b1 Reapply "Make it 3.9+, but get rid of deprecation warnings"
This reverts commit 65fb46885a.
2024-09-09 23:31:19 +02:00
DarkPhoenix
65fb46885a Revert "Make it 3.9+, but get rid of deprecation warnings"
This reverts commit 01354a0a83.
2024-09-09 23:00:24 +02:00
DarkPhoenix
fad1e401b2 Bump version 2024-09-09 20:25:02 +02:00
DarkPhoenix
d59f8afd8a Update icons 2024-09-09 20:24:33 +02:00
DarkPhoenix
7c42d00219 Update static data 2024-09-09 20:20:44 +02:00
DarkPhoenix
777ba69ac4 Ensure context menus can be called on items w/o market group 2024-07-20 19:09:00 +02:00
DarkPhoenix
9a3bde872b Fix regex pattern to remove syntax warning 2024-07-09 23:23:49 +02:00
DarkPhoenix
01354a0a83 Make it 3.9+, but get rid of deprecation warnings 2024-07-09 21:49:05 +02:00
DarkPhoenix
8c3b8589d5 Adjust jargon loader to be py3.12-compatible 2024-07-09 21:46:39 +02:00
Anton Vorobyov
451b5d4312 Merge pull request #2624 from lunedis/feature/charges-for-fit
Add "Charges For Active Fit" market tree shortcut
2024-07-09 23:31:53 +04:00
Anton Vorobyov
d204e70afc Merge pull request #2614 from kgasiorowski/issue/2613
Rename Industrial to Hauler
2024-07-09 23:29:02 +04:00
Karl Werner
ce9ce17ad2 use mode to limit refresh 2024-07-07 14:41:16 +02:00
Karl Werner
6a7cdda91a add comments 2024-07-06 16:01:58 +02:00
Karl Werner
f38c61da51 update on fit change, new icon 2024-07-06 15:52:18 +02:00
Karl Werner
735827a25b proof of concept 2024-07-06 12:12:48 +02:00
DarkPhoenix
d3fcdcbe47 Marshal bonus is not stacking penalized 2024-06-29 23:50:03 +02:00
DarkPhoenix
a3dce73663 Update static data 2024-06-27 21:21:35 +02:00
Kuba Gasiorowski
594b58388f Merge branch 'master' into issue/2613 2024-06-14 18:40:49 -04:00
DarkPhoenix
fa6be2edfb Bump version 2024-06-13 16:20:49 +02:00
DarkPhoenix
1177968b02 Update renders 2024-06-13 16:20:29 +02:00
DarkPhoenix
c04b370410 Update static data 2024-06-13 16:15:45 +02:00
Kuba Gasiorowski
5366c23db2 Merge branch 'master' into issue/2613 2024-06-11 14:03:24 -04:00
Kuba Gasiorowski
6d32db5827 Rename Industrial to Hauler 2024-05-26 23:45:27 -04:00
318 changed files with 38854 additions and 4230 deletions

View File

@@ -42,7 +42,7 @@ class Effect4(BaseEffect):
shieldBoosting
Used by:
Modules from group: Shield Booster (90 of 90)
Modules from group: Shield Booster (94 of 94)
"""
runTime = 'late'
@@ -62,7 +62,7 @@ class Effect10(BaseEffect):
Used by:
Celestials from group: Destructible Effect Beacon (6 of 6)
Drones from group: Combat Drone (80 of 80)
Modules from group: Energy Weapon (212 of 214)
Modules from group: Energy Weapon (216 of 218)
Celestial: BH Sentry Gun
Celestial: EDENCOM Stockpile Non-Interactable (Do not translate)
Celestial: Liberation Games Firework Sentry ( DO NOT TRANSLATE)
@@ -152,7 +152,7 @@ class Effect27(BaseEffect):
armorRepair
Used by:
Modules from group: Armor Repair Unit (101 of 101)
Modules from group: Armor Repair Unit (105 of 105)
"""
runTime = 'late'
@@ -173,8 +173,8 @@ class Effect34(BaseEffect):
projectileFired
Used by:
Modules from group: Hybrid Weapon (221 of 221)
Modules from group: Projectile Weapon (165 of 165)
Modules from group: Hybrid Weapon (223 of 223)
Modules from group: Projectile Weapon (167 of 167)
"""
dealsDamage = True
@@ -195,7 +195,7 @@ class Effect38(BaseEffect):
empWave
Used by:
Modules from group: Smart Bomb (118 of 118)
Modules from group: Smart Bomb (137 of 137)
"""
dealsDamage = True
@@ -250,7 +250,7 @@ class Effect48(BaseEffect):
powerBooster
Used by:
Modules from group: Capacitor Booster (41 of 41)
Modules from group: Capacitor Booster (43 of 43)
"""
type = 'active'
@@ -378,7 +378,7 @@ class Effect58(BaseEffect):
Modules from group: Capacitor Flux Coil (6 of 6)
Modules from group: Capacitor Power Relay (20 of 20)
Modules from group: Power Diagnostic System (23 of 23)
Modules from group: Propulsion Module (69 of 135)
Modules from group: Propulsion Module (73 of 147)
Modules from group: Reactor Control Unit (22 of 22)
"""
@@ -396,7 +396,7 @@ class Effect59(BaseEffect):
cargoCapacityMultiply
Used by:
Modules from group: Expanded Cargohold (8 of 8)
Modules from group: Expanded Cargohold (7 of 7)
Modules from group: Overdrive Injector System (7 of 7)
Modules from group: Reinforced Bulkhead (8 of 8)
"""
@@ -593,8 +593,8 @@ class Effect101(BaseEffect):
Used by:
Modules from group: Missile Launcher Heavy (12 of 12)
Modules from group: Missile Launcher Rocket (15 of 15)
Modules named like: Launcher (154 of 154)
Modules from group: Missile Launcher Rocket (16 of 16)
Modules named like: Launcher (156 of 156)
Structure Modules named like: Standup Launcher (7 of 7)
"""
@@ -966,8 +966,8 @@ class Effect272(BaseEffect):
Used by:
Implants named like: Inherent Implants 'Noble' Repair Systems RS (6 of 6)
Implants named like: Repairer Booster (4 of 4)
Modules named like: Nanobot Accelerator (8 of 8)
Implant: AIR Repairer Booster III
Implant: Numon Family Heirloom
Skill: Repair Systems
"""
@@ -1060,7 +1060,6 @@ class Effect290(BaseEffect):
Used by:
Implants named like: Frentix Booster (4 of 4)
Implants named like: Halcyon B Booster (5 of 5)
Implants named like: SoCT Turret Booster (3 of 3)
Implants named like: Zainou 'Deadeye' Sharpshooter ST (6 of 6)
Skill: Sharpshooter
"""
@@ -1192,13 +1191,13 @@ class Effect395(BaseEffect):
Used by:
Modules from group: Rig Anchor (4 of 4)
Implants named like: Agility Booster (4 of 4)
Implants named like: Eifyr and Co. 'Rogue' Evasive Maneuvering EM (6 of 6)
Implants named like: Grand Prix Booster (4 of 6)
Implants named like: Halcyon G Booster (5 of 5)
Implants named like: Halcyon Y Booster (5 of 5)
Implants named like: grade Nomad (10 of 12)
Modules named like: Low Friction Nozzle Joints (8 of 8)
Implant: AIR Agility Booster II
Implant: AIR Overclocker Booster III
Implant: Genolution Core Augmentation CA-4
Implant: Quafe Zero Green Apple
@@ -1775,7 +1774,6 @@ class Effect584(BaseEffect):
Implants named like: 'Pyrolancea' Dose (7 of 7)
Implants named like: Eifyr and Co. 'Gunslinger' Surgical Strike SS (6 of 6)
Implants named like: Halcyon Y Booster (5 of 5)
Implants named like: SoCT Turret Booster (3 of 3)
Implant: AIR Pyrolancea Booster II
Implant: Standard Cerebral Accelerator
"""
@@ -2016,7 +2014,7 @@ class Effect627(BaseEffect):
powerIncrease
Used by:
Modules from group: Auxiliary Power Core (5 of 5)
Modules from group: Auxiliary Power Core (6 of 6)
"""
type = 'passive'
@@ -2158,7 +2156,6 @@ class Effect699(BaseEffect):
Used by:
Implants named like: Halcyon B Booster (5 of 5)
Implants named like: Halcyon R Booster (5 of 5)
Implants named like: SoCT Scan Booster (3 of 3)
Implants named like: Zainou 'Gypsy' Signature Analysis SA (6 of 6)
Modules named like: Targeting System Subcontroller (8 of 8)
Implant: Quafe Zero Classic
@@ -2509,7 +2506,6 @@ class Effect856(BaseEffect):
Implants named like: Grand Prix Booster (5 of 6)
Implants named like: Halcyon B Booster (5 of 5)
Implants named like: Serenity Limited 'Overclocker' Dose (3 of 3)
Implants named like: SoCT Agility Booster (3 of 3)
Implants named like: grade Ascendancy (10 of 12)
Modules named like: Hyperspatial Velocity Optimizer (8 of 8)
Implant: Serenity YC122.9 Season Booster - Warp Speed
@@ -4898,8 +4894,8 @@ class Effect1635(BaseEffect):
capitalRepairSystemsSkillDurationBonus
Used by:
Implants named like: Repairer Booster (4 of 4)
Modules named like: Nanobot Accelerator (8 of 8)
Implant: AIR Repairer Booster III
Skill: Capital Repair Systems
"""
@@ -6803,6 +6799,7 @@ class Effect2296(BaseEffect):
Used by:
Implants named like: Halcyon Y Booster (5 of 5)
Implants named like: Tetrimon Resistance Booster (4 of 4)
"""
type = 'passive'
@@ -6870,7 +6867,7 @@ class Effect2302(BaseEffect):
damageControl
Used by:
Modules from group: Damage Control (24 of 29)
Modules from group: Damage Control (25 of 30)
"""
type = 'passive'
@@ -7000,7 +6997,7 @@ class Effect2432(BaseEffect):
Implants named like: Halcyon Y Booster (5 of 5)
Implants named like: Inherent Implants 'Squire' Capacitor Management EM (6 of 6)
Implants named like: Mindflood Booster (4 of 4)
Implants named like: SoCT Capacitor Booster (3 of 3)
Implants named like: Tetrimon Capacitor Booster (4 of 4)
Modules named like: Semiconductor Memory Cell (8 of 8)
Implant: Antipharmakon Aeolis
Implant: Basic Capsuleer Engineering Augmentation Chip
@@ -7625,6 +7622,7 @@ class Effect2696(BaseEffect):
maxRangeBonusEffectLasers
Used by:
Implants named like: Tetrimon Precision Booster (4 of 4)
Modules named like: Energy Locus Coordinator (8 of 8)
"""
@@ -8375,6 +8373,7 @@ class Effect2803(BaseEffect):
energyWeaponDamageMultiplyPassive
Used by:
Implants named like: Harvest Damage Booster (4 of 4)
Modules named like: Energy Collision Accelerator (8 of 8)
Implant: Wisdom of Gheinok
"""
@@ -9262,7 +9261,7 @@ class Effect3001(BaseEffect):
Used by:
Modules from group: Missile Launcher Torpedo (22 of 22)
Items from market group: Ship Equipment > Turrets & Launchers (444 of 916)
Items from market group: Ship Equipment > Turrets & Launchers (446 of 926)
Module: Interdiction Sphere Launcher I
"""
@@ -9280,16 +9279,16 @@ class Effect3002(BaseEffect):
Used by:
Modules from group: Ancillary Remote Shield Booster (4 of 4)
Modules from group: Capacitor Booster (41 of 41)
Modules from group: Energy Neutralizer (55 of 55)
Modules from group: Energy Nosferatu (55 of 55)
Modules from group: Capacitor Booster (43 of 43)
Modules from group: Energy Neutralizer (57 of 57)
Modules from group: Energy Nosferatu (58 of 58)
Modules from group: Hull Repair Unit (25 of 25)
Modules from group: Remote Armor Repairer (39 of 39)
Modules from group: Remote Capacitor Transmitter (35 of 35)
Modules from group: Remote Shield Booster (38 of 38)
Modules from group: Smart Bomb (118 of 118)
Modules from group: Warp Disrupt Field Generator (7 of 7)
Modules named like: Remote Repairer (56 of 56)
Modules from group: Remote Armor Repairer (43 of 43)
Modules from group: Remote Capacitor Transmitter (37 of 37)
Modules from group: Remote Shield Booster (42 of 42)
Modules from group: Smart Bomb (137 of 137)
Modules from group: Warp Disrupt Field Generator (8 of 8)
Modules named like: Remote Repairer (60 of 60)
Module: Reactive Armor Hardener
"""
@@ -9323,10 +9322,10 @@ class Effect3025(BaseEffect):
overloadSelfDamageBonus
Used by:
Modules from group: Energy Weapon (101 of 214)
Modules from group: Hybrid Weapon (105 of 221)
Modules from group: Energy Weapon (105 of 218)
Modules from group: Hybrid Weapon (107 of 223)
Modules from group: Precursor Weapon (19 of 19)
Modules from group: Projectile Weapon (99 of 165)
Modules from group: Projectile Weapon (101 of 167)
"""
type = 'overheat'
@@ -9495,7 +9494,7 @@ class Effect3046(BaseEffect):
modifyMaxVelocityOfShipPassive
Used by:
Modules from group: Expanded Cargohold (8 of 8)
Modules from group: Expanded Cargohold (7 of 7)
"""
type = 'offline'
@@ -9510,7 +9509,7 @@ class Effect3047(BaseEffect):
structureHPMultiplyPassive
Used by:
Modules from group: Expanded Cargohold (8 of 8)
Modules from group: Expanded Cargohold (7 of 7)
"""
type = 'passive'
@@ -9597,7 +9596,7 @@ class Effect3174(BaseEffect):
overloadSelfRangeBonus
Used by:
Modules from group: Stasis Grappler (7 of 7)
Modules from group: Stasis Grappler (8 of 8)
Modules from group: Stasis Web (19 of 19)
Modules from group: Warp Scrambler (56 of 57)
"""
@@ -9615,7 +9614,7 @@ class Effect3175(BaseEffect):
overloadSelfSpeedBonus
Used by:
Modules from group: Propulsion Module (135 of 135)
Modules from group: Propulsion Module (147 of 147)
"""
type = 'overheat'
@@ -9632,7 +9631,7 @@ class Effect3182(BaseEffect):
Used by:
Modules from group: Burst Jammer (11 of 11)
Modules from group: ECM (39 of 39)
Modules from group: ECM (43 of 43)
"""
type = 'overheat'
@@ -9669,7 +9668,7 @@ class Effect3200(BaseEffect):
Used by:
Modules from group: Ancillary Armor Repairer (8 of 8)
Modules from group: Armor Repair Unit (101 of 101)
Modules from group: Armor Repair Unit (105 of 105)
"""
type = 'overheat'
@@ -9687,7 +9686,7 @@ class Effect3201(BaseEffect):
Used by:
Modules from group: Ancillary Shield Booster (9 of 9)
Modules from group: Shield Booster (90 of 90)
Modules from group: Shield Booster (94 of 94)
"""
type = 'overheat'
@@ -10204,7 +10203,7 @@ class Effect3380(BaseEffect):
warpDisruptSphere
Used by:
Modules from group: Warp Disrupt Field Generator (7 of 7)
Modules from group: Warp Disrupt Field Generator (8 of 8)
"""
runTime = 'early'
@@ -13489,7 +13488,6 @@ class Effect4162(BaseEffect):
Implants named like: Poteque 'Prospector' Astrometric Rangefinding AR (3 of 3)
Implants named like: Poteque 'Prospector' Sharpeye (2 of 2)
Implants named like: Serenity Limited 'Sharpeye' Dose (3 of 3)
Implants named like: SoCT Scan Booster (3 of 3)
Implants named like: grade Virtue (10 of 12)
Modules named like: Gravity Capacitor Upgrade (8 of 8)
Implant: AIR Astro-Rangefinding II Booster
@@ -14221,7 +14219,7 @@ class Effect4358(BaseEffect):
ecmRangeBonusModuleEffect
Used by:
Modules from group: ECM Stabilizer (3 of 3)
Modules from group: ECM Stabilizer (5 of 5)
"""
type = 'passive'
@@ -15934,7 +15932,7 @@ class Effect4809(BaseEffect):
ecmGravimetricStrengthBonusPercent
Used by:
Modules from group: ECM Stabilizer (3 of 3)
Modules from group: ECM Stabilizer (5 of 5)
"""
type = 'passive'
@@ -15951,7 +15949,7 @@ class Effect4810(BaseEffect):
ecmLadarStrengthBonusPercent
Used by:
Modules from group: ECM Stabilizer (3 of 3)
Modules from group: ECM Stabilizer (5 of 5)
"""
type = 'passive'
@@ -15968,7 +15966,7 @@ class Effect4811(BaseEffect):
ecmMagnetometricStrengthBonusPercent
Used by:
Modules from group: ECM Stabilizer (3 of 3)
Modules from group: ECM Stabilizer (5 of 5)
"""
type = 'passive'
@@ -15986,7 +15984,7 @@ class Effect4812(BaseEffect):
ecmRadarStrengthBonusPercent
Used by:
Modules from group: ECM Stabilizer (3 of 3)
Modules from group: ECM Stabilizer (5 of 5)
"""
type = 'passive'
@@ -16633,8 +16631,8 @@ class Effect4967(BaseEffect):
shieldBoosterDurationBonusShieldSkills
Used by:
Implants named like: Repairer Booster (4 of 4)
Modules named like: Core Defense Operational Solidifier (8 of 8)
Implant: AIR Repairer Booster III
"""
type = 'passive'
@@ -18014,6 +18012,7 @@ class Effect5189(BaseEffect):
trackingSpeedBonusEffectLasers
Used by:
Implants named like: Tetrimon Precision Booster (4 of 4)
Modules named like: Energy Metastasis Adjuster (8 of 8)
"""
@@ -20181,7 +20180,6 @@ class Effect5437(BaseEffect):
Used by:
Implants named like: Halcyon Y Booster (5 of 5)
Implants named like: SoCT Relic Coherence Booster (3 of 3)
Modules named like: Emission Scope Sharpener (8 of 8)
Implant: Poteque 'Prospector' Archaeology AC-905
Implant: Poteque 'Prospector' Environmental Analysis EY-1005
@@ -21734,7 +21732,7 @@ class Effect5758(BaseEffect):
overloadSelfPainterBonus
Used by:
Modules from group: Target Painter (8 of 8)
Modules from group: Target Painter (9 of 9)
"""
type = 'overheat'
@@ -24677,7 +24675,7 @@ class Effect6184(BaseEffect):
shipModuleRemoteCapacitorTransmitter
Used by:
Modules from group: Remote Capacitor Transmitter (35 of 35)
Modules from group: Remote Capacitor Transmitter (37 of 37)
"""
runTime = 'late'
@@ -24730,7 +24728,7 @@ class Effect6186(BaseEffect):
shipModuleRemoteShieldBooster
Used by:
Modules from group: Remote Shield Booster (38 of 38)
Modules from group: Remote Shield Booster (42 of 42)
"""
type = 'projected', 'active'
@@ -24755,7 +24753,7 @@ class Effect6187(BaseEffect):
energyNeutralizerFalloff
Used by:
Modules from group: Energy Neutralizer (55 of 55)
Modules from group: Energy Neutralizer (57 of 57)
"""
type = 'active', 'projected'
@@ -24783,7 +24781,7 @@ class Effect6188(BaseEffect):
shipModuleRemoteArmorRepairer
Used by:
Modules from group: Remote Armor Repairer (39 of 39)
Modules from group: Remote Armor Repairer (43 of 43)
"""
runTime = 'late'
@@ -24829,7 +24827,7 @@ class Effect6197(BaseEffect):
energyNosferatuFalloff
Used by:
Modules from group: Energy Nosferatu (55 of 55)
Modules from group: Energy Nosferatu (58 of 58)
"""
runTime = 'late'
@@ -24873,7 +24871,7 @@ class Effect6208(BaseEffect):
microJumpPortalDrive
Used by:
Modules named like: Micro Jump Field Generator (2 of 2)
Module: Micro Jump Field Generator
"""
type = 'active'
@@ -26808,7 +26806,7 @@ class Effect6425(BaseEffect):
remoteTargetPaintFalloff
Used by:
Modules from group: Target Painter (8 of 8)
Modules from group: Target Painter (9 of 9)
"""
type = 'projected', 'active'
@@ -26831,7 +26829,7 @@ class Effect6426(BaseEffect):
remoteWebifierFalloff
Used by:
Modules from group: Stasis Grappler (7 of 7)
Modules from group: Stasis Grappler (8 of 8)
Modules from group: Stasis Web (19 of 19)
Starbases from group: Stasis Webification Battery (3 of 3)
"""
@@ -27212,7 +27210,7 @@ class Effect6470(BaseEffect):
remoteECMFalloff
Used by:
Modules from group: ECM (39 of 39)
Modules from group: ECM (43 of 43)
Starbases from group: Electronic Warfare Battery (12 of 12)
"""
@@ -31067,7 +31065,7 @@ class Effect6730(BaseEffect):
moduleBonusMicrowarpdrive
Used by:
Modules from group: Propulsion Module (69 of 135)
Modules from group: Propulsion Module (73 of 147)
"""
runTime = 'late'
@@ -31091,7 +31089,7 @@ class Effect6731(BaseEffect):
moduleBonusAfterburner
Used by:
Modules from group: Propulsion Module (66 of 135)
Modules from group: Propulsion Module (74 of 147)
"""
runTime = 'late'
@@ -32213,7 +32211,7 @@ class Effect6879(BaseEffect):
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange',
src.getModifiedItemAttr('eliteBonusBlackOps3'), stackingPenalties=True, skill='Black Ops', **kwargs)
src.getModifiedItemAttr('eliteBonusBlackOps3'), skill='Black Ops', **kwargs)
class Effect6880(BaseEffect):
@@ -32983,8 +32981,8 @@ class Effect6953(BaseEffect):
mediumRemoteRepFittingAdjustment
Used by:
Variations of module: Medium Remote Armor Repairer I (12 of 12)
Variations of module: Medium Remote Shield Booster I (11 of 11)
Variations of module: Medium Remote Armor Repairer I (14 of 14)
Variations of module: Medium Remote Shield Booster I (13 of 13)
Module: Medium Ancillary Remote Armor Repairer
Module: Medium Ancillary Remote Shield Booster
"""
@@ -33547,7 +33545,7 @@ class Effect7008(BaseEffect):
structureFullPowerStateHitpointModifier
Used by:
Items from category: Structure (17 of 17)
Items from category: Structure (18 of 18)
"""
type = 'passive'
@@ -33583,7 +33581,7 @@ class Effect7012(BaseEffect):
moduleBonusAssaultDamageControl
Used by:
Variations of module: Assault Damage Control I (5 of 5)
Variations of module: Assault Damage Control I (6 of 6)
Module: Abyssal Assault Damage Control
"""
@@ -33798,7 +33796,7 @@ class Effect7030(BaseEffect):
structureAoERoFRoleBonus
Used by:
Items from category: Structure (11 of 17)
Items from category: Structure (11 of 18)
Structures from group: Citadel (8 of 9)
"""
@@ -33947,7 +33945,7 @@ class Effect7039(BaseEffect):
structureHiddenMissileDamageMultiplier
Used by:
Items from category: Structure (14 of 17)
Items from category: Structure (14 of 18)
"""
type = 'passive'
@@ -33966,7 +33964,7 @@ class Effect7040(BaseEffect):
structureHiddenArmorHPMultiplier
Used by:
Items from category: Structure (17 of 17)
Items from category: Structure (18 of 18)
"""
type = 'passive'
@@ -37657,12 +37655,64 @@ class Effect8264(BaseEffect):
skill='Industrial Command Ships', **kwargs)
class Effect8267(BaseEffect):
"""
weaponDisruptorResistanceBonusPassive
Used by:
Implants named like: Harvest Anti Disruptor Booster (4 of 4)
"""
type = 'passive'
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.ship.boostItemAttr(
'weaponDisruptionResistance',
container.getModifiedItemAttr('weaponDisruptionResistanceBonus'), **kwargs)
class Effect8268(BaseEffect):
"""
nosferatuDurationBonusPassive
Used by:
Implants named like: Harvest Nosferatu Booster (4 of 4)
"""
type = 'passive'
@staticmethod
def handler(fit, module, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.group.name == 'Energy Nosferatu', 'duration',
module.getModifiedItemAttr('durationBonus'), **kwargs)
class Effect8269(BaseEffect):
"""
stasisWebifierMaxRangeAddPassive
Used by:
Implants named like: Harvest Webifier Booster (4 of 4)
"""
type = 'passive'
@staticmethod
def handler(fit, module, context, projectionRange, **kwargs):
fit.modules.filteredItemIncrease(
lambda mod: mod.item.group.name == 'Stasis Web', 'maxRange',
module.getModifiedItemAttr('stasisWebRangeAdd'), **kwargs)
class Effect8270(BaseEffect):
"""
capacitorWarfareResistanceBonusPassive
Used by:
Implants named like: Halcyon Y Booster (5 of 5)
Implants named like: Tetrimon Anti Drain Booster (4 of 4)
"""
type = 'passive'
@@ -38015,10 +38065,7 @@ class Effect8323(BaseEffect):
class Effect8327(BaseEffect):
"""
relicAnalyzerRangeBonusPassive
Used by:
Implants named like: SoCT Relic Range Booster (3 of 3)
Not used by any item
"""
type = 'passive'
@@ -38032,10 +38079,7 @@ class Effect8327(BaseEffect):
class Effect8328(BaseEffect):
"""
relicVirusStrengthBonusPassive
Used by:
Implants named like: SoCT Relic Strength Booster (3 of 3)
Not used by any item
"""
type = 'passive'
@@ -38267,10 +38311,7 @@ class Effect8479(BaseEffect):
class Effect8594(BaseEffect):
"""
modifyArmorDamageResistanceBonusPostPercentPassive
Used by:
Implants named like: SoCT Armor Booster (3 of 3)
Not used by any item
"""
type = 'passive'
@@ -40791,6 +40832,22 @@ class Effect12102(BaseEffect):
skill.getModifiedItemAttr('capitalMJDCapReductionBonus') * skill.level, **kwargs)
class Effect12126(BaseEffect):
"""
microJumpPortalDriveCapital
Used by:
Module: Capital Micro Jump Field Generator
"""
type = 'active'
@staticmethod
def handler(fit, module, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonusPercent'),
stackingPenalties=True, **kwargs)
class Effect12127(BaseEffect):
"""
shipRoleBonusUpwellHaulersMediumMissileFittingBonus

View File

@@ -25,7 +25,7 @@ class AddToCargoAmmo(ContextMenuSingle):
return True
def getText(self, callingWindow, itmContext, mainItem):
if mainItem.marketGroup.name == "Scan Probes":
if mainItem.marketGroup and mainItem.marketGroup.name == "Scan Probes":
return _t("Add {0} to Cargo (x8)").format(itmContext)
return _t("Add {0} to Cargo (x1000)").format(itmContext)
@@ -34,7 +34,7 @@ class AddToCargoAmmo(ContextMenuSingle):
fitID = self.mainFrame.getActiveFit()
typeID = int(mainItem.ID)
if mainItem.marketGroup.name == "Scan Probes":
if mainItem.marketGroup and mainItem.marketGroup.name == "Scan Probes":
command = cmd.GuiAddCargoCommand(fitID=fitID, itemID=typeID, amount=8)
else:
command = cmd.GuiAddCargoCommand(fitID=fitID, itemID=typeID, amount=1000)

View File

@@ -5,3 +5,5 @@ import wx.lib.newevent
ItemSelected, ITEM_SELECTED = wx.lib.newevent.NewEvent()
RECENTLY_USED_MODULES = -2
CHARGES_FOR_FIT = -3

View File

@@ -2,15 +2,17 @@ import wx
from logbook import Logger
import gui.builtinMarketBrowser.pfSearchBox as SBox
import gui.globalEvents as GE
from config import slotColourMap, slotColourMapDark
from eos.saveddata.module import Module
from gui.builtinMarketBrowser.events import ItemSelected, RECENTLY_USED_MODULES
from gui.builtinMarketBrowser.events import ItemSelected, RECENTLY_USED_MODULES, CHARGES_FOR_FIT
from gui.contextMenu import ContextMenu
from gui.display import Display
from gui.utils.staticHelpers import DragDropHelper
from gui.utils.dark import isDark
from service.fit import Fit
from service.market import Market
from service.ammo import Ammo
pyfalog = Logger(__name__)
@@ -32,6 +34,7 @@ class ItemView(Display):
self.filteredStore = set()
self.sMkt = marketBrowser.sMkt
self.sFit = Fit.getInstance()
self.sAmmo = Ammo.getInstance()
self.marketBrowser = marketBrowser
self.marketView = marketBrowser.marketView
@@ -51,6 +54,9 @@ class ItemView(Display):
self.Bind(wx.EVT_LIST_ITEM_ACTIVATED, self.itemActivated)
self.Bind(wx.EVT_LIST_BEGIN_DRAG, self.startDrag)
# the "charges for active fitting" needs to listen to fitting changes
self.mainFrame.Bind(GE.FIT_CHANGED, self.fitChanged)
self.active = []
def delaySearch(self, evt):
@@ -91,7 +97,11 @@ class ItemView(Display):
if sel.IsOk():
# Get data field of the selected item (which is a marketGroup ID if anything was selected)
seldata = self.marketView.GetItemData(sel)
if seldata is not None and seldata != RECENTLY_USED_MODULES:
if seldata == RECENTLY_USED_MODULES:
items = self.sMkt.getRecentlyUsed()
elif seldata == CHARGES_FOR_FIT:
items = self.getChargesForActiveFit()
elif seldata is not None:
# If market group treeview item doesn't have children (other market groups or dummies),
# then it should have items in it and we want to request them
if self.marketView.ItemHasChildren(sel) is False:
@@ -103,11 +113,7 @@ class ItemView(Display):
else:
items = set()
else:
# If method was called but selection wasn't actually made or we have a hit on recently used modules
if seldata == RECENTLY_USED_MODULES:
items = self.sMkt.getRecentlyUsed()
else:
items = set()
items = set()
# Fill store
self.updateItemStore(items)
@@ -115,6 +121,9 @@ class ItemView(Display):
# Set toggle buttons / use search mode flag if recently used modules category is selected (in order to have all modules listed and not filtered)
if seldata == RECENTLY_USED_MODULES:
self.marketBrowser.mode = 'recent'
if seldata == CHARGES_FOR_FIT:
self.marketBrowser.mode = 'charges'
self.setToggles()
if context == 'tree' and self.marketBrowser.settings.get('marketMGMarketSelectMode') == 1:
@@ -123,6 +132,41 @@ class ItemView(Display):
btn.setUserSelection(True)
self.filterItemStore()
def getChargesForActiveFit(self):
fitId = self.mainFrame.getActiveFit()
# no active fit => no charges
if fitId is None:
return set()
fit = self.sFit.getFit(fitId)
# use a set so we only add one entry for each charge
items = set()
for mod in fit.modules:
charges = self.sAmmo.getModuleFlatAmmo(mod)
for charge in charges:
items.add(charge)
return items
def fitChanged(self, event):
# skip the event so the other handlers also get called
event.Skip()
if self.marketBrowser.mode != 'charges':
return
activeFitID = self.mainFrame.getActiveFit()
# if it was not the active fitting that was changed, do not do anything
if activeFitID is not None and activeFitID not in event.fitIDs:
return
items = self.getChargesForActiveFit()
# update the UI
self.updateItemStore(items)
self.filterItemStore()
def updateItemStore(self, items):
self.unfilteredStore = items

View File

@@ -1,7 +1,7 @@
import wx
from gui.cachingImageList import CachingImageList
from gui.builtinMarketBrowser.events import RECENTLY_USED_MODULES
from gui.builtinMarketBrowser.events import RECENTLY_USED_MODULES, CHARGES_FOR_FIT
from logbook import Logger
@@ -35,6 +35,9 @@ class MarketTree(wx.TreeCtrl):
# Add recently used modules node
rumIconId = self.addImage("market_small", "gui")
self.AppendItem(self.root, _t("Recently Used Items"), rumIconId, data=RECENTLY_USED_MODULES)
# Add charges for active fitting node
cffIconId = self.addImage("damagePattern_small", "gui")
self.AppendItem(self.root, _t("Charges For Active Fit"), cffIconId, data=CHARGES_FOR_FIT)
# Bind our lookup method to when the tree gets expanded
self.Bind(wx.EVT_TREE_ITEM_EXPANDING, self.expandLookup)

View File

@@ -112,7 +112,7 @@ class FitBrowserLiteDialog(wx.Dialog):
return True
matches = []
searchTokens = [t.lower() for t in re.split('\s+', searchPattern)]
searchTokens = [t.lower() for t in re.split(r'\s+', searchPattern)]
for fit in self.allFits:
if isMatch(fit, searchTokens):
matches.append(fit)

View File

@@ -146,7 +146,7 @@ class MarketBrowser(wx.Panel):
setting = self.settings.get('marketMGSearchMode')
# We turn on all meta buttons for the duration of search/recents
if setting == 1:
if newMode in ('search', 'recent'):
if newMode in ('search', 'recent', 'charges'):
for btn in self.metaButtons:
btn.setUserSelection(True)
if newMode == 'normal':

BIN
imgs/icons/10155@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

BIN
imgs/icons/10155@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 780 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 829 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 821 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 784 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 808 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 829 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 814 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 825 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

BIN
imgs/icons/26065@1x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 B

BIN
imgs/icons/26065@2x.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 498 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 837 B

After

Width:  |  Height:  |  Size: 868 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 833 B

After

Width:  |  Height:  |  Size: 821 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 767 B

After

Width:  |  Height:  |  Size: 759 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 784 B

After

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 823 B

After

Width:  |  Height:  |  Size: 807 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 701 B

After

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 819 B

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 705 B

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 801 B

After

Width:  |  Height:  |  Size: 793 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 B

After

Width:  |  Height:  |  Size: 818 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 691 B

After

Width:  |  Height:  |  Size: 701 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 756 B

After

Width:  |  Height:  |  Size: 768 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 798 B

After

Width:  |  Height:  |  Size: 793 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 B

After

Width:  |  Height:  |  Size: 817 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 872 B

After

Width:  |  Height:  |  Size: 848 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 706 B

After

Width:  |  Height:  |  Size: 712 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 828 B

After

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 868 B

After

Width:  |  Height:  |  Size: 861 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 888 B

After

Width:  |  Height:  |  Size: 895 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 847 B

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 842 B

After

Width:  |  Height:  |  Size: 840 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 844 B

After

Width:  |  Height:  |  Size: 838 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 707 B

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 772 B

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 673 B

After

Width:  |  Height:  |  Size: 706 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 817 B

After

Width:  |  Height:  |  Size: 811 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 887 B

After

Width:  |  Height:  |  Size: 883 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 702 B

After

Width:  |  Height:  |  Size: 740 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 781 B

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 836 B

After

Width:  |  Height:  |  Size: 841 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 847 B

After

Width:  |  Height:  |  Size: 859 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 742 B

After

Width:  |  Height:  |  Size: 750 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 843 B

After

Width:  |  Height:  |  Size: 836 B

Some files were not shown because too many files have changed in this diff Show More