From d0a2e26e02a02aef13b9d5b119c87fcf5e438539 Mon Sep 17 00:00:00 2001 From: Thomas ARBLAY Date: Mon, 11 May 2020 15:30:18 +0200 Subject: [PATCH] Fix the issue where Stormwild Capridor don't output a prevention text in chat --- .../src/mage/cards/s/StormwildCapridor.java | 22 +++++++------------ 1 file changed, 8 insertions(+), 14 deletions(-) diff --git a/Mage.Sets/src/mage/cards/s/StormwildCapridor.java b/Mage.Sets/src/mage/cards/s/StormwildCapridor.java index de000f194d1..67d2bb9dea3 100644 --- a/Mage.Sets/src/mage/cards/s/StormwildCapridor.java +++ b/Mage.Sets/src/mage/cards/s/StormwildCapridor.java @@ -3,6 +3,7 @@ package mage.cards.s; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.PreventionEffectData; import mage.abilities.effects.PreventionEffectImpl; import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; @@ -13,9 +14,7 @@ import mage.constants.SubType; import mage.counters.CounterType; import mage.game.Game; import mage.game.events.DamageCreatureEvent; -import mage.game.events.DamageEvent; import mage.game.events.GameEvent; -import mage.game.events.PreventDamageEvent; import mage.game.permanent.Permanent; import java.util.UUID; @@ -74,19 +73,14 @@ class StormwildCapridorEffect extends PreventionEffectImpl { @Override public boolean replaceEvent(GameEvent event, Ability source, Game game) { - boolean retValue = false; - GameEvent preventEvent = new PreventDamageEvent(source.getFirstTarget(), source.getSourceId(), source.getControllerId(), event.getAmount(), ((DamageEvent) event).isCombatDamage()); - int damage = event.getAmount(); - if (!game.replaceEvent(preventEvent)) { - event.setAmount(0); - game.fireEvent(GameEvent.getEvent(GameEvent.EventType.PREVENTED_DAMAGE, source.getFirstTarget(), source.getSourceId(), source.getControllerId(), damage)); - retValue = true; + PreventionEffectData preventionEffectData = preventDamageAction(event, source, game); + if (preventionEffectData.getPreventedDamage() > 0) { + Permanent permanent = game.getPermanent(source.getSourceId()); + if (permanent != null) { + permanent.addCounters(CounterType.P1P1.createInstance(preventionEffectData.getPreventedDamage()), source, game); + } } - Permanent permanent = game.getPermanent(source.getSourceId()); - if (permanent != null) { - permanent.addCounters(CounterType.P1P1.createInstance(damage), source, game); - } - return retValue; + return preventionEffectData.isReplaced(); } @Override