Implement effects and buffs related to expedition bursts
This commit is contained in:
@@ -41715,6 +41715,43 @@ class Effect12529(BaseEffect):
|
|||||||
skill='Amarr Battlecruiser', **kwargs)
|
skill='Amarr Battlecruiser', **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class Effect12530(BaseEffect):
|
||||||
|
"""
|
||||||
|
expeditionCommandDurationBonus
|
||||||
|
|
||||||
|
Used by:
|
||||||
|
Skill: Expedition Command
|
||||||
|
"""
|
||||||
|
|
||||||
|
type = 'passive'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def handler(fit, src, context, projectionRange, **kwargs):
|
||||||
|
lvl = src.level
|
||||||
|
fit.modules.filteredItemBoost(
|
||||||
|
lambda mod: mod.item.requiresSkill('Expedition Command'), 'buffDuration',
|
||||||
|
src.getModifiedItemAttr('durationBonus') * lvl, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class Effect12531(BaseEffect):
|
||||||
|
"""
|
||||||
|
expeditionCommandStrengthBonus
|
||||||
|
|
||||||
|
Used by:
|
||||||
|
Skill: Expedition Command Specialist
|
||||||
|
"""
|
||||||
|
|
||||||
|
type = 'passive'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def handler(fit, src, context, projectionRange, **kwargs):
|
||||||
|
lvl = src.level
|
||||||
|
for i in (1, 2, 3, 4):
|
||||||
|
fit.modules.filteredChargeBoost(
|
||||||
|
lambda mod: mod.item.requiresSkill('Expedition Command'), f'warfareBuff{i}Multiplier',
|
||||||
|
src.getModifiedItemAttr('commandStrengthBonus') * lvl, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class Effect12537(BaseEffect):
|
class Effect12537(BaseEffect):
|
||||||
"""
|
"""
|
||||||
shipBonusAnalyzerRangeECS1
|
shipBonusAnalyzerRangeECS1
|
||||||
@@ -41802,6 +41839,24 @@ class Effect12541(BaseEffect):
|
|||||||
src.getModifiedItemAttr('shipBonusGasCloudScoopCPUreductionSOEECSrole'), **kwargs)
|
src.getModifiedItemAttr('shipBonusGasCloudScoopCPUreductionSOEECSrole'), **kwargs)
|
||||||
|
|
||||||
|
|
||||||
|
class Effect12542(BaseEffect):
|
||||||
|
"""
|
||||||
|
expeditionCommandMindlink
|
||||||
|
|
||||||
|
Used by:
|
||||||
|
Implants named like: Expedition Command Mindlink (2 of 2)
|
||||||
|
"""
|
||||||
|
|
||||||
|
type = 'passive'
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def handler(fit, src, context, projectionRange, **kwargs):
|
||||||
|
for attrName in ('buffDuration', 'warfareBuff1Value', 'warfareBuff2Value', 'warfareBuff3Value', 'warfareBuff4Value'):
|
||||||
|
fit.modules.filteredItemBoost(
|
||||||
|
lambda mod: mod.item.requiresSkill('Expedition Command'), attrName,
|
||||||
|
src.getModifiedItemAttr('mindlinkBonus'), **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class Effect12543(BaseEffect):
|
class Effect12543(BaseEffect):
|
||||||
"""
|
"""
|
||||||
shipBonusRole6ExpeditionBurstDurationSOEECS
|
shipBonusRole6ExpeditionBurstDurationSOEECS
|
||||||
|
|||||||
@@ -925,8 +925,25 @@ class Fit:
|
|||||||
lambda mod: (mod.item.requiresSkill("Repair Systems")
|
lambda mod: (mod.item.requiresSkill("Repair Systems")
|
||||||
or mod.item.requiresSkill("Capital Repair Systems")),
|
or mod.item.requiresSkill("Capital Repair Systems")),
|
||||||
"armorDamageAmount", value, stackingPenalties=True)
|
"armorDamageAmount", value, stackingPenalties=True)
|
||||||
|
if warfareBuffID == 2464: # Expedition Burst: Probe Strength
|
||||||
|
self.modules.filteredChargeBoost(
|
||||||
|
lambda mod: mod.charge.requiresSkill('Astrometrics'),
|
||||||
|
'baseSensorStrength', value, stackingPenalties=True)
|
||||||
|
if warfareBuffID == 2465: # Expedition Burst: Directional Scanner, Hacking and Salvager Range
|
||||||
|
self.ship.boostItemAttr("maxDirectionalScanRange", value)
|
||||||
|
self.modules.filteredItemBoost(
|
||||||
|
lambda mod: mod.item.group.name in ("Data Miners", "Salvager"), "maxRange", value, stackingPenalties=True)
|
||||||
|
if warfareBuffID == 2466: # Expedition Burst: Maximum Scan Deviation Modifier
|
||||||
|
self.modules.filteredChargeBoost(
|
||||||
|
lambda mod: mod.charge.requiresSkill('Astrometrics'),
|
||||||
|
'baseMaxScanDeviation', value, stackingPenalties=True)
|
||||||
|
if warfareBuffID == 2468: # Expedition Burst: Virus Coherence
|
||||||
|
self.modules.filteredItemIncrease(
|
||||||
|
lambda mod: mod.item.group.name == "Data Miners", "virusCoherence", value)
|
||||||
if warfareBuffID == 2474: # Mining burst charges
|
if warfareBuffID == 2474: # Mining burst charges
|
||||||
self.ship.forceItemAttr("miningScannerUpgrade", value)
|
self.ship.forceItemAttr("miningScannerUpgrade", value)
|
||||||
|
if warfareBuffID == 2481: # Expedition Burst: Salvager duration bonus
|
||||||
|
self.modules.filteredItemBoost(lambda mod: mod.item.requiresSkill("Salvaging"), "duration", value)
|
||||||
|
|
||||||
del self.commandBonuses[warfareBuffID]
|
del self.commandBonuses[warfareBuffID]
|
||||||
|
|
||||||
|
|||||||
@@ -775,6 +775,21 @@ class Miscellanea(ViewColumn):
|
|||||||
elif buffId == 25: # Mining Burst: Mining Equipment Preservation: Crystal Volatility
|
elif buffId == 25: # Mining Burst: Mining Equipment Preservation: Crystal Volatility
|
||||||
textSections.append(f"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%")
|
textSections.append(f"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%")
|
||||||
tooltipSections.append("mining crystal volatility")
|
tooltipSections.append("mining crystal volatility")
|
||||||
|
elif buffId == 2464: # Expedition Burst: Probe Strength
|
||||||
|
textSections.append(f"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%")
|
||||||
|
tooltipSections.append("scan probe strength")
|
||||||
|
elif buffId == 2465: # Expedition Burst: Directional Scanner, Hacking and Salvager Range
|
||||||
|
textSections.append(f"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%")
|
||||||
|
tooltipSections.append("dscan, hacking & salvaging range")
|
||||||
|
elif buffId == 2466: # Expedition Burst: Maximum Scan Deviation Modifier
|
||||||
|
textSections.append(f"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%")
|
||||||
|
tooltipSections.append("scan probe deviation")
|
||||||
|
elif buffId == 2468: # Expedition Burst: Virus Coherence
|
||||||
|
textSections.append(f"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}")
|
||||||
|
tooltipSections.append("virus coherence")
|
||||||
|
elif buffId == 2481: # Expedition Burst: Salvager duration bonus
|
||||||
|
textSections.append(f"{formatAmount(buffValue, 3, 0, 3, forceSign=True)}%")
|
||||||
|
tooltipSections.append("salvager cycle time")
|
||||||
if not textSections:
|
if not textSections:
|
||||||
return '', None
|
return '', None
|
||||||
text = ' | '.join(textSections)
|
text = ' | '.join(textSections)
|
||||||
|
|||||||
Reference in New Issue
Block a user