Adds Archipelago support for Zork Grand Inquisitor, the 1997 point-and-click PC adventure game. The client (based on `CommonClient`), on top of its regular Archipelago duties, fully handles the randomization of the game and the monitoring / modification of the game state. No game modding needed at all; the player is ready to play an Archipelago seed if they can play the vanilla game through ScummVM. The "reverse engineering" (there's likely a better term for this...) of the game is my own original work and I included an MIT license at the root of my world directory. A PopTracker pack was also created to help people learn the game: https://github.com/SerpentAI/ZorkGrandInquisitorAPTracker
		
			
				
	
	
		
			351 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			351 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
import enum
 | 
						|
 | 
						|
 | 
						|
class ZorkGrandInquisitorEvents(enum.Enum):
 | 
						|
    CHARON_CALLED = "Event: Charon Called"
 | 
						|
    CIGAR_ACCESSIBLE = "Event: Cigar Accessible"
 | 
						|
    DALBOZ_LOCKER_OPENABLE = "Event: Dalboz Locker Openable"
 | 
						|
    DAM_DESTROYED = "Event: Dam Destroyed"
 | 
						|
    DOOR_DRANK_MEAD = "Event: Door Drank Mead"
 | 
						|
    DOOR_SMOKED_CIGAR = "Event: Door Smoked Cigar"
 | 
						|
    DUNCE_LOCKER_OPENABLE = "Event: Dunce Locker Openable"
 | 
						|
    HAS_REPAIRABLE_OBIDIL = "Event: Has Repairable OBIDIL"
 | 
						|
    HAS_REPAIRABLE_SNAVIG = "Event: Has Repairable SNAVIG"
 | 
						|
    KNOWS_BEBURTT = "Event: Knows BEBURTT"
 | 
						|
    KNOWS_OBIDIL = "Event: Knows OBIDIL"
 | 
						|
    KNOWS_SNAVIG = "Event: Knows SNAVIG"
 | 
						|
    KNOWS_YASTARD = "Event: Knows YASTARD"
 | 
						|
    LANTERN_DALBOZ_ACCESSIBLE = "Event: Lantern (Dalboz) Accessible"
 | 
						|
    ROPE_GLORFABLE = "Event: Rope GLORFable"
 | 
						|
    VICTORY = "Victory"
 | 
						|
    WHITE_HOUSE_LETTER_MAILABLE = "Event: White House Letter Mailable"
 | 
						|
    ZORKMID_BILL_ACCESSIBLE = "Event: 500 Zorkmid Bill Accessible"
 | 
						|
    ZORK_ROCKS_ACTIVATED = "Event: Zork Rocks Activated"
 | 
						|
    ZORK_ROCKS_SUCKABLE = "Event: Zork Rocks Suckable"
 | 
						|
 | 
						|
 | 
						|
class ZorkGrandInquisitorGoals(enum.Enum):
 | 
						|
    THREE_ARTIFACTS = 0
 | 
						|
 | 
						|
 | 
						|
class ZorkGrandInquisitorItems(enum.Enum):
 | 
						|
    BROGS_BICKERING_TORCH = "Brog's Bickering Torch"
 | 
						|
    BROGS_FLICKERING_TORCH = "Brog's Flickering Torch"
 | 
						|
    BROGS_GRUE_EGG = "Brog's Grue Egg"
 | 
						|
    BROGS_PLANK = "Brog's Plank"
 | 
						|
    FILLER_FROBOZZ_ELECTRIC_GADGET = "Frobozz Electric Gadget"
 | 
						|
    FILLER_INQUISITION_PROPAGANDA_FLYER = "Inquisition Propaganda Flyer"
 | 
						|
    FILLER_MAGIC_CONTRABAND = "Magic Contraband"
 | 
						|
    FILLER_NONSENSICAL_INQUISITION_PAPERWORK = "Nonsensical Inquisition Paperwork"
 | 
						|
    FILLER_UNREADABLE_SPELL_SCROLL = "Unreadable Spell Scroll"
 | 
						|
    FLATHEADIA_FUDGE = "Flatheadia Fudge"
 | 
						|
    GRIFFS_AIR_PUMP = "Griff's Air Pump"
 | 
						|
    GRIFFS_DRAGON_TOOTH = "Griff's Dragon Tooth"
 | 
						|
    GRIFFS_INFLATABLE_RAFT = "Griff's Inflatable Raft"
 | 
						|
    GRIFFS_INFLATABLE_SEA_CAPTAIN = "Griff's Inflatable Sea Captain"
 | 
						|
    HAMMER = "Hammer"
 | 
						|
    HOTSPOT_666_MAILBOX = "Hotspot: 666 Mailbox"
 | 
						|
    HOTSPOT_ALPINES_QUANDRY_CARD_SLOTS = "Hotspot: Alpine's Quandry Card Slots"
 | 
						|
    HOTSPOT_BLANK_SCROLL_BOX = "Hotspot: Blank Scroll Box"
 | 
						|
    HOTSPOT_BLINDS = "Hotspot: Blinds"
 | 
						|
    HOTSPOT_CANDY_MACHINE_BUTTONS = "Hotspot: Candy Machine Buttons"
 | 
						|
    HOTSPOT_CANDY_MACHINE_COIN_SLOT = "Hotspot: Candy Machine Coin Slot"
 | 
						|
    HOTSPOT_CANDY_MACHINE_VACUUM_SLOT = "Hotspot: Candy Machine Vacuum Slot"
 | 
						|
    HOTSPOT_CHANGE_MACHINE_SLOT = "Hotspot: Change Machine Slot"
 | 
						|
    HOTSPOT_CLOSET_DOOR = "Hotspot: Closet Door"
 | 
						|
    HOTSPOT_CLOSING_THE_TIME_TUNNELS_HAMMER_SLOT = "Hotspot: Closing the Time Tunnels Hammer Slot"
 | 
						|
    HOTSPOT_CLOSING_THE_TIME_TUNNELS_LEVER = "Hotspot: Closing the Time Tunnels Lever"
 | 
						|
    HOTSPOT_COOKING_POT = "Hotspot: Cooking Pot"
 | 
						|
    HOTSPOT_DENTED_LOCKER = "Hotspot: Dented Locker"
 | 
						|
    HOTSPOT_DIRT_MOUND = "Hotspot: Dirt Mound"
 | 
						|
    HOTSPOT_DOCK_WINCH = "Hotspot: Dock Winch"
 | 
						|
    HOTSPOT_DRAGON_CLAW = "Hotspot: Dragon Claw"
 | 
						|
    HOTSPOT_DRAGON_NOSTRILS = "Hotspot: Dragon Nostrils"
 | 
						|
    HOTSPOT_DUNGEON_MASTERS_LAIR_ENTRANCE = "Hotspot: Dungeon Master's Lair Entrance"
 | 
						|
    HOTSPOT_FLOOD_CONTROL_BUTTONS = "Hotspot: Flood Control Buttons"
 | 
						|
    HOTSPOT_FLOOD_CONTROL_DOORS = "Hotspot: Flood Control Doors"
 | 
						|
    HOTSPOT_FROZEN_TREAT_MACHINE_COIN_SLOT = "Hotspot: Frozen Treat Machine Coin Slot"
 | 
						|
    HOTSPOT_FROZEN_TREAT_MACHINE_DOORS = "Hotspot: Frozen Treat Machine Doors"
 | 
						|
    HOTSPOT_GLASS_CASE = "Hotspot: Glass Case"
 | 
						|
    HOTSPOT_GRAND_INQUISITOR_DOLL = "Hotspot: Grand Inquisitor Doll"
 | 
						|
    HOTSPOT_GUE_TECH_DOOR = "Hotspot: GUE Tech Door"
 | 
						|
    HOTSPOT_GUE_TECH_GRASS = "Hotspot: GUE Tech Grass"
 | 
						|
    HOTSPOT_HADES_PHONE_BUTTONS = "Hotspot: Hades Phone Buttons"
 | 
						|
    HOTSPOT_HADES_PHONE_RECEIVER = "Hotspot: Hades Phone Receiver"
 | 
						|
    HOTSPOT_HARRY = "Hotspot: Harry"
 | 
						|
    HOTSPOT_HARRYS_ASHTRAY = "Hotspot: Harry's Ashtray"
 | 
						|
    HOTSPOT_HARRYS_BIRD_BATH = "Hotspot: Harry's Bird Bath"
 | 
						|
    HOTSPOT_IN_MAGIC_WE_TRUST_DOOR = "Hotspot: In Magic We Trust Door"
 | 
						|
    HOTSPOT_JACKS_DOOR = "Hotspot: Jack's Door"
 | 
						|
    HOTSPOT_LOUDSPEAKER_VOLUME_BUTTONS = "Hotspot: Loudspeaker Volume Buttons"
 | 
						|
    HOTSPOT_MAILBOX_DOOR = "Hotspot: Mailbox Door"
 | 
						|
    HOTSPOT_MAILBOX_FLAG = "Hotspot: Mailbox Flag"
 | 
						|
    HOTSPOT_MIRROR = "Hotspot: Mirror"
 | 
						|
    HOTSPOT_MONASTERY_VENT = "Hotspot: Monastery Vent"
 | 
						|
    HOTSPOT_MOSSY_GRATE = "Hotspot: Mossy Grate"
 | 
						|
    HOTSPOT_PORT_FOOZLE_PAST_TAVERN_DOOR = "Hotspot: Port Foozle Past Tavern Door"
 | 
						|
    HOTSPOT_PURPLE_WORDS = "Hotspot: Purple Words"
 | 
						|
    HOTSPOT_QUELBEE_HIVE = "Hotspot: Quelbee Hive"
 | 
						|
    HOTSPOT_ROPE_BRIDGE = "Hotspot: Rope Bridge"
 | 
						|
    HOTSPOT_SKULL_CAGE = "Hotspot: Skull Cage"
 | 
						|
    HOTSPOT_SNAPDRAGON = "Hotspot: Snapdragon"
 | 
						|
    HOTSPOT_SODA_MACHINE_BUTTONS = "Hotspot: Soda Machine Buttons"
 | 
						|
    HOTSPOT_SODA_MACHINE_COIN_SLOT = "Hotspot: Soda Machine Coin Slot"
 | 
						|
    HOTSPOT_SOUVENIR_COIN_SLOT = "Hotspot: Souvenir Coin Slot"
 | 
						|
    HOTSPOT_SPELL_CHECKER = "Hotspot: Spell Checker"
 | 
						|
    HOTSPOT_SPELL_LAB_CHASM = "Hotspot: Spell Lab Chasm"
 | 
						|
    HOTSPOT_SPRING_MUSHROOM = "Hotspot: Spring Mushroom"
 | 
						|
    HOTSPOT_STUDENT_ID_MACHINE = "Hotspot: Student ID Machine"
 | 
						|
    HOTSPOT_SUBWAY_TOKEN_SLOT = "Hotspot: Subway Token Slot"
 | 
						|
    HOTSPOT_TAVERN_FLY = "Hotspot: Tavern Fly"
 | 
						|
    HOTSPOT_TOTEMIZER_SWITCH = "Hotspot: Totemizer Switch"
 | 
						|
    HOTSPOT_TOTEMIZER_WHEELS = "Hotspot: Totemizer Wheels"
 | 
						|
    HOTSPOT_WELL = "Hotspot: Well"
 | 
						|
    HUNGUS_LARD = "Hungus Lard"
 | 
						|
    JAR_OF_HOTBUGS = "Jar of Hotbugs"
 | 
						|
    LANTERN = "Lantern"
 | 
						|
    LARGE_TELEGRAPH_HAMMER = "Large Telegraph Hammer"
 | 
						|
    LUCYS_PLAYING_CARD_1 = "Lucy's Playing Card: 1 Pip"
 | 
						|
    LUCYS_PLAYING_CARD_2 = "Lucy's Playing Card: 2 Pips"
 | 
						|
    LUCYS_PLAYING_CARD_3 = "Lucy's Playing Card: 3 Pips"
 | 
						|
    LUCYS_PLAYING_CARD_4 = "Lucy's Playing Card: 4 Pips"
 | 
						|
    MAP = "Map"
 | 
						|
    MEAD_LIGHT = "Mead Light"
 | 
						|
    MOSS_OF_MAREILON = "Moss of Mareilon"
 | 
						|
    MUG = "Mug"
 | 
						|
    OLD_SCRATCH_CARD = "Old Scratch Card"
 | 
						|
    PERMA_SUCK_MACHINE = "Perma-Suck Machine"
 | 
						|
    PLASTIC_SIX_PACK_HOLDER = "Plastic Six-Pack Holder"
 | 
						|
    POUCH_OF_ZORKMIDS = "Pouch of Zorkmids"
 | 
						|
    PROZORK_TABLET = "Prozork Tablet"
 | 
						|
    QUELBEE_HONEYCOMB = "Quelbee Honeycomb"
 | 
						|
    ROPE = "Rope"
 | 
						|
    SCROLL_FRAGMENT_ANS = "Scroll Fragment: ANS"
 | 
						|
    SCROLL_FRAGMENT_GIV = "Scroll Fragment: GIV"
 | 
						|
    SHOVEL = "Shovel"
 | 
						|
    SNAPDRAGON = "Snapdragon"
 | 
						|
    SPELL_GLORF = "Spell: GLORF"
 | 
						|
    SPELL_GOLGATEM = "Spell: GOLGATEM"
 | 
						|
    SPELL_IGRAM = "Spell: IGRAM"
 | 
						|
    SPELL_KENDALL = "Spell: KENDALL"
 | 
						|
    SPELL_NARWILE = "Spell: NARWILE"
 | 
						|
    SPELL_REZROV = "Spell: REZROV"
 | 
						|
    SPELL_THROCK = "Spell: THROCK"
 | 
						|
    SPELL_VOXAM = "Spell: VOXAM"
 | 
						|
    STUDENT_ID = "Student ID"
 | 
						|
    SUBWAY_DESTINATION_FLOOD_CONTROL_DAM = "Subway Destination: Flood Control Dam #3"
 | 
						|
    SUBWAY_DESTINATION_HADES = "Subway Destination: Hades"
 | 
						|
    SUBWAY_DESTINATION_MONASTERY = "Subway Destination: Monastery"
 | 
						|
    SUBWAY_TOKEN = "Subway Token"
 | 
						|
    SWORD = "Sword"
 | 
						|
    TELEPORTER_DESTINATION_DM_LAIR = "Teleporter Destination: Dungeon Master's Lair"
 | 
						|
    TELEPORTER_DESTINATION_GUE_TECH = "Teleporter Destination: GUE Tech"
 | 
						|
    TELEPORTER_DESTINATION_HADES = "Teleporter Destination: Hades"
 | 
						|
    TELEPORTER_DESTINATION_MONASTERY = "Teleporter Destination: Monastery Station"
 | 
						|
    TELEPORTER_DESTINATION_SPELL_LAB = "Teleporter Destination: Spell Lab"
 | 
						|
    TOTEM_BROG = "Totem: Brog"
 | 
						|
    TOTEM_GRIFF = "Totem: Griff"
 | 
						|
    TOTEM_LUCY = "Totem: Lucy"
 | 
						|
    TOTEMIZER_DESTINATION_HALL_OF_INQUISITION = "Totemizer Destination: Hall of Inquisition"
 | 
						|
    TOTEMIZER_DESTINATION_INFINITY = "Totemizer Destination: Infinity"
 | 
						|
    TOTEMIZER_DESTINATION_STRAIGHT_TO_HELL = "Totemizer Destination: Straight to Hell"
 | 
						|
    TOTEMIZER_DESTINATION_SURFACE_OF_MERZ = "Totemizer Destination: Surface of Merz"
 | 
						|
    ZIMDOR_SCROLL = "ZIMDOR Scroll"
 | 
						|
    ZORK_ROCKS = "Zork Rocks"
 | 
						|
 | 
						|
 | 
						|
class ZorkGrandInquisitorLocations(enum.Enum):
 | 
						|
    ALARM_SYSTEM_IS_DOWN = "Alarm System is Down"
 | 
						|
    ARREST_THE_VANDAL = "Arrest the Vandal!"
 | 
						|
    ARTIFACTS_EXPLAINED = "Artifacts, Explained"
 | 
						|
    A_BIG_FAT_SASSY_2_HEADED_MONSTER = "A Big, Fat, SASSY 2-Headed Monster"
 | 
						|
    A_LETTER_FROM_THE_WHITE_HOUSE = "A Letter from the White House"
 | 
						|
    A_SMALLWAY = "A Smallway"
 | 
						|
    BEAUTIFUL_THATS_PLENTY = "Beautiful, That's Plenty!"
 | 
						|
    BEBURTT_DEMYSTIFIED = "BEBURTT, Demystified"
 | 
						|
    BETTER_SPELL_MANUFACTURING_IN_UNDER_10_MINUTES = "Better Spell Manufacturing in Under 10 Minutes"
 | 
						|
    BOING_BOING_BOING = "Boing, Boing, Boing"
 | 
						|
    BONK = "Bonk!"
 | 
						|
    BRAVE_SOULS_WANTED = "Brave Souls Wanted"
 | 
						|
    BROG_DO_GOOD = "Brog Do Good!"
 | 
						|
    BROG_EAT_ROCKS = "Brog Eat Rocks"
 | 
						|
    BROG_KNOW_DUMB_THAT_DUMB = "Brog Know Dumb. That Dumb"
 | 
						|
    BROG_MUCH_BETTER_AT_THIS_GAME = "Brog Much Better at This Game"
 | 
						|
    CASTLE_WATCHING_A_FIELD_GUIDE = "Castle Watching: A Field Guide"
 | 
						|
    CAVES_NOTES = "Cave's Notes"
 | 
						|
    CLOSING_THE_TIME_TUNNELS = "Closing the Time Tunnels"
 | 
						|
    CRISIS_AVERTED = "Crisis Averted"
 | 
						|
    CUT_THAT_OUT_YOU_LITTLE_CREEP = "Cut That Out You Little Creep!"
 | 
						|
    DEATH_ARRESTED_WITH_JACK = "Death: Arrested With Jack"
 | 
						|
    DEATH_ATTACKED_THE_QUELBEES = "Death: Attacked the Quelbees"
 | 
						|
    DEATH_CLIMBED_OUT_OF_THE_WELL = "Death: Climbed Out of the Well"
 | 
						|
    DEATH_EATEN_BY_A_GRUE = "Death: Eaten by a Grue"
 | 
						|
    DEATH_JUMPED_IN_BOTTOMLESS_PIT = "Death: Jumped in Bottomless Pit"
 | 
						|
    DEATH_LOST_GAME_OF_STRIP_GRUE_FIRE_WATER = "Death: Lost Game of Strip Grue, Fire, Water"
 | 
						|
    DEATH_LOST_SOUL_TO_OLD_SCRATCH = "Death: Lost Soul to Old Scratch"
 | 
						|
    DEATH_OUTSMARTED_BY_THE_QUELBEES = "Death: Outsmarted by the Quelbees"
 | 
						|
    DEATH_SLICED_UP_BY_THE_INVISIBLE_GUARD = "Death: Sliced up by the Invisible Guard"
 | 
						|
    DEATH_STEPPED_INTO_THE_INFINITE = "Death: Step Into the Infinite"
 | 
						|
    DEATH_SWALLOWED_BY_A_DRAGON = "Death: Swallowed by a Dragon"
 | 
						|
    DEATH_THROCKED_THE_GRASS = "Death: THROCKed the Grass"
 | 
						|
    DEATH_TOTEMIZED = "Death: Totemized?"
 | 
						|
    DEATH_TOTEMIZED_PERMANENTLY = "Death: Totemized... Permanently"
 | 
						|
    DEATH_YOURE_NOT_CHARON = "Death: You're Not Charon!?"
 | 
						|
    DEATH_ZORK_ROCKS_EXPLODED = "Death: Zork Rocks Exploded"
 | 
						|
    DENIED_BY_THE_LAKE_MONSTER = "Denied by the Lake Monster"
 | 
						|
    DESPERATELY_SEEKING_TUTOR = "Desperately Seeking Tutor"
 | 
						|
    DONT_EVEN_START_WITH_US_SPARKY = "Don't Even Start With Us, Sparky"
 | 
						|
    DOOOOOOWN = "Doooooown"
 | 
						|
    DOWN = "Down"
 | 
						|
    DRAGON_ARCHIPELAGO_TIME_TUNNEL = "Dragon Archipelago Time Tunnel"
 | 
						|
    DUNCE_LOCKER = "Dunce Locker"
 | 
						|
    EGGPLANTS = "Eggplants"
 | 
						|
    ELSEWHERE = "Elsewhere"
 | 
						|
    EMERGENCY_MAGICATRONIC_MESSAGE = "Emergency Magicatronic Message"
 | 
						|
    ENJOY_YOUR_TRIP = "Enjoy Your Trip!"
 | 
						|
    FAT_LOT_OF_GOOD_THATLL_DO_YA = "Fat Lot of Good That'll Do Ya"
 | 
						|
    FIRE_FIRE = "Fire! Fire!"
 | 
						|
    FLOOD_CONTROL_DAM_3_THE_NOT_REMOTELY_BORING_TALE = "Flood Control Dam #3: The Not Remotely Boring Tale"
 | 
						|
    FLYING_SNAPDRAGON = "Flying Snapdragon"
 | 
						|
    FROBUARY_3_UNDERGROUNDHOG_DAY = "Frobruary 3 - Undergroundhog Day"
 | 
						|
    GETTING_SOME_CHANGE = "Getting Some Change"
 | 
						|
    GO_AWAY = "GO AWAY!"
 | 
						|
    GUE_TECH_DEANS_LIST = "GUE Tech Dean's List"
 | 
						|
    GUE_TECH_ENTRANCE_EXAM = "GUE Tech Entrance Exam"
 | 
						|
    GUE_TECH_HEALTH_MEMO = "GUE Tech Health Memo"
 | 
						|
    GUE_TECH_MAGEMEISTERS = "GUE Tech Magemeisters"
 | 
						|
    HAVE_A_HELL_OF_A_DAY = "Have a Hell of a Day!"
 | 
						|
    HELLO_THIS_IS_SHONA_FROM_GURTH_PUBLISHING = "Hello, This is Shona from Gurth Publishing"
 | 
						|
    HELP_ME_CANT_BREATHE = "Help... Me. Can't... Breathe"
 | 
						|
    HEY_FREE_DIRT = "Hey, Free Dirt!"
 | 
						|
    HI_MY_NAME_IS_DOUG = "Hi, My Name is Doug"
 | 
						|
    HMMM_INFORMATIVE_YET_DEEPLY_DISTURBING = "Hmmm. Informative. Yet Deeply Disturbing"
 | 
						|
    HOLD_ON_FOR_AN_IMPORTANT_MESSAGE = "Hold on for an Important Message"
 | 
						|
    HOW_TO_HYPNOTIZE_YOURSELF = "How to Hypnotize Yourself"
 | 
						|
    HOW_TO_WIN_AT_DOUBLE_FANUCCI = "How to Win at Double Fanucci"
 | 
						|
    IMBUE_BEBURTT = "Imbue BEBURTT"
 | 
						|
    IM_COMPLETELY_NUDE = "I'm Completely Nude"
 | 
						|
    INTO_THE_FOLIAGE = "Into the Foliage"
 | 
						|
    INVISIBLE_FLOWERS = "Invisible Flowers"
 | 
						|
    IN_CASE_OF_ADVENTURE = "In Case of Adventure, Break Glass!"
 | 
						|
    IN_MAGIC_WE_TRUST = "In Magic We Trust"
 | 
						|
    ITS_ONE_OF_THOSE_ADVENTURERS_AGAIN = "It's One of Those Adventurers Again..."
 | 
						|
    I_DONT_THINK_YOU_WOULDVE_WANTED_THAT_TO_WORK_ANYWAY = "I Don't Think You Would've Wanted That to Work Anyway"
 | 
						|
    I_DONT_WANT_NO_TROUBLE = "I Don't Want No Trouble!"
 | 
						|
    I_HOPE_YOU_CAN_CLIMB_UP_THERE = "I Hope You Can Climb Up There With All This Junk"
 | 
						|
    I_LIKE_YOUR_STYLE = "I Like Your Style!"
 | 
						|
    I_SPIT_ON_YOUR_FILTHY_COINAGE = "I Spit on Your Filthy Coinage"
 | 
						|
    LIT_SUNFLOWERS = "Lit Sunflowers"
 | 
						|
    MAGIC_FOREVER = "Magic Forever!"
 | 
						|
    MAILED_IT_TO_HELL = "Mailed it to Hell"
 | 
						|
    MAKE_LOVE_NOT_WAR = "Make Love, Not War"
 | 
						|
    MEAD_LIGHT = "Mead Light?"
 | 
						|
    MIKES_PANTS = "Mike's Pants"
 | 
						|
    MUSHROOM_HAMMERED = "Mushroom, Hammered"
 | 
						|
    NATIONAL_TREASURE = "300 Year Old National Treasure"
 | 
						|
    NATURAL_AND_SUPERNATURAL_CREATURES_OF_QUENDOR = "Natural and Supernatural Creatures of Quendor"
 | 
						|
    NOOOOOOOOOOOOO = "NOOOOOOOOOOOOO!"
 | 
						|
    NOTHIN_LIKE_A_GOOD_STOGIE = "Nothin' Like a Good Stogie"
 | 
						|
    NOW_YOU_LOOK_LIKE_US_WHICH_IS_AN_IMPROVEMENT = "Now You Look Like Us, Which is an Improvement"
 | 
						|
    NO_AUTOGRAPHS = "No Autographs"
 | 
						|
    NO_BONDAGE = "No Bondage"
 | 
						|
    OBIDIL_DRIED_UP = "OBIDIL, Dried Up"
 | 
						|
    OH_DEAR_GOD_ITS_A_DRAGON = "Oh Dear God, It's a Dragon!"
 | 
						|
    OH_VERY_FUNNY_GUYS = "Oh, Very Funny Guys"
 | 
						|
    OH_WOW_TALK_ABOUT_DEJA_VU = "Oh, Wow! Talk About Deja Vu"
 | 
						|
    OLD_SCRATCH_WINNER = "Old Scratch Winner!"
 | 
						|
    ONLY_YOU_CAN_PREVENT_FOOZLE_FIRES = "Only You Can Prevent Foozle Fires"
 | 
						|
    OPEN_THE_GATES_OF_HELL = "Open the Gates of Hell"
 | 
						|
    OUTSMART_THE_QUELBEES = "Outsmart the Quelbees"
 | 
						|
    PERMASEAL = "PermaSeal"
 | 
						|
    PLANETFALL = "Planetfall"
 | 
						|
    PLEASE_DONT_THROCK_THE_GRASS = "Please Don't THROCK the Grass"
 | 
						|
    PORT_FOOZLE_TIME_TUNNEL = "Port Foozle Time Tunnel"
 | 
						|
    PROZORKED = "Prozorked"
 | 
						|
    REASSEMBLE_SNAVIG = "Reassemble SNAVIG"
 | 
						|
    RESTOCKED_ON_GRUESDAY = "Restocked on Gruesday"
 | 
						|
    RIGHT_HELLO_YES_UH_THIS_IS_SNEFFLE = "Right. Hello. Yes. Uh, This is Sneffle"
 | 
						|
    RIGHT_UH_SORRY_ITS_ME_AGAIN_SNEFFLE = "Right. Uh, Sorry. It's Me Again. Sneffle"
 | 
						|
    SNAVIG_REPAIRED = "SNAVIG, Repaired"
 | 
						|
    SOUVENIR = "Souvenir"
 | 
						|
    STRAIGHT_TO_HELL = "Straight to Hell"
 | 
						|
    STRIP_GRUE_FIRE_WATER = "Strip Grue, Fire, Water"
 | 
						|
    SUCKING_ROCKS = "Sucking Rocks"
 | 
						|
    TALK_TO_ME_GRAND_INQUISITOR = "Talk to Me Grand Inquisitor"
 | 
						|
    TAMING_YOUR_SNAPDRAGON = "Taming Your Snapdragon"
 | 
						|
    THAR_SHE_BLOWS = "Thar She Blows!"
 | 
						|
    THATS_A_ROPE = "That's a Rope"
 | 
						|
    THATS_IT_JUST_KEEP_HITTING_THOSE_BUTTONS = "That's it! Just Keep Hitting Those Buttons"
 | 
						|
    THATS_STILL_A_ROPE = "That's Still a Rope"
 | 
						|
    THATS_THE_SPIRIT = "That's the Spirit!"
 | 
						|
    THE_ALCHEMICAL_DEBACLE = "The Alchemical Debacle"
 | 
						|
    THE_ENDLESS_FIRE = "The Endless Fire"
 | 
						|
    THE_FLATHEADIAN_FUDGE_FIASCO = "The Flatheadian Fudge Fiasco"
 | 
						|
    THE_PERILS_OF_MAGIC = "The Perils of Magic"
 | 
						|
    THE_UNDERGROUND_UNDERGROUND = "The Underground Underground"
 | 
						|
    THIS_DOESNT_LOOK_ANYTHING_LIKE_THE_BROCHURE = "This Doesn't Look Anything Like the Brochure"
 | 
						|
    THROCKED_MUSHROOM_HAMMERED = "THROCKed Mushroom, Hammered"
 | 
						|
    TIME_TRAVEL_FOR_DUMMIES = "Time Travel for Dummies"
 | 
						|
    TOTEMIZED_DAILY_BILLBOARD = "Totemized Daily Billboard Functioning Correctly"
 | 
						|
    UH_OH_BROG_CANT_SWIM = "Uh-Oh. Brog Can't Swim"
 | 
						|
    UMBRELLA_FLOWERS = "Umbrella Flowers"
 | 
						|
    UP = "Up"
 | 
						|
    USELESS_BUT_FUN = "Useless, But Fun"
 | 
						|
    UUUUUP = "Uuuuup"
 | 
						|
    VOYAGE_OF_CAPTAIN_ZAHAB = "Voyage of Captain Zahab"
 | 
						|
    WANT_SOME_RYE_COURSE_YA_DO = "Want Some Rye? Course Ya Do!"
 | 
						|
    WE_DONT_SERVE_YOUR_KIND_HERE = "We Don't Serve Your Kind Here"
 | 
						|
    WE_GOT_A_HIGH_ROLLER = "We Got a High Roller!"
 | 
						|
    WHAT_ARE_YOU_STUPID = "What Are You, Stupid?"
 | 
						|
    WHITE_HOUSE_TIME_TUNNEL = "White House Time Tunnel"
 | 
						|
    WOW_IVE_NEVER_GONE_INSIDE_HIM_BEFORE = "Wow! I've Never Gone Inside Him Before!"
 | 
						|
    YAD_GOHDNUORGREDNU_3_YRAUBORF = "yaD gohdnuorgrednU - 3 yrauborF"
 | 
						|
    YOUR_PUNY_WEAPONS_DONT_PHASE_ME_BABY = "Your Puny Weapons Don't Phase Me, Baby!"
 | 
						|
    YOU_DONT_GO_MESSING_WITH_A_MANS_ZIPPER = "You Don't Go Messing With a Man's Zipper"
 | 
						|
    YOU_GAINED_86_EXPERIENCE_POINTS = "You Gained 86 Experience Points"
 | 
						|
    YOU_ONE_OF_THEM_AGITATORS_AINT_YA = "You One of Them Agitators, Ain't Ya?"
 | 
						|
    YOU_WANT_A_PIECE_OF_ME_DOCK_BOY = "You Want a Piece of Me, Dock Boy? or Girl"
 | 
						|
 | 
						|
 | 
						|
class ZorkGrandInquisitorRegions(enum.Enum):
 | 
						|
    CROSSROADS = "Crossroads"
 | 
						|
    DM_LAIR = "Dungeon Master's Lair"
 | 
						|
    DM_LAIR_INTERIOR = "Dungeon Master's Lair - Interior"
 | 
						|
    DRAGON_ARCHIPELAGO = "Dragon Archipelago"
 | 
						|
    DRAGON_ARCHIPELAGO_DRAGON = "Dragon Archipelago - Dragon"
 | 
						|
    ENDGAME = "Endgame"
 | 
						|
    GUE_TECH = "GUE Tech"
 | 
						|
    GUE_TECH_HALLWAY = "GUE Tech - Hallway"
 | 
						|
    GUE_TECH_OUTSIDE = "GUE Tech - Outside"
 | 
						|
    HADES = "Hades"
 | 
						|
    HADES_BEYOND_GATES = "Hades - Beyond Gates"
 | 
						|
    HADES_SHORE = "Hades - Shore"
 | 
						|
    MENU = "Menu"
 | 
						|
    MONASTERY = "Monastery"
 | 
						|
    MONASTERY_EXHIBIT = "Monastery - Exhibit"
 | 
						|
    PORT_FOOZLE = "Port Foozle"
 | 
						|
    PORT_FOOZLE_JACKS_SHOP = "Port Foozle - Jack's Shop"
 | 
						|
    PORT_FOOZLE_PAST = "Port Foozle Past"
 | 
						|
    PORT_FOOZLE_PAST_TAVERN = "Port Foozle Past - Tavern"
 | 
						|
    SPELL_LAB = "Spell Lab"
 | 
						|
    SPELL_LAB_BRIDGE = "Spell Lab - Bridge"
 | 
						|
    SUBWAY_CROSSROADS = "Subway Platform - Crossroads"
 | 
						|
    SUBWAY_FLOOD_CONTROL_DAM = "Subway Platform - Flood Control Dam #3"
 | 
						|
    SUBWAY_MONASTERY = "Subway Platform - Monastery"
 | 
						|
    WALKING_CASTLE = "Walking Castle"
 | 
						|
    WHITE_HOUSE = "White House"
 | 
						|
 | 
						|
 | 
						|
class ZorkGrandInquisitorTags(enum.Enum):
 | 
						|
    CORE = "Core"
 | 
						|
    DEATHSANITY = "Deathsanity"
 | 
						|
    FILLER = "Filler"
 | 
						|
    HOTSPOT = "Hotspot"
 | 
						|
    INVENTORY_ITEM = "Inventory Item"
 | 
						|
    MISSABLE = "Missable"
 | 
						|
    SPELL = "Spell"
 | 
						|
    SUBWAY_DESTINATION = "Subway Destination"
 | 
						|
    TELEPORTER_DESTINATION = "Teleporter Destination"
 | 
						|
    TOTEMIZER_DESTINATION = "Totemizer Destination"
 | 
						|
    TOTEM = "Totem"
 |