diff --git a/fireplace/actions.py b/fireplace/actions.py index feae97c6a..ca93dbe55 100644 --- a/fireplace/actions.py +++ b/fireplace/actions.py @@ -487,15 +487,8 @@ def do(self, source, card, target, index, choose): else: trigger_battlecry = True - if card is card.controller.hand[0] or card is card.controller.hand[-1]: - trigger_outcast = True - else: - trigger_outcast = False - - if card is card.controller.hand[-1]: - card.play_right_most = True - else: - card.play_right_most = False + card.play_left_most = card is card.controller.hand[0] + card.play_right_most = card is card.controller.hand[-1] card.zone = Zone.PLAY @@ -525,7 +518,7 @@ def do(self, source, card, target, index, choose): # "Can't Play" (aka Counter) means triggers don't happen either if not card.cant_play: - if trigger_outcast and card.get_actions("outcast"): + if card.trigger_outcast and card.get_actions("outcast"): source.game.trigger(card, card.get_actions("outcast"), event_args=None) elif trigger_battlecry: source.game.queue_actions( diff --git a/fireplace/card.py b/fireplace/card.py index 8f5454933..d37fb909f 100644 --- a/fireplace/card.py +++ b/fireplace/card.py @@ -305,6 +305,7 @@ def __init__(self, data): self.turn_drawn = -1 self.turn_played = -1 self.cast_on_friendly_minions = False + self.play_left_most = False self.play_right_most = False self.custom_card = False super().__init__(data) @@ -380,6 +381,10 @@ def drawn_this_turn(self): def played_this_turn(self): return self.turn_played == self.game.turn + @property + def trigger_outcast(self): + return self.play_left_most or self.play_right_most + @property def zone_position(self): """