forked from mirror/Archipelago
Some checks failed
Analyze modified files / flake8 (push) Failing after 2m28s
Build / build-win (push) Has been cancelled
Build / build-ubuntu2204 (push) Has been cancelled
ctest / Test C++ ubuntu-latest (push) Has been cancelled
ctest / Test C++ windows-latest (push) Has been cancelled
Analyze modified files / mypy (push) Has been cancelled
Build and Publish Docker Images / Push Docker image to Docker Hub (push) Successful in 5m4s
Native Code Static Analysis / scan-build (push) Failing after 5m2s
type check / pyright (push) Successful in 1m7s
unittests / Test Python 3.11.2 ubuntu-latest (push) Failing after 16m23s
unittests / Test Python 3.12 ubuntu-latest (push) Failing after 28m19s
unittests / Test Python 3.13 ubuntu-latest (push) Failing after 14m49s
unittests / Test hosting with 3.13 on ubuntu-latest (push) Successful in 5m0s
unittests / Test Python 3.13 macos-latest (push) Has been cancelled
unittests / Test Python 3.11 windows-latest (push) Has been cancelled
unittests / Test Python 3.13 windows-latest (push) Has been cancelled
644 lines
54 KiB
Python
644 lines
54 KiB
Python
from typing import Dict, List, Set, NamedTuple
|
|
from BaseClasses import ItemClassification
|
|
|
|
class WOLItemData(NamedTuple):
|
|
classification: ItemClassification
|
|
categories: Set[str] = {}
|
|
copies_in_pool: int = 1
|
|
is_dlc: bool = False
|
|
default_starting_gear: bool = False
|
|
extras_eligible: bool = False
|
|
|
|
base_id = 752813602
|
|
|
|
item_table: Dict[str, WOLItemData] = {
|
|
"Attorney's Badge": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}, is_dlc=True),
|
|
"Bean-Iron Badge": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Blood-Soaked Pocket Square": WOLItemData(ItemClassification.useful, {"Gear", "Lapel", "Prog Loot"}),
|
|
"Bowling Shirt Nametag": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}, is_dlc=True),
|
|
"Buffalo Bandolier": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"CGAS Badge": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}, is_dlc=True),
|
|
"Chest Full Of Medals": WOLItemData(ItemClassification.useful, {"Gear", "Lapel", "Prog Loot"}),
|
|
"El Vibrato Brooch": WOLItemData(ItemClassification.useful, {"Gear", "Lapel", "Prog Loot"}),
|
|
"Enchanted Bandolier": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Fine Bandolier": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Gilded Lily": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Golden Scarab Pin": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Gothic Cameo": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Greased Bandolier": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Halloway's Pin": WOLItemData(ItemClassification.progression, {"Gear", "Lapel"}),
|
|
"Lucky Marigold": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Medal Of Adequacy": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Necromancers, I Hate 'Em Button": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Perfumed Pocket Square": WOLItemData(ItemClassification.progression, {"Gear", "Lapel", "Prog Loot", "Stench Resistance"}),
|
|
"Purple Brain Pin": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Reinforced Pocket Square": WOLItemData(ItemClassification.useful, {"Gear", "Lapel", "Prog Loot"}),
|
|
"Replica Sherf Badge": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}, default_starting_gear=True),
|
|
"Revolting Brooch": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Rifleman Insignia Pin": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Rusty Deputy Badge": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Shimmering Pocket Square": WOLItemData(ItemClassification.useful, {"Gear", "Lapel", "Prog Loot"}),
|
|
"Shiny Abalone Brooch": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Smiling Face Button": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Smoking Crysanthemum": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Stylish Pocket Square": WOLItemData(ItemClassification.useful, {"Gear", "Lapel", "Prog Loot"}),
|
|
"Tentacled Badge": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Texas Ranger Badge": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"Weirdly Deformed Bone": WOLItemData(ItemClassification.useful, {"Gear", "Lapel"}),
|
|
"3 Ball": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}, is_dlc=True),
|
|
"5 Ball": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}, is_dlc=True),
|
|
"6 Ball": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}, is_dlc=True),
|
|
"Ancient Bean Can": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Antique Rangefinder": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Bean-Iron Kettle": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Bean-Iron Saucepan": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Bean-Iron Skillet": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Br*** Censer": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Breadwood Cheat Sheet": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Caged Canary": WOLItemData(ItemClassification.useful, {"Gear", "Offhand", "Prog Loot"}),
|
|
"Can Of Infinite Beans": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Dramatic Goblin Skull": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Driftwood Sculpture (Shield)": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"El Vibrato Cone": WOLItemData(ItemClassification.useful, {"Gear", "Offhand", "Prog Loot"}),
|
|
"Filthy Porcelain Cone": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Ghost Flower": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Glass Sphere": WOLItemData(ItemClassification.progression, {"Gear", "Offhand"}),
|
|
"Goblin Spyglass": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Goblin Trash Sack": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Gun Manor Pistol Token": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}, is_dlc=True),
|
|
"Gun Manor Rifle Token": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}, is_dlc=True),
|
|
"Gun Manor Shotgun Token": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}, is_dlc=True),
|
|
"Infernal Leather Bag": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Large Plush Bear": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Large Plush Cat": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Large Plush Owl": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Lucky Horseshoe": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Macready's Pocketwatch": WOLItemData(ItemClassification.progression, {"Gear", "Offhand"}, is_dlc=True),
|
|
"Rucker's Ranchsack": WOLItemData(ItemClassification.useful, {"Gear", "Offhand", "Prog Loot"}),
|
|
"Sea Skull": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Shiny Ball": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Small Plush Bear": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Small Plush Kitten": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Small Plush Owl": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Smoldering Leather Bag": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Souvenir Spoon": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Stove Door": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Strange Glass Rectangle": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Sweet-Smellin' Flowers": WOLItemData(ItemClassification.progression, {"Gear", "Offhand", "Stench Resistance"}),
|
|
"The Hedge Wizard's Orb": WOLItemData(ItemClassification.progression, {"Gear", "Offhand"}, is_dlc=True),
|
|
"Thick Leather Bag": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Vibrating Scapula": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Weird Silver Idol": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Worry Stone": WOLItemData(ItemClassification.useful, {"Gear", "Offhand"}),
|
|
"Barnaby Bob's Burnished Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Big Furry Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Black Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Boost Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Brown Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"El Vibrato Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots", "Prog Loot"}),
|
|
"Extra-Large Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Flashy Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Hide Shoes": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Hightailin' Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Infernal Leather Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Jackboots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Old Spanish Sabatons": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Orthopedic Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots", "Prog Loot"}),
|
|
"Overly-Tanned Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Riding Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Running Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Silk Nun's Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Smoldering Leather Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Spit-Soaked Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Thick Leather Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Tony's Beer-Soaked Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Tony's Enchanted Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Tony's Inscribed Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Tony's Meaty Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Tony's Shiny Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Tony's Shootin' Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Tony's Thick-Soled Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Tony's Tiger-Striped Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Wet Boots": WOLItemData(ItemClassification.progression, {"Gear", "Boots", "Hot Resistance"}),
|
|
"Work Boots": WOLItemData(ItemClassification.useful, {"Gear", "Boots"}),
|
|
"Arcane Geode Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Barely-Enchanted Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}, default_starting_gear=True),
|
|
"Battered Old Top Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Bean-Iron Collander": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Bear Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Black Hood": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Bowling Ball Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}, is_dlc=True),
|
|
"Burning Tophat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Cat Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Colorful Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Cowboy Chef's Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Crackerjack Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Crazy Electric Helmet": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Cultist Leader Mask": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Cultist Mask": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Dilapidated Old Wizard Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Driftwood Sculpture (Hat)": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"El Vibrato Crown": WOLItemData(ItemClassification.progression, {"Gear", "Hats"}),
|
|
"El Vibrato Headband": WOLItemData(ItemClassification.progression, {"Gear", "Hats"}),
|
|
"El Vibrato Helmet": WOLItemData(ItemClassification.useful, {"Gear", "Hats", "Prog Loot"}),
|
|
"Ellsbury's Helmet": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Enchanted Buffalo Skull": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Extra-Black Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Fake Pope Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Floppy Derby": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}, default_starting_gear=True),
|
|
"Four-Gallon Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}, default_starting_gear=True),
|
|
"Funerary Derby": WOLItemData(ItemClassification.useful, {"Gear", "Hats", "Prog Loot"}),
|
|
"Gasmask": WOLItemData(ItemClassification.progression, {"Gear", "Hats", "Stench Resistance"}),
|
|
"General Gob's Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Ghost Cowboy Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Ghost Skin Cap": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Goblin Tiara": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Gold Tooth Crown": WOLItemData(ItemClassification.progression, {"Gear", "Hats"}),
|
|
"Gold Tooth Tiara": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Infernal Leather Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Kurtzfit Headband": WOLItemData(ItemClassification.progression, {"Gear", "Hats"}),
|
|
"Marmotskin Cap": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Miner's Helmet": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Old Cavalry Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Old Patrol Cap": WOLItemData(ItemClassification.progression, {"Gear", "Hats"}),
|
|
"Owl Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Prototype Stetson": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Really Nice Cowboy Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Rifleman's Helmet": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Rusty Old Viking Helmet": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Sloppy Chef's Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Sloppy Cowboy Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Sloppy Tophat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Smoldering Leather Hat": WOLItemData(ItemClassification.progression, {"Gear", "Hats", "Cold Resistance"}),
|
|
"Spittoon Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Strange Head Sack": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Stripey Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Teeny-Tiny Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"The Necromancer's Crown": WOLItemData(ItemClassification.progression, {"Gear", "Hats"}),
|
|
"Thick Leather Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Turnip Crown": WOLItemData(ItemClassification.progression, {"Gear", "Hats"}),
|
|
"Wreath Of Laurels": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}, is_dlc=True),
|
|
"Yeast-Covered Hat": WOLItemData(ItemClassification.useful, {"Gear", "Hats"}),
|
|
"Bean-Stained Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Bearskin Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Birthing Breeches": WOLItemData(ItemClassification.useful, {"Gear", "Pants", "Prog Loot"}),
|
|
"Black Denim Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Buffaloskin Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Cargo Chaps": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Cargo Jeans": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Chastity Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Coffee-Stained Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Cursed Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Double-Silk Pantaloons": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}, is_dlc=True),
|
|
"Eight-Legged Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}, is_dlc=True),
|
|
"El Vibrato Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Entire Leather Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Fancy Pantry Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}, is_dlc=True),
|
|
"Flexible Chaps": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Goblin Shortpants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Goblin Trousers": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Infernal Breeches": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Inflexible Chaps": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Kitchen Pants": WOLItemData(ItemClassification.progression, {"Gear", "Pants", "Stench Resistance", "Hot Resistance", "Cold Resistance"}),
|
|
"Kneeling Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Kurtzfit Pants": WOLItemData(ItemClassification.progression, {"Gear", "Pants"}),
|
|
"Magician's Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Miner's Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Old Silk Trousers": WOLItemData(ItemClassification.useful, {"Gear", "Pants", "Prog Loot"}),
|
|
"Smoldering Leather Pants": WOLItemData(ItemClassification.progression, {"Gear", "Pants", "Cold Resistance"}),
|
|
"Somethingskin Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Spit-Soaked Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Thick Chaps": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Thick Leather Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Thick Quilted Pants": WOLItemData(ItemClassification.useful, {"Gear", "Pants"}),
|
|
"Army-Issue Sidearm": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Bandit Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Bandit Revolver": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Bean-Iron Shootin' Iron": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Befouled Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Cookin' Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Deputy Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}, default_starting_gear=True),
|
|
"Desert Gang's Sixgun": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"El Vibrato Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols", "Prog Loot"}),
|
|
"General Gob's Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Ghost Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Goblin Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Intimidating Sixgun": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Medical Gun": WOLItemData(ItemClassification.useful, {"Gear", "Pistols", "Prog Loot"}),
|
|
"Mrs. Gun's Opus": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}, is_dlc=True),
|
|
"Muck-Clogged Blunderbuss": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"New-Fangled Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Rancher's Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols", "Prog Loot"}),
|
|
"Red-Hot Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Sigiled Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Silver Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Smoking Gun": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"The Worst Gun": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}, is_dlc=True),
|
|
"Toilet Pistol": WOLItemData(ItemClassification.useful, {"Gear", "Pistols"}),
|
|
"Ancient Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Bone-Chip Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Bowling Championship Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}, is_dlc=True),
|
|
"Branding Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings", "Prog Loot"}),
|
|
"Coal Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Coccyx With A Hole In It": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Cool Sapphire Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Cow-Catcher Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Cowseye Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Effluvious Emerald Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"El Vibrato Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings", "Prog Loot"}),
|
|
"Floral Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Ghost Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Glowing Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Goblin Engagement Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Goblin Glass Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Goblin Lead Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Goblin Nail Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Huge Diamond Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Lodestone Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings", "Prog Loot"}),
|
|
"Meat-Stained Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Military School Class Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings", "Prog Loot"}),
|
|
"Nasty Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}, default_starting_gear=True),
|
|
"Old Engagement Ring": WOLItemData(ItemClassification.filler, {"Gear", "Rings", "Prog Loot"}, extras_eligible=True),
|
|
"Ring Of Gettin' Places Faster": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Ring Of Inconspicuousness": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Ring Of Moderate Unpunchability": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Ring Of Smart Thinkin'": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Ring Of Strongth": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Sandalwood Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Santa Cortada's Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Serpentine Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Silicon Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Special Magic Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Thaumomorphic Diorite Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Unbreakable Ruby Ring": WOLItemData(ItemClassification.useful, {"Gear", "Rings"}),
|
|
"Artillery Saber": WOLItemData(ItemClassification.useful, {"Gear", "Melee", "Prog Loot"}),
|
|
"Balanced Billiards Cue": WOLItemData(ItemClassification.progression, {"Gear", "Melee"}, is_dlc=True),
|
|
"Barry Knife": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Bean-Iron Ladle": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Bean-Iron Spatula": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Bean-Iron Whisk": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Blechscalibur": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Bloodied Cleaver": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Bone Sword": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Bowling Pin": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}, is_dlc=True),
|
|
"Brass Knuckles": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Broken Board": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}, default_starting_gear=True),
|
|
"Bush Whacker": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}, is_dlc=True),
|
|
"Cactus Club": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Clown Knife": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Construction Sledgehammer": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Crowbar": WOLItemData(ItemClassification.progression, {"Gear", "Melee"}),
|
|
"Driftwood Sculpture (Club)": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"El Vibrato Club": WOLItemData(ItemClassification.useful, {"Gear", "Melee", "Prog Loot"}),
|
|
"Fancy Knife": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Fang-Gloves": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Goblin Trashbat": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Gulch Goblin Axe": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Gulch Goblin Spatula": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Hammer": WOLItemData(ItemClassification.progression, {"Gear", "Melee"}),
|
|
"Hard Loaf": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Hedge Clippers": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}, is_dlc=True),
|
|
"Infernal Mallet": WOLItemData(ItemClassification.progression, {"Gear", "Melee"}),
|
|
"Jumbo Jumbo Shrimp Fork": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}, is_dlc=True),
|
|
"Leather Shears": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Monkey Wrench": WOLItemData(ItemClassification.progression, {"Gear", "Melee"}),
|
|
"Mushroom-Covered Bone": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Nailgoves": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Old Cavalry Saber": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Old Pickaxe": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Pickaxe": WOLItemData(ItemClassification.progression, {"Gear", "Melee"}),
|
|
"Plunger": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Red-Hot Poker": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Repurposed Cult Dagger": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Rock Hammer": WOLItemData(ItemClassification.useful, {"Gear", "Melee", "Prog Loot"}),
|
|
"Spider Axe": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}, is_dlc=True),
|
|
"St. Beefus' Thigh": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Stainless Steel Bean Pan": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}, is_dlc=True),
|
|
"Stuffed Gun": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}, is_dlc=True),
|
|
"Sweet Sword": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"The Carver": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}, is_dlc=True),
|
|
"Tuna Fork": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Ungulith-Horn Gloves": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Varmint Skinnin' Knife": WOLItemData(ItemClassification.progression, {"Gear", "Melee"}),
|
|
"Weird Knife": WOLItemData(ItemClassification.useful, {"Gear", "Melee"}),
|
|
"Wobbly Billiards Cue": WOLItemData(ItemClassification.progression, {"Gear", "Melee"}, is_dlc=True),
|
|
"Kellogg Grain Flakes": WOLItemData(ItemClassification.progression, {"Consumables", "Food"}),
|
|
"Cheap Cigar": WOLItemData(ItemClassification.progression, {"Consumables", "Potions", "Stench Resistance"}, is_dlc=True),
|
|
"Can Of Kerosene": WOLItemData(ItemClassification.progression, {"Consumables", "Combat"}),
|
|
"1878 Nautical Almanac": WOLItemData(ItemClassification.progression, {"Books"}, is_dlc=True),
|
|
"Advanced Beancraft": WOLItemData(ItemClassification.progression, {"Books"}, 8),
|
|
"Advanced Cow Punchin'": WOLItemData(ItemClassification.useful, {"Books"}, 8),
|
|
"Basics Of Gun Law": WOLItemData(ItemClassification.progression, {"Books"}, is_dlc=True),
|
|
"Beans Illustrated": WOLItemData(ItemClassification.progression, {"Books"}),
|
|
"The Best Love Poem Ever Written": WOLItemData(ItemClassification.filler, {"Books"}),
|
|
"Burned Leatherworking Manual": WOLItemData(ItemClassification.progression, {"Books"}),
|
|
"Cannon Loading For Idjits": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"Progressive Nex-Mex Skillbook": WOLItemData(ItemClassification.progression, {"Books"}, 7),
|
|
"Desert Eatin' And Drinkin'": WOLItemData(ItemClassification.progression, {"Books"}),
|
|
"The Diary Of Alexandria Alexandria": WOLItemData(ItemClassification.filler, {"Books"}),
|
|
"Duel Law": WOLItemData(ItemClassification.progression, {"Books"}, is_dlc=True),
|
|
"Duelling Banjos": WOLItemData(ItemClassification.progression, {"Books"}, is_dlc=True),
|
|
"Forgotten Lore": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"Fun Law: Rules For Parlor Games": WOLItemData(ItemClassification.progression, {"Books"}, is_dlc=True),
|
|
"Get Crackin': A Guide To Modern Safes": WOLItemData(ItemClassification.progression, {"Books"}),
|
|
"Gold Medal Silversmithing": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"Hedging Your Bets": WOLItemData(ItemClassification.useful, {"Books"}, is_dlc=True),
|
|
"How To \"Cheat\" At \"Poker\"": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"Kickin' Ass And Chewin' Gum": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"Locks And How To Pick Them": WOLItemData(ItemClassification.progression, {"Books"}),
|
|
"Mind Your Meat": WOLItemData(ItemClassification.progression, {"Books"}),
|
|
"Modern Snake Oiler": WOLItemData(ItemClassification.useful, {"Books"}, 8),
|
|
"Mycology, Yourcology": WOLItemData(ItemClassification.progression, {"Books"}),
|
|
"Oils I Have Known": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"Percussive Maintenance": WOLItemData(ItemClassification.progression, {"Books"}),
|
|
"The Quick And The Drunk": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"Rich Vein, Poor Vein": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"Tanning And Tanning": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"To Serve Food To Mankind": WOLItemData(ItemClassification.useful, {"Books"}),
|
|
"Walking Stupid": WOLItemData(ItemClassification.filler, {"Books"}),
|
|
"1.2337\" Diameter Tin Can": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"A Bunch Of Really Small Guns": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"A Pile Of Loose Chili Beans": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"A Year's Supply Of Dynamite": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Artillery Targeting Flare": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Attic-Opening Stick": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Bag Of Grease": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Bag Of Mixed Grain": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Bale Of Cowsbane": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Big Coil Of Barbed Wire": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Blank Sheet Music": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Blue Chalk": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Bottle Of Ghost Whiskey": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Box Of Science Doohickeys": WOLItemData(ItemClassification.useful, {"Quest Items"}, is_dlc=True),
|
|
"Breadwood Bread Bowl x5": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Breadwood Logging Permit Forms": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Breadwood Logging Report": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Breadwood Logging Report Folder": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Breadwood's Missing Mail": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Broken Leg Pills": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Buffalo Pile Locker Key": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Buffalo Soldier Diagram": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Burned Scroll": WOLItemData(ItemClassification.progression, {"Quest Items", "Necromancer Clues"}),
|
|
"Cargo Car Key": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Charred Locket": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Child's Bracelet": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Chili Sin Pistoles": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Chili Sin Pistoles (Muerto)": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Chili Spices": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Chuck's Key": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Circus Show Ticket": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Circus Ticket": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Clip-On Bow Tie": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Comedy Flier": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Creepy Whispering Stone": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Cryptic Note About Ley Lines": WOLItemData(ItemClassification.progression, {"Quest Items", "Necromancer Clues"}),
|
|
"Curly's Auto-Gyrotheodolite": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Curly's Compass": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Curly's Strongbox": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Dave's Secret Sauce Recipe": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Demi-Culverin Cannonball": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Desert Ape Skeleton": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Dictionary Page (Poach)": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Dining Car Key": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Discipline Slip": WOLItemData(ItemClassification.progression, {"Quest Items", "Necromancer Clues"}),
|
|
"El Vibrato Cross": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"El Vibrato Cylinder": WOLItemData(ItemClassification.progression, {"Quest Items"}, 3),
|
|
"El Vibrato Device": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"El Vibrato Model Bridge": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"El Vibrato Rod": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"El Vibrato Transponder": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Elevator Button": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Emergency Form Transfer Envelope": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Fort Treason Ballistics Chart": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Forty Loaves Of Bread": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Gas Cap": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Geometry Textbook": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Ghost Pencil": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Ghost Staple Remover": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Ghost Stapler": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Ghostwood Visitor's ID": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Ghostwood Visitor's Permit": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Glass Eye": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Goblet Of Blood": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Gore-Splattered Scroll": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Green Green Apple Jellybeans": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Gun Manor Carriage House Key": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Gun Manor Guest Room Key": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Gun Manor Photo": WOLItemData(ItemClassification.filler, {"Quest Items"}, is_dlc=True),
|
|
"Gustavson Gulch Treasure Cave Key": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Gustavson Gulch Treasure Cave Key (Spare)": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Half A Ton Of Yeast": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"High-Tech Drill Bit": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Honey Jelly Bean": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Interesting Rock": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Jumbleneck Mine Elevator Key": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Kellogg Ranch Keyring": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Kellogg Ranch Workout Regimen": WOLItemData(ItemClassification.filler, {"Quest Items"}),
|
|
"Kellogg's Grain Flakes Recipe": WOLItemData(ItemClassification.filler, {"Quest Items"}),
|
|
"Key Fragment 1": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Key Fragment 2": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Key Fragment 3": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Key To P.O. Box 114": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Key To P.O. Box 441": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Key-Shaped El Vibrato Device": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Left Half Of Curly's Map": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Letter To Roy Bean": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Lime Lime Jellybeans": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"List Of Buffalo Bones": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Lucky Cap": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Marching Orders": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Mary Stearns' Diary": WOLItemData(ItemClassification.filler, {"Quest Items"}),
|
|
"Mint Mint Jellybeans": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Mrs. Gun's Blueprint": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Mule Rental Contract": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Mushroom Map": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Mushroom Plucking Pliers": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Nearly-Empty Herbicide Can": WOLItemData(ItemClassification.filler, {"Quest Items"}, is_dlc=True),
|
|
"Overdue Breadwood Book": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Owl Camera": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Packrat Skeleton": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Paper Bag": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Passenger Car Key": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Photo Of L'ardest": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Picture Of Mary Stearns": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Plaid Skirt": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Pope's Pelvis": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Postal Code Sheet": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Purple Grass": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Pvt. Lemmon's Diary": WOLItemData(ItemClassification.filler, {"Quest Items"}),
|
|
"Pvt. Matthau's Diary": WOLItemData(ItemClassification.filler, {"Quest Items"}),
|
|
"Remains Of The Potemkin Gang": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Right Half Of Curly's Map": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Robe Receipt": WOLItemData(ItemClassification.progression, {"Quest Items", "Necromancer Clues"}),
|
|
"Santa Cortada's Skull": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Saute Knife": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Shaker Of Saltpeter": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Sharpened Ghost Pencil": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Shaving Cream Pie": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Shower Curtain": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Silver-Plated Barbed Wire": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Skull With An Odd Tag On It": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Slide Whistle": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Small Blowtorch": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Southeast-Western Murder Pepper": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Spooky Lullaby Sheet Music": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"St. Beefus' Finger": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Sticky Note": WOLItemData(ItemClassification.progression, {"Quest Items", "Necromancer Clues"}),
|
|
"Strange Stone Arrow": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Syrup Tap": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Tannery Back Door Key": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Tannery St. Rage Key": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Tea Service": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Tiny Stick Of Dynamite": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Toy Skeletons": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Unstable Stick Of Dynamite": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Very Thick Spectacles": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"Wad Of Stuffing": WOLItemData(ItemClassification.progression, {"Quest Items"}, is_dlc=True),
|
|
"Weird Rock Sample": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Whining El Vibrato Object": WOLItemData(ItemClassification.useful, {"Quest Items"}),
|
|
"A Portable Alchemistry Set": WOLItemData(ItemClassification.useful, {"Miscellany"}),
|
|
"A Portable Arcane Oven": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"A Portable Leatherwork Bench": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"All-Purpose Beans x2": WOLItemData(ItemClassification.useful, {"Miscellany"}, extras_eligible=True),
|
|
"Balloon": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Bean-Iron Nugget": WOLItemData(ItemClassification.progression, {"Miscellany"}, 3),
|
|
"Blank Postcard": WOLItemData(ItemClassification.progression, {"Miscellany"}, 5),
|
|
"Bottle Of Buffalo Tranquilizers": WOLItemData(ItemClassification.useful, {"Miscellany"}),
|
|
"Cool Sapphire": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Cowseye": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Delicate Bean-Iron Nugget": WOLItemData(ItemClassification.progression, {"Miscellany"}, 3),
|
|
"Dense Bean-Iron Nugget": WOLItemData(ItemClassification.progression, {"Miscellany"}, 3),
|
|
"Disturbing Portrait": WOLItemData(ItemClassification.progression, {"Miscellany", "Stench Resistance", "Hot Resistance", "Cold Resistance"}),
|
|
"Effluvious Emerald": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Elaborate Puzzle Box": WOLItemData(ItemClassification.useful, {"Miscellany"}),
|
|
"Handful Of Old Coins": WOLItemData(ItemClassification.filler, {"Miscellany"}, extras_eligible=True),
|
|
"Hanky": WOLItemData(ItemClassification.filler, {"Miscellany"}),
|
|
"Herbal Remedy": WOLItemData(ItemClassification.filler, {"Miscellany"}),
|
|
"Infernal Soul Fragment": WOLItemData(ItemClassification.filler, {"Miscellany"}, extras_eligible=True),
|
|
"Jaw Harp": WOLItemData(ItemClassification.useful, {"Miscellany"}),
|
|
"Miniature Piano": WOLItemData(ItemClassification.useful, {"Miscellany"}),
|
|
"Personalized Gun Manor Shotglass": WOLItemData(ItemClassification.useful, {"Miscellany"}, is_dlc=True),
|
|
"Pocketknife": WOLItemData(ItemClassification.filler, {"Miscellany"}),
|
|
"Polished Diorite": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Puzzle Cube": WOLItemData(ItemClassification.filler, {"Miscellany"}),
|
|
"Shovel": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Silenter": WOLItemData(ItemClassification.progression, {"Miscellany"}, is_dlc=True),
|
|
"Strange Lamp": WOLItemData(ItemClassification.filler, {"Miscellany"}),
|
|
"Strange Silvery Crystal": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Superdense Coal": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Unbreakable Ruby": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Silver Nugget x5": WOLItemData(ItemClassification.filler, {"Miscellany"}, extras_eligible=True),
|
|
"Handful Of Nails x4": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Stock Certificate x3": WOLItemData(ItemClassification.filler, {"Miscellany"}, 2, extras_eligible=True),
|
|
"Human Ashes x2": WOLItemData(ItemClassification.progression, {"Quest Items"}, extras_eligible=True),
|
|
"Cheap Wine x11": WOLItemData(ItemClassification.filler, {"Consumables", "Booze"}, extras_eligible=True),
|
|
"Sulphur Match x4": WOLItemData(ItemClassification.progression, {"Consumables", "Combat"}, extras_eligible=True), #TODO: Replace with an infinite matchbook only usable for check requirements?
|
|
"Military Medical Supplies": WOLItemData(ItemClassification.filler, {"Consumables", "Combat", "Booze"}, extras_eligible=True),
|
|
"Decent Booze": WOLItemData(ItemClassification.filler, {"Consumables", "Booze"}, extras_eligible=True),
|
|
"Cheap Booze": WOLItemData(ItemClassification.filler, {"Consumables", "Booze"}, extras_eligible=True),
|
|
"Lead Pie": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Drugs": WOLItemData(ItemClassification.filler, {"Consumables", "Combat", "Potions"}, extras_eligible=True),
|
|
"Goblin Sandwich x5": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Goblin Chicory x3": WOLItemData(ItemClassification.filler, {"Consumables", "Potions"}, extras_eligible=True),
|
|
"A Length Of Rope": WOLItemData(ItemClassification.progression, {"Miscellany"}),
|
|
"Tainted Milk x3": WOLItemData(ItemClassification.filler, {"Consumables", "Potions"}, extras_eligible=True),
|
|
"Gold Tooth x3": WOLItemData(ItemClassification.progression, {"Miscellany"}, extras_eligible=True),
|
|
"Potted Meat": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Bottle Of Laudanum x6": WOLItemData(ItemClassification.filler, {"Consumables", "Potions"}, extras_eligible=True),
|
|
"Unrefined Meat Nugget x4": WOLItemData(ItemClassification.filler, {"Miscellany"}, extras_eligible=True),
|
|
"Bundle Of Bones": WOLItemData(ItemClassification.filler, {"Miscellany"}, extras_eligible=True),
|
|
"Ghost Pickle x3": WOLItemData(ItemClassification.progression, {"Consumables", "Food", "Stench Resistance", "Hot Resistance", "Cold Resistance"}, extras_eligible=True),
|
|
"\"Cotton Candy\"": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Dynamite x5": WOLItemData(ItemClassification.filler, {"Consumables", "Combat"}, extras_eligible=True),
|
|
"Dynamite x10": WOLItemData(ItemClassification.filler, {"Consumables", "Combat"}, extras_eligible=True),
|
|
"Lasso x3": WOLItemData(ItemClassification.filler, {"Consumables", "Combat"}, extras_eligible=True),
|
|
"El Vibrato Fluid x5": WOLItemData(ItemClassification.useful, {"Miscellany"}, extras_eligible=True),
|
|
"Can Of Schmaltz Blue Ribbon x3": WOLItemData(ItemClassification.filler, {"Consumables", "Booze"}, extras_eligible=True),
|
|
"Sack Of Meat Nuggets": WOLItemData(ItemClassification.useful, {"Miscellany"}, 3, extras_eligible=True),
|
|
"Perfect Cup Of Coffee": WOLItemData(ItemClassification.filler, {"Consumables", "Potions"}, extras_eligible=True),
|
|
"El Vibrato Seltzer x3": WOLItemData(ItemClassification.filler, {"Consumables", "Potions"}, extras_eligible=True),
|
|
"Tripe Pie": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Decent Whiskey x2": WOLItemData(ItemClassification.filler, {"Consumables", "Booze"}, extras_eligible=True),
|
|
"Patent Emetic x3": WOLItemData(ItemClassification.filler, {"Consumables", "Combat"}, extras_eligible=True),
|
|
"Skull Chips x3": WOLItemData(ItemClassification.filler, {"Miscellany"}, extras_eligible=True),
|
|
"Handful Of Loose Teeth x3": WOLItemData(ItemClassification.filler, {"Miscellany"}, extras_eligible=True),
|
|
"El Vibrato Punchcard (Complicated) x5": WOLItemData(ItemClassification.filler, {"Quest Items"}, 2, extras_eligible=True),
|
|
"El Vibrato Punchcard x5": WOLItemData(ItemClassification.filler, {"Quest Items"}, extras_eligible=True),
|
|
"El Vibrato Scraps x8": WOLItemData(ItemClassification.filler, {"Quest Items"}, extras_eligible=True),
|
|
"El Vibrato Scraps x45": WOLItemData(ItemClassification.useful, {"Quest Items"}, extras_eligible=True),
|
|
"Skeleton Bone x4": WOLItemData(ItemClassification.filler, {"Miscellany"}, extras_eligible=True),
|
|
"Needle x5": WOLItemData(ItemClassification.progression, {"Miscellany"}, 3, extras_eligible=True),
|
|
"Jar Of Moonshine": WOLItemData(ItemClassification.filler, {"Consumables", "Booze"}, extras_eligible=True),
|
|
"Jar Of Peanut Butter": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Goat Steak": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Moon Bits": WOLItemData(ItemClassification.useful, {"Miscellany"}, extras_eligible=True),
|
|
"Fancy Coffee": WOLItemData(ItemClassification.filler, {"Consumables", "Potions"}, extras_eligible=True),
|
|
"Spider Pie": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, 2, is_dlc=True),
|
|
"Box Of Science Doohickeys": WOLItemData(ItemClassification.useful, {"Quest Items"}, 4, is_dlc=True),
|
|
"Tinned Caviar x3": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, is_dlc=True),
|
|
"Old-Timey Ointment x3": WOLItemData(ItemClassification.filler, {"Consumables", "Potions"}, is_dlc=True),
|
|
"Instant Grits": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Plum Pudding": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Blackened Beans": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Disposable Binoculars x2": WOLItemData(ItemClassification.filler, {"Miscellany"}, extras_eligible=True),
|
|
"Army Field Trauma Kit": WOLItemData(ItemClassification.filler, {"Consumables", "Combat"}, extras_eligible=True),
|
|
"Military-Grade Whiskey": WOLItemData(ItemClassification.filler, {"Consumables", "Booze"}, extras_eligible=True),
|
|
"Hard Tack": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Gulch Goblin Lollipop": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Snake Liver x3": WOLItemData(ItemClassification.useful, {"Consumables", "Combat"}, extras_eligible=True),
|
|
"Snake Venom Bladder x3": WOLItemData(ItemClassification.useful, {"Consumables", "Combat"}, extras_eligible=True),
|
|
"Snake Spleen x3": WOLItemData(ItemClassification.useful, {"Consumables", "Combat"}, extras_eligible=True),
|
|
"Apple": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Carrot": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, extras_eligible=True),
|
|
"Gold Skull": WOLItemData(ItemClassification.filler, {"Miscellany"}, 2, is_dlc=True, extras_eligible=True),
|
|
"Stock Certificate": WOLItemData(ItemClassification.filler, {"Miscellany"}, 2, is_dlc=True, extras_eligible=True),
|
|
"Spider Ring": WOLItemData(ItemClassification.filler, {"Gear", "Rings"}, is_dlc=True),
|
|
"Manley's Finest Cotton Candy Schnapps": WOLItemData(ItemClassification.filler, {"Consumables", "Booze"}, is_dlc=True),
|
|
"Magic-Infused Salad": WOLItemData(ItemClassification.filler, {"Consumables", "Food"}, is_dlc=True),
|
|
"NE North Central Logging Permit": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Ghost Coach To Gun Manor": WOLItemData(ItemClassification.progression, {"Miscellany"}, is_dlc=True),
|
|
"English-Goblintongue Dictionary": WOLItemData(ItemClassification.progression, {"Books"}),
|
|
"Can Of Oil": WOLItemData(ItemClassification.progression, {"Miscellany"}, extras_eligible=True),
|
|
"Packet Of Cowsbane Seeds": WOLItemData(ItemClassification.progression, {"Quest Items"}),
|
|
"Lactarius Dirtihippica mushroom x4": WOLItemData(ItemClassification.progression, {"Consumables", "Food", "Quest Items"}),
|
|
"Silver-Toothed Skull": WOLItemData(ItemClassification.progression, {"Quest Items"})
|
|
}
|
|
|
|
starting_gear_list: List[str] = [name for name, data in item_table.items() if data.default_starting_gear]
|
|
extra_filler_list: List[str] = [name for name, data in item_table.items() if data.extras_eligible]
|
|
|
|
item_name_to_id: Dict[str, int] = {name: base_id + index for index, name in enumerate(item_table)}
|
|
|
|
item_categories = {
|
|
"Gear",
|
|
"Lapel",
|
|
"Offhand",
|
|
"Boots",
|
|
"Pants",
|
|
"Hats",
|
|
"Rings",
|
|
"Pistols",
|
|
"Melee",
|
|
"Prog Loot",
|
|
"Consumables",
|
|
"Food",
|
|
"Booze",
|
|
"Potions",
|
|
"Combat",
|
|
"Books",
|
|
"Quest Items",
|
|
"Miscellany",
|
|
"Necromancer Clues",
|
|
"Stench Resistance",
|
|
"Hot Resistance",
|
|
"Cold Resistance"
|
|
}
|
|
|
|
item_name_groups: Dict[str, Set[str]] = {}
|
|
|
|
for category in item_categories:
|
|
items_in_category = set()
|
|
for item, data in item_table.items():
|
|
if category in data.categories:
|
|
items_in_category.add(item)
|
|
item_name_groups[category] = items_in_category |