Limit assistance to challenges with multiple active obstacles
This commit is contained in:
+17
-1
@@ -242,7 +242,7 @@ def test_assistant_does_not_draw(session):
|
||||
session.add_all([obs, p3])
|
||||
session.commit()
|
||||
|
||||
ok, msg = crud.create_challenge(session, game.id, deep.id, p2.id, [obs.id])
|
||||
ok, msg = crud.create_challenge(session, game.id, deep.id, p2.id, [o.id for o in game.obstacles])
|
||||
assert ok
|
||||
session.refresh(game)
|
||||
|
||||
@@ -2726,3 +2726,19 @@ def test_deep_refresh_does_not_recycle_discards_or_allow_pirats(session):
|
||||
assert "KC" not in crud.get_game_deck(game)
|
||||
crud.confirm_deep_refresh(session, deep.id, ["AH"])
|
||||
assert "AH" in crud.get_player_hand(deep)
|
||||
|
||||
|
||||
def test_single_obstacle_rejects_assistance_but_allows_tax_actor(session):
|
||||
game, deep, (rat, helper) = make_scene_game(session, num_pirats=2)
|
||||
obs = game.obstacles[0]
|
||||
helper.hand_cards = '["KH"]'
|
||||
helper.completed_personal_1 = True
|
||||
session.commit()
|
||||
assert crud.create_challenge(session, game.id, deep.id, rat.id, [obs.id])[0]
|
||||
ok, msg, _ = crud.play_challenge_card(session, helper.id, obs.id, "KH")
|
||||
assert not ok and 'multiple' in msg
|
||||
assert crud.get_player_hand(helper) == ["KH"]
|
||||
challenge = game.challenges[0]
|
||||
assert crud.request_tax(session, challenge.id, rat.id, helper.id)[0]
|
||||
assert crud.respond_tax(session, challenge.id, helper.id, True)[0]
|
||||
assert crud.play_challenge_card(session, helper.id, obs.id, "KH")[0]
|
||||
|
||||
Reference in New Issue
Block a user