Track a recipe under the top bar

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rope 2026-10-20 21:13:46 +01:00
parent 722cf0b382
commit a86594594a
5 changed files with 67 additions and 6 deletions

View file

@ -1525,6 +1525,27 @@ class PinTest(unittest.TestCase):
game.migrate(world, T0)
self.assertEqual(world["players"]["fred"]["pinned"], [])
def test_track_toggles_one_recipe(self):
world = world_with(("fred", "commoner"))
p = world["players"]["fred"]
recipes = [a["id"] for a in game.ACTIONS if a["inputs"]][:2]
self.assertIsNone(game.toggle_track(p, recipes[0]))
self.assertEqual(p["tracked"], recipes[0])
self.assertIsNone(game.toggle_track(p, recipes[1]))
self.assertEqual(p["tracked"], recipes[1])
self.assertIsNone(game.toggle_track(p, recipes[1]))
self.assertIsNone(p["tracked"])
gather = next(a["id"] for a in game.ACTIONS if not a["inputs"])
self.assertIsNotNone(game.toggle_track(p, gather))
self.assertIsNotNone(game.toggle_track(p, "juggling"))
def test_old_players_get_tracking(self):
world = world_with(("fred", "commoner"))
del world["players"]["fred"]["tracked"]
world["version"] = 21
game.migrate(world, T0)
self.assertIsNone(world["players"]["fred"]["tracked"])
class IconTest(unittest.TestCase):
def test_everything_has_a_glyph_in_the_sprite(self):