Rings of precision become rings of haste

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
rope 2026-10-20 20:26:54 +01:00
parent 6883b707ad
commit 5facec9ee8
4 changed files with 43 additions and 12 deletions

View file

@ -1650,7 +1650,7 @@ class JewelcraftingTest(unittest.TestCase):
self.ann = self.world["players"]["ann"]
def test_recipes_take_a_band_a_gem_and_past_quartz_a_shard(self):
self.assertEqual(game.ACTION_BY_ID["jc_quartz_precision"]["inputs"], {"copper_bar": 1, "quartz": 1})
self.assertEqual(game.ACTION_BY_ID["jc_quartz_haste"]["inputs"], {"copper_bar": 1, "quartz": 1})
self.assertEqual(game.ACTION_BY_ID["jc_garnet_vigour"]["inputs"],
{"silver_bar": 2, "garnet": 1, "watchtower_shard": 2})
self.assertEqual(game.ACTION_BY_ID["jc_diamond_charm"]["inputs"],
@ -1679,9 +1679,9 @@ class JewelcraftingTest(unittest.TestCase):
p["xp"]["combat"] = game.XP_TABLE[20]
before = game.fighter(p, game.NO_BLESSING, {})
hp = game.max_hp(p)
p["equip"].update(ring="garnet_precision", amulet="garnet_vigour", trinket="garnet_hourglass")
p["equip"].update(ring="garnet_haste", amulet="garnet_vigour", trinket="garnet_hourglass")
after = game.fighter(p, game.NO_BLESSING, {})
self.assertAlmostEqual(after["accuracy"], before["accuracy"] * 1.08)
self.assertAlmostEqual(after["interval"], round(before["interval"] * 0.93, 2))
self.assertEqual(game.max_hp(p), hp + 10)
game.gain_xp(self.world, p, "mining", 100, T0)
self.assertAlmostEqual(p["xp"]["mining"], 103)
@ -1707,3 +1707,13 @@ class JewelcraftingTest(unittest.TestCase):
self.assertEqual(self.ann["xp"]["jewelcrafting"], 0)
self.assertEqual({slot: self.ann["equip"][slot] for slot in ("ring", "amulet", "trinket")},
{"ring": None, "amulet": None, "trinket": None})
def test_rings_of_precision_became_haste(self):
self.world["version"] = 19
self.ann["bank"] = {"garnet_precision": 2, "garnet": 1}
self.ann["equip"]["ring"] = "quartz_precision"
self.ann["action"] = {"id": "jc_garnet_precision", "start": T0}
game.migrate(self.world, T0)
self.assertEqual(self.ann["bank"], {"garnet_haste": 2, "garnet": 1})
self.assertEqual(self.ann["equip"]["ring"], "quartz_haste")
self.assertEqual(self.ann["action"]["id"], "jc_garnet_haste")