From 4c6d1717931e37d0f4cbee3b7d91cb2345600b33 Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Sat, 5 Feb 2022 01:37:29 +0300 Subject: [PATCH] Fix blackops + heated propmod interaction --- eos/effects.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/eos/effects.py b/eos/effects.py index fcac671ae..0c1235153 100644 --- a/eos/effects.py +++ b/eos/effects.py @@ -1956,7 +1956,8 @@ class Effect607(BaseEffect): # This is used to apply cloak-only bonuses, like Black Ops' speed bonus fit.extraAttributes['cloaked'] = True # Apply speed penalty - fit.ship.multiplyItemAttr('maxVelocity', module.getModifiedItemAttr('maxVelocityModifier'), **kwargs) + fit.ship.multiplyItemAttr('maxVelocity', module.getModifiedItemAttr('maxVelocityModifier'), + stackingPenalties=True, penaltyGroup='postMul', **kwargs) class Effect623(BaseEffect): @@ -37081,11 +37082,13 @@ class Effect8151(BaseEffect): """ type = 'passive' + runTime = 'early' @staticmethod def handler(fit, ship, context, projectionRange, **kwargs): - if fit.extraAttributes['cloaked']: - fit.ship.multiplyItemAttr('maxVelocity', ship.getModifiedItemAttr('shipBonusRole1'), **kwargs) + fit.modules.filteredItemMultiply( + lambda mod: mod.item.requiresSkill('Cloaking'), 'maxVelocityModifier', + ship.getModifiedItemAttr('shipBonusRole1'), **kwargs) class Effect8152(BaseEffect):