Update effects, add new ISA jargon entry and make attribute cap to use modified value

This commit is contained in:
DarkPhoenix
2025-11-15 14:57:39 +01:00
parent ce10aeb55e
commit 0d4c2551c1
3 changed files with 104 additions and 13 deletions

View File

@@ -41850,18 +41850,6 @@ class Effect12543(BaseEffect):
src.getModifiedItemAttr('shipBonusRole6'), **kwargs)
class Effect12552(BaseEffect):
"""
Not used by any item
"""
type = 'passive'
@staticmethod
def handler(fit, mod, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('generalMiningHoldCapacity', mod.getModifiedItemAttr('oreExecutiveRoleBonusMiningHoldAmount'), **kwargs)
class Effect12554(BaseEffect):
"""
shipDroneHPandDamageOreDestroyer2
@@ -42188,6 +42176,75 @@ class Effect12591(BaseEffect):
fit.ship.increaseItemAttr('miningScannerUpgrade', mod.getModifiedItemAttr('miningScannerUpgrade'), **kwargs)
class Effect12592(BaseEffect):
"""
shipBonusCarrierA5SupportFighterBonusEffect
Used by:
Ship: Archon
"""
type = 'passive'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.fighters.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterAbilityEnergyNeutralizerAmount',
src.getModifiedItemAttr('shipBonusCarrierA5'), skill='Amarr Carrier', **kwargs)
class Effect12593(BaseEffect):
"""
shipBonusCarrierC5SupportFighterBonusEffect
Used by:
Ship: Chimera
"""
type = 'passive'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
for sensorType in ('Radar', 'Magnetometric', 'Ladar', 'Gravimetric'):
fit.fighters.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Support Fighters'), f'fighterAbilityECMStrength{sensorType}',
src.getModifiedItemAttr('shipBonusCarrierC5'), skill='Caldari Carrier', **kwargs)
class Effect12594(BaseEffect):
"""
shipBonusCarrierG5SupportFighterBonusSpeed
Used by:
Ship: Thanatos
"""
type = 'passive'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.fighters.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterAbilityAfterburnerSpeedBonus',
src.getModifiedItemAttr('shipBonusCarrierG5'), skill='Gallente Carrier', **kwargs)
class Effect12595(BaseEffect):
"""
shipBonusCarrierM5SupportFighterBonusEffect
Used by:
Ship: Nidhoggur
"""
type = 'passive'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.fighters.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Support Fighters'), 'fighterAbilityStasisWebifierSpeedPenalty',
src.getModifiedItemAttr('shipBonusCarrierM5'), skill='Minmatar Carrier', **kwargs)
class Effect12596(BaseEffect):
"""
shipMiningBonusYieldOreDestroyerRoleBonus
@@ -42205,6 +42262,37 @@ class Effect12596(BaseEffect):
src.getModifiedItemAttr('shipMiningBonusYieldOreDestroyerRoleBonus'), **kwargs)
class Effect12597(BaseEffect):
"""
moduleBonusIntegratedSensorArray
Used by:
Module: Integrated Sensor Array
"""
type = 'active'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('scanResolution', src.getModifiedItemAttr('scanResolutionBonus'), stackingPenalties=True, **kwargs)
fit.ship.multiplyItemAttr('maxTargetRange', src.getModifiedItemAttr('maxTargetRangeMultiplier'), stackingPenalties=True, **kwargs)
fit.ship.forceItemAttr('maximumRangeCap', src.getModifiedItemAttr('maximumRangeCap'), **kwargs)
for scanType in ('Magnetometric', 'Ladar', 'Gravimetric', 'Radar'):
attr = 'scan{}Strength'.format(scanType)
bonus = src.getModifiedItemAttr('scan{}StrengthPercent'.format(scanType))
fit.ship.boostItemAttr(attr, bonus, stackingPenalties=True, **kwargs)
fit.fighters.filteredItemBoost(lambda mod: mod.item.requiresSkill('Fighters'), attr, bonus,
stackingPenalties=True, **kwargs)
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Capital Shield Operation') or mod.item.requiresSkill('Capital Repair Systems'),
'duration', src.getModifiedItemAttr('siegeLocalLogisticsDurationBonus'), **kwargs)
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Capital Shield Operation') or mod.item.requiresSkill('Capital Repair Systems'),
'capacitorNeed', src.getModifiedItemAttr('siegeLocalLogisticsCapacitorNeedBonus'), **kwargs)
class Effect12739(BaseEffect):
"""
shipBonusEnergyNeutOptimalAC2

View File

@@ -324,7 +324,7 @@ class ModifiedAttributeDict(MutableMapping):
cappingAttrKeyCache[key] = cappingKey
if cappingKey:
cappingValue = self.original.get(cappingKey, self.__calculateValue(cappingKey))
cappingValue = self[cappingKey]
cappingValue = cappingValue.value if hasattr(cappingValue, "value") else cappingValue
else:
cappingValue = None

View File

@@ -949,6 +949,9 @@ resebo:
nsa:
- 'nsa'
- 'networked sensor array'
isa:
- 'isa'
- 'integrated sensor array'
sigamp:
- 'sigamp'
- 'signal amplifier'