diff --git a/worlds/zork_grand_inquisitor/client.py b/worlds/zork_grand_inquisitor/client.py index c6f957b98c50..86d21487a73d 100644 --- a/worlds/zork_grand_inquisitor/client.py +++ b/worlds/zork_grand_inquisitor/client.py @@ -35,6 +35,10 @@ def _cmd_lucy(self) -> None: """List received Lucy items.""" self.ctx.game_controller.list_received_lucy_items() + def _cmd_hotspots(self) -> None: + """List received Hotspots.""" + self.ctx.game_controller.list_received_hotspots() + class ZorkGrandInquisitorContext(CommonClient.CommonContext): tags: Set[str] = {"AP"} diff --git a/worlds/zork_grand_inquisitor/game_controller.py b/worlds/zork_grand_inquisitor/game_controller.py index af2cd15d7089..f8299f7957d0 100644 --- a/worlds/zork_grand_inquisitor/game_controller.py +++ b/worlds/zork_grand_inquisitor/game_controller.py @@ -139,6 +139,21 @@ def list_received_lucy_items(self) -> None: for item in sorted(i.value for i in received_lucy_items): self.log(f" {item}") + def list_received_hotspots(self) -> None: + self.log("Received Hotspots:") + + self._process_received_items() + + hotspot_items: Set[ZorkGrandInquisitorItems] = items_with_tag(ZorkGrandInquisitorTags.HOTSPOT) + received_hotspots: Set[ZorkGrandInquisitorItems] = self.received_items & hotspot_items + + if not len(received_hotspots): + self.log(" Nothing") + return + + for item in sorted(i.value for i in received_hotspots): + self.log(f" {item}") + def update(self) -> None: if self.game_state_manager.is_process_still_running(): try: