1010from Location import LocationIterator
1111from LocationList import location_table
1212from Models import get_model_choices
13- from SettingsListTricks import logic_tricks
13+ from SettingsListTricks import logic_tricks , advanced_logic_tricks
1414from SettingTypes import SettingInfo , SettingInfoStr , SettingInfoList , SettingInfoDict , Textbox , Button , Checkbutton , \
1515 Combobox , Radiobutton , Fileinput , Directoryinput , Textinput , ComboboxInt , Scale , Numberinput , MultipleSelect , \
1616 SearchBox
@@ -634,7 +634,7 @@ class SettingInfos:
634634 default = 'glitchless' ,
635635 choices = {
636636 'glitchless' : 'Glitchless' ,
637- 'glitched ' : 'Glitched ' ,
637+ 'advanced ' : 'Advanced ' ,
638638 'none' : 'No Logic' ,
639639 },
640640 gui_tooltip = '''\
@@ -646,20 +646,20 @@ class SettingInfos:
646646 some minor tricks. Add minor tricks to consider for logic
647647 in the 'Detailed Logic' tab.
648648
649- 'Glitched': Movement-oriented glitches are likely required.
650- No locations excluded.
649+ 'Advanced': More Glitchless tricks and toggleable
650+ glitches for accessability to curate the overall difficulty
651+ level for every skill level.
651652
652653 'No Logic': Maximize randomization, All locations are
653654 considered available. MAY BE IMPOSSIBLE TO BEAT.
654655 ''' ,
655656 disable = {
656- 'glitchless' : {'settings' : ['tricks_list_msg' ]},
657- 'glitched' : {'settings' : ['allowed_tricks' , 'shuffle_interior_entrances' , 'shuffle_hideout_entrances' , 'shuffle_gerudo_fortress_heart_piece' , 'shuffle_grotto_entrances' ,
658- 'shuffle_dungeon_entrances' , 'shuffle_overworld_entrances' , 'shuffle_gerudo_valley_river_exit' , 'owl_drops' ,
659- 'warp_songs' , 'spawn_positions' , 'mq_dungeons_mode' , 'mq_dungeons_specific' ,
660- 'mq_dungeons_count' , 'shuffle_bosses' , 'shuffle_ganon_tower' , 'dungeon_shortcuts' , 'deadly_bonks' ,
661- 'shuffle_freestanding_items' , 'shuffle_pots' , 'shuffle_crates' , 'shuffle_beehives' , 'shuffle_silver_rupees' , 'shuffle_wonderitems' ]},
662- 'none' : {'settings' : ['allowed_tricks' , 'logic_no_night_tokens_without_suns_song' , 'reachable_locations' ]},
657+ 'glitchless' : {'settings' : ['tricks_list_msg' , 'advanced_allowed_tricks' ]},
658+ # Forcing blue fire arrows to be on, and the tcg lens setting to be off as we can do it without the lens logically
659+ # and don't care if people do 1/32
660+ 'advanced' : {'settings' : ['tricks_list_msg' , 'blue_fire_arrows' , 'tcg_requires_lens'
661+ ]},
662+ 'none' : {'settings' : ['allowed_tricks' , 'advanced_allowed_tricks' , 'logic_no_night_tokens_without_suns_song' , 'reachable_locations' ]},
663663 },
664664 shared = True ,
665665 )
@@ -3159,8 +3159,26 @@ class SettingInfos:
31593159 and MAY be required to complete the game.
31603160
31613161 Tricks in the left column are NEVER required.
3162+ '''
3163+ )
31623164
3163- Tricks are only relevant for Glitchless logic.
3165+ advanced_allowed_tricks = SearchBox (
3166+ gui_text = "Enable Advanced Tricks" ,
3167+ shared = True ,
3168+ choices = {
3169+ val ['name' ]: gui_text for gui_text , val in advanced_logic_tricks .items ()
3170+ },
3171+ default = [],
3172+ gui_params = {
3173+ 'choice_tooltip' : {choice ['name' ]: choice ['tooltip' ] for choice in advanced_logic_tricks .values ()},
3174+ 'filterdata' : {val ['name' ]: val ['tags' ] for _ , val in advanced_logic_tricks .items ()},
3175+ "hide_when_disabled" : True ,
3176+ },
3177+ gui_tooltip = '''
3178+ Tricks moved to the right column are in-logic
3179+ and MAY be required to complete the game.
3180+
3181+ Tricks in the left column are NEVER required.
31643182 '''
31653183 )
31663184
@@ -3952,14 +3970,18 @@ class SettingInfos:
39523970 )
39533971
39543972 blue_fire_arrows = Checkbutton (
3955- gui_text = 'Blue Fire Arrows' ,
3956- gui_tooltip = '''\
3973+ gui_text = 'Blue Fire Arrows' ,
3974+ gui_tooltip = '''\
39573975 Ice arrows gain the power of blue fire.
39583976 They can be used to melt red ice
39593977 and break the mud walls in Dodongo's Cavern.
39603978 ''' ,
3961- default = False ,
3962- shared = True ,
3979+ default = False ,
3980+ disabled_default = True ,
3981+ gui_params = {
3982+ "hide_when_disabled" : True ,
3983+ },
3984+ shared = True ,
39633985 )
39643986
39653987 fix_broken_drops = Checkbutton (
0 commit comments