|
|
@ -2447,7 +2447,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 +8691,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 +12389,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 +12426,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 +12466,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 +12487,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 +12508,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 +12563,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 +12583,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 +12603,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 +12623,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 +12643,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 +12663,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 +12683,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 +13209,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 +13219,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 +13232,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 +13242,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 +13254,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 +13412,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 +13432,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 +13452,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 +16478,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 +16487,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 +23115,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 +23245,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 +23255,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 +23398,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' |
|
|
@ -26858,7 +26907,7 @@ class Effect6400(BaseEffect): |
|
|
|
|
|
|
|
@staticmethod |
|
|
|
def handler(fit, src, context, projectionRange, **kwargs): |
|
|
|
groups = ('Structure Warp Scrambler', 'Structure Disruption Battery', 'Structure Stasis Webifier') |
|
|
|
groups = ('Structure Warp Scrambler', 'Structure ECM Battery', 'Structure Stasis Webifier') |
|
|
|
fit.modules.filteredItemBoost(lambda mod: mod.item.group.name in groups, |
|
|
|
'capacitorNeed', src.getModifiedItemAttr('capNeedBonus'), |
|
|
|
skill='Structure Electronic Systems', **kwargs) |
|
|
@ -26973,15 +27022,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 +27048,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 +27153,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): |
|
|
@ -31492,7 +31536,9 @@ class Effect6730(BaseEffect): |
|
|
|
speedBoost = module.getModifiedItemAttr('speedFactor') |
|
|
|
mass = fit.ship.getModifiedItemAttr('mass') |
|
|
|
thrust = module.getModifiedItemAttr('speedBoostFactor') |
|
|
|
fit.ship.boostItemAttr('maxVelocity', speedBoost * thrust / mass, **kwargs) |
|
|
|
# It is actually a postMul, see black hole speed interactions |
|
|
|
fit.ship.boostItemAttr('maxVelocity', speedBoost * thrust / mass, |
|
|
|
stackingPenalties=True, penaltyGroup='postMul', **kwargs) |
|
|
|
fit.ship.boostItemAttr('signatureRadius', module.getModifiedItemAttr('signatureRadiusBonus'), |
|
|
|
stackingPenalties=True, **kwargs) |
|
|
|
|
|
|
@ -31514,7 +31560,9 @@ class Effect6731(BaseEffect): |
|
|
|
speedBoost = module.getModifiedItemAttr('speedFactor') |
|
|
|
mass = fit.ship.getModifiedItemAttr('mass') |
|
|
|
thrust = module.getModifiedItemAttr('speedBoostFactor') |
|
|
|
fit.ship.boostItemAttr('maxVelocity', speedBoost * thrust / mass, **kwargs) |
|
|
|
# It is actually a postMul, see black hole speed interactions |
|
|
|
fit.ship.boostItemAttr('maxVelocity', speedBoost * thrust / mass, |
|
|
|
stackingPenalties=True, penaltyGroup='postMul', **kwargs) |
|
|
|
|
|
|
|
|
|
|
|
class Effect6732(BaseEffect): |
|
|
@ -35065,7 +35113,7 @@ class Effect7086(BaseEffect): |
|
|
|
shipbonusPCTTrackingPC2 |
|
|
|
|
|
|
|
Used by: |
|
|
|
Variations of ship: Vedmak (2 of 2) |
|
|
|
Ship: Ikitursa |
|
|
|
Ship: Tiamat |
|
|
|
""" |
|
|
|
|
|
|
@ -35213,6 +35261,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 +35853,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 +36169,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 +36357,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 +36959,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 +36991,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) |
|
|
|