fireplace icon indicating copy to clipboard operation
fireplace copied to clipboard

Fix Anub'ar Ambusher/Cult Master interaction

Open beheh opened this issue 10 years ago • 3 comments

The interaction should be (video here and here):

  • if Cult Master was played first: Ambusher dies, Cult Master draws a card, Cult Master is bounced
  • if Ambusher was played first: Ambusher dies, Cult Master is bounced (no card draw)

Currently a card is always drawn.

Test case:

def test_anubar_ambusher_cult_master():
    game = prepare_game()
    game.player1.discard_hand()
    cultmaster1 = game.player1.summon("EX1_595")
    ambusher1 = game.player1.summon("FP1_026")
    assert len(game.player1.hand) == 0
    ambusher1.destroy()
    assert len(game.player1.hand) == 2
    assert cultmaster1 in game.player1.hand
    game.end_turn(); game.end_turn()

    game.player1.discard_hand()
    ambusher2 = game.player1.summon("FP1_026")
    cultmaster2 = game.player1.summon("EX1_595")
    assert len(game.player1.hand) == 0
    ambusher2.destroy()
    assert len(game.player1.hand) == 1
    assert cultmaster2 in game.player1.hand

beheh avatar Aug 15 '15 21:08 beheh

This is, between other things, a problem with the death ordering in fireplace which is unimplemented. A played order stack needs to be implemented.

jleclanche avatar Aug 18 '15 14:08 jleclanche

Shouldn't this simply be correct if we call observers in the order they were added (=order of play)? I'm not sure how Fireplace currently does it, and why it shouldn't consider order of play.

beheh avatar Aug 18 '15 17:08 beheh

yes

jleclanche avatar Aug 18 '15 17:08 jleclanche

fixed

shinoi2 avatar Dec 14 '23 07:12 shinoi2