From 50e6ed516fef9ebb42e1d8a08a6be7bbe7a1080d Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Thu, 30 Oct 2025 10:23:25 +0100 Subject: [PATCH] Implement mining burst scanner upgrade buff & faction venture effects --- eos/effects.py | 67 ++++++++++++++++++++++++++++++++++++++++++++ eos/saveddata/fit.py | 2 ++ 2 files changed, 69 insertions(+) diff --git a/eos/effects.py b/eos/effects.py index 3b2e54687..b911cc3d8 100644 --- a/eos/effects.py +++ b/eos/effects.py @@ -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 diff --git a/eos/saveddata/fit.py b/eos/saveddata/fit.py index 220d03548..afd7791a9 100644 --- a/eos/saveddata/fit.py +++ b/eos/saveddata/fit.py @@ -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]