Skip to main content

✅ Bloodshed only hits up to x targets

CategoryInteraction
StatusPassing
Testtests/test_abilities_complex.py::TestRaumBloodshed::test_bloodshed_only_hits_up_to_x_targets

Bloodshed can hit "up to X" targets — extra targets beyond X are ignored.

Preconditions

  • P1 Main Phase, P1 has 3 AP

  • Lane 0: P1's Raum (#071, PWR=4), READIED

  • Lane 0: P2's Duban (#001, 0 damage)

  • Lane 0: P2's Murmur (#002, 0 damage)

  • Lane 0: P2's Sabnock (#003, 0 damage)

  • X = 2 (only 2 targets allowed)

Action

  • Raum uses Bloodshed (X=2), with 3 targets passed (only first 2 should be hit)
result = execute_ability(
state, raum_p, ability_idx=1,
targets=[duban_p, murmur_p, sabnock_p],
choices={"x": 2}
)
sabnock_after = next(d for d in result.demons if d.unit_id == "003")

Expected Postconditions

  • Duban: 2 damage (target 1)

  • Murmur: 2 damage (target 2)

  • Sabnock: 0 damage (beyond X=2 limit)

Assertions

assert sabnock_after.damage == 0, (
f"Sabnock must not be hit (beyond X=2 limit). Got {sabnock_after.damage}."
)