@@ -226,6 +226,15 @@ def generate_early(self) -> None:
226
226
227
227
self .grant_missable_location_checks = bool (self .options .grant_missable_location_checks )
228
228
229
+ if self .grant_missable_location_checks :
230
+ if self .entrance_randomizer != ZorkGrandInquisitorEntranceRandomizer .DISABLED :
231
+ self .grant_missable_location_checks = False
232
+
233
+ logging .warning (
234
+ f"Zork Grand Inquisitor: { self .player_name } wants to grant missable location checks but "
235
+ "has the entrance randomizer enabled. Disabling the grantinmg of missable location checks..."
236
+ )
237
+
229
238
self .entrance_rule_data = entrance_rule_data
230
239
231
240
self .item_data = prepare_item_data (
@@ -621,6 +630,8 @@ def interpret_slot_data(slot_data: Dict[str, Any]) -> Dict[str, Any]:
621
630
slot_data ["deathsanity" ] = id_to_deathsanity ()[slot_data ["deathsanity" ]]
622
631
slot_data ["landmarksanity" ] = id_to_landmarksanity ()[slot_data ["landmarksanity" ]]
623
632
slot_data ["entrance_randomizer" ] = id_to_entrance_randomizer ()[slot_data ["entrance_randomizer" ]]
633
+ slot_data ["entrance_randomizer_include_subway_destinations" ] = bool (slot_data ["entrance_randomizer" ])
634
+
624
635
slot_data ["starter_kit" ] = tuple ([ZorkGrandInquisitorItems (item ) for item in slot_data ["starter_kit" ]])
625
636
626
637
slot_data ["initial_totemizer_destination" ] = ZorkGrandInquisitorItems (
@@ -646,6 +657,10 @@ def _apply_ut_passthrough(self) -> None:
646
657
self .landmarksanity = passthrough ["landmarksanity" ]
647
658
self .entrance_randomizer = passthrough ["entrance_randomizer" ]
648
659
660
+ self .entrance_randomizer_include_subway_destinations = passthrough [
661
+ "entrance_randomizer_include_subway_destinations"
662
+ ]
663
+
649
664
self .item_data = prepare_item_data (
650
665
self .starting_location ,
651
666
self .goal ,
@@ -666,15 +681,17 @@ def _apply_ut_passthrough(self) -> None:
666
681
self .trap_percentage = passthrough ["trap_percentage" ] / 100
667
682
self .trap_weights = passthrough ["trap_weights" ]
668
683
669
- def _prepare_entrance_randomizer_slot_data (self ) -> Dict [Tuple [ str , str ], Tuple [ str , str ] ]:
670
- entrance_randomizer_slot_data : Dict [Tuple [ str , str ], Tuple [ str , str ] ] = dict ()
684
+ def _prepare_entrance_randomizer_slot_data (self ) -> Dict [str , str ]:
685
+ entrance_randomizer_slot_data : Dict [str , str ] = dict ()
671
686
672
687
entrance_from : Tuple [ZorkGrandInquisitorRegions , ZorkGrandInquisitorRegions ]
673
688
entrance_to : Tuple [ZorkGrandInquisitorRegions , ZorkGrandInquisitorRegions ]
674
689
for entrance_from , entrance_to in self .entrance_randomizer_pairings .items ():
675
690
game_locations_pair : Tuple [str , str ]
676
691
for game_locations_pair in entrances_to_game_locations [entrance_from ]:
677
- entrance_randomizer_slot_data [game_locations_pair ] = entrances_to_game_location_teleports [entrance_to ]
692
+ entrance_randomizer_slot_data ["-" .join (game_locations_pair )] = (
693
+ " " .join (entrances_to_game_location_teleports [entrance_to ])
694
+ )
678
695
679
696
return entrance_randomizer_slot_data
680
697
0 commit comments