diff --git a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java index 24c581cc37a..6d88ba2795f 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/PlayEffect.java @@ -413,7 +413,7 @@ public class PlayEffect extends SpellAbilityEffect { if (sa.hasParam("ReplaceGraveyard")) { if (!sa.hasParam("ReplaceGraveyardValid") || tgtSA.isValid(sa.getParam("ReplaceGraveyardValid").split(","), activator, source, sa)) { - addReplaceGraveyardEffect(tgtCard, sa, sa.getParam("ReplaceGraveyard"), moveParams); + addReplaceGraveyardEffect(tgtCard, sa, tgtSA, sa.getParam("ReplaceGraveyard"), moveParams); } } @@ -466,7 +466,7 @@ public class PlayEffect extends SpellAbilityEffect { } } // end resolve - protected void addReplaceGraveyardEffect(Card c, SpellAbility sa, String zone, Map moveParams) { + protected void addReplaceGraveyardEffect(Card c, SpellAbility sa, SpellAbility tgtSA, String zone, Map moveParams) { final Card hostCard = sa.getHostCard(); final Game game = hostCard.getGame(); final Player controller = sa.getActivatingPlayer(); @@ -505,6 +505,8 @@ public class PlayEffect extends SpellAbilityEffect { game.getEndOfTurn().addUntil(endEffect); + tgtSA.addRollbackEffect(eff); + // TODO: Add targeting to the effect so it knows who it's dealing with game.getTriggerHandler().suppressMode(TriggerType.ChangesZone); game.getAction().moveTo(ZoneType.Command, eff, sa, moveParams); diff --git a/forge-gui/res/cardsfolder/b/burn_down_the_house.txt b/forge-gui/res/cardsfolder/b/burn_down_the_house.txt index f32ea67ecda..8be6afb5ebb 100644 --- a/forge-gui/res/cardsfolder/b/burn_down_the_house.txt +++ b/forge-gui/res/cardsfolder/b/burn_down_the_house.txt @@ -3,8 +3,6 @@ ManaCost:3 R R Types:Sorcery A:SP$ Charm | Choices$ Wipe,Devils SVar:Wipe:DB$ DamageAll | NumDmg$ 5 | ValidCards$ Creature,Planeswalker | ValidDescription$ each creature and planeswalker. | SpellDescription$ CARDNAME deals 5 damage to each creature and each planeswalker. -SVar:Devils:DB$ Token | TokenAmount$ 3 | TokenScript$ r_1_1_devil_burn | RememberTokens$ True | SubAbility$ DBHaste | SpellDescription$ Create three 1/1 red Devil creature tokens with "When this creature dies, it deals 1 damage to any target." They gain haste until end of turn. -SVar:DBHaste:DB$ PumpAll | ValidCards$ Creature.IsRemembered | KW$ Haste | SubAbility$ DBCleanUp | StackDescription$ None -SVar:DBCleanUp:DB$ Cleanup | ClearRemembered$ True +SVar:Devils:DB$ Token | TokenAmount$ 3 | TokenScript$ r_1_1_devil_burn | PumpKeywords$ Haste | PumpDuration$ EOT | SpellDescription$ Create three 1/1 red Devil creature tokens with "When this creature dies, it deals 1 damage to any target." They gain haste until end of turn. DeckHas:Ability$Token Oracle:Choose one —\n• Burn Down the House deals 5 damage to each creature and each planeswalker.\n• Create three 1/1 red Devil creature tokens with "When this creature dies, it deals 1 damage to any target." They gain haste until end of turn. diff --git a/forge-gui/res/cardsfolder/c/chandra_acolyte_of_flame.txt b/forge-gui/res/cardsfolder/c/chandra_acolyte_of_flame.txt index 6f2d26f8e95..af257336322 100644 --- a/forge-gui/res/cardsfolder/c/chandra_acolyte_of_flame.txt +++ b/forge-gui/res/cardsfolder/c/chandra_acolyte_of_flame.txt @@ -3,12 +3,7 @@ ManaCost:1 R R Types:Legendary Planeswalker Chandra Loyalty:4 A:AB$ PutCounterAll | Cost$ AddCounter<0/LOYALTY> | Planeswalker$ True | ValidCards$ Planeswalker.YouCtrl+Red | CounterType$ LOYALTY | CounterNum$ 1 | SpellDescription$ Put a loyalty counter on each red planeswalker you control. -A:AB$ Token | Cost$ AddCounter<0/LOYALTY> | Planeswalker$ True | TokenAmount$ 2 | TokenScript$ r_1_1_elemental | TokenOwner$ You | AtEOT$ Sacrifice | RememberTokens$ True | SubAbility$ DBPump | SpellDescription$ Create two 1/1 red Elemental creature tokens. They gain haste. Sacrifice them at the beginning of the next end step. -SVar:DBPump:DB$ Pump | Defined$ Remembered | KW$ Haste | Duration$ Permanent | SubAbility$ DBCleanup -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -A:AB$ Play | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | ValidTgts$ Instant.YouCtrl+cmcLE3,Sorcery.YouCtrl+cmcLE3 | TgtZone$ Graveyard | TgtPrompt$ Select target instant or sorcery card with mana cost 3 or less | AILogic$ ReplaySpell | ValidSA$ Spell | Optional$ True | ExileOnMoved$ Graveyard | SubAbility$ DBEffect | SpellDescription$ You may cast target instant or sorcery card with mana cost 3 or less from your graveyard. If that card would be put into your graveyard this turn, exile it instead. -SVar:DBEffect:DB$ Effect | RememberObjects$ Targeted | ExileOnMoved$ Stack | ReplacementEffects$ ReplaceGraveyard -SVar:ReplaceGraveyard:Event$ Moved | ValidCard$ Card.IsRemembered | Origin$ Stack | Destination$ Graveyard | ReplaceWith$ MoveExile | Description$ If that card would be put into your graveyard this turn, exile it instead. -SVar:MoveExile:DB$ ChangeZone | Defined$ ReplacedCard | Origin$ Stack | Destination$ Exile +A:AB$ Token | Cost$ AddCounter<0/LOYALTY> | Planeswalker$ True | TokenAmount$ 2 | TokenScript$ r_1_1_elemental | TokenOwner$ You | AtEOT$ Sacrifice | PumpKeywords$ Haste | SpellDescription$ Create two 1/1 red Elemental creature tokens. They gain haste. Sacrifice them at the beginning of the next end step. +A:AB$ Play | Cost$ SubCounter<2/LOYALTY> | Planeswalker$ True | ValidTgts$ Instant.YouCtrl+cmcLE3,Sorcery.YouCtrl+cmcLE3 | TgtZone$ Graveyard | TgtPrompt$ Select target instant or sorcery card with mana cost 3 or less | AILogic$ ReplaySpell | ValidSA$ Spell | Optional$ True | ExileOnMoved$ Graveyard | ReplaceGraveyard$ Exile | SpellDescription$ You may cast target instant or sorcery card with mana cost 3 or less from your graveyard. If that card would be put into your graveyard this turn, exile it instead. DeckHas:Ability$Token Oracle:[0]: Put a loyalty counter on each red planeswalker you control.\n[0]: Create two 1/1 red Elemental creature tokens. They gain haste. Sacrifice them at the beginning of the next end step.\n[-2]: You may cast target instant or sorcery card with mana value 3 or less from your graveyard. If that spell would be put into your graveyard this turn, exile it instead.