Implement mining burst scanner upgrade buff & faction venture effects

This commit is contained in:
DarkPhoenix
2025-10-30 10:23:25 +01:00
parent 42a6bb92a7
commit 50e6ed516f
2 changed files with 69 additions and 0 deletions

View File

@@ -41645,6 +41645,56 @@ class Effect12296(BaseEffect):
ship.getModifiedItemAttr('shipBonusABC3'), skill='Amarr Battlecruiser', **kwargs)
class Effect12552(BaseEffect):
"""
shipRoleBonusOREExecutiveIssueMiningHoldAmount
Used by:
Ships named like: Consortium Issue (2 of 2)
"""
type = 'passive'
@staticmethod
def handler(fit, mod, context, projectionRange, **kwargs):
fit.ship.boostItemAttr('generalMiningHoldCapacity', mod.getModifiedItemAttr('oreExecutiveRoleBonusMiningHoldAmount'), **kwargs)
class Effect12560(BaseEffect):
"""
oreExecutiveRoleBonusSalvageDroneAdditionalAccessDifficultyRoleBonus
Used by:
Ships named like: Consortium Issue (2 of 2)
"""
type = 'passive'
@staticmethod
def handler(fit, container, context, projectionRange, **kwargs):
fit.drones.filteredItemIncrease(
lambda drone: drone.item.requiresSkill('Salvage Drone Operation'), 'accessDifficultyBonus',
container.getModifiedItemAttr('oreExecutiveRoleBonusSalvageDroneAdditionalAccessDifficulty'), **kwargs)
class Effect12563(BaseEffect):
"""
shipShieldBoosterBonusOreExecutiveFrigate
Used by:
Ship: Venture Consortium Issue
"""
type = 'passive'
@staticmethod
def handler(fit, src, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Shield Operation'), 'shieldBonus',
src.getModifiedItemAttr('OreMiningFrigateExecutiveShieldBoosterShipBonus'),
skill='Mining Frigate', **kwargs)
class Effect12565(BaseEffect):
"""
shipBonusDroneTrackingSpeedGBC1
@@ -41848,6 +41898,23 @@ class Effect12591(BaseEffect):
fit.ship.increaseItemAttr('miningScannerUpgrade', mod.getModifiedItemAttr('miningScannerUpgrade'), **kwargs)
class Effect12753(BaseEffect):
"""
shipRoleBonusOREExecutiveIssueMiningCriticalHitChanceBonus
Used by:
Ships named like: Consortium Issue (2 of 2)
"""
type = 'passive'
@staticmethod
def handler(fit, ship, context, projectionRange, **kwargs):
fit.modules.filteredItemBoost(
lambda mod: mod.item.requiresSkill('Mining'), 'miningCritChance',
ship.getModifiedItemAttr('shipRoleBonusOREExecutiveIssueMiningCriticalHitChance'), **kwargs)
class Effect12759(BaseEffect):
"""
miningCritChanceBonusOreIceOnline

View File

@@ -925,6 +925,8 @@ class Fit:
lambda mod: (mod.item.requiresSkill("Repair Systems")
or mod.item.requiresSkill("Capital Repair Systems")),
"armorDamageAmount", value, stackingPenalties=True)
if warfareBuffID == 2474: # Mining burst charges
self.ship.forceItemAttr("miningScannerUpgrade", value)
del self.commandBonuses[warfareBuffID]