diff --git a/Mage/src/main/java/mage/cards/CardImpl.java b/Mage/src/main/java/mage/cards/CardImpl.java index 0bd9d7464e..e20db01632 100644 --- a/Mage/src/main/java/mage/cards/CardImpl.java +++ b/Mage/src/main/java/mage/cards/CardImpl.java @@ -305,9 +305,7 @@ public abstract class CardImpl extends MageObjectImpl implements Card { public void addAbility(Ability ability) { ability.setSourceId(this.getId()); abilities.add(ability); - for (Ability subAbility : ability.getSubAbilities()) { - abilities.add(subAbility); - } + abilities.addAll(ability.getSubAbilities()); // dynamic check: you can't add ability to the PermanentCard, use permanent.addAbility(a, source, game) instead // reason: triggered abilities are not processing here diff --git a/Mage/src/main/java/mage/designations/Designation.java b/Mage/src/main/java/mage/designations/Designation.java index 142daffc9f..02dfb6abd1 100644 --- a/Mage/src/main/java/mage/designations/Designation.java +++ b/Mage/src/main/java/mage/designations/Designation.java @@ -119,6 +119,7 @@ public abstract class Designation implements MageObject { public void addAbility(Ability ability) { ability.setSourceId(id); abilites.add(ability); + abilites.addAll(ability.getSubAbilities()); } @Override diff --git a/Mage/src/main/java/mage/players/PlayerImpl.java b/Mage/src/main/java/mage/players/PlayerImpl.java index 2feceac5e7..527ace8275 100644 --- a/Mage/src/main/java/mage/players/PlayerImpl.java +++ b/Mage/src/main/java/mage/players/PlayerImpl.java @@ -2298,6 +2298,7 @@ public abstract class PlayerImpl implements Player, Serializable { public void addAbility(Ability ability) { ability.setSourceId(playerId); this.abilities.add(ability); + this.abilities.addAll(ability.getSubAbilities()); } @Override