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  . . Locations  import  LocationRow ,  SkillRequirement  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								location_rows  =  [  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Cook \' s Assistant ' ,  ' quest ' ,  [ ' Lumbridge ' ,  ' Wheat ' ,  ' Windmill ' ,  ' Egg ' ,  ' Milk ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Demon Slayer ' ,  ' quest ' ,  [ ' Central Varrock ' ,  ' Varrock Palace ' ,  ' Wizard Tower ' ,  ' South of Varrock ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: The Restless Ghost ' ,  ' quest ' ,  [ ' Lumbridge ' ,  ' Lumbridge Swamp ' ,  ' Wizard Tower ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Romeo & Juliet ' ,  ' quest ' ,  [ ' Central Varrock ' ,  ' Varrock Palace ' ,  ' South of Varrock ' ,  ' West Varrock ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Sheep Shearer ' ,  ' quest ' ,  [ ' Lumbridge Farms West ' ,  ' Spinning Wheel ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Shield of Arrav ' ,  ' quest ' ,  [ ' Central Varrock ' ,  ' Varrock Palace ' ,  ' South of Varrock ' ,  ' West Varrock ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Ernest the Chicken ' ,  ' quest ' ,  [ ' Draynor Manor ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Vampyre Slayer ' ,  ' quest ' ,  [ ' Draynor Village ' ,  ' Central Varrock ' ,  ' Draynor Manor ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Imp Catcher ' ,  ' quest ' ,  [ ' Wizard Tower ' ,  ' Imps ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Prince Ali Rescue ' ,  ' quest ' ,  [ ' Al Kharid ' ,  ' Central Varrock ' ,  ' Bronze Ores ' ,  ' Clay Ore ' ,  ' Sheep ' ,  ' Spinning Wheel ' ,  ' Draynor Village ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Doric \' s Quest ' ,  ' quest ' ,  [ ' Dwarven Mountain Pass ' ,  ' Clay Ore ' ,  ' Iron Ore ' ,  ' Bronze Ores ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  15 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Black Knights \'  Fortress ' ,  ' quest ' ,  [ ' Dwarven Mines ' ,  ' Falador ' ,  ' Monastery ' ,  ' Ice Mountain ' ,  ' Falador Farms ' ,  ] ,  [ ] ,  [ ' Progressive Armor ' ,  ] ,  12 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Witch \' s Potion ' ,  ' quest ' ,  [ ' Rimmington ' ,  ' Port Sarim ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: The Knight \' s Sword ' ,  ' quest ' ,  [ ' Falador ' ,  ' Varrock Palace ' ,  ' Mudskipper Point ' ,  ' South of Varrock ' ,  ' Windmill ' ,  ' Pie Dish ' ,  ' Port Sarim ' ,  ] ,  [ SkillRequirement ( ' Cooking ' ,  10 ) ,  SkillRequirement ( ' Mining ' ,  10 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Goblin Diplomacy ' ,  ' quest ' ,  [ ' Goblin Village ' ,  ' Draynor Village ' ,  ' Falador ' ,  ' South of Varrock ' ,  ' Onion ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Pirate \' s Treasure ' ,  ' quest ' ,  [ ' Port Sarim ' ,  ' Karamja ' ,  ' Falador ' ,  ' Central Varrock ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Rune Mysteries ' ,  ' quest ' ,  [ ' Lumbridge ' ,  ' Wizard Tower ' ,  ' Central Varrock ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Misthalin Mystery ' ,  ' quest ' ,  [ ' Lumbridge Swamp ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: The Corsair Curse ' ,  ' quest ' ,  [ ' Rimmington ' ,  ' Falador Farms ' ,  ' Corsair Cove ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: X Marks the Spot ' ,  ' quest ' ,  [ ' Lumbridge ' ,  ' Draynor Village ' ,  ' Port Sarim ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Below Ice Mountain ' ,  ' quest ' ,  [ ' Dwarven Mines ' ,  ' Dwarven Mountain Pass ' ,  ' Ice Mountain ' ,  ' Barbarian Village ' ,  ' Falador ' ,  ' Central Varrock ' ,  ' Edgeville ' ,  ] ,  [ ] ,  [ ] ,  16 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Quest: Dragon Slayer ' ,  ' goal ' ,  [ ' Crandor ' ,  ' South of Varrock ' ,  ' Edgeville ' ,  ' Lumbridge ' ,  ' Rimmington ' ,  ' Monastery ' ,  ' Dwarven Mines ' ,  ' Port Sarim ' ,  ' Draynor Village ' ,  ] ,  [ ] ,  [ ] ,  32 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Bury Some Big Bones ' ,  ' prayer ' ,  [ ' Big Bones ' ,  ] ,  [ SkillRequirement ( ' Prayer ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Activate the  " Sharp Eye "  Prayer ' ,  ' prayer ' ,  [ ] ,  [ SkillRequirement ( ' Prayer ' ,  8 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Activate the  " Rock Skin "  Prayer ' ,  ' prayer ' ,  [ ] ,  [ SkillRequirement ( ' Prayer ' ,  10 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Activate the  " Protect Item "  Prayer ' ,  ' prayer ' ,  [ ] ,  [ SkillRequirement ( ' Prayer ' ,  25 ) ,  ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Pray at the Edgeville Monastery ' ,  ' prayer ' ,  [ ' Monastery ' ,  ] ,  [ SkillRequirement ( ' Prayer ' ,  31 ) ,  ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cast Bones To Bananas ' ,  ' magic ' ,  [ ' Nature Runes ' ,  ] ,  [ SkillRequirement ( ' Magic ' ,  15 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Cast Earth Strike ' ,  ' magic ' ,  [ ] ,  [ SkillRequirement ( ' Magic ' ,  9 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cast Curse ' ,  ' magic ' ,  [ ] ,  [ SkillRequirement ( ' Magic ' ,  19 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Teleport to Varrock ' ,  ' magic ' ,  [ ' Central Varrock ' ,  ' Law Runes ' ,  ] ,  [ SkillRequirement ( ' Magic ' ,  25 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Teleport to Lumbridge ' ,  ' magic ' ,  [ ' Lumbridge ' ,  ' Law Runes ' ,  ] ,  [ SkillRequirement ( ' Magic ' ,  31 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Telegrab a Gold Bar from the Varrock Bank ' ,  ' magic ' ,  [ ' Law Runes ' ,  ' West Varrock ' ,  ] ,  [ SkillRequirement ( ' Magic ' ,  33 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Teleport to Falador ' ,  ' magic ' ,  [ ' Falador ' ,  ' Law Runes ' ,  ] ,  [ SkillRequirement ( ' Magic ' ,  37 ) ,  ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Craft an Air Rune ' ,  ' runecraft ' ,  [ ' Rune Essence ' ,  ' Falador Farms ' ,  ] ,  [ SkillRequirement ( ' Runecraft ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Craft a Mind Rune ' ,  ' runecraft ' ,  [ ' Rune Essence ' ,  ' Goblin Village ' ,  ] ,  [ SkillRequirement ( ' Runecraft ' ,  2 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Craft a Water Rune ' ,  ' runecraft ' ,  [ ' Rune Essence ' ,  ' Lumbridge Swamp ' ,  ] ,  [ SkillRequirement ( ' Runecraft ' ,  5 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Craft an Earth Rune ' ,  ' runecraft ' ,  [ ' Rune Essence ' ,  ' Lumberyard ' ,  ] ,  [ SkillRequirement ( ' Runecraft ' ,  9 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Craft a Fire Rune ' ,  ' runecraft ' ,  [ ' Rune Essence ' ,  ' Al Kharid ' ,  ] ,  [ SkillRequirement ( ' Runecraft ' ,  14 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Craft a Body Rune ' ,  ' runecraft ' ,  [ ' Rune Essence ' ,  ' Dwarven Mountain Pass ' ,  ] ,  [ SkillRequirement ( ' Runecraft ' ,  20 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Craft runes with a Mind Core ' ,  ' runecraft ' ,  [ ' Camdozaal ' ,  ' Goblin Village ' ,  ] ,  [ SkillRequirement ( ' Runecraft ' ,  2 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Craft runes with a Body Core ' ,  ' runecraft ' ,  [ ' Camdozaal ' ,  ' Dwarven Mountain Pass ' ,  ] ,  [ SkillRequirement ( ' Runecraft ' ,  20 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Craft a Pot ' ,  ' crafting ' ,  [ ' Clay Ore ' ,  ' Barbarian Village ' ,  ] ,  [ SkillRequirement ( ' Crafting ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Craft a pair of Leather Boots ' ,  ' crafting ' ,  [ ' Milk ' ,  ' Al Kharid ' ,  ] ,  [ SkillRequirement ( ' Crafting ' ,  7 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Make an Unblessed Symbol ' ,  ' crafting ' ,  [ ' Silver Ore ' ,  ' Furnace ' ,  ' Al Kharid ' ,  ' Sheep ' ,  ' Spinning Wheel ' ,  ] ,  [ SkillRequirement ( ' Crafting ' ,  16 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cut a Sapphire ' ,  ' crafting ' ,  [ ' Chisel ' ,  ] ,  [ SkillRequirement ( ' Crafting ' ,  20 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cut an Emerald ' ,  ' crafting ' ,  [ ' Chisel ' ,  ] ,  [ SkillRequirement ( ' Crafting ' ,  27 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cut a Ruby ' ,  ' crafting ' ,  [ ' Chisel ' ,  ] ,  [ SkillRequirement ( ' Crafting ' ,  34 ) ,  ] ,  [ ] ,  4 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Enter the Crafting Guild ' ,  ' crafting ' ,  [ ' Crafting Guild ' ,  ] ,  [ SkillRequirement ( ' Crafting ' ,  40 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cut a Diamond ' ,  ' crafting ' ,  [ ' Chisel ' ,  ] ,  [ SkillRequirement ( ' Crafting ' ,  43 ) ,  ] ,  [ ] ,  8 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Mine Copper ' ,  ' crafting ' ,  [ ' Bronze Ores ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Mine Tin ' ,  ' crafting ' ,  [ ' Bronze Ores ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Mine Clay ' ,  ' crafting ' ,  [ ' Clay Ore ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Mine Iron ' ,  ' mining ' ,  [ ' Iron Ore ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Mine a Blurite Ore ' ,  ' mining ' ,  [ ' Mudskipper Point ' ,  ' Port Sarim ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  10 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Crush a Barronite Deposit ' ,  ' mining ' ,  [ ' Camdozaal ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  14 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Mine Silver ' ,  ' mining ' ,  [ ' Silver Ore ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  20 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Mine Coal ' ,  ' mining ' ,  [ ' Coal Ore ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  30 ) ,  ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Mine Gold ' ,  ' mining ' ,  [ ' Gold Ore ' ,  ] ,  [ SkillRequirement ( ' Mining ' ,  40 ) ,  ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Smelt a Bronze Bar ' ,  ' smithing ' ,  [ ' Bronze Ores ' ,  ' Furnace ' ,  ] ,  [ SkillRequirement ( ' Smithing ' ,  1 ) ,  SkillRequirement ( ' Mining ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Smelt an Iron Bar ' ,  ' smithing ' ,  [ ' Iron Ore ' ,  ' Furnace ' ,  ] ,  [ SkillRequirement ( ' Smithing ' ,  15 ) ,  SkillRequirement ( ' Mining ' ,  15 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Smelt a Silver Bar ' ,  ' smithing ' ,  [ ' Silver Ore ' ,  ' Furnace ' ,  ] ,  [ SkillRequirement ( ' Smithing ' ,  20 ) ,  SkillRequirement ( ' Mining ' ,  20 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Smelt a Steel Bar ' ,  ' smithing ' ,  [ ' Coal Ore ' ,  ' Iron Ore ' ,  ' Furnace ' ,  ] ,  [ SkillRequirement ( ' Smithing ' ,  30 ) ,  SkillRequirement ( ' Mining ' ,  30 ) ,  ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Smelt a Gold Bar ' ,  ' smithing ' ,  [ ' Gold Ore ' ,  ' Furnace ' ,  ] ,  [ SkillRequirement ( ' Smithing ' ,  40 ) ,  SkillRequirement ( ' Mining ' ,  40 ) ,  ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Catch a Sardine ' ,  ' fishing ' ,  [ ' Shrimp Spot ' ,  ] ,  [ SkillRequirement ( ' Fishing ' ,  5 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Catch some Anchovies ' ,  ' fishing ' ,  [ ' Shrimp Spot ' ,  ] ,  [ SkillRequirement ( ' Fishing ' ,  15 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Catch a Trout ' ,  ' fishing ' ,  [ ' Fly Fishing Spot ' ,  ] ,  [ SkillRequirement ( ' Fishing ' ,  20 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Prepare a Tetra ' ,  ' fishing ' ,  [ ' Camdozaal ' ,  ] ,  [ SkillRequirement ( ' Fishing ' ,  33 ) ,  SkillRequirement ( ' Cooking ' ,  33 ) ,  ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Catch a Lobster ' ,  ' fishing ' ,  [ ' Lobster Spot ' ,  ] ,  [ SkillRequirement ( ' Fishing ' ,  40 ) ,  ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Catch a Swordfish ' ,  ' fishing ' ,  [ ' Lobster Spot ' ,  ] ,  [ SkillRequirement ( ' Fishing ' ,  50 ) ,  ] ,  [ ] ,  12 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Bake a Redberry Pie ' ,  ' cooking ' ,  [ ' Redberry Bush ' ,  ' Wheat ' ,  ' Windmill ' ,  ' Pie Dish ' ,  ] ,  [ SkillRequirement ( ' Cooking ' ,  10 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cook some Stew ' ,  ' cooking ' ,  [ ' Bowl ' ,  ' Meat ' ,  ' Potato ' ,  ] ,  [ SkillRequirement ( ' Cooking ' ,  25 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-22 08:33:27 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Bake an Apple Pie ' ,  ' cooking ' ,  [ ' Cooking Apple ' ,  ' Wheat ' ,  ' Windmill ' ,  ' Pie Dish ' ,  ] ,  [ SkillRequirement ( ' Cooking ' ,  32 ) ,  ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Enter the Cook \' s Guild ' ,  ' cooking ' ,  [ ' Cook \' s Guild ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Bake a Cake ' ,  ' cooking ' ,  [ ' Wheat ' ,  ' Windmill ' ,  ' Egg ' ,  ' Milk ' ,  ' Cake Tin ' ,  ] ,  [ SkillRequirement ( ' Cooking ' ,  40 ) ,  ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Bake a Meat Pizza ' ,  ' cooking ' ,  [ ' Wheat ' ,  ' Windmill ' ,  ' Cheese ' ,  ' Tomato ' ,  ' Meat ' ,  ] ,  [ SkillRequirement ( ' Cooking ' ,  45 ) ,  ] ,  [ ] ,  8 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Burn a Log ' ,  ' firemaking ' ,  [ ] ,  [ SkillRequirement ( ' Firemaking ' ,  1 ) ,  SkillRequirement ( ' Woodcutting ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2024-11-22 08:33:27 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Burn some Oak Logs ' ,  ' firemaking ' ,  [ ' Oak Tree ' ,  ] ,  [ SkillRequirement ( ' Firemaking ' ,  15 ) ,  SkillRequirement ( ' Woodcutting ' ,  15 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Burn some Willow Logs ' ,  ' firemaking ' ,  [ ' Willow Tree ' ,  ] ,  [ SkillRequirement ( ' Firemaking ' ,  30 ) ,  SkillRequirement ( ' Woodcutting ' ,  30 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Travel on a Canoe ' ,  ' woodcutting ' ,  [ ' Canoe Tree ' ,  ] ,  [ SkillRequirement ( ' Woodcutting ' ,  12 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cut an Oak Log ' ,  ' woodcutting ' ,  [ ' Oak Tree ' ,  ] ,  [ SkillRequirement ( ' Woodcutting ' ,  15 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cut a Willow Log ' ,  ' woodcutting ' ,  [ ' Willow Tree ' ,  ] ,  [ SkillRequirement ( ' Woodcutting ' ,  30 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Duck ' ,  ' combat ' ,  [ ' Duck ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  1 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill Jeff ' ,  ' combat ' ,  [ ' Dwarven Mountain Pass ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  2 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Goblin ' ,  ' combat ' ,  [ ' Goblin ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  2 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Monkey ' ,  ' combat ' ,  [ ' Karamja ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  3 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Barbarian ' ,  ' combat ' ,  [ ' Barbarian ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  10 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Giant Frog ' ,  ' combat ' ,  [ ' Lumbridge Swamp ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  13 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Zombie ' ,  ' combat ' ,  [ ' Zombie ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  13 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Guard ' ,  ' combat ' ,  [ ' Guard ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  21 ) ,  ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Hill Giant ' ,  ' combat ' ,  [ ' Hill Giant ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  28 ) ,  ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Deadly Red Spider ' ,  ' combat ' ,  [ ' Deadly Red Spider ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  34 ) ,  ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Moss Giant ' ,  ' combat ' ,  [ ' Moss Giant ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  42 ) ,  ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Catablepon ' ,  ' combat ' ,  [ ' Barbarian Village ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  49 ) ,  ] ,  [ ] ,  4 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill an Ice Giant ' ,  ' combat ' ,  [ ' Ice Giant ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  53 ) ,  ] ,  [ ] ,  4 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill a Lesser Demon ' ,  ' combat ' ,  [ ' Lesser Demon ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  82 ) ,  ] ,  [ ] ,  8 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill an Ogress Shaman ' ,  ' combat ' ,  [ ' Corsair Cove ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  82 ) ,  ] ,  [ ] ,  8 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill Obor ' ,  ' combat ' ,  [ ' Edgeville ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  106 ) ,  ] ,  [ ] ,  28 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Kill Bryophyta ' ,  ' combat ' ,  [ ' Central Varrock ' ,  ] ,  [ SkillRequirement ( ' Combat ' ,  128 ) ,  ] ,  [ ] ,  28 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Die ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Reach a Level 10 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total XP 5,000 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Combat Level 5 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total XP 10,000 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total Level 50 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Reach a Level 20 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total XP 25,000 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total Level 100 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total XP 50,000 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Combat Level 15 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total Level 150 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Reach a Level 30 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total XP 75,000 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Combat Level 25 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  2 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total XP 100,000 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total Level 200 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Reach a Level 40 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total XP 125,000 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  6 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Combat Level 30 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  10 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total Level 250 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  10 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total XP 150,000 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  10 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Total Level 300 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  16 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Combat Level 40 ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  16 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Open a Simple Lockbox ' ,  ' general ' ,  [ ' Camdozaal ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Open an Elaborate Lockbox ' ,  ' general ' ,  [ ' Camdozaal ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Open an Ornate Lockbox ' ,  ' general ' ,  [ ' Camdozaal ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-07 11:43:03 -06:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									LocationRow ( ' Trans your Gender ' ,  ' general ' ,  [ ' Makeover ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Read a Flyer from Ali the Leaflet Dropper ' ,  ' general ' ,  [ ' Al Kharid ' ,  ' South of Varrock ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Cry by the Members Gate to Taverley ' ,  ' general ' ,  [ ' Dwarven Mountain Pass ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Get Prompted to Buy Membership ' ,  ' general ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Pet the Stray Dog in Varrock ' ,  ' general ' ,  [ ' Central Varrock ' ,  ' West Varrock ' ,  ' South of Varrock ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Get Sent to Jail in Shantay Pass ' ,  ' general ' ,  [ ' Al Kharid ' ,  ' Port Sarim ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Have the Apothecary Make a Strength Potion ' ,  ' general ' ,  [ ' Central Varrock ' ,  ' Red Spider Eggs ' ,  ' Limpwurt Root ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Put a Whole Banana into a Bottle of Karamjan Rum ' ,  ' general ' ,  [ ' Karamja ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Attempt to Shear  " The Thing " ' ,  ' general ' ,  [ ' Lumbridge Farms West ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Eat a Kebab ' ,  ' general ' ,  [ ' Al Kharid ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Return a Beer Glass to a Bar ' ,  ' general ' ,  [ ' Falador ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Enter the Varrock Bear Cage ' ,  ' general ' ,  [ ' Varrock Palace ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Equip a Cabbage Cape ' ,  ' general ' ,  [ ' Draynor Village ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Equip a Pride Scarf ' ,  ' general ' ,  [ ' Draynor Village ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Visit the Black Hole ' ,  ' general ' ,  [ ' Draynor Village ' ,  ' Dwarven Mines ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Try to Equip Goblin Mail ' ,  ' general ' ,  [ ' Goblin ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Equip an Orange Cape ' ,  ' general ' ,  [ ' Draynor Village ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Find a Needle in a Haystack ' ,  ' general ' ,  [ ' Haystack ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Insult the Homeless (but not Charlie he \' s cool) ' ,  ' general ' ,  [ ' Central Varrock ' ,  ' South of Varrock ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Dance with Party Pete ' ,  ' general ' ,  [ ' Falador ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Read a Newspaper ' ,  ' general ' ,  [ ' Central Varrock ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Add a Card to the Chronicle ' ,  ' general ' ,  [ ' Draynor Village ' ,  ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
									
										
											 
										
											
												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 
										
									 
								 
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Cook \' s Assistant ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Demon Slayer ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: The Restless Ghost ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Romeo & Juliet ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Sheep Shearer ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Shield of Arrav ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Ernest the Chicken ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Vampyre Slayer ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Imp Catcher ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Prince Ali Rescue ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Doric \' s Quest ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Black Knights \'  Fortress ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Witch \' s Potion ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: The Knight \' s Sword ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Goblin Diplomacy ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Pirate \' s Treasure ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Rune Mysteries ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Misthalin Mystery ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: The Corsair Curse ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: X Marks the Spot ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									LocationRow ( ' Points: Below Ice Mountain ' ,  ' points ' ,  [ ] ,  [ ] ,  [ ] ,  0 ) , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								]