OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								""" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This  file  was  auto  generated  by  LogicCSVToPython . py  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								""" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								from  . . Regions  import  RegionRow  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								region_rows  =  [  
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RegionRow ( ' Lumbridge ' ,  ' Area: Lumbridge ' ,  [ ' Lumbridge Farms East ' ,  ' Lumbridge Farms West ' ,  ' Al Kharid ' ,  ' Lumbridge Swamp ' ,  ' HAM Hideout ' ,  ' South of Varrock ' ,  ' Barbarian Village ' ,  ' Edgeville ' ,  ' Wilderness ' ,  ] ,  [ ' Mind Runes ' ,  ' Spinning Wheel ' ,  ' Furnace ' ,  ' Chisel ' ,  ' Bronze Anvil ' ,  ' Fly Fishing Spot ' ,  ' Bowl ' ,  ' Cake Tin ' ,  ' Oak Tree ' ,  ' Willow Tree ' ,  ' Canoe Tree ' ,  ' Goblin ' ,  ' Imps ' ,  ' Duck ' ,  ' Bar ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Lumbridge Swamp ' ,  ' Area: Lumbridge Swamp ' ,  [ ' Lumbridge ' ,  ' HAM Hideout ' ,  ] ,  [ ' Bronze Ores ' ,  ' Coal Ore ' ,  ' Shrimp Spot ' ,  ' Meat ' ,  ' Goblin ' ,  ' Imps ' ,  ' Big Bones ' ,  ' Duck ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' HAM Hideout ' ,  ' Area: HAM Hideout ' ,  [ ' Lumbridge Farms West ' ,  ' Lumbridge ' ,  ' Lumbridge Swamp ' ,  ' Draynor Village ' ,  ] ,  [ ' Goblin ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RegionRow ( ' Lumbridge Farms West ' ,  ' Area: Lumbridge Farms ' ,  [ ' Sourhog \' s Lair ' ,  ' HAM Hideout ' ,  ' Draynor Village ' ,  ] ,  [ ' Sheep ' ,  ' Meat ' ,  ' Wheat ' ,  ' Windmill ' ,  ' Egg ' ,  ' Milk ' ,  ' Willow Tree ' ,  ' Imps ' ,  ' Potato ' ,  ' Haystack ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Lumbridge Farms East ' ,  ' Area: Lumbridge Farms ' ,  [ ' South of Varrock ' ,  ' Lumbridge ' ,  ] ,  [ ' Meat ' ,  ' Egg ' ,  ' Milk ' ,  ' Willow Tree ' ,  ' Goblin ' ,  ' Imps ' ,  ' Potato ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Sourhog \' s Lair ' ,  ' Area: South of Varrock ' ,  [ ' Lumbridge Farms West ' ,  ' Draynor Manor Outskirts ' ,  ] ,  [ ' ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RegionRow ( ' South of Varrock ' ,  ' Area: South of Varrock ' ,  [ ' Al Kharid ' ,  ' West Varrock ' ,  ' Central Varrock ' ,  ' Lumberyard ' ,  ' Lumbridge Farms East ' ,  ' Lumbridge ' ,  ' Barbarian Village ' ,  ' Edgeville ' ,  ' Wilderness ' ,  ] ,  [ ' Sheep ' ,  ' Bronze Ores ' ,  ' Iron Ore ' ,  ' Silver Ore ' ,  ' Redberry Bush ' ,  ' Meat ' ,  ' Wheat ' ,  ' Oak Tree ' ,  ' Willow Tree ' ,  ' Canoe Tree ' ,  ' Guard ' ,  ' Imps ' ,  ' Clay Ore ' ,  ' Duck ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Lumberyard ' ,  ' Area: Lumberyard ' ,  [ ' Wilderness ' ,  ' South of Varrock ' ,  ' Central Varrock ' ,  ' Varrock Palace ' ,  ] ,  [ ' Guard ' ,  ' Bar ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Central Varrock ' ,  ' Area: Central Varrock ' ,  [ ' Varrock Palace ' ,  ' Lumberyard ' ,  ' South of Varrock ' ,  ' West Varrock ' ,  ] ,  [ ' Mind Runes ' ,  ' Chisel ' ,  ' Anvil ' ,  ' Bowl ' ,  ' Cake Tin ' ,  ' Oak Tree ' ,  ' Barbarian ' ,  ' Guard ' ,  ' Rune Essence ' ,  ' Imps ' ,  ' Makeover ' ,  ' Bar ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Varrock Palace ' ,  ' Area: Varrock Palace ' ,  [ ' Wilderness ' ,  ' Lumberyard ' ,  ' Central Varrock ' ,  ' West Varrock ' ,  ] ,  [ ' Pie Dish ' ,  ' Oak Tree ' ,  ' Zombie ' ,  ' Guard ' ,  ' Deadly Red Spider ' ,  ' Moss Giant ' ,  ' Nature Runes ' ,  ' Law Runes ' ,  ' Big Bones ' ,  ' Makeover ' ,  ' Red Spider Eggs ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' West Varrock ' ,  ' Area: West Varrock ' ,  [ ' Wilderness ' ,  ' Varrock Palace ' ,  ' South of Varrock ' ,  ' Barbarian Village ' ,  ' Edgeville ' ,  ' Cook \' s Guild ' ,  ] ,  [ ' Anvil ' ,  ' Wheat ' ,  ' Oak Tree ' ,  ' Goblin ' ,  ' Guard ' ,  ' Onion ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Cook \' s Guild ' ,  ' Area: West Varrock* ' ,  [ ' West Varrock ' ,  ] ,  [ ' Bowl ' ,  ' Cooking Apple ' ,  ' Pie Dish ' ,  ' Cake Tin ' ,  ' Windmill ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RegionRow ( ' Edgeville ' ,  ' Area: Edgeville ' ,  [ ' Wilderness ' ,  ' West Varrock ' ,  ' Barbarian Village ' ,  ' South of Varrock ' ,  ' Lumbridge ' ,  ] ,  [ ' Furnace ' ,  ' Chisel ' ,  ' Bronze Ores ' ,  ' Iron Ore ' ,  ' Coal Ore ' ,  ' Bowl ' ,  ' Meat ' ,  ' Cake Tin ' ,  ' Willow Tree ' ,  ' Canoe Tree ' ,  ' Zombie ' ,  ' Guard ' ,  ' Hill Giant ' ,  ' Nature Runes ' ,  ' Law Runes ' ,  ' Imps ' ,  ' Big Bones ' ,  ' Limpwurt Root ' ,  ' Haystack ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Barbarian Village ' ,  ' Area: Barbarian Village ' ,  [ ' Edgeville ' ,  ' West Varrock ' ,  ' Draynor Manor Outskirts ' ,  ' Dwarven Mountain Pass ' ,  ] ,  [ ' Spinning Wheel ' ,  ' Coal Ore ' ,  ' Anvil ' ,  ' Fly Fishing Spot ' ,  ' Meat ' ,  ' Canoe Tree ' ,  ' Barbarian ' ,  ' Zombie ' ,  ' Law Runes ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Draynor Manor Outskirts ' ,  ' Area: Draynor Manor ' ,  [ ' Barbarian Village ' ,  ' Sourhog \' s Lair ' ,  ' Draynor Village ' ,  ' Falador East Outskirts ' ,  ] ,  [ ' Goblin ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Draynor Manor ' ,  ' Area: Draynor Manor ' ,  [ ' Draynor Village ' ,  ] ,  [ ' ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Falador East Outskirts ' ,  ' Area: Falador ' ,  [ ' Dwarven Mountain Pass ' ,  ' Draynor Manor Outskirts ' ,  ' Falador Farms ' ,  ] ,  [ ' ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Dwarven Mountain Pass ' ,  ' Area: Dwarven Mines ' ,  [ ' Goblin Village ' ,  ' Monastery ' ,  ' Barbarian Village ' ,  ' Falador East Outskirts ' ,  ' Falador ' ,  ] ,  [ ' Anvil* ' ,  ' Wheat ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Dwarven Mines ' ,  ' Area: Dwarven Mines ' ,  [ ' Monastery ' ,  ' Ice Mountain ' ,  ' Falador ' ,  ] ,  [ ' Chisel ' ,  ' Bronze Ores ' ,  ' Iron Ore ' ,  ' Coal Ore ' ,  ' Gold Ore ' ,  ' Anvil ' ,  ' Pie Dish ' ,  ' Clay Ore ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Goblin Village ' ,  ' Area: Ice Mountain ' ,  [ ' Wilderness ' ,  ' Dwarven Mountain Pass ' ,  ] ,  [ ' Meat ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Ice Mountain ' ,  ' Area: Ice Mountain ' ,  [ ' Wilderness ' ,  ' Monastery ' ,  ' Dwarven Mines ' ,  ' Camdozaal* ' ,  ] ,  [ ' ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Camdozaal ' ,  ' Area: Ice Mountain ' ,  [ ' Ice Mountain ' ,  ] ,  [ ' Clay Ore ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Monastery ' ,  ' Area: Monastery ' ,  [ ' Wilderness ' ,  ' Dwarven Mountain Pass ' ,  ' Dwarven Mines ' ,  ' Ice Mountain ' ,  ] ,  [ ' Sheep ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RegionRow ( ' Falador ' ,  ' Area: Falador ' ,  [ ' Dwarven Mountain Pass ' ,  ' Falador Farms ' ,  ' Dwarven Mines ' ,  ] ,  [ ' Furnace ' ,  ' Chisel ' ,  ' Bowl ' ,  ' Cake Tin ' ,  ' Oak Tree ' ,  ' Guard ' ,  ' Imps ' ,  ' Duck ' ,  ' Makeover ' ,  ' Bar ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Falador Farms ' ,  ' Area: Falador Farms ' ,  [ ' Falador ' ,  ' Falador East Outskirts ' ,  ' Draynor Village ' ,  ' Port Sarim ' ,  ' Rimmington ' ,  ' Crafting Guild Outskirts ' ,  ] ,  [ ' Spinning Wheel ' ,  ' Meat ' ,  ' Egg ' ,  ' Milk ' ,  ' Oak Tree ' ,  ' Imps ' ,  ' Duck ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Port Sarim ' ,  ' Area: Port Sarim ' ,  [ ' Falador Farms ' ,  ' Mudskipper Point ' ,  ' Rimmington ' ,  ' Karamja Docks ' ,  ' Crandor ' ,  ] ,  [ ' Mind Runes ' ,  ' Shrimp Spot ' ,  ' Meat ' ,  ' Cheese ' ,  ' Tomato ' ,  ' Oak Tree ' ,  ' Willow Tree ' ,  ' Goblin ' ,  ' Potato ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Karamja Docks ' ,  ' Area: Mudskipper Point ' ,  [ ' Port Sarim ' ,  ' Karamja ' ,  ] ,  [ ' ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RegionRow ( ' Mudskipper Point ' ,  ' Area: Mudskipper Point ' ,  [ ' Rimmington ' ,  ' Port Sarim ' ,  ] ,  [ ' Anvil ' ,  ' Ice Giant ' ,  ' Nature Runes ' ,  ' Law Runes ' ,  ' Big Bones ' ,  ' Limpwurt Root ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Karamja ' ,  ' Area: Karamja ' ,  [ ' Karamja Docks ' ,  ' Crandor ' ,  ] ,  [ ' Gold Ore ' ,  ' Lobster Spot ' ,  ' Bowl ' ,  ' Cake Tin ' ,  ' Deadly Red Spider ' ,  ' Imps ' ,  ' Red Spider Eggs ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Crandor ' ,  ' Area: Crandor ' ,  [ ' Karamja ' ,  ' Port Sarim ' ,  ] ,  [ ' Coal Ore ' ,  ' Gold Ore ' ,  ' Moss Giant ' ,  ' Lesser Demon ' ,  ' Nature Runes ' ,  ' Law Runes ' ,  ' Big Bones ' ,  ' Limpwurt Root ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Rimmington ' ,  ' Area: Rimmington ' ,  [ ' Falador Farms ' ,  ' Port Sarim ' ,  ' Mudskipper Point ' ,  ' Crafting Guild Peninsula ' ,  ' Corsair Cove ' ,  ] ,  [ ' Chisel ' ,  ' Bronze Ores ' ,  ' Iron Ore ' ,  ' Gold Ore ' ,  ' Bowl ' ,  ' Cake Tin ' ,  ' Wheat ' ,  ' Oak Tree ' ,  ' Willow Tree ' ,  ' Crafting Moulds ' ,  ' Imps ' ,  ' Clay Ore ' ,  ' Onion ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RegionRow ( ' Crafting Guild Peninsula ' ,  ' Area: Crafting Guild ' ,  [ ' Falador Farms ' ,  ' Rimmington ' ,  ] ,  [ ' Limpwurt Root ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Crafting Guild Outskirts ' ,  ' Area: Crafting Guild ' ,  [ ' Falador Farms ' ,  ' Crafting Guild ' ,  ] ,  [ ' Sheep ' ,  ' Willow Tree ' ,  ' Oak Tree ' ,  ' Makeover ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Crafting Guild ' ,  ' Area: Crafting Guild* ' ,  [ ' Crafting Guild ' ,  ] ,  [ ' Spinning Wheel ' ,  ' Chisel ' ,  ' Silver Ore ' ,  ' Gold Ore ' ,  ' Meat ' ,  ' Milk ' ,  ' Clay Ore ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Draynor Village ' ,  ' Area: Draynor Village ' ,  [ ' Draynor Manor ' ,  ' Lumbridge Farms West ' ,  ' HAM Hideout ' ,  ' Wizard Tower ' ,  ] ,  [ ' Anvil ' ,  ' Shrimp Spot ' ,  ' Wheat ' ,  ' Cheese ' ,  ' Tomato ' ,  ' Willow Tree ' ,  ' Goblin ' ,  ' Zombie ' ,  ' Nature Runes ' ,  ' Law Runes ' ,  ' Imps ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Wizard Tower ' ,  ' Area: Wizard Tower ' ,  [ ' Draynor Village ' ,  ] ,  [ ' Lesser Demon ' ,  ' Rune Essence ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RegionRow ( ' Corsair Cove ' ,  ' Area: Corsair Cove* ' ,  [ ' Rimmington ' ,  ] ,  [ ' Anvil ' ,  ' Meat ' ,  ' Limpwurt Root ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Al Kharid ' ,  ' Area: Al Kharid ' ,  [ ' South of Varrock ' ,  ' Citharede Abbey ' ,  ' Lumbridge ' ,  ' Port Sarim ' ,  ] ,  [ ' Furnace ' ,  ' Chisel ' ,  ' Bronze Ores ' ,  ' Iron Ore ' ,  ' Silver Ore ' ,  ' Coal Ore ' ,  ' Gold Ore ' ,  ' Shrimp Spot ' ,  ' Bowl ' ,  ' Cake Tin ' ,  ' Cheese ' ,  ' Crafting Moulds ' ,  ' Imps ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									RegionRow ( ' Citharede Abbey ' ,  ' Area: Citharede Abbey ' ,  [ ' Al Kharid ' ,  ] ,  [ ' Iron Ore ' ,  ' Coal Ore ' ,  ' Anvil ' ,  ' Hill Giant ' ,  ' Nature Runes ' ,  ' Law Runes ' ,  ' Big Bones ' ,  ' Limpwurt Root ' ,  ] ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									RegionRow ( ' Wilderness ' ,  ' Area: Wilderness ' ,  [ ' Lumberyard ' ,  ' Varrock Palace ' ,  ' West Varrock ' ,  ' Edgeville ' ,  ' Monastery ' ,  ' Ice Mountain ' ,  ' Goblin Village ' ,  ' South of Varrock ' ,  ' Lumbridge ' ,  ] ,  [ ' Furnace ' ,  ' Chisel ' ,  ' Iron Ore ' ,  ' Coal Ore ' ,  ' Anvil ' ,  ' Meat ' ,  ' Cake Tin ' ,  ' Cheese ' ,  ' Tomato ' ,  ' Oak Tree ' ,  ' Canoe Tree ' ,  ' Zombie ' ,  ' Hill Giant ' ,  ' Deadly Red Spider ' ,  ' Moss Giant ' ,  ' Ice Giant ' ,  ' Lesser Demon ' ,  ' Nature Runes ' ,  ' Law Runes ' ,  ' Big Bones ' ,  ' Limpwurt Root ' ,  ' Bar ' ,  ] ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												OSRS: Implement New Game (#1976)
* MMBN3: Press program now has proper color index when received remotely
* Initial commit of OSRS untangled from MMBN3 branch
* Fixes some broken region connections
* Removes some locations
* Rearranges locations to fill in slots left by removed locations
* Adds starting area rando
* Moves Oak and Willow trees to resource regions
* Fixes various PEP8 violations
* Refactor of regions
* Fixes variable capture issue with region rules
* Partial completion of brutal grind logic
* Finishes can_reach_skill function
* Adds skill requirements to location rules, fixes regions rules
* Adds documentation for OSRS
* Removes match statement
* Updates Data Version to test mode to prevent item name caching
* Fixes starting spawn logic for east varrock
* Fixes river lum crossing logic to not assume you can phase across water
* Prevents equipping items when you haven't unlocked them
* Changes canoe logic to not require huge levels
* Skeletoning out some data I'll need for variable task system
* Adds csvs and parser for logic
* Adds Items parsing
* Fixes the spawning logic to not default to Chunksanity when you didn't pick it
* Begins adding generation rules for data-driven logic
* Moves region handling and location creating to different methods
* Adds logic limits to Options
* Begun the location generation has
* Randomly generates tasks for each skill until populated
* Mopping up improper names, adding custom logic, and fixes location rolling
* Drastically cleans up the location rolling loop
* Modifies generation to properly use local variables and pass unit tests
* Game is now generating, but rules don't seem to work
* Lambda capture, my old nemesis. We meet again
* Fixes issue with Corsair Cove item requirement causing logic loop
* Okay one more fix, another variable capture
* On second thought lets not have skull sceptre tasks. 'Tis a silly place
* Removes QP from item pool (they're events not items)
* Removes Stronghold floor tasks, no varbit to track them
* Loads CSV with pkutil so it can be used in apworld
* Fixes logic of skill tasks and adds QP requirements to long grinds
* Fixes pathing in pkgutil call
* Better handling for empty task categories, no longer throws errors
* Fixes order for progressive tasks, removes un-checkable spider task
* Fixes logic issues related to stew and the Blurite caves
* Fixes issues generating causing tests to sporadically fail
* Adds missing task that caused off-by-one error
* Updates to new Options API
* Updates generation to function properly with the Universal Tracker (Thanks Faris)
* Replaces runtime CSV parsing with pre-made python files generated from CSVs
* Switches to self.random and uses random.choice instead of doing it manually
* Fixes to typing, variable names, iterators, and continue conditions
* Replaces Name classes with Enums
* Fixes parse error on region special rules
* Skill requirements check now returns an accessrule instead of being one that checks options
* Updates documentation and setup guide
* Adjusts maximum numbers for combat and general tasks
* Fixes region names so dictionary lookup works for chunksanity
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Update worlds/osrs/docs/en_Old School Runescape.md
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
* Updates readme.md and codeowners doc
* Removes erroneous East Varrock -> Al Kharid connection
* Changes to canoe logic to account for woodcutting level options
* Fixes embarassing typo on 'Edgeville'
* Moves Logic CSVs to separate repository, addresses suggested changes on PR
* Fixes logic error in east/west lumbridge regions. Fixes incorrect List typing in main
* Removes task types with weight 0 from the list of rollable tasks
* Missed another place that the task type had to be removed if 0 weight
* Prevents adding an empty task weight if levels are too restrictive for tasks to be added
* Removes giant blank space in error message
* Adds player name to error for not having enough available tasks
---------
Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
											 
										 
										
											2024-08-06 15:13:11 -06:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								]