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 ) ,
LocationRow ( ' Quest: Pirate \' s Treasure ' , ' quest ' , [ ' Port Sarim ' , ' Karamja ' , ' Falador ' , ] , [ ] , [ ] , 0 ) ,
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 ) ,
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 ) ,
LocationRow ( ' Teleport to Varrock ' , ' magic ' , [ ' Central Varrock ' , ' Law Runes ' , ] , [ SkillRequirement ( ' Magic ' , 25 ) , ] , [ ] , 0 ) ,
LocationRow ( ' Teleport to Lumbridge ' , ' magic ' , [ ' Lumbridge ' , ' Law Runes ' , ] , [ SkillRequirement ( ' Magic ' , 31 ) , ] , [ ] , 2 ) ,
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 ) ,
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 ) ,
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 ) ,
LocationRow ( ' Cut a Diamond ' , ' crafting ' , [ ' Chisel ' , ] , [ SkillRequirement ( ' Crafting ' , 43 ) , ] , [ ] , 8 ) ,
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 ) ,
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 ) ,
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 ) ,
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 ) ,
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 ) ,
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 ) ,
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 ) ,
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 ) ,
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 ) ,
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 ) ,
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 ) ,
]