Recon caps at the threat's total; leads kept once fully scouted
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
b248a030ea
commit
43b7a3a193
3 changed files with 23 additions and 6 deletions
|
|
@ -364,6 +364,20 @@ class EventTest(unittest.TestCase):
|
|||
self.assertEqual(view["exact"], raid["fire_at"])
|
||||
self.assertTrue(view["camp"])
|
||||
|
||||
def test_scouting_stops_counting_once_the_threat_is_fully_scouted(self):
|
||||
world = world_with(("sam", "scout"))
|
||||
raid = self.announce(world)
|
||||
full = game.intel_costs(raid)[-1]
|
||||
raid["recon"] = full - 1
|
||||
world["city"]["recon_boost"] = 30
|
||||
p = world["players"]["sam"]
|
||||
game.start_action(world, p, "recon_roads", T0)
|
||||
game.process_player(world, p, T0 + 48 * 3 + 1, random.Random(1))
|
||||
self.assertEqual(raid["recon"], full)
|
||||
self.assertEqual(world["city"]["recon_boost"], 29) # leads only spent while there's something to learn
|
||||
self.assertIsNotNone(p["action"]) # still trains the skill
|
||||
self.assertEqual(game.event_view(world, raid, T0)["recon"], full)
|
||||
|
||||
def test_bigger_bands_take_more_scouting(self):
|
||||
small = {"kind": "raid", "strength": 20}
|
||||
huge = {"kind": "raid", "strength": 150}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue