Compare commits

..

21 Commits

Author SHA1 Message Date
DarkPhoenix
bee6652cc6 Bump version 2020-08-18 00:51:34 +03:00
DarkPhoenix
047ef75960 Update effects 2020-08-18 00:51:11 +03:00
DarkPhoenix
32e57f8138 Update staticdata to 1788518 2020-08-18 00:40:07 +03:00
DarkPhoenix
e891804b64 Allow more than 1 system-wide effect 2020-08-17 13:36:52 +03:00
DarkPhoenix
7d42b89726 Merge branch 'master' into singularity 2020-08-17 11:43:50 +03:00
Anton Vorobyov
6561996327 Merge pull request #2256 from m-sasha/perf
Re-render tab when its disabled state changes.
2020-08-17 11:42:35 +03:00
Alexander Maryanovsky
0d2ad6eac2 No longer recomputing all tab sizes when a single tab changes its disabled state. 2020-08-16 18:00:01 +03:00
Alexander Maryanovsky
3b2bfd01c5 Re-render tab when it's disabled state changes. 2020-08-16 17:45:34 +03:00
DarkPhoenix
a317dab9a8 Bump version 2020-08-15 03:56:54 +03:00
DarkPhoenix
db6d8b93e9 Re-enable meta storm menu 2020-08-15 03:39:48 +03:00
DarkPhoenix
7d585c1a62 Merge branch 'master' into singularity
# Conflicts:
#	staticdata/fsd_lite/evetypes.json
#	staticdata/phobos/metadata.json
2020-08-15 03:34:45 +03:00
DarkPhoenix
c45e84470e Add storm effects 2020-08-15 03:27:47 +03:00
DarkPhoenix
ab3b40e136 Rerun effectUsedBy 2020-08-15 02:08:09 +03:00
DarkPhoenix
b566a8bfa6 Update static data to 1786419 2020-08-15 02:06:19 +03:00
DarkPhoenix
ccb395d592 Add standard outpost rig effect 2020-08-13 13:17:50 +03:00
DarkPhoenix
3d039724c9 Relax ship name format restrictions even further 2020-08-13 01:18:03 +03:00
DarkPhoenix
d0e7e7eed5 Merge branch 'master' of github.com:pyfa-org/Pyfa into master 2020-08-13 01:16:08 +03:00
DarkPhoenix
a387bc8d09 Fix import of ship/structure names containing single quotes 2020-08-13 01:15:41 +03:00
Anton Vorobyov
94344bd432 Merge pull request #2254 from Neugeniko/Issue/2253
Updated 'Retaliating Caldari Entities' target profile
2020-08-12 12:14:48 +03:00
DarkPhoenix
a976fb33f0 Fix defender velocity hardwiring 2020-08-12 00:11:52 +03:00
Neugeniko
8ed9257dfa Updated 'Retaliating Caldari Entities' target profile
2020/08/12 Eve Online Patch increased Em Resists for some npc in the group of  'Retaliating Caldari Entities'
The groups target profile has been recalculated and edited.
2020-08-12 02:56:13 +10:00
13 changed files with 3984 additions and 458 deletions

View File

