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', }