From 11700a8163e4d553b03dda29046e76506fdf8476 Mon Sep 17 00:00:00 2001 From: rope Date: Sun, 25 Oct 2026 08:34:24 +0000 Subject: [PATCH] Master baiter title at fishing 50 Co-Authored-By: Claude Opus 5.5 --- game.py | 5 +++++ tests/test_game.py | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/game.py b/game.py index fee2573..f81ade0 100644 --- a/game.py +++ b/game.py @@ -5460,6 +5460,7 @@ SKILL_TITLES = {"mining": "miner", "woodcutting": "woodcutter", "farming": "farm "smithing": "smith", "jewelcrafting": "jeweller", "construction": "builder", "cooking": "cook", "leatherworking": "tanner", "tailoring": "tailor", "herblore": "herbalist", "firekeeping": "flamekeeper", "combat": "warrior", "prayer": "priest", "reconnaissance": "scout"} +SKILL_EXTRA_TITLES = [("fishing", 50, "Master baiter")] DEED_TITLES = [("defended", 5, "Defender of the City"), ("dragons", 1, "Dragonslayer"), ("bosses", 10, "Bossbane")] HOMES = [("Hut", 0), ("Cottage", 2000), ("House", 8000), ("Hall", 25000), ("Manor", 75000)] MONUMENTS = { @@ -5484,6 +5485,7 @@ def earned_titles(player: dict) -> list[str]: titles.append(f"Grandmaster {noun}") elif level >= 50: titles.append(f"Master {noun}") + titles += [title for skill, need, title in SKILL_EXTRA_TITLES if skill_level(player, skill) >= need] titles += [title for key, need, title in DEED_TITLES if player["deeds"].get(key, 0) >= need] if player["donated"] >= 100_000: titles.append("Patron of the City") @@ -5973,6 +5975,9 @@ ORDER_RECIPES, ORDER_RAW = _order_sources() # What changed, shown on the Patch notes page. Newest first; every shipped change adds a # line here (new / balance / fix), and a new release a new entry on top. PATCH_NOTES = [ + {"date": "2026-10-25", "title": "Titles", "notes": [ + ("new", "Fishing 50 also earns a second title: Master baiter."), + ]}, {"date": "2026-10-24", "title": "Dungeon loot", "notes": [ ("new", "Masterwork patterns: every dungeon boss can drop one of 7 (15% from a mini-boss, 35% from the last boss, " "everyone rolls their own). A crafter learns it once, then reforges the tier's piece plus 3 relics into a " diff --git a/tests/test_game.py b/tests/test_game.py index 0c2ffe7..32d6cd7 100644 --- a/tests/test_game.py +++ b/tests/test_game.py @@ -1839,6 +1839,10 @@ class GoldTest(unittest.TestCase): self.assertEqual(game.set_look(self.ann, {**look, "title": "Master smith"}), "You haven't earned that title") self.ann["xp"]["smithing"] = game.XP_TABLE[50] self.assertIsNone(game.set_look(self.ann, {**look, "title": "Master smith"})) + self.assertNotIn("Master baiter", game.titles(self.ann)) + self.ann["xp"]["fishing"] = game.XP_TABLE[50] + self.assertIn("Master angler", game.titles(self.ann)) + self.assertIn("Master baiter", game.titles(self.ann)) self.assertIsNone(game.upgrade_home(self.ann)) self.assertEqual(game.look_view(self.ann)["home"], "Cottage")