TokenEffectBase: don't use GameState for Remember there

This commit is contained in:
Hans Mackowiak
2020-11-20 22:45:34 +01:00
parent bba404ea78
commit 91ded04bb2
2 changed files with 6 additions and 7 deletions

View File

@@ -85,19 +85,18 @@ public abstract class TokenEffectBase extends SpellAbilityEffect {
c.updateStateForView();
if (sa.hasParam("RememberTokens")) {
game.getCardState(sa.getHostCard()).addRemembered(c);
host.addRemembered(c);
}
if (sa.hasParam("ImprintTokens")) {
game.getCardState(sa.getHostCard()).addImprintedCard(c);
host.addImprintedCard(c);
}
if (sa.hasParam("RememberSource")) {
game.getCardState(c).addRemembered(host);
c.addRemembered(host);
}
if (sa.hasParam("TokenRemembered")) {
final Card token = game.getCardState(c);
final String remembered = sa.getParam("TokenRemembered");
for (final Object o : AbilityUtils.getDefinedObjects(host, remembered, sa)) {
token.addRemembered(o);
c.addRemembered(o);
}
}
allTokens.add(c);

View File

@@ -4374,7 +4374,7 @@ public class CardFactoryUtil {
final String manacost = k[1];
String effect = "AB$ RepeatEach | Cost$ " + manacost + " ExileFromGrave<1/CARDNAME> " +
"| ActivationZone$ Graveyard | RepeatPlayers$ Opponent" +
"| ActivationZone$ Graveyard | ClearRememberedBeforeLoop$ True | RepeatPlayers$ Opponent" +
"| PrecostDesc$ Encore | CostDesc$ " + ManaCostParser.parse(manacost) +
"| SpellDescription$ (" + inst.getReminderText() + ")";
@@ -4391,7 +4391,7 @@ public class CardFactoryUtil {
final String sacStr = "DB$ SacrificeAll | Defined$ DelayTriggerRemembered";
final String cleanupStr = "DB$ Cleanup | ClearImprinted$ True";
final String cleanupStr = "DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True";
final SpellAbility sa = AbilityFactory.getAbility(effect, card);
sa.setIntrinsic(intrinsic);