 920cffda2d
			
		
	
	920cffda2d
	
	
	
		
			
			* initial work on procedure patch * more flexibility load default procedure for version 5 patches add args for procedure add default extension for tokens and bsdiff allow specifying additional required extensions for generation * pushing current changes to go fix tloz bug * move tokens into a separate inheritable class * forgot the commit to remove token from ProcedurePatch * further cleaning from bad commit * start on docstrings * further work on docstrings and typing * improve docstrings * fix incorrect docstring * cleanup * clean defaults and docstring * define interface that has only the bare minimum required for `Patch.create_rom_file` * change to dictionary.get * remove unnecessary if statement * update to explicitly check for procedure, restore compatible version and manual override * Update Files.py * remove struct uses * Update Rom.py * convert KDL3 to APPP * change class variables to instance variables * Update worlds/Files.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * Update worlds/Files.py Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> * move required_extensions to tuple * fix missing tuple ellipsis * fix classvar mixup * rename tokens to _tokens. use hasattr * type hint cleanup * Update Files.py * initial base for local items, need to finish * coo not clean * handle local items for real, appp cleanup * actually make bosses send their locations * fix cloudy park 4 rule, zero deathlink message * remove redundant door_shuffle bool when generic ER gets in, this whole function gets rewritten. So just clean it a little now. * properly fix deathlink messages, fix fill error * update docs * add prefill items * fix kine fill error * Update Rom.py * Update Files.py * mypy and softlock fix * Update Gifting.py * mypy phase 1 * fix rare async client bug * Update __init__.py * typing cleanup * fix stone softlock because of the way Kine's Stone works, you can't clear the stone blocks before clearing the burning blocks, so we have to bring Burning from outside * Update Rom.py * Add option groups * Rename to lowercase * finish rename * whoops broke the world * fix animal duplication bug * overhaul filler generation * add Miku flavor * Update gifting.py * fix issues related to max_hs increase * Update test_locations.py * fix boss shuffle not working if level shuffle is disabled * fix bleeding default levels * Update options.py * thought this would print seed * yay bad merges * forgot options too * yeah lets just break generation while at it * this is probably a problem * cap required heart stars * Revert "cap required heart stars" This reverts commit 759efd3e2b14ec2855082de041ac989cb9c5d500. * fix duplication removal placement, deprecated test option * forgot that we need to account for what we place * move location ids * rewrite trap handling * further stage renumber fixes * forgot one more * basic UT support * fix local heart star checks * fix pattern --------- Co-authored-by: beauxq <beauxq@yahoo.com> Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| from typing import Dict, Any
 | |
| 
 | |
| all_random = {
 | |
|     "progression_balancing": "random",
 | |
|     "accessibility": "random",
 | |
|     "death_link": "random",
 | |
|     "game_language": "random",
 | |
|     "goal": "random",
 | |
|     "goal_speed": "random",
 | |
|     "total_heart_stars": "random",
 | |
|     "heart_stars_required": "random",
 | |
|     "filler_percentage": "random",
 | |
|     "trap_percentage": "random",
 | |
|     "gooey_trap_weight": "random",
 | |
|     "slow_trap_weight": "random",
 | |
|     "ability_trap_weight": "random",
 | |
|     "jumping_target": "random",
 | |
|     "stage_shuffle": "random",
 | |
|     "boss_shuffle": "random",
 | |
|     "allow_bb": "random",
 | |
|     "animal_randomization": "random",
 | |
|     "copy_ability_randomization": "random",
 | |
|     "strict_bosses": "random",
 | |
|     "open_world": "random",
 | |
|     "ow_boss_requirement": "random",
 | |
|     "boss_requirement_random": "random",
 | |
|     "consumables": "random",
 | |
|     "starsanity": "random",
 | |
|     "kirby_flavor_preset": "random",
 | |
|     "gooey_flavor_preset": "random",
 | |
|     "music_shuffle": "random",
 | |
| }
 | |
| 
 | |
| beginner = {
 | |
|     "goal": "zero",
 | |
|     "goal_speed": "normal",
 | |
|     "total_heart_stars": 50,
 | |
|     "heart_stars_required": 30,
 | |
|     "filler_percentage": 25,
 | |
|     "trap_percentage": 0,
 | |
|     "gooey_trap_weight": "random",
 | |
|     "slow_trap_weight": "random",
 | |
|     "ability_trap_weight": "random",
 | |
|     "jumping_target": 5,
 | |
|     "stage_shuffle": "pattern",
 | |
|     "boss_shuffle": "shuffled",
 | |
|     "allow_bb": "random",
 | |
|     "strict_bosses": True,
 | |
|     "open_world": True,
 | |
|     "ow_boss_requirement": 3,
 | |
| }
 | |
| 
 | |
| 
 | |
| kdl3_options_presets: Dict[str, Dict[str, Any]] = {
 | |
|     "All Random": all_random,
 | |
|     "Beginner": beginner,
 | |
| }
 |