diff --git a/forge-game/src/main/java/forge/game/GameActionUtil.java b/forge-game/src/main/java/forge/game/GameActionUtil.java index 9b1851c0767..f4743f3d384 100644 --- a/forge-game/src/main/java/forge/game/GameActionUtil.java +++ b/forge-game/src/main/java/forge/game/GameActionUtil.java @@ -177,6 +177,10 @@ public final class GameActionUtil { } else { sb.append(host); } + + if (o.getAbility().hasParam("MayPlayText")) { + sb.append(" (").append(o.getAbility().getParam("MayPlayText")).append(")"); + } } sb.append(o.toString(false)); newSA.setDescription(sb.toString()); diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 33223b2a606..219ed4bbf20 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -111,8 +111,7 @@ public class Card extends GameEntity implements Comparable { private GameEntity mustAttackEntity = null; private GameEntity mustAttackEntityThisTurn = null; - private final Map mayPlay = Maps.newTreeMap(); - private int mayPlayTurn = 0; + private final Map mayPlay = Maps.newHashMap(); // changes by AF animate and continuous static effects - timestamp is the key of maps private final Map changedCardTypes = Maps.newTreeMap(); @@ -2459,16 +2458,10 @@ public class Card extends GameEntity implements Comparable { this.mayPlay.remove(sta); } - public int getMayPlayTurn() { - return mayPlayTurn; - } - - public void incMayPlayTurn() { - this.mayPlayTurn++; - } - public void resetMayPlayTurn() { - this.mayPlayTurn = 0; + for (StaticAbility sta : getStaticAbilities()) { + sta.resetMayPlayTurn(); + } } public final CardCollectionView getEquippedBy(boolean allowModify) { diff --git a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java index c66787a7c5f..1a5e3973525 100644 --- a/forge-game/src/main/java/forge/game/staticability/StaticAbility.java +++ b/forge-game/src/main/java/forge/game/staticability/StaticAbility.java @@ -53,6 +53,7 @@ public class StaticAbility extends CardTraitBase implements Comparable layers; private CardCollectionView ignoreEffectCards = new CardCollection(); private final List ignoreEffectPlayers = Lists.newArrayList(); + private int mayPlayTurn = 0; /** *

@@ -724,6 +725,19 @@ public class StaticAbility extends CardTraitBase implements Comparable