86 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | import typing | ||
|  | 
 | ||
|  | from BaseClasses import Item, ItemClassification | ||
|  | from .Names import ItemNames | ||
|  | 
 | ||
|  | 
 | ||
|  | class ItemRow(typing.NamedTuple): | ||
|  |     name: str | ||
|  |     amount: int | ||
|  |     progression: ItemClassification | ||
|  | 
 | ||
|  | 
 | ||
|  | class OSRSItem(Item): | ||
|  |     game: str = "Old School Runescape" | ||
|  | 
 | ||
|  | 
 | ||
|  | QP_Items: typing.List[str] = [ | ||
|  |     ItemNames.QP_Cooks_Assistant, | ||
|  |     ItemNames.QP_Demon_Slayer, | ||
|  |     ItemNames.QP_Restless_Ghost, | ||
|  |     ItemNames.QP_Romeo_Juliet, | ||
|  |     ItemNames.QP_Sheep_Shearer, | ||
|  |     ItemNames.QP_Shield_of_Arrav, | ||
|  |     ItemNames.QP_Ernest_the_Chicken, | ||
|  |     ItemNames.QP_Vampyre_Slayer, | ||
|  |     ItemNames.QP_Imp_Catcher, | ||
|  |     ItemNames.QP_Prince_Ali_Rescue, | ||
|  |     ItemNames.QP_Dorics_Quest, | ||
|  |     ItemNames.QP_Black_Knights_Fortress, | ||
|  |     ItemNames.QP_Witchs_Potion, | ||
|  |     ItemNames.QP_Knights_Sword, | ||
|  |     ItemNames.QP_Goblin_Diplomacy, | ||
|  |     ItemNames.QP_Pirates_Treasure, | ||
|  |     ItemNames.QP_Rune_Mysteries, | ||
|  |     ItemNames.QP_Misthalin_Mystery, | ||
|  |     ItemNames.QP_Corsair_Curse, | ||
|  |     ItemNames.QP_X_Marks_the_Spot, | ||
|  |     ItemNames.QP_Below_Ice_Mountain | ||
|  | ] | ||
|  | 
 | ||
|  | starting_area_dict: typing.Dict[int, str] = { | ||
|  |     0: ItemNames.Lumbridge, | ||
|  |     1: ItemNames.Al_Kharid, | ||
|  |     2: ItemNames.Central_Varrock, | ||
|  |     3: ItemNames.West_Varrock, | ||
|  |     4: ItemNames.Edgeville, | ||
|  |     5: ItemNames.Falador, | ||
|  |     6: ItemNames.Draynor_Village, | ||
|  |     7: ItemNames.Wilderness, | ||
|  | } | ||
|  | 
 | ||
|  | chunksanity_starting_chunks: typing.List[str] = [ | ||
|  |     ItemNames.Lumbridge, | ||
|  |     ItemNames.Lumbridge_Swamp, | ||
|  |     ItemNames.Lumbridge_Farms, | ||
|  |     ItemNames.HAM_Hideout, | ||
|  |     ItemNames.Draynor_Village, | ||
|  |     ItemNames.Draynor_Manor, | ||
|  |     ItemNames.Wizards_Tower, | ||
|  |     ItemNames.Al_Kharid, | ||
|  |     ItemNames.Citharede_Abbey, | ||
|  |     ItemNames.South_Of_Varrock, | ||
|  |     ItemNames.Central_Varrock, | ||
|  |     ItemNames.Varrock_Palace, | ||
|  |     ItemNames.East_Of_Varrock, | ||
|  |     ItemNames.West_Varrock, | ||
|  |     ItemNames.Edgeville, | ||
|  |     ItemNames.Barbarian_Village, | ||
|  |     ItemNames.Monastery, | ||
|  |     ItemNames.Ice_Mountain, | ||
|  |     ItemNames.Dwarven_Mines, | ||
|  |     ItemNames.Falador, | ||
|  |     ItemNames.Falador_Farm, | ||
|  |     ItemNames.Crafting_Guild, | ||
|  |     ItemNames.Rimmington, | ||
|  |     ItemNames.Port_Sarim, | ||
|  |     ItemNames.Mudskipper_Point, | ||
|  |     ItemNames.Wilderness | ||
|  | ] | ||
|  | 
 | ||
|  | # Some starting areas contain multiple regions, so if that area is rolled for Chunksanity, we need to map it to one | ||
|  | chunksanity_special_region_names: typing.Dict[str, str] = { | ||
|  |     ItemNames.Lumbridge_Farms: 'Lumbridge Farms East', | ||
|  |     ItemNames.Crafting_Guild: 'Crafting Guild Outskirts', | ||
|  | } |