weixin_39904116
weixin_39904116
2020-12-02 08:55

Rancor stays attached to Treetop Village even when no longer a creature

Computer activated Treetop Village, then played Rancor on the resulting Ape creature. At the end of the turn, Treetop Village turned back into a land - at that point, the enchantment should have dropped of it into the graveyard (and then, specifically in case of Rancor), be returned to owner's hand.

Instead, it remains attached to the land. See screenshot (top row, second from right).

screenshot

Log for this turn (there doesn't seem to be anything useful there, to my untrained eye):

MCTS cached=0 MCTS cheat=true index=1 life=14 turn=13 phase=Draw sims=1894 time=8067 89/138/? - 93/318/? 92/243/? 92/240/? 88/106/? 92/271/? 93/281/? 93/297/? MCTS cached=0 MCTS cheat=true index=1 life=14 turn=13 phase=FirstMain sims=2072 time=8039 91/169/? 91/156/? 94/341/? 93/245/? - 94/357/? 90/147/? 93/245/? 93/253/? 91/159/? MCTS cached=0 MCTS cheat=true index=1 life=14 turn=13 phase=FirstMain sims=2007 time=8046 90/599/? - 92/1408/? LOG (C): Pay {1}{G}. Tap Forest. Tap Mutavault. Play activated ability of Treetop Village. LOG (C): Until end of turn, Treetop Village becomes a 3/3 green Ape creature with trample. It's still a land. MCTS cached=0 MCTS cheat=true index=1 life=14 turn=13 phase=FirstMain sims=2068 time=8036 91/731/? - 92/1138/? 87/199/? MCTS cached=0 MCTS cheat=true index=1 life=14 turn=13 phase=FirstMain sims=2154 time=8025 88/214/? 92/917/? - 93/1023/? LOG (C): Pay {G}. Tap Forest. Play Rancor. LOG (C): Enchant target creature (Treetop Village) with Rancor. MCTS cached=0 MCTS cheat=true index=1 life=14 turn=13 phase=DeclareAttackers sims=2074 time=8037 - 94/767/? 84/74/? 93/541/? 87/116/? 92/322/? 76/31/? 89/195/? 76/28/? LOG (C): Computer attacks with Albino Troll, River Boa and Treetop Village. LOG (P): Igor blocks with Arcbound Ravager and Eldrazi Spawn. LOG (P): {c}Igor loses 5 life. LOG (C): Albino Troll is destroyed. Rancor is put into its owner's graveyard. LOG (P): Eldrazi Spawn is destroyed. LOG (C): Return Rancor from the graveyard to its owner's hand. MCTS cached=0 MCTS cheat=true index=1 life=14 turn=13 phase=SecondMain sims=1448 time=8083 78/620/? - 79/828/? LOG (C): Play Treetop Village.

该提问来源于开源项目:magarena/magarena

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

9条回答

  • weixin_39954908 weixin_39954908 5月前

    The bug is the code is checking for game.getStack().isEmpty() as it assumes that triggers go on the stack directly. It should check if there is any pending triggers. Implementing the fix now.

    点赞 评论 复制链接分享
  • weixin_39954908 weixin_39954908 5月前

    Please ignore the above two comments. cleanup calls game.checkStatePutTriggers() which would put the triggers on the stack, but it is not being put as you pointed out.

    点赞 评论 复制链接分享
  • weixin_39954908 weixin_39954908 5月前

    One reason I could think of is we are missing a call to game.setStateCheckRequired to trigger the update and state checks. But that is incorrect as well as CleanupPlayerAction will call setStateCheckRequired

    点赞 评论 复制链接分享
  • weixin_39872872 weixin_39872872 5月前

    When are auras checked against their enchanted permanents to see if they are still legal? It could just be an ordering thing with them checking before the 'becomes' wears off, so sees a legal target.

    点赞 评论 复制链接分享
  • weixin_39954908 weixin_39954908 5月前

    I think you are on to something, aura's are checked in permanent.generateStateBasedActions(), but this occurs before the call to update(). Before update(), the effect of the removal of the static effect is not observed, hence no state based actions where generated.

    点赞 评论 复制链接分享
  • weixin_39904116 weixin_39904116 5月前

    Rancor did drop into graveyard (and then into owner's hand), but only during my upkeep, not during the opponent's cleanup. Continuing the log:

    LOG (P): Igor may (yes) put a 0/1 colorless Eldrazi Spawn creature token onto the battlefield. LOG (C): Rancor is put into its owner's graveyard. LOG (C): Return Rancor from the graveyard to its owner's hand.

    点赞 评论 复制链接分享
  • weixin_39872872 weixin_39872872 5月前

    Replicated, I'm guessing this is to do with when auras are checking target legality, and the ending of static abilities.

    点赞 评论 复制链接分享
  • weixin_39872872 weixin_39872872 5月前

    Seems to be occurring at end of the next Upkeep or beginning of the next draw Draw.

    点赞 评论 复制链接分享
  • weixin_39954908 weixin_39954908 5月前

    I think the trigger got added during cleanup phase but couldn't go on the stack. Triggers was changed to go on the stack only when player has priority. In the cleanup phase, players do not get priority unless there is something on the stack.

    点赞 评论 复制链接分享

相关推荐