def immediate_effect(self, player_that_bought_the_card, yielding_player=None): player_that_bought_the_card.update_victory_points_by(2) if yielding_player: if player_that_bought_the_card.location == Locations.OUTSIDE and yielding_player.location != Locations.OUTSIDE: player_movement.yield_tokyo(yielding_player, player_that_bought_the_card) else: player_that_bought_the_card.move_to_tokyo()
def test_yield_tokyo_gives_victory_point_to_attacker(main_player, other_players): main_player.location = Locations.TOKYO starting_victory_points = main_player.victory_points player_a = other_players[0] player_movement.yield_tokyo(main_player, player_a) assert player_a.victory_points == starting_victory_points + 1
def test_yield_tokyo_player_attacker_enters_tokyo(main_player, other_players): main_player.location = Locations.TOKYO player_a = other_players[0] player_movement.yield_tokyo(main_player, player_a) assert player_a.location == Locations.TOKYO
def test_yield_tokyo_player_leaves_tokyo(main_player, other_players): main_player.location = Locations.TOKYO player_a = other_players[0] player_movement.yield_tokyo(main_player, player_a) assert main_player.location == Locations.OUTSIDE
def yield_tokyo_to_current_player(self, yielding_player): yield_tokyo(yielding_player, self.players.current_player)