@@ -141,7 +141,8 @@ def copy_dependencies(zip_path, file):
141141 from randomizer .Enums .Levels import Levels
142142 from randomizer .Enums .Maps import Maps
143143 from randomizer .Enums .Locations import Locations as DK64RLocations
144- from randomizer .Enums .Settings import WinConditionComplex
144+ from randomizer .Enums .Settings import WinConditionComplex , SwitchsanityLevel
145+ from randomizer .Enums .Switches import Switches
145146 from randomizer .Lists import Item as DK64RItem
146147 from worlds .LauncherComponents import Component , components , Type , icon_paths
147148 import randomizer .ShuffleExits as ShuffleExits
@@ -282,6 +283,7 @@ def generate_early(self):
282283 settings_dict ["medal_requirement" ] = self .options .medal_requirement .value
283284 settings_dict ["rareware_gb_fairies" ] = self .options .rareware_gb_fairies .value
284285 settings_dict ["krool_key_count" ] = self .options .krool_key_count .value
286+ settings_dict ["switchsanity" ] = self .options .switchsanity .value
285287 settings_dict ["starting_keys_list_selected" ] = []
286288 for item in self .options .start_inventory :
287289 if item == "Key 1" :
@@ -593,6 +595,7 @@ def fill_slot_data(self) -> dict:
593595 "HelmOrder" : ", " .join ([str (room ) for room in self .logic_holder .settings .helm_order ]),
594596 "OpenLobbies" : self .logic_holder .settings .open_lobbies ,
595597 "KroolInBossPool" : self .logic_holder .settings .krool_in_boss_pool ,
598+ "SwitchSanity" : {switch .name : {"kong" : data .kong .name , "type" : data .switch_type .name } for switch , data in self .logic_holder .settings .switchsanity_data .items ()},
596599 }
597600
598601 def write_spoiler (self , spoiler_handle : typing .TextIO ):
@@ -623,6 +626,13 @@ def write_spoiler(self, spoiler_handle: typing.TextIO):
623626 spoiler_handle .write ("\n " )
624627 spoiler_handle .write ("Removed Barriers: " + ", " .join ([barrier .name for barrier in self .logic_holder .settings .remove_barriers_selected ]))
625628 spoiler_handle .write ("\n " )
629+ if self .logic_holder .settings .switchsanity != SwitchsanityLevel .off :
630+ spoiler_handle .write ("Switchsanity Settings: \n " )
631+ for switch , data in self .logic_holder .settings .switchsanity_data .items ():
632+ if self .logic_holder .settings .switchsanity == SwitchsanityLevel .helm_access :
633+ if switch not in (Switches .IslesHelmLobbyGone , Switches .IslesMonkeyport ):
634+ continue
635+ spoiler_handle .write (f" - { switch .name } : { data .kong .name } with { data .switch_type .name } \n " )
626636 spoiler_handle .write ("Generated Time: " + time .strftime ("%d-%m-%Y %H:%M:%S" , time .gmtime ()) + " GMT" )
627637 spoiler_handle .write ("\n " )
628638 spoiler_handle .write ("Randomizer Version: " + self .logic_holder .settings .version )
0 commit comments