- Minor typo correction in a couple method names.

This commit is contained in:
Agetian
2017-10-02 14:11:07 +00:00
parent 1705cc21b4
commit 4051da7ee1
17 changed files with 55 additions and 81 deletions

View File

@@ -1702,7 +1702,7 @@ public class ChangeZoneAi extends SpellAbilityAi {
// A blink effect implemented using ChangeZone API // A blink effect implemented using ChangeZone API
return false; return false;
} else if (subApi == ApiType.DelayedTrigger) { } else if (subApi == ApiType.DelayedTrigger) {
SpellAbility exec = causeSub.getAdditonalAbility("Execute"); SpellAbility exec = causeSub.getAdditionalAbility("Execute");
if (exec != null && exec.getApi() == ApiType.ChangeZone) { if (exec != null && exec.getApi() == ApiType.ChangeZone) {
if ("Exile".equals(exec.getParam("Origin")) && "Battlefield".equals(exec.getParam("Destination"))) { if ("Exile".equals(exec.getParam("Origin")) && "Battlefield".equals(exec.getParam("Destination"))) {
// A blink effect implemented using a delayed trigger // A blink effect implemented using a delayed trigger

View File

@@ -56,7 +56,7 @@ public class RepeatAi extends SpellAbilityAi {
} }
// setup subability to repeat // setup subability to repeat
final SpellAbility repeat = sa.getAdditonalAbility("RepeatSubAbility"); final SpellAbility repeat = sa.getAdditionalAbility("RepeatSubAbility");
if (repeat == null) { if (repeat == null) {
return mandatory; return mandatory;

View File

@@ -1,9 +1,6 @@
package forge.ai.ability; package forge.ai.ability;
import java.util.List;
import com.google.common.base.Predicate; import com.google.common.base.Predicate;
import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCard;
import forge.ai.SpellAbilityAi; import forge.ai.SpellAbilityAi;
import forge.game.ability.AbilityUtils; import forge.game.ability.AbilityUtils;
@@ -17,6 +14,8 @@ import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.util.TextUtil; import forge.util.TextUtil;
import java.util.List;
public class RepeatEachAi extends SpellAbilityAi { public class RepeatEachAi extends SpellAbilityAi {
@@ -82,7 +81,7 @@ public class RepeatEachAi extends SpellAbilityAi {
return false; return false;
} else if ("AllPlayerLoseLife".equals(logic)) { } else if ("AllPlayerLoseLife".equals(logic)) {
final Card source = sa.getHostCard(); final Card source = sa.getHostCard();
AbilitySub repeat = sa.getAdditonalAbility("RepeatSubAbility"); AbilitySub repeat = sa.getAdditionalAbility("RepeatSubAbility");
String svar = repeat.getSVar(repeat.getParam("LifeAmount")); String svar = repeat.getSVar(repeat.getParam("LifeAmount"));
// replace RememberedPlayerCtrl with YouCtrl // replace RememberedPlayerCtrl with YouCtrl

View File

@@ -17,6 +17,9 @@
*/ */
package forge.game.ability; package forge.game.ability;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import forge.card.CardStateName; import forge.card.CardStateName;
import forge.game.ability.effects.CharmEffect; import forge.game.ability.effects.CharmEffect;
import forge.game.card.Card; import forge.game.card.Card;
@@ -28,10 +31,6 @@ import forge.util.FileSection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.google.common.base.Function;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
/** /**
* <p> * <p>
* AbilityFactory class. * AbilityFactory class.
@@ -221,7 +220,7 @@ public final class AbilityFactory {
SpellAbility p = parent; SpellAbility p = parent;
AbilitySub sub = null; AbilitySub sub = null;
while (p != null) { while (p != null) {
sub = p.getAdditonalAbility(name); sub = p.getAdditionalAbility(name);
if (sub != null) { if (sub != null) {
break; break;
} }
@@ -235,7 +234,7 @@ public final class AbilityFactory {
} }
for (final String key : additionalAbilityKeys) { for (final String key : additionalAbilityKeys) {
if (mapParams.containsKey(key) && spellAbility.getAdditonalAbility(key) == null) { if (mapParams.containsKey(key) && spellAbility.getAdditionalAbility(key) == null) {
spellAbility.setAdditionalAbility(key, getSubAbility(hostCard, mapParams.get(key), spellAbility)); spellAbility.setAdditionalAbility(key, getSubAbility(hostCard, mapParams.get(key), spellAbility));
} }
} }

View File

@@ -26,9 +26,9 @@ public class BranchEffect extends SpellAbilityEffect {
AbilitySub sub = null; AbilitySub sub = null;
if (Expressions.compare(svarValue, operator, operandValue)) { if (Expressions.compare(svarValue, operator, operandValue)) {
sub = sa.getAdditonalAbility("TrueSubAbility"); sub = sa.getAdditionalAbility("TrueSubAbility");
} else { } else {
sub = sa.getAdditonalAbility("FalseSubAbility"); sub = sa.getAdditionalAbility("FalseSubAbility");
} }
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);

View File

@@ -1,5 +1,6 @@
package forge.game.ability.effects; package forge.game.ability.effects;
import com.google.common.collect.Lists;
import forge.game.ability.AbilityUtils; import forge.game.ability.AbilityUtils;
import forge.game.ability.SpellAbilityEffect; import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card; import forge.game.card.Card;
@@ -11,8 +12,6 @@ import forge.util.MyRandom;
import java.util.List; import java.util.List;
import com.google.common.collect.Lists;
public class ChooseGenericEffect extends SpellAbilityEffect { public class ChooseGenericEffect extends SpellAbilityEffect {
@Override @Override
@@ -32,7 +31,7 @@ public class ChooseGenericEffect extends SpellAbilityEffect {
final Card host = sa.getHostCard(); final Card host = sa.getHostCard();
final List<SpellAbility> abilities = Lists.<SpellAbility>newArrayList(sa.getAdditionalAbilityList("Choices")); final List<SpellAbility> abilities = Lists.<SpellAbility>newArrayList(sa.getAdditionalAbilityList("Choices"));
final SpellAbility fallback = sa.getAdditonalAbility("FallbackAbility"); final SpellAbility fallback = sa.getAdditionalAbility("FallbackAbility");
final List<Player> tgtPlayers = getDefinedPlayersOrTargeted(sa); final List<Player> tgtPlayers = getDefinedPlayersOrTargeted(sa);
final TargetRestrictions tgt = sa.getTargetRestrictions(); final TargetRestrictions tgt = sa.getTargetRestrictions();

View File

@@ -1,5 +1,7 @@
package forge.game.ability.effects; package forge.game.ability.effects;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import forge.game.ability.AbilityUtils; import forge.game.ability.AbilityUtils;
import forge.game.ability.SpellAbilityEffect; import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card; import forge.game.card.Card;
@@ -11,10 +13,6 @@ import forge.game.spellability.TargetRestrictions;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import java.util.Random; import java.util.Random;
public class ChooseNumberEffect extends SpellAbilityEffect { public class ChooseNumberEffect extends SpellAbilityEffect {
@@ -107,7 +105,7 @@ public class ChooseNumberEffect extends SpellAbilityEffect {
} }
card.getGame().getAction().nofityOfValue(sa, card, sb.toString(), null); card.getGame().getAction().nofityOfValue(sa, card, sb.toString(), null);
if (sa.hasParam("ChooseNumberSubAbility")) { if (sa.hasParam("ChooseNumberSubAbility")) {
AbilitySub sub = sa.getAdditonalAbility("ChooseNumberSubAbility"); AbilitySub sub = sa.getAdditionalAbility("ChooseNumberSubAbility");
for (Player p : chooseMap.keySet()) { for (Player p : chooseMap.keySet()) {
card.addRemembered(p); card.addRemembered(p);
@@ -118,7 +116,7 @@ public class ChooseNumberEffect extends SpellAbilityEffect {
} }
if (sa.hasParam("Lowest")) { if (sa.hasParam("Lowest")) {
AbilitySub sub = sa.getAdditonalAbility("Lowest"); AbilitySub sub = sa.getAdditionalAbility("Lowest");
for (Player p : lowestNum) { for (Player p : lowestNum) {
card.addRemembered(p); card.addRemembered(p);
@@ -128,7 +126,7 @@ public class ChooseNumberEffect extends SpellAbilityEffect {
} }
} }
if (sa.hasParam("Highest")) { if (sa.hasParam("Highest")) {
AbilitySub sub = sa.getAdditonalAbility("Highest"); AbilitySub sub = sa.getAdditionalAbility("Highest");
for (Player p : highestNum) { for (Player p : highestNum) {
card.addRemembered(p); card.addRemembered(p);

View File

@@ -62,7 +62,7 @@ public class ChoosePlayerEffect extends SpellAbilityEffect {
} }
// SubAbility that only fires if a player is chosen // SubAbility that only fires if a player is chosen
AbilitySub chosenSA = sa.getAdditonalAbility("ChooseSubAbility"); AbilitySub chosenSA = sa.getAdditionalAbility("ChooseSubAbility");
if (chosenSA != null) { if (chosenSA != null) {
if (!chosenSA.getHostCard().equals(sa.getHostCard())) { if (!chosenSA.getHostCard().equals(sa.getHostCard())) {
System.out.println("Warning: ChooseSubAbility had the wrong host set (potentially after cloning the root SA), attempting to correct..."); System.out.println("Warning: ChooseSubAbility had the wrong host set (potentially after cloning the root SA), attempting to correct...");
@@ -72,7 +72,7 @@ public class ChoosePlayerEffect extends SpellAbilityEffect {
} }
} else { } else {
// SubAbility that only fires if a player is not chosen // SubAbility that only fires if a player is not chosen
AbilitySub notChosenSA = sa.getAdditonalAbility("CantChooseSubAbility"); AbilitySub notChosenSA = sa.getAdditionalAbility("CantChooseSubAbility");
if (notChosenSA != null) { if (notChosenSA != null) {
if (!notChosenSA.getHostCard().equals(sa.getHostCard())) { if (!notChosenSA.getHostCard().equals(sa.getHostCard())) {
System.out.println("Warning: CantChooseSubAbility had the wrong host set (potentially after cloning the root SA), attempting to correct..."); System.out.println("Warning: CantChooseSubAbility had the wrong host set (potentially after cloning the root SA), attempting to correct...");

View File

@@ -36,14 +36,14 @@ public class ClashEffect extends SpellAbilityEffect {
if (victory) { if (victory) {
AbilitySub sub = sa.getAdditonalAbility("WinSubAbility"); AbilitySub sub = sa.getAdditionalAbility("WinSubAbility");
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);
} }
runParams.put("Won", "True"); runParams.put("Won", "True");
} else { } else {
AbilitySub sub = sa.getAdditonalAbility("OtherwiseSubAbility"); AbilitySub sub = sa.getAdditionalAbility("OtherwiseSubAbility");
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);
} }

View File

@@ -1,5 +1,7 @@
package forge.game.ability.effects; package forge.game.ability.effects;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import forge.game.ability.AbilityUtils; import forge.game.ability.AbilityUtils;
import forge.game.ability.ApiType; import forge.game.ability.ApiType;
import forge.game.ability.SpellAbilityEffect; import forge.game.ability.SpellAbilityEffect;
@@ -10,9 +12,6 @@ import forge.game.trigger.TriggerHandler;
import java.util.Map; import java.util.Map;
import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
public class DelayedTriggerEffect extends SpellAbilityEffect { public class DelayedTriggerEffect extends SpellAbilityEffect {
/* (non-Javadoc) /* (non-Javadoc)
@@ -71,8 +70,8 @@ public class DelayedTriggerEffect extends SpellAbilityEffect {
} }
} }
if (mapParams.containsKey("Execute") || sa.hasAdditonalAbility("Execute")) { if (mapParams.containsKey("Execute") || sa.hasAdditionalAbility("Execute")) {
SpellAbility overridingSA = sa.getAdditonalAbility("Execute"); SpellAbility overridingSA = sa.getAdditionalAbility("Execute");
overridingSA.setActivatingPlayer(sa.getActivatingPlayer()); overridingSA.setActivatingPlayer(sa.getActivatingPlayer());
overridingSA.setDeltrigActivatingPlayer(sa.getActivatingPlayer()); // ensure that the original activator can be restored later overridingSA.setDeltrigActivatingPlayer(sa.getActivatingPlayer()); // ensure that the original activator can be restored later
// Set Transform timestamp when the delayed trigger is created // Set Transform timestamp when the delayed trigger is created

View File

@@ -1,5 +1,6 @@
package forge.game.ability.effects; package forge.game.ability.effects;
import com.google.common.collect.Maps;
import forge.game.GameObject; import forge.game.GameObject;
import forge.game.ability.AbilityUtils; import forge.game.ability.AbilityUtils;
import forge.game.ability.SpellAbilityEffect; import forge.game.ability.SpellAbilityEffect;
@@ -17,8 +18,6 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import com.google.common.collect.Maps;
public class FlipCoinEffect extends SpellAbilityEffect { public class FlipCoinEffect extends SpellAbilityEffect {
public static boolean[] BOTH_CHOICES = new boolean[] {false, true}; public static boolean[] BOTH_CHOICES = new boolean[] {false, true};
@@ -78,12 +77,12 @@ public class FlipCoinEffect extends SpellAbilityEffect {
} }
if (resultIsHeads) { if (resultIsHeads) {
AbilitySub sub = sa.getAdditonalAbility("HeadsSubAbility"); AbilitySub sub = sa.getAdditionalAbility("HeadsSubAbility");
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);
} }
} else { } else {
AbilitySub sub = sa.getAdditonalAbility("TailsSubAbility"); AbilitySub sub = sa.getAdditionalAbility("TailsSubAbility");
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);
} }
@@ -93,7 +92,7 @@ public class FlipCoinEffect extends SpellAbilityEffect {
if (sa.getParam("RememberWinner") != null) { if (sa.getParam("RememberWinner") != null) {
host.addRemembered(host); host.addRemembered(host);
} }
AbilitySub sub = sa.getAdditonalAbility("WinSubAbility"); AbilitySub sub = sa.getAdditionalAbility("WinSubAbility");
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);
} }
@@ -103,7 +102,7 @@ public class FlipCoinEffect extends SpellAbilityEffect {
host.addRemembered(host); host.addRemembered(host);
} }
AbilitySub sub = sa.getAdditonalAbility("LoseSubAbility"); AbilitySub sub = sa.getAdditionalAbility("LoseSubAbility");
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);
} }
@@ -143,7 +142,7 @@ public class FlipCoinEffect extends SpellAbilityEffect {
} while (sa.hasParam("FlipUntilYouLose") && result != false); } while (sa.hasParam("FlipUntilYouLose") && result != false);
if (sa.hasParam("FlipUntilYouLose")) { if (sa.hasParam("FlipUntilYouLose")) {
sa.getAdditonalAbility("LoseSubAbility").setSVar(sa.hasParam("SaveNumFlipsToSVar") ? sa.getParam("SaveNumFlipsToSVar") : "X", "Number$" + numSuccesses); sa.getAdditionalAbility("LoseSubAbility").setSVar(sa.hasParam("SaveNumFlipsToSVar") ? sa.getParam("SaveNumFlipsToSVar") : "X", "Number$" + numSuccesses);
} }
return result; return result;
@@ -188,7 +187,7 @@ public class FlipCoinEffect extends SpellAbilityEffect {
} while (sa.hasParam("FlipUntilYouLose") && wonFlip); } while (sa.hasParam("FlipUntilYouLose") && wonFlip);
if (sa.hasParam("FlipUntilYouLose")) { if (sa.hasParam("FlipUntilYouLose")) {
sa.getAdditonalAbility("LoseSubAbility").setSVar(sa.hasParam("SaveNumFlipsToSVar") ? sa.getParam("SaveNumFlipsToSVar") : "X", "Number$" + numSuccesses); sa.getAdditionalAbility("LoseSubAbility").setSVar(sa.hasParam("SaveNumFlipsToSVar") ? sa.getParam("SaveNumFlipsToSVar") : "X", "Number$" + numSuccesses);
} }
return wonFlip; return wonFlip;

View File

@@ -3,7 +3,6 @@ package forge.game.ability.effects;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import forge.game.ability.AbilityUtils; import forge.game.ability.AbilityUtils;
import forge.game.ability.SpellAbilityEffect; import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card; import forge.game.card.Card;
@@ -104,7 +103,7 @@ public class MultiplePilesEffect extends SpellAbilityEffect {
} }
} }
AbilitySub sub = sa.getAdditonalAbility("ChosenPile"); AbilitySub sub = sa.getAdditionalAbility("ChosenPile");
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);
} }

View File

@@ -1,20 +1,11 @@
package forge.game.ability.effects; package forge.game.ability.effects;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import forge.game.Game; import forge.game.Game;
import forge.game.ability.AbilityUtils; import forge.game.ability.AbilityUtils;
import forge.game.ability.SpellAbilityEffect; import forge.game.ability.SpellAbilityEffect;
import forge.game.card.Card; import forge.game.card.*;
import forge.game.card.CardCollection;
import forge.game.card.CardCollectionView;
import forge.game.card.CardLists;
import forge.game.card.CounterType;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.spellability.AbilitySub; import forge.game.spellability.AbilitySub;
import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbility;
@@ -22,6 +13,10 @@ import forge.game.zone.ZoneType;
import forge.util.Aggregates; import forge.util.Aggregates;
import forge.util.collect.FCollection; import forge.util.collect.FCollection;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
public class RepeatEachEffect extends SpellAbilityEffect { public class RepeatEachEffect extends SpellAbilityEffect {
/* (non-Javadoc) /* (non-Javadoc)
@@ -31,7 +26,7 @@ public class RepeatEachEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
Card source = sa.getHostCard(); Card source = sa.getHostCard();
AbilitySub repeat = sa.getAdditonalAbility("RepeatSubAbility"); AbilitySub repeat = sa.getAdditionalAbility("RepeatSubAbility");
if (repeat != null && !repeat.getHostCard().equals(source)) { if (repeat != null && !repeat.getHostCard().equals(source)) {
// TODO: for some reason, the host card of the original additional SA is set to the cloned card when // TODO: for some reason, the host card of the original additional SA is set to the cloned card when

View File

@@ -25,7 +25,7 @@ public class RepeatEffect extends SpellAbilityEffect {
Card source = sa.getHostCard(); Card source = sa.getHostCard();
// setup subability to repeat // setup subability to repeat
AbilitySub repeat = sa.getAdditonalAbility("RepeatSubAbility"); AbilitySub repeat = sa.getAdditionalAbility("RepeatSubAbility");
if (repeat != null && !repeat.getHostCard().equals(source)) { if (repeat != null && !repeat.getHostCard().equals(source)) {
// TODO: for some reason, the host card of the original additional SA is set to the cloned card when // TODO: for some reason, the host card of the original additional SA is set to the cloned card when

View File

@@ -123,7 +123,7 @@ public class TwoPilesEffect extends SpellAbilityEffect {
card.addRemembered(z); card.addRemembered(z);
} }
AbilitySub sub = sa.getAdditonalAbility("ChosenPile"); AbilitySub sub = sa.getAdditionalAbility("ChosenPile");
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);
} }
@@ -136,7 +136,7 @@ public class TwoPilesEffect extends SpellAbilityEffect {
card.addRemembered(z); card.addRemembered(z);
} }
AbilitySub sub = sa.getAdditonalAbility("UnchosenPile"); AbilitySub sub = sa.getAdditionalAbility("UnchosenPile");
if (sub != null) { if (sub != null) {
AbilityUtils.resolve(sub); AbilityUtils.resolve(sub);
} }

View File

@@ -17,24 +17,15 @@
*/ */
package forge.game.card; package forge.game.card;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import com.google.common.base.Function; import com.google.common.base.Function;
import com.google.common.base.Joiner; import com.google.common.base.Joiner;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import forge.ImageKeys; import forge.ImageKeys;
import forge.StaticData; import forge.StaticData;
import forge.card.CardRules; import forge.card.*;
import forge.card.CardSplitType;
import forge.card.CardStateName;
import forge.card.CardType;
import forge.card.CardType.CoreType; import forge.card.CardType.CoreType;
import forge.card.ICardFace;
import forge.card.mana.ManaCost; import forge.card.mana.ManaCost;
import forge.game.Game; import forge.game.Game;
import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityFactory;
@@ -53,6 +44,10 @@ import forge.game.zone.ZoneType;
import forge.item.IPaperCard; import forge.item.IPaperCard;
import forge.item.PaperCard; import forge.item.PaperCard;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
/** /**
* <p> * <p>
* AbstractCardFactory class. * AbstractCardFactory class.
@@ -667,7 +662,7 @@ public class CardFactory {
if (from.getSubAbility() != null) { if (from.getSubAbility() != null) {
to.setSubAbility(from.getSubAbility().getCopy()); to.setSubAbility(from.getSubAbility().getCopy());
} }
for (Map.Entry<String, AbilitySub> e : from.getAdditonalAbilities().entrySet()) { for (Map.Entry<String, AbilitySub> e : from.getAdditionalAbilities().entrySet()) {
to.setAdditionalAbility(e.getKey(), e.getValue().getCopy()); to.setAdditionalAbility(e.getKey(), e.getValue().getCopy());
} }
for (Map.Entry<String, List<AbilitySub>> e : from.getAdditionalAbilityLists().entrySet()) { for (Map.Entry<String, List<AbilitySub>> e : from.getAdditionalAbilityLists().entrySet()) {

View File

@@ -21,15 +21,8 @@ import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables; import com.google.common.collect.Iterables;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import forge.card.mana.ManaCost; import forge.card.mana.ManaCost;
import forge.game.CardTraitBase; import forge.game.*;
import forge.game.ForgeScript;
import forge.game.Game;
import forge.game.GameActionUtil;
import forge.game.GameEntity;
import forge.game.GameObject;
import forge.game.IIdentifiable;
import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityFactory;
import forge.game.ability.AbilityUtils; import forge.game.ability.AbilityUtils;
import forge.game.ability.ApiType; import forge.game.ability.ApiType;
@@ -48,7 +41,6 @@ import forge.game.trigger.TriggerType;
import forge.game.trigger.WrappedAbility; import forge.game.trigger.WrappedAbility;
import forge.util.Expressions; import forge.util.Expressions;
import forge.util.TextUtil; import forge.util.TextUtil;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.util.*; import java.util.*;
@@ -708,17 +700,17 @@ public abstract class SpellAbility extends CardTraitBase implements ISpellAbilit
view.updateDescription(this); //description changes when sub-abilities change view.updateDescription(this); //description changes when sub-abilities change
} }
public Map<String, AbilitySub> getAdditonalAbilities() { public Map<String, AbilitySub> getAdditionalAbilities() {
return additionalAbilities; return additionalAbilities;
} }
public AbilitySub getAdditonalAbility(final String name) { public AbilitySub getAdditionalAbility(final String name) {
if (hasAdditonalAbility(name)) { if (hasAdditionalAbility(name)) {
return additionalAbilities.get(name); return additionalAbilities.get(name);
} }
return null; return null;
} }
public boolean hasAdditonalAbility(final String name) { public boolean hasAdditionalAbility(final String name) {
return additionalAbilities.containsKey(name); return additionalAbilities.containsKey(name);
} }