77 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import typing
 | |
| 
 | |
| from Options import Choice, Range, Option
 | |
| 
 | |
| 
 | |
| class Logic(Choice):
 | |
|     option_no_glitches = 0
 | |
|     option_minor_glitches = 1
 | |
|     option_overworld_glitches = 2
 | |
|     option_hybrid_major_glitches = 3
 | |
|     option_no_logic = 4
 | |
|     alias_owg = 2
 | |
|     alias_hmg = 3
 | |
| 
 | |
| 
 | |
| class Objective(Choice):
 | |
|     option_crystals = 0
 | |
|     # option_pendants = 1
 | |
|     option_triforce_pieces = 2
 | |
|     option_pedestal = 3
 | |
|     option_bingo = 4
 | |
| 
 | |
| 
 | |
| class Goal(Choice):
 | |
|     option_kill_ganon = 0
 | |
|     option_kill_ganon_and_gt_agahnim = 1
 | |
|     option_hand_in = 2
 | |
| 
 | |
| 
 | |
| class Crystals(Range):
 | |
|     range_start = 0
 | |
|     range_end = 7
 | |
| 
 | |
| 
 | |
| class CrystalsTower(Crystals):
 | |
|     default = 7
 | |
| 
 | |
| 
 | |
| class CrystalsGanon(Crystals):
 | |
|     default = 7
 | |
| 
 | |
| 
 | |
| class TriforcePieces(Range):
 | |
|     default = 30
 | |
|     range_start = 1
 | |
|     range_end = 90
 | |
| 
 | |
| 
 | |
| class ShopItemSlots(Range):
 | |
|     range_start = 0
 | |
|     range_end = 30
 | |
| 
 | |
| 
 | |
| class WorldState(Choice):
 | |
|     option_standard = 1
 | |
|     option_open = 0
 | |
|     option_inverted = 2
 | |
| 
 | |
| 
 | |
| class Bosses(Choice):
 | |
|     option_vanilla = 0
 | |
|     option_simple = 1
 | |
|     option_full = 2
 | |
|     option_chaos = 3
 | |
|     option_singularity = 4
 | |
| 
 | |
| 
 | |
| class Enemies(Choice):
 | |
|     option_vanilla = 0
 | |
|     option_shuffled = 1
 | |
|     option_chaos = 2
 | |
| 
 | |
| alttp_options: typing.Dict[str, type(Option)] = {
 | |
|     "crystals_needed_for_gt": CrystalsTower,
 | |
|     "crystals_needed_for_ganon": CrystalsGanon,
 | |
|     "shop_item_slots": ShopItemSlots,
 | |
| } | 