@@ -1126,6 +1126,7 @@ class Effect394(BaseEffect):
Implants named like: grade Snake (16 of 18)
Modules named like: Auxiliary Thrusters (8 of 8)
Implant: Quafe Zero
Implant: Serenity Seasonal Booster 1
Skill: Navigation
"""
@@ -2447,7 +2448,7 @@ class Effect856(BaseEffect):
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
penalized = False if 'skill' in context or 'implant' in context else True
fit.ship.boostItemAttr('baseWarpSpeed', container.getModifiedItemAttr('WarpSBonus'),
fit.ship.boostItemAttr('warpSpeedMultiplier', container.getModifiedItemAttr('WarpSBonus'),
stackingPenalties=penalized, **kwargs)
@@ -8691,8 +8692,8 @@ class Effect2872(BaseEffect):
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Defender Missiles'),
'maxVelocity', container.getModifiedItemAttr('missileVelocityBonus'), **kwargs)
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Defender Missiles'),
'maxVelocity', container.getModifiedItemAttr('missileVelocityBonus'), **kwargs)
class Effect2881(BaseEffect):
@@ -12389,6 +12390,8 @@ class Effect3992(BaseEffect):
Celestials named like: Class Pulsar Effects (6 of 6)
Celestial: Republic Stellar Observatory
Celestial: State Stellar Observatory
Celestial: Strong Metaliminal Gamma Ray Storm
Celestial: Weak Metaliminal Gamma Ray Storm
"""
runTime = 'early'
@@ -12424,6 +12427,8 @@ class Effect3995(BaseEffect):
Used by:
Celestials named like: Class Pulsar Effects (6 of 6)
Celestials named like: Class Wolf Rayet Effects (6 of 6)
Celestial: Strong Metaliminal Gamma Ray Storm
Celestial: Weak Metaliminal Gamma Ray Storm
"""
runTime = 'early'
@@ -12462,6 +12467,8 @@ class Effect3997(BaseEffect):
Used by:
Celestials named like: Class Pulsar Effects (6 of 6)
Celestials named like: Incursion Effect (2 of 2)
Celestial: Strong Metaliminal Gamma Ray Storm
Celestial: Weak Metaliminal Gamma Ray Storm
"""
runTime = 'early'
@@ -12481,6 +12488,8 @@ class Effect3998(BaseEffect):
Used by:
Celestials named like: Class Pulsar Effects (6 of 6)
Celestials named like: Incursion Effect (2 of 2)
Celestial: Strong Metaliminal Exotic Matter Storm
Celestial: Weak Metaliminal Exotic Matter Storm
"""
runTime = 'early'
@@ -12500,6 +12509,8 @@ class Effect3999(BaseEffect):
Used by:
Celestials named like: Class Pulsar Effects (6 of 6)
Celestials named like: Incursion Effect (2 of 2)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -12553,6 +12564,8 @@ class Effect4016(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -12571,6 +12584,8 @@ class Effect4017(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -12589,6 +12604,8 @@ class Effect4018(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -12607,6 +12624,8 @@ class Effect4019(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -12625,6 +12644,8 @@ class Effect4020(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -12643,6 +12664,8 @@ class Effect4021(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -12661,6 +12684,8 @@ class Effect4022(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -13185,6 +13210,8 @@ class Effect4088(BaseEffect):
Used by:
Celestials named like: Class Cataclysmic Variable Effects (6 of 6)
Celestial: Dazh Liminality Locus
Celestial: Strong Metaliminal Gamma Ray Storm
Celestial: Weak Metaliminal Gamma Ray Storm
"""
runTime = 'early'
@@ -13193,8 +13220,10 @@ class Effect4088(BaseEffect):
@staticmethod
def handler(fit, module, context, projectionRange, **kwargs):
fit.modules.filteredItemMultiply(
lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or mod.item.requiresSkill('Capital Remote Armor Repair Systems'),
'armorDamageAmount', module.getModifiedItemAttr('armorDamageAmountMultiplierRemote'), stackingPenalties=True, **kwargs)
lambda mod: mod.item.requiresSkill('Remote Armor Repair Systems') or
mod.item.requiresSkill('Capital Remote Armor Repair Systems'),
'armorDamageAmount', module.getModifiedItemAttr('armorDamageAmountMultiplierRemote'),
stackingPenalties=True, penaltyGroup='postMul', **kwargs)
class Effect4089(BaseEffect):
@@ -13204,6 +13233,8 @@ class Effect4089(BaseEffect):
Used by:
Celestials named like: Class Cataclysmic Variable Effects (6 of 6)
Celestial: Dazh Liminality Locus
Celestial: Strong Metaliminal Gamma Ray Storm
Celestial: Weak Metaliminal Gamma Ray Storm
"""
runTime = 'early'
@@ -13212,8 +13243,10 @@ class Effect4089(BaseEffect):
@staticmethod
def handler(fit, module, context, projectionRange, **kwargs):
fit.modules.filteredItemMultiply(
lambda mod: mod.item.requiresSkill('Shield Emission Systems') or mod.item.requiresSkill('Capital Shield Emission Systems'),
'shieldBonus', module.getModifiedItemAttr('shieldBonusMultiplierRemote'), stackingPenalties=True, penaltyGroup='postMul', **kwargs)
lambda mod: mod.item.requiresSkill('Shield Emission Systems') or
mod.item.requiresSkill('Capital Shield Emission Systems'),
'shieldBonus', module.getModifiedItemAttr('shieldBonusMultiplierRemote'),
stackingPenalties=True, penaltyGroup='postMul', **kwargs)
class Effect4090(BaseEffect):
@@ -13222,6 +13255,8 @@ class Effect4090(BaseEffect):
Used by:
Celestials named like: Class Cataclysmic Variable Effects (6 of 6)
Celestial: Strong Metaliminal Gamma Ray Storm
Celestial: Weak Metaliminal Gamma Ray Storm
"""
runTime = 'early'
@@ -13378,6 +13413,8 @@ class Effect4136(BaseEffect):
Used by:
Celestials named like: Class Wolf Rayet Effects (6 of 6)
Celestial: Strong Metaliminal Gamma Ray Storm
Celestial: Weak Metaliminal Gamma Ray Storm
"""
runTime = 'early'
@@ -13396,6 +13433,8 @@ class Effect4137(BaseEffect):
Used by:
Celestials named like: Class Wolf Rayet Effects (6 of 6)
Celestial: Strong Metaliminal Exotic Matter Storm
Celestial: Weak Metaliminal Exotic Matter Storm
"""
runTime = 'early'
@@ -13414,6 +13453,8 @@ class Effect4138(BaseEffect):
Used by:
Celestials named like: Class Wolf Rayet Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -16438,6 +16479,8 @@ class Effect4906(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -16445,9 +16488,9 @@ class Effect4906(BaseEffect):
@staticmethod
def handler(fit, beacon, context, projectionRange, **kwargs):
fit.drones.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Fighters'),
'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),
stackingPenalties=True, penaltyGroup='postMul', **kwargs)
fit.fighters.filteredItemMultiply(lambda drone: drone.item.requiresSkill('Fighters'),
'damageMultiplier', beacon.getModifiedItemAttr('damageMultiplierMultiplier'),
stackingPenalties=True, penaltyGroup='postMul', **kwargs)
class Effect4911(BaseEffect):
@@ -23073,6 +23116,8 @@ class Effect5913(BaseEffect):
Celestials named like: Class Wolf Rayet Effects (6 of 6)
Celestial: Federal Stellar Observatory
Celestial: Imperial Stellar Observatory
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -23201,6 +23246,8 @@ class Effect5920(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -23209,7 +23256,8 @@ class Effect5920(BaseEffect):
@staticmethod
def handler(fit, beacon, context, projectionRange, **kwargs):
fit.modules.filteredChargeMultiply(lambda mod: mod.charge.requiresSkill('Missile Launcher Operation'),
'aoeCloudSize', beacon.getModifiedItemAttr('aoeCloudSizeMultiplier'), **kwargs)
'aoeCloudSize', beacon.getModifiedItemAttr('aoeCloudSizeMultiplier'),
stackingPenalties=True, penaltyGroup='postMul', **kwargs)
class Effect5921(BaseEffect):
@@ -23351,6 +23399,8 @@ class Effect5929(BaseEffect):
Used by:
Celestials named like: Class Magnetar Effects (6 of 6)
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -26973,15 +27023,12 @@ class Effect6406(BaseEffect):
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
groups = ('Structure ECM Battery', 'Structure Disruption Battery')
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
'falloff', src.getModifiedItemAttr('structureRigEwarFalloffBonus'),
stackingPenalties=True, **kwargs)
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
'maxRange', src.getModifiedItemAttr('structureRigEwarOptimalBonus'),
stackingPenalties=True, **kwargs)
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
'falloffEffectiveness', src.getModifiedItemAttr('structureRigEwarFalloffBonus'),
stackingPenalties=True, **kwargs)
@@ -27002,8 +27049,7 @@ class Effect6407(BaseEffect):
def handler(fit, src, context, projectionRange, **kwargs):
groups = ('Structure ECM Battery', 'Structure Disruption Battery')
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups,
'capacitorNeed', src.getModifiedItemAttr('structureRigEwarCapUseBonus'),
stackingPenalties=True, **kwargs)
'capacitorNeed', src.getModifiedItemAttr('structureRigEwarCapUseBonus'), **kwargs)
class Effect6408(BaseEffect):
@@ -27108,8 +27154,7 @@ class Effect6413(BaseEffect):
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Area Denial Module',
'capacitorNeed', src.getModifiedItemAttr('structureRigPDCapUseBonus'),
stackingPenalties=True, **kwargs)
'capacitorNeed', src.getModifiedItemAttr('structureRigPDCapUseBonus'), **kwargs)
class Effect6417(BaseEffect):
@@ -35065,7 +35110,7 @@ class Effect7086(BaseEffect):
shipbonusPCTTrackingPC2
Used by:
Variations of ship: Vedmak (2 of 2)
Ship: Ikitursa
Ship: Tiamat
"""
@@ -35213,6 +35258,39 @@ class Effect7097(BaseEffect):
'damageMultiplier', skill.getModifiedItemAttr('damageMultiplierBonus') * skill.level, **kwargs)
class Effect7098(BaseEffect):
"""
structureConversionRigBasicBonuses
Used by:
Structure Modules from group: Outpost Conversion Rigs (104 of 104)
"""
type = 'passive'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
for attr in ('hp', 'armorHP', 'shieldCapacity', 'capacitorCapacity'):
fit.ship.boostItemAttr(attr, src.getModifiedItemAttr('conversionRigHPCapBonus'), **kwargs)
fit.ship.boostItemAttr('maxTargetRange', src.getModifiedItemAttr('structureRigMaxTargetRangeBonus'),
stackingPenalties=True, **kwargs)
fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('structureRigScanResBonus'),
stackingPenalties=True, **kwargs)
fit.ship.increaseItemAttr('maxLockedTargets', src.getModifiedItemAttr('structureRigMaxTargetBonus'), **kwargs)
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Area Denial Module',
'capacitorNeed', src.getModifiedItemAttr('structureRigPDCapUseBonus'), **kwargs)
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name == 'Structure Area Denial Module',
'empFieldRange', src.getModifiedItemAttr('structureRigPDRangeBonus'), **kwargs)
for attr in ('structureRigMaxTargetBonus', 'structureRigMaxTargetRangeBonus', 'structureRigScanResBonus'):
fit.modules.filteredItemForce(
lambda mod: mod.item.group.name == 'Structure Combat Rig L - Max Targets and Sensor Boosting',
attr, src.getModifiedItemAttr('constantZero'), **kwargs)
for attr in ('structureRigPDCapUseBonus', 'structureRigPDRangeBonus'):
fit.modules.filteredItemForce(
lambda mod: mod.item.group.name == 'Structure Combat Rig L - Point Defense Battery Application and Projection',
attr, src.getModifiedItemAttr('constantZero'), **kwargs)
class Effect7111(BaseEffect):
"""
systemSmallPrecursorTurretDamage
@@ -35772,6 +35850,8 @@ class Effect7193(BaseEffect):
Used by:
Celestials named like: Stellar Observatory (4 of 4)
Celestials named like: Triglavian Invasion System Effects (3 of 3)
Celestial: Strong Metaliminal Exotic Matter Storm
Celestial: Weak Metaliminal Exotic Matter Storm
"""
runTime = 'early'
@@ -36086,10 +36166,12 @@ class Effect7234(BaseEffect):
class Effect7237(BaseEffect):
"""
systemWarpSpeed
systemWarpSpeedBonus
Used by:
Celestial: Dazh Liminality Locus
Celestial: Strong Metaliminal Exotic Matter Storm
Celestial: Weak Metaliminal Exotic Matter Storm
"""
runTime = 'early'
@@ -36272,13 +36354,7 @@ class Effect8020(BaseEffect):
systemWarpSpeedAddition
Used by:
Celestial: Strong Metaliminal Exotic Matter Storm
Celestial: Strong Metaliminal Gamma Ray Storm
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: System-Wide Warp Speed Bonus
Celestial: Weak Metaliminal Exotic Matter Storm
Celestial: Weak Metaliminal Gamma Ray Storm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
@@ -36880,6 +36956,22 @@ class Effect8073(BaseEffect):
skill='Command Ships', **kwargs)
class Effect8074(BaseEffect):
"""
shipBonusPC2maxRange
Used by:
Ship: Vedmak
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Medium Precursor Weapon'),
'maxRange', ship.getModifiedItemAttr('shipBonusPC2'), skill='Precursor Cruiser', **kwargs)
class Effect8075(BaseEffect):
"""
systemHullEmResistance
@@ -36896,3 +36988,193 @@ class Effect8075(BaseEffect):
def handler(fit, beacon, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('emDamageResonance', beacon.getModifiedItemAttr('emDamageResistanceBonus'),
stackingPenalties=True, **kwargs)
class Effect8076(BaseEffect):
"""
systemHullThermalResistance
Used by:
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, beacon, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('thermalDamageResonance', beacon.getModifiedItemAttr('thermalDamageResistanceBonus'),
stackingPenalties=True, **kwargs)
class Effect8077(BaseEffect):
"""
systemHullKineticResistance
Used by:
Celestial: Strong Metaliminal Exotic Matter Storm
Celestial: Weak Metaliminal Exotic Matter Storm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('kineticDamageResonance', container.getModifiedItemAttr('kineticDamageResistanceBonus'),
stackingPenalties=True, **kwargs)
class Effect8078(BaseEffect):
"""
systemHullExplosiveResistance
Used by:
Celestial: Strong Metaliminal Gamma Ray Storm
Celestial: Weak Metaliminal Gamma Ray Storm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('explosiveDamageResonance', container.getModifiedItemAttr('explosiveDamageResistanceBonus'),
stackingPenalties=True, **kwargs)
class Effect8079(BaseEffect):
"""
systemVirusCoherenceBonus
Used by:
Celestial: Strong Metaliminal Electrical Storm
Celestial: Weak Metaliminal Electrical Storm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Archaeology'),
'virusCoherence', container.getModifiedItemAttr('virusCoherenceBonus'), **kwargs)
fit.modules.filteredItemIncrease(lambda mod: mod.item.requiresSkill('Hacking'),
'virusCoherence', container.getModifiedItemAttr('virusCoherenceBonus'), **kwargs)
class Effect8080(BaseEffect):
"""
systemProbeStrengthBonus
Used by:
Celestial: Strong Metaliminal Electrical Storm
Celestial: Weak Metaliminal Electrical Storm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.modules.filteredChargeBoost(lambda mod: mod.charge.requiresSkill('Astrometrics'),
'baseSensorStrength', container.getModifiedItemAttr('scanProbeStrengthBonus'),
stackingPenalties=True, **kwargs)
class Effect8081(BaseEffect):
"""
systemDisallowCloaking
Used by:
Celestial: Strong Metaliminal Electrical Storm
Celestial: Weak Metaliminal Electrical Storm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.ship.increaseItemAttr('disallowCloaking', src.getModifiedItemAttr('disallowCloaking'), **kwargs)
class Effect8082(BaseEffect):
"""
systemScanResolutionBonus
Used by:
Celestial: Strong Metaliminal Exotic Matter Storm
Celestial: Weak Metaliminal Exotic Matter Storm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('scanResolution', container.getModifiedItemAttr('scanResolutionBonus'),
stackingPenalties=True, **kwargs)
class Effect8083(BaseEffect):
"""
systemArmorRepairerDurationBonus
Used by:
Celestial: Strong Metaliminal Exotic Matter Storm
Celestial: Weak Metaliminal Exotic Matter Storm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Repair Systems') or
mod.item.requiresSkill('Capital Repair Systems'),
'duration', container.getModifiedItemAttr('armorRepairDurationBonus'), **kwargs)
class Effect8084(BaseEffect):
"""
systemShieldBoosterDurationBonus
Used by:
Celestial: Strong Metaliminal Exotic Matter Storm
Celestial: Weak Metaliminal Exotic Matter Storm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill('Shield Operation') or
mod.item.requiresSkill('Capital Shield Operation'),
'duration', container.getModifiedItemAttr('shieldBoosterDurationBonus'), **kwargs)
class Effect8085(BaseEffect):
"""
systemFighterExplosionRadius
Used by:
Celestial: Strong Metaliminal Plasma Firestorm
Celestial: Weak Metaliminal Plasma Firestorm
"""
runTime = 'early'
type = ('projected', 'passive')
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.fighters.filteredItemMultiply(
lambda mod: mod.item.requiresSkill('Fighters'),
'fighterAbilityAttackMissileExplosionRadius', container.getModifiedItemAttr('aoeCloudSizeMultiplier'),
stackingPenalties=True, penaltyGroup='postMul', **kwargs)
fit.fighters.filteredItemMultiply(
lambda mod: mod.item.requiresSkill('Fighters'),
'fighterAbilityMissilesExplosionRadius', container.getModifiedItemAttr('aoeCloudSizeMultiplier'),
stackingPenalties=True, penaltyGroup='postMul', **kwargs)

View File

@@ -267,7 +267,9 @@ class Module(HandledItem, HandledCharge, ItemAttrShortcut, ChargeAttrShortcut):
@property
def isExclusiveSystemEffect(self):
return self.item.group.name in ("Effect Beacon", "Non-Interactable Object", "MassiveEnvironments")
# See issue #2258
# return self.item.group.name in ("Effect Beacon", "Non-Interactable Object", "MassiveEnvironments")
return False
@property
def isCapitalSize(self):

View File

@@ -86,7 +86,7 @@ BUILTINS = OrderedDict([
# Source: ticket #2067
(-52, ('[NPC][Invasion]Invading Precursor Entities', 0.422, 0.367, 0.453, 0.411)),
(-53, ('[NPC][Invasion]Retaliating Amarr Entities', 0.360, 0.310, 0.441, 0.602)),
(-54, ('[NPC][Invasion]Retaliating Caldari Entities', 0.287, 0.610, 0.487, 0.401)),
(-54, ('[NPC][Invasion]Retaliating Caldari Entities', 0.303, 0.610, 0.487, 0.401)),
(-55, ('[NPC][Invasion]Retaliating Gallente Entities', 0.383, 0.414, 0.578, 0.513)),
(-56, ('[NPC][Invasion]Retaliating Minmatar Entities', 0.620, 0.422, 0.355, 0.399)),
(-57, ('[NPC][Abyssal][Dark Matter All Tiers]Drones', 0.439, 0.522, 0.529, 0.435)),

View File

@@ -102,9 +102,9 @@ class AddEnvironmentEffect(ContextMenuUnconditional):
def getData(self):
data = Group()
# data.groups['Metaliminal Storm'] = self.getEffectBeacons(
# 'Electrical', 'Exotic', 'Gamma', 'Plasma',
# extra_garbage=('Metaliminal', 'Storm', 'Matter', 'Ray', 'Firestorm'))
data.groups['Metaliminal Storm'] = self.getEffectBeacons(
'Electrical', 'Exotic', 'Gamma', 'Plasma',
extra_garbage=('Metaliminal', 'Storm', 'Matter', 'Ray', 'Firestorm'))
data.groups['Wormhole'] = self.getEffectBeacons(
'Black Hole', 'Cataclysmic Variable', 'Magnetar',
'Pulsar', 'Red Giant', 'Wolf Rayet')

View File

@@ -367,7 +367,7 @@ class _TabRenderer:
width = max(width, self.min_width)
height = max(height, self.min_height)
self.disabled = False
self._disabled = False
self.baseText = text
self.extraText = ''
self.tab_size = (width, height)
@@ -383,6 +383,18 @@ class _TabRenderer:
self.position = (0, 0) # Not used internally for rendering - helper for tab container
self.InitTab()
@property
def disabled(self):
return self._disabled
@disabled.setter
def disabled(self, value):
if value == self._disabled: # Avoid unnecessary re-rendering
return
self._disabled = value
self._Render()
@property
def text(self):
return self.baseText + self.extraText
@@ -931,7 +943,6 @@ class _TabsContainer(wx.Panel):
tb_renderer = self.tabs[tab]
tb_renderer.disabled = disabled
self.AdjustTabsSize()
self.Refresh()
def GetSelectedTab(self):

View File

@@ -598,7 +598,7 @@ def _importCreateFit(lines):
"""Create fit and set top-level entity (ship or citadel)."""
fit = Fit()
header = lines.pop(0)
m = re.match('\[(?P<shipType>[\w\s]+),\s*(?P<fitName>.+)\]', header)
m = re.match('\[(?P<shipType>[^,]+),\s*(?P<fitName>.+)\]', header)
if not m:
pyfalog.warning('service.port.eft.importEft: corrupted fit header')
raise EftImportError

View File

@@ -7353,8 +7353,7 @@
"displayName": "Meta Level",
"displayNameID": 233633,
"highIsGood": 1,
"iconID": 0,
"name": "metaLevel",
"name": "metaLevelOld",
"published": 1,
"stackable": 1,
"unitID": 140
@@ -32559,5 +32558,23 @@
"published": 1,
"stackable": 0,
"unitID": 105
},
"3098": {
"attributeID": 3098,
"dataType": 5,
"defaultValue": 0.0,
"highIsGood": 0,
"name": "armorRepairDurationBonus",
"published": 0,
"stackable": 0
},
"3099": {
"attributeID": 3099,
"dataType": 5,
"defaultValue": 0.0,
"highIsGood": 0,
"name": "shieldBoosterDurationBonus",
"published": 0,
"stackable": 0
}
}

View File

@@ -77786,9 +77786,8 @@
"disallowAutoRepeat": 0,
"effectCategory": 7,
"effectID": 7237,
"effectName": "\tsystemWarpSpeed",
"effectName": "systemWarpSpeedBonus",
"electronicChance": 0,
"guid": "",
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
@@ -79225,9 +79224,32 @@
"published": 0,
"rangeChance": 0
},
"8075": {
"8074": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectID": 8074,
"effectName": "shipBonusPC2maxRange",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 54,
"modifyingAttributeID": 2765,
"operation": 6,
"skillTypeID": 47871
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"8075": {
"disallowAutoRepeat": 0,
"effectCategory": 7,
"effectID": 8075,
"effectName": "systemHullEmResistance",
"electronicChance": 0,
@@ -79249,7 +79271,7 @@
},
"8076": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectCategory": 7,
"effectID": 8076,
"effectName": "systemHullThermalResistance",
"electronicChance": 0,
@@ -79271,7 +79293,7 @@
},
"8077": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectCategory": 7,
"effectID": 8077,
"effectName": "systemHullKineticResistance",
"electronicChance": 0,
@@ -79293,7 +79315,7 @@
},
"8078": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectCategory": 7,
"effectID": 8078,
"effectName": "systemHullExplosiveResistance",
"electronicChance": 0,
@@ -79317,7 +79339,7 @@
"disallowAutoRepeat": 0,
"effectCategory": 7,
"effectID": 8079,
"effectName": "systemVirusStrengthBonus",
"effectName": "systemVirusCoherenceBonus",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
@@ -79326,16 +79348,16 @@
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 1910,
"modifyingAttributeID": 1918,
"modifiedAttributeID": 1909,
"modifyingAttributeID": 1915,
"operation": 2,
"skillTypeID": 13278
},
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 1910,
"modifyingAttributeID": 1918,
"modifiedAttributeID": 1909,
"modifyingAttributeID": 1915,
"operation": 2,
"skillTypeID": 21718
}
@@ -79346,13 +79368,160 @@
},
"8080": {
"disallowAutoRepeat": 0,
"effectCategory": 0,
"effectCategory": 7,
"effectID": 8080,
"effectName": "systemProbeStrengthBonus",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "charID",
"func": "OwnerRequiredSkillModifier",
"modifiedAttributeID": 1371,
"modifyingAttributeID": 3095,
"operation": 6,
"skillTypeID": 3412
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"8081": {
"disallowAutoRepeat": 0,
"effectCategory": 7,
"effectID": 8081,
"effectName": "systemDisallowCloaking",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 2454,
"modifyingAttributeID": 2454,
"operation": 2
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"8082": {
"disallowAutoRepeat": 0,
"effectCategory": 7,
"effectID": 8082,
"effectName": "systemScanResolutionBonus",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "ItemModifier",
"modifiedAttributeID": 564,
"modifyingAttributeID": 566,
"operation": 6
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"8083": {
"disallowAutoRepeat": 0,
"effectCategory": 7,
"effectID": 8083,
"effectName": "systemArmorRepairerDurationBonus",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 73,
"modifyingAttributeID": 3098,
"operation": 6,
"skillTypeID": 3393
},
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 73,
"modifyingAttributeID": 3098,
"operation": 6,
"skillTypeID": 21803
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"8084": {
"disallowAutoRepeat": 0,
"effectCategory": 7,
"effectID": 8084,
"effectName": "systemShieldBoosterDurationBonus",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 73,
"modifyingAttributeID": 3099,
"operation": 6,
"skillTypeID": 3416
},
{
"domain": "shipID",
"func": "LocationRequiredSkillModifier",
"modifiedAttributeID": 73,
"modifyingAttributeID": 3099,
"operation": 6,
"skillTypeID": 21802
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0
},
"8085": {
"disallowAutoRepeat": 0,
"effectCategory": 7,
"effectID": 8085,
"effectName": "systemFighterExplosionRadius",
"electronicChance": 0,
"isAssistance": 0,
"isOffensive": 0,
"isWarpSafe": 0,
"modifierInfo": [
{
"domain": "charID",
"func": "OwnerRequiredSkillModifier",
"modifiedAttributeID": 2234,
"modifyingAttributeID": 1967,
"operation": 4,
"skillTypeID": 23069
},
{
"domain": "charID",
"func": "OwnerRequiredSkillModifier",
"modifiedAttributeID": 2125,
"modifyingAttributeID": 1967,
"operation": 4,
"skillTypeID": 23069
}
],
"propulsionChance": 0,
"published": 0,
"rangeChance": 0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +1,10 @@
[
{
"field_name": "client_build",
"field_value": 1782806
"field_value": 1788518
},
{
"field_name": "dump_time",
"field_value": 1597151359
"field_value": 1597688381
}
]

View File

@@ -159,6 +159,36 @@
},
"typeID": 22466
},
{
"traits": {
"misc": {
"bonuses": [
{
"number": "25%",
"text": "reduction in ship kinetic resistances"
},
{
"number": "50%",
"text": "bonus to ship scan resolution"
},
{
"number": "25%",
"text": "bonus to mining laser cycle speed"
},
{
"number": "25%",
"text": "bonus to local Armor Repairer and Shield Booster cycle speed"
},
{
"number": "100%",
"text": "bonus to ship warp speed"
}
],
"header": "Misc bonus:"
}
},
"typeID": 56059
},
{
"traits": {
"role": {
@@ -1101,34 +1131,30 @@
"misc": {
"bonuses": [
{
"number": "44%",
"text": "bonus to ship velocity"
"number": "10%",
"text": "reduction in ship kinetic resistances"
},
{
"number": "44%",
"text": "bonus to maximum targeting range"
"number": "20%",
"text": "bonus to ship scan resolution"
},
{
"number": "22%",
"text": "bonus to missile velocity"
"number": "10%",
"text": "bonus to mining laser cycle speed"
},
{
"number": "44%",
"text": "bonus to missile explosion velocity"
"number": "10%",
"text": "bonus to local Armor Repairer and Shield Booster cycle speed"
},
{
"number": "22%",
"text": "penalty to ship agility"
},
{
"number": "22%",
"text": "penalty to stasis webifier strength"
"number": "40%",
"text": "bonus to ship warp speed"
}
],
"header": "Misc bonus:"
}
},
"typeID": 30850
"typeID": 56058
},
{
"traits": {
@@ -1312,6 +1338,35 @@
},
"typeID": 598
},
{
"traits": {
"misc": {
"bonuses": [
{
"number": "25%",
"text": "reduction in ship EM resistances"
},
{
"number": "25%",
"text": "bonus to ship capacitor recharge rate"
},
{
"number": "25+",
"text": "bonus to Relic and Data Analyzer virus coherence"
},
{
"number": "50%",
"text": "bonus to Core and Combat Scanner Probe strength"
},
{
"text": "·Cloaking devices cannot operate within systems affected by this storm"
}
],
"header": "Misc bonus:"
}
},
"typeID": 56057
},
{
"traits": {
"role": {
@@ -2489,6 +2544,40 @@
},
"typeID": 28710
},
{
"traits": {
"misc": {
"bonuses": [
{
"number": "44%",
"text": "bonus to ship velocity"
},
{
"number": "44%",
"text": "bonus to maximum targeting range"
},
{
"number": "22%",
"text": "bonus to missile velocity"
},
{
"number": "44%",
"text": "bonus to missile explosion velocity"
},
{
"number": "22%",
"text": "penalty to ship agility"
},
{
"number": "22%",
"text": "penalty to stasis webifier strength"
}
],
"header": "Misc bonus:"
}
},
"typeID": 30850
},
{
"traits": {
"skills": [
@@ -6655,7 +6744,7 @@
{
"bonuses": [
{
"number": "15%",
"number": "30%",
"text": "bonus to Light Entropic Disintegrator optimal range"
},
{
@@ -16226,6 +16315,26 @@
},
"typeID": 40340
},
{
"traits": {
"skills": [
{
"bonuses": [
{
"number": "7.5%",
"text": "bonus to Small Hybrid Turret tracking speed"
},
{
"number": "10%",
"text": "bonus to Drone hitpoints and tracking speed"
}
],
"header": "Gallente Frigate bonuses (per skill level):"
}
]
},
"typeID": 34443
},
{
"traits": {
"role": {
@@ -16480,6 +16589,26 @@
},
"typeID": 23913
},
{
"traits": {
"skills": [
{
"bonuses": [
{
"number": "10%",
"text": "bonus to Drone hitpoints and damage"
},
{
"number": "7.5%",
"text": "bonus to Drone optimal range and tracking speed"
}
],
"header": "Gallente Battleship bonuses (per skill level):"
}
]
},
"typeID": 34441
},
{
"traits": {
"role": {
@@ -20144,43 +20273,152 @@
},
{
"traits": {
"skills": [
{
"bonuses": [
{
"number": "7.5%",
"text": "bonus to Small Hybrid Turret tracking speed"
},
{
"number": "10%",
"text": "bonus to Drone hitpoints and tracking speed"
}
],
"header": "Gallente Frigate bonuses (per skill level):"
}
]
"misc": {
"bonuses": [
{
"number": "10%",
"text": "reduction in ship explosive resistances"
},
{
"number": "10%",
"text": "bonus to ship shield hitpoints"
},
{
"number": "10%",
"text": "bonus to ship capacitor capacity"
},
{
"number": "10%",
"text": "reduction in ship signature radius"
},
{
"number": "50%",
"text": "reduction in Remote Armor Repairer and Remote Shield Booster effectiveness"
}
],
"header": "Misc bonus:"
}
},
"typeID": 34443
"typeID": 56060
},
{
"traits": {
"skills": [
{
"bonuses": [
{
"number": "10%",
"text": "bonus to Drone hitpoints and damage"
},
{
"number": "7.5%",
"text": "bonus to Drone optimal range and tracking speed"
}
],
"header": "Gallente Battleship bonuses (per skill level):"
}
]
"misc": {
"bonuses": [
{
"number": "25%",
"text": "reduction in ship explosive resistances"
},
{
"number": "25%",
"text": "bonus to ship shield hitpoints"
},
{
"number": "25%",
"text": "bonus to ship capacitor capacity"
},
{
"number": "25%",
"text": "reduction in ship signature radius"
},
{
"number": "90%",
"text": "reduction in Remote Armor Repairer and Remote Shield Booster effectiveness"
}
],
"header": "Misc bonus:"
}
},
"typeID": 34441
"typeID": 56061
},
{
"traits": {
"misc": {
"bonuses": [
{
"number": "10%",
"text": "reduction in ship thermal resistances"
},
{
"number": "10%",
"text": "bonus to ship armor hitpoints"
},
{
"number": "20%",
"text": "bonus to turret, missile, drone, and fighter damage"
},
{
"number": "20%",
"text": "reduction in turret and drone tracking speed"
},
{
"number": "20%",
"text": "increase to missile and fighter explosion radius"
}
],
"header": "Misc bonus:"
}
},
"typeID": 56062
},
{
"traits": {
"misc": {
"bonuses": [
{
"number": "25%",
"text": "reduction in ship thermal resistances"
},
{
"number": "25%",
"text": "bonus to ship armor hitpoints"
},
{
"number": "50%",
"text": "bonus to turret, missile, drone, and fighter damage"
},
{
"number": "50%",
"text": "reduction in turret and drone tracking speed"
},
{
"number": "50%",
"text": "increase to missile and fighter explosion radius"
}
],
"header": "Misc bonus:"
}
},
"typeID": 56063
},
{
"traits": {
"misc": {
"bonuses": [
{
"number": "10%",
"text": "reduction in ship EM resistances"
},
{
"number": "10%",
"text": "bonus to ship capacitor recharge rate"
},
{
"number": "10+",
"text": "bonus to Relic and Data Analyzer virus coherence"
},
{
"number": "20%",
"text": "bonus to Core and Combat Scanner Probe strength"
},
{
"text": "·Cloaking devices cannot operate within systems affected by this storm"
}
],
"header": "Misc bonus:"
}
},
"typeID": 56064
},
{
"traits": {
@@ -20274,8 +20512,8 @@
"text": "bonus to Heavy Entropic Disintegrator damage"
},
{
"number": "5%",
"text": "bonus to Heavy Entropic Disintegrator tracking speed"
"number": "7.5%",
"text": "bonus to Heavy Entropic Disintegrator optimal range"
}
],
"header": "Precursor Cruiser bonuses (per skill level):"

View File

@@ -1 +1 @@
version: v2.25.0
version: v2.25.1dev2