Work orders: fill a reagent slot after posting; no auto-reload while writing an order
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
326437ddf9
commit
1488692463
4 changed files with 39 additions and 3 deletions
|
|
@ -1580,3 +1580,16 @@ class WorkOrderTest(unittest.TestCase):
|
|||
game.expire_orders(self.world, T0 + 4 * game.DAY)
|
||||
self.assertEqual(self.mike["gold"], 200)
|
||||
self.assertEqual(self.mike["bank"]["iron_bar"], 3)
|
||||
|
||||
def test_requester_can_fill_a_slot_after_posting(self):
|
||||
self.mike["gold"] = 200
|
||||
self.mike["bank"] = {"iron_bar": 3, "clay_core": 3}
|
||||
game.post_order(self.world, self.mike, "craft", "iron_warhammer", 1, [], 140, T0)
|
||||
order = self.world["orders"][0]
|
||||
self.assertIsNone(game.provide_reagent(self.world, self.mike, order["id"], "iron_bar"))
|
||||
self.assertEqual(order["provided"], {"iron_bar": 3})
|
||||
self.fred["bank"] = {"oak_plank": 1, "clay_core": 3}
|
||||
self.assertIsNone(game.work_order(self.world, self.fred, order["id"], T0))
|
||||
game.process_player(self.world, self.fred, T0 + 600, random.Random(1))
|
||||
self.assertEqual(self.mike["bank"].get("iron_warhammer"), 1)
|
||||
self.assertEqual(self.fred["bank"], {}) # used his own plank and cores, never needed bars
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue