@@ -101,43 +101,7 @@ def get_default_settings() -> dict:
101101 "dos_door_rando" : False ,
102102 "enable_shop_hints" : True ,
103103 "enable_tag_anywhere" : True ,
104- "enemies_selected" : [
105- Enemies .Bat ,
106- Enemies .BeaverBlue ,
107- Enemies .BeaverGold ,
108- Enemies .Bug ,
109- Enemies .FireballGlasses ,
110- Enemies .GetOut ,
111- Enemies .Ghost ,
112- Enemies .Gimpfish ,
113- Enemies .Kaboom ,
114- Enemies .KasplatChunky ,
115- Enemies .KasplatDK ,
116- Enemies .KasplatDiddy ,
117- Enemies .KasplatLanky ,
118- Enemies .KasplatTiny ,
119- Enemies .KlaptrapGreen ,
120- Enemies .KlaptrapPurple ,
121- Enemies .KlaptrapRed ,
122- Enemies .Klobber ,
123- Enemies .Klump ,
124- Enemies .Guard ,
125- Enemies .Kosha ,
126- Enemies .Kremling ,
127- Enemies .Krossbones ,
128- Enemies .MrDice0 ,
129- Enemies .MrDice1 ,
130- Enemies .MushroomMan ,
131- Enemies .Pufftup ,
132- Enemies .RoboKremling ,
133- Enemies .ZingerRobo ,
134- Enemies .Ruler ,
135- Enemies .Shuri ,
136- Enemies .SirDomino ,
137- Enemies .SpiderSmall ,
138- Enemies .ZingerCharger ,
139- Enemies .ZingerLime ,
140- ],
104+ "enemies_selected" : [],
141105 "enemy_kill_crown_timer" : True ,
142106 "enemy_speed_rando" : False ,
143107 "fairy_queen_behavior" : RandomRequirement .pre_selected ,
@@ -435,16 +399,9 @@ def apply_item_randomization_settings(settings_dict: dict, options) -> None:
435399 settings_dict ["item_rando_list_1" ].extend (always_enabled_categories )
436400 settings_dict ["decouple_item_rando" ] = False
437401
438- if options .enable_filler_items .value :
439- if options .enable_chaos_blockers .value :
440- settings_dict ["filler_items_selected" ] = [ItemRandoFiller .banana , ItemRandoFiller .crown , ItemRandoFiller .fairy , ItemRandoFiller .medal , ItemRandoFiller .pearl , ItemRandoFiller .rainbowcoin ]
441- else :
442- settings_dict ["filler_items_selected" ] = [
443- ItemRandoFiller .banana ,
444- ItemRandoFiller .fairy ,
445- ItemRandoFiller .medal ,
446- ItemRandoFiller .pearl ,
447- ]
402+ # Set a default filler list for compatibility with core randomizer
403+ settings_dict ["filler_items_selected" ] = [ItemRandoFiller .junkitem ]
404+
448405 # Conditional item categories
449406 if options .hints_in_item_pool .value :
450407 settings_dict ["item_rando_list_1" ].append (ItemRandoListSelected .hint )
@@ -624,6 +581,57 @@ def apply_glitches_and_tricks_settings(settings_dict: dict, options) -> None:
624581 settings_dict ["glitches_selected" ].append (glitches_mapping [glitch ])
625582
626583
584+ def apply_enemies (settings_dict : dict , options ) -> None :
585+ """Apply Enemy settings."""
586+ settings_dict ["enemies_selected" ] = []
587+
588+ enemy_mapping = {
589+ "Bat" : Enemies .Bat ,
590+ "BeaverBlue" : Enemies .BeaverBlue ,
591+ "BeaverGold" : Enemies .BeaverGold ,
592+ "Bug" : Enemies .Bug ,
593+ "FireballGlasses" : Enemies .FireballGlasses ,
594+ "GetOut" : Enemies .GetOut ,
595+ "Ghost" : Enemies .Ghost ,
596+ "Gimpfish" : Enemies .Gimpfish ,
597+ "Kaboom" : Enemies .Kaboom ,
598+ "KasplatChunky" : Enemies .KasplatChunky ,
599+ "KasplatDK" : Enemies .KasplatDK ,
600+ "KasplatDiddy" : Enemies .KasplatDiddy ,
601+ "KasplatLanky" : Enemies .KasplatLanky ,
602+ "KasplatTiny" : Enemies .KasplatTiny ,
603+ "KlaptrapGreen" : Enemies .KlaptrapGreen ,
604+ "KlaptrapPurple" : Enemies .KlaptrapPurple ,
605+ "KlaptrapRed" : Enemies .KlaptrapRed ,
606+ "Klobber" : Enemies .Klobber ,
607+ "Klump" : Enemies .Klump ,
608+ "Guard" : Enemies .Guard ,
609+ "Kosha" : Enemies .Kosha ,
610+ "Kremling" : Enemies .Kremling ,
611+ "Krossbones" : Enemies .Krossbones ,
612+ "MrDice0" : Enemies .MrDice0 ,
613+ "MrDice1" : Enemies .MrDice1 ,
614+ "MushroomMan" : Enemies .MushroomMan ,
615+ "Pufftup" : Enemies .Pufftup ,
616+ "RoboKremling" : Enemies .RoboKremling ,
617+ "ZingerRobo" : Enemies .ZingerRobo ,
618+ "Ruler" : Enemies .Ruler ,
619+ "Shuri" : Enemies .Shuri ,
620+ "SirDomino" : Enemies .SirDomino ,
621+ "SpiderSmall" : Enemies .SpiderSmall ,
622+ "ZingerCharger" : Enemies .ZingerCharger ,
623+ "ZingerLime" : Enemies .ZingerLime ,
624+ "GuardDisableA" : Enemies .GuardDisableA ,
625+ "GuardDisableZ" : Enemies .GuardDisableZ ,
626+ "GuardTag" : Enemies .GuardTag ,
627+ "GuardGetOut" : Enemies .GuardGetOut ,
628+ }
629+
630+ for enemy in options .enemies_selected :
631+ if enemy in enemy_mapping :
632+ settings_dict ["enemies_selected" ].append (enemy_mapping [enemy ])
633+
634+
627635def apply_boss_and_key_settings (settings_dict : dict , options ) -> None :
628636 """Apply boss and key settings."""
629637 # Starting keys configuration
@@ -808,6 +816,7 @@ def fillsettings(options, multiworld, random_obj):
808816 apply_starting_moves_settings (settings_dict , options )
809817 apply_hint_settings (settings_dict , options )
810818 apply_minigame_settings (settings_dict , options , multiworld )
819+ apply_enemies (settings_dict , options )
811820
812821 # Handle fake generation keys if needed
813822 if hasattr (multiworld , "generation_is_fake" ):
0 commit comments