From 64eef69aaa132c4295fad51a1775b93ab0ff05f3 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Wed, 8 Jun 2022 13:54:08 +0200 Subject: [PATCH] Update GameActionUtil.java better fix for Disturb --- .../main/java/forge/game/GameActionUtil.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/forge-game/src/main/java/forge/game/GameActionUtil.java b/forge-game/src/main/java/forge/game/GameActionUtil.java index 4a53e6fe78f..f5c733bb889 100644 --- a/forge-game/src/main/java/forge/game/GameActionUtil.java +++ b/forge-game/src/main/java/forge/game/GameActionUtil.java @@ -42,14 +42,7 @@ import forge.game.player.PlayerController; import forge.game.replacement.ReplacementEffect; import forge.game.replacement.ReplacementHandler; import forge.game.replacement.ReplacementLayer; -import forge.game.spellability.AbilityManaPart; -import forge.game.spellability.AbilitySub; -import forge.game.spellability.AlternativeCost; -import forge.game.spellability.OptionalCost; -import forge.game.spellability.OptionalCostValue; -import forge.game.spellability.Spell; -import forge.game.spellability.SpellAbility; -import forge.game.spellability.SpellAbilityRestriction; +import forge.game.spellability.*; import forge.game.staticability.StaticAbilityLayer; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; @@ -183,7 +176,13 @@ public final class GameActionUtil { final String[] k = keyword.split(":"); final Cost disturbCost = new Cost(k[1], true); - SpellAbility newSA = source.getAlternateState().getFirstAbility().copyWithManaCostReplaced(activator, disturbCost); + SpellAbility newSA; + if (source.getAlternateState().getType().hasSubtype("Aura")) { + newSA = source.getAlternateState().getFirstAbility().copyWithManaCostReplaced(activator, disturbCost); + } else { + newSA = new SpellPermanent(source); + newSA.setCardState(source.getAlternateState()); + } newSA.setActivatingPlayer(activator); newSA.putParam("PrecostDesc", "Disturb —");