From 334fba09963734adb6db736db4aa430a2579331f Mon Sep 17 00:00:00 2001 From: Northmoc Date: Fri, 3 Sep 2021 13:22:46 -0400 Subject: [PATCH] GameActionUtil.java build Disturb SA --- .../main/java/forge/game/GameActionUtil.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/forge-game/src/main/java/forge/game/GameActionUtil.java b/forge-game/src/main/java/forge/game/GameActionUtil.java index 00065e4492e..bec9e0454c3 100644 --- a/forge-game/src/main/java/forge/game/GameActionUtil.java +++ b/forge-game/src/main/java/forge/game/GameActionUtil.java @@ -175,7 +175,23 @@ public final class GameActionUtil { for (final KeywordInterface inst : source.getKeywords()) { final String keyword = inst.getOriginal(); - if (keyword.startsWith("Escape")) { + if (keyword.startsWith("Disturb")) { + final String[] k = keyword.split(":"); + final Cost disturbCost = new Cost(k[1], true); + + final SpellAbility newSA = sa.copyWithManaCostReplaced(activator, disturbCost); + newSA.setActivatingPlayer(activator); + + newSA.setAlternativeCost(AlternativeCost.Disturb); + newSA.getRestrictions().setZone(ZoneType.Graveyard); + + alternatives.add(newSA); + + String stateAb = "DB$ SetState | Defined$ Self | Mode$ Transform"; + AbilitySub setState = (AbilitySub) AbilityFactory.getAbility(stateAb, source); + + newSA.setSubAbility(setState); + } else if (keyword.startsWith("Escape")) { final String[] k = keyword.split(":"); final Cost escapeCost = new Cost(k[1], true);