diff --git a/pqcli/mechanic.py b/pqcli/mechanic.py index df78e1e..2b82852 100644 --- a/pqcli/mechanic.py +++ b/pqcli/mechanic.py @@ -162,7 +162,7 @@ class QuestBook(SignalMixin): def add_quest(self, name: str) -> None: logger.info("Commencing quest: %s", name) - self._quests = self._quests[-100:] + self._quests = self._quests[-99:] self._quests.append(name) diff --git a/tests/test_mechanic.py b/tests/test_mechanic.py index be3d02d..0b480ba 100644 --- a/tests/test_mechanic.py +++ b/tests/test_mechanic.py @@ -146,3 +146,11 @@ def test_cinematic_text_matches_upstream() -> None: texts = [task.description for task in simulation.player.queue] assert any("You've reached the kind protection of " in t for t in texts) assert any(t.endswith("news!? -- Oh yes, of course") for t in texts) + + +def test_quest_log_keeps_100_quests() -> None: + quest_book = make_simulation().player.quest_book + for i in range(150): + quest_book.add_quest(f"quest {i}") + assert len(quest_book.quests) == 100 + assert quest_book.quests[-1] == "quest 149"