- Major refactoring of location, region, and goal item names

This commit is contained in:
MarioSpore
2025-09-20 15:48:24 -04:00
parent 55ef0cc8c9
commit c279ef7bc6
5 changed files with 272 additions and 275 deletions

View File

@@ -231,7 +231,7 @@ class GrinchClient(BizHawkClient):
async def goal_checker(self, ctx: "BizHawkClientContext"):
if not ctx.finished_game:
goal_loc = grinch_locations["Neutralizing Santa"]
goal_loc = grinch_locations["Mount Crumpit's Sleigh Ride - Neutralizing Santa"]
goal_ram_address = goal_loc.update_ram_addr[0]
current_ram_address_value = int.from_bytes((await bizhawk.read(ctx.bizhawk_ctx, [(
goal_ram_address.ram_address, goal_ram_address.bit_size, "MainRAM")]))[0], "little")

View File

@@ -31,163 +31,163 @@ class GrinchLocation(Location):
grinch_locations = {
#Going to use current map id as indicator whether or not you visited a location
#Visitsanity
"Enter Whoville": GrinchLocationData("Whoville", "Visitsanity", 100, [GrinchRamData(0x010000, value=0x07)]),
"Enter the Post Office": GrinchLocationData("Post Office", "Visitsanity", 101, [GrinchRamData(0x010000, value=0x0A)]),
"Enter the Town Hall": GrinchLocationData("City Hall", "Visitsanity", 102, [GrinchRamData(0x010000, value=0x08)]),
"Enter the Countdown-To-Xmas Clock Tower": GrinchLocationData("Countdown to X-Mas Clock Tower", "Visitsanity", 103, [GrinchRamData(0x010000, value=0x09)]),
"Enter Who Forest": GrinchLocationData("Who Forest", "Visitsanity", 104, [GrinchRamData(0x010000, value=0x0B)]),
"Enter the Ski Resort": GrinchLocationData("Ski Resort", "Visitsanity", 105, [GrinchRamData(0x010000, value=0x0C)]),
"Enter the Civic Center": GrinchLocationData("Civic Center", "Visitsanity", 106, [GrinchRamData(0x010000, value=0x0D)]),
"Enter Who Dump": GrinchLocationData("Who Dump", "Visitsanity", 107, [GrinchRamData(0x010000, value=0x0E)]),
"Enter the Minefield": GrinchLocationData("Minefield", "Visitsanity", 108, [GrinchRamData(0x010000, value=0x11)]),
"Enter the Power Plant": GrinchLocationData("Power Plant", "Visitsanity", 109, [GrinchRamData(0x010000, value=0x10)]),
"Enter the Generator Building": GrinchLocationData("Generator Building", "Visitsanity", 110, [GrinchRamData(0x010000, value=0x0F)]),
"Enter Who Lake": GrinchLocationData("Who Lake", "Visitsanity", 111, [GrinchRamData(0x010000, value=0x12)]),
"Enter the Submarine World": GrinchLocationData("Submarine World", "Visitsanity", 112, [GrinchRamData(0x010000, value=0x17)]),
"Enter the Scout's Hut": GrinchLocationData("Scout's Hut", "Visitsanity", 113, [GrinchRamData(0x010000, value=0x13)]),
"Enter the North Shore": GrinchLocationData("North Shore", "Visitsanity", 114, [GrinchRamData(0x010000, value=0x14)]),
"Enter the Mayor's Villa": GrinchLocationData("Mayor's Villa", "Visitsanity", 115, [GrinchRamData(0x010000, value=0x16)]),
"Whoville - First Visit": GrinchLocationData("Whoville", "Visitsanity", 100, [GrinchRamData(0x010000, value=0x07)]),
"Whoville's Post Office - First Visit": GrinchLocationData("Post Office", "Visitsanity", 101, [GrinchRamData(0x010000, value=0x0A)]),
"Whoville's City Hall - First Visit": GrinchLocationData("City Hall", "Visitsanity", 102, [GrinchRamData(0x010000, value=0x08)]),
"Whoville's Clock Tower - First Visit": GrinchLocationData("Clock Tower", "Visitsanity", 103, [GrinchRamData(0x010000, value=0x09)]),
"Who Forest - First Visit": GrinchLocationData("Who Forest", "Visitsanity", 104, [GrinchRamData(0x010000, value=0x0B)]),
"Who Forest's Ski Resort - First Visit": GrinchLocationData("Ski Resort", "Visitsanity", 105, [GrinchRamData(0x010000, value=0x0C)]),
"Who Forest's Civic Center - First Visit": GrinchLocationData("Civic Center", "Visitsanity", 106, [GrinchRamData(0x010000, value=0x0D)]),
"Who Dump - First Visit": GrinchLocationData("Who Dump", "Visitsanity", 107, [GrinchRamData(0x010000, value=0x0E)]),
"Who Dump's Minefield - First Visit": GrinchLocationData("Minefield", "Visitsanity", 108, [GrinchRamData(0x010000, value=0x11)]),
"Who Dump's Power Plant - First Visit": GrinchLocationData("Power Plant", "Visitsanity", 109, [GrinchRamData(0x010000, value=0x10)]),
"Who Dump's Generator Building - First Visit": GrinchLocationData("Generator Building", "Visitsanity", 110, [GrinchRamData(0x010000, value=0x0F)]),
"Who Lake's South Shore- First Visit": GrinchLocationData("Who Lake", "Visitsanity", 111, [GrinchRamData(0x010000, value=0x12)]),
"Who Lake's Submarine World - First Visit": GrinchLocationData("Submarine World", "Visitsanity", 112, [GrinchRamData(0x010000, value=0x17)]),
"Who Lake's Scout's Hut - First Visit": GrinchLocationData("Scout's Hut", "Visitsanity", 113, [GrinchRamData(0x010000, value=0x13)]),
"Who Lake's North Shore - First Visit": GrinchLocationData("North Shore", "Visitsanity", 114, [GrinchRamData(0x010000, value=0x14)]),
"Who Lake's Mayor's Villa - First Visit": GrinchLocationData("Mayor's Villa", "Visitsanity", 115, [GrinchRamData(0x010000, value=0x16)]),
#Need to find mission completion address for handful of locations that are not documented.
#Missions that have value are those ones we need to find the check for
#Whoville Missions
"Shuffling The Mail": GrinchLocationData("Post Office", "Whoville Missions", 201, [GrinchRamData(0x0100BE, binary_bit_pos=0)]),
"Smashing Snowmen": GrinchLocationData("Whoville", "Whoville Missions", 200, [GrinchRamData(0x0100C5, value=10)]),
"Painting The Mayor's Posters": GrinchLocationData("Whoville", "Whoville Missions", 202, [GrinchRamData(0x0100C6, value=10)]),
"Launching Eggs Into Houses": GrinchLocationData("Whoville", "Whoville Missions", 203, [GrinchRamData(0x0100C7, value=10)]),
"Modifying The Mayor's Statue": GrinchLocationData("City Hall", "Whoville Missions", 204, [GrinchRamData(0x0100BE, binary_bit_pos=1)]),
"Advancing The Countdown-To-Xmas Clock": GrinchLocationData("Countdown to X-Mas Clock Tower", "Whoville Missions", 205, [GrinchRamData(0x0100BE, binary_bit_pos=2)]),
"Squashing All Gifts in Whoville": GrinchLocationData("Whoville", "Whoville Missions", 206, [GrinchRamData(0x01005C, value=500, bit_size=2)]),
"Whoville's Post Office - Shuffling The Mail": GrinchLocationData("Post Office", "Whoville Missions", 201, [GrinchRamData(0x0100BE, binary_bit_pos=0)]),
"Whoville - Smashing Snowmen": GrinchLocationData("Whoville", "Whoville Missions", 200, [GrinchRamData(0x0100C5, value=10)]),
"Whoville - Painting The Mayor's Posters": GrinchLocationData("Whoville", "Whoville Missions", 202, [GrinchRamData(0x0100C6, value=10)]),
"Whoville - Launching Eggs Into Houses": GrinchLocationData("Whoville", "Whoville Missions", 203, [GrinchRamData(0x0100C7, value=10)]),
"Whoville's City Hall - Modifying The Mayor's Statue": GrinchLocationData("City Hall", "Whoville Missions", 204, [GrinchRamData(0x0100BE, binary_bit_pos=1)]),
"Whoville's Clock Tower - Advancing The Countdown-To-Xmas Clock": GrinchLocationData("Clock Tower", "Whoville Missions", 205, [GrinchRamData(0x0100BE, binary_bit_pos=2)]),
"Whoville - Squashing All Gifts": GrinchLocationData("Whoville", "Whoville Missions", 206, [GrinchRamData(0x01005C, value=500, bit_size=2)]),
#Who Forest Missions
"Making Xmas Trees Droop": GrinchLocationData("Who Forest", "Who Forest Missions", 300, [GrinchRamData(0x0100C8, value=10)]),
"Sabotaging Snow Cannon With Glue": GrinchLocationData("Who Forest", "Who Forest Missions", 301, [GrinchRamData(0x0100BE, binary_bit_pos=3)]),
"Putting Beehives In Cabins": GrinchLocationData("Who Forest", "Who Forest Missions", 302, [GrinchRamData(0x0100CA, value=10)]),
"Sliming The Mayor's Skis": GrinchLocationData("Ski Resort", "Who Forest Missions", 303, [GrinchRamData(0x0100BE, binary_bit_pos=4)]),
"Replacing The Candles On The Cake With Fireworks": GrinchLocationData("Civic Center", "Who Forest Missions", 304, [GrinchRamData(0x0100BE, binary_bit_pos=5)]),
"Squashing All Gifts in Who Forest": GrinchLocationData("Who Forest", "Who Forest Missions", 305, [GrinchRamData(0x01005E, value=750, bit_size=2)]),
"Who Forest - Making Xmas Trees Droop": GrinchLocationData("Who Forest", "Who Forest Missions", 300, [GrinchRamData(0x0100C8, value=10)]),
"Who Forest - Sabotaging Snow Cannon With Glue": GrinchLocationData("Who Forest", "Who Forest Missions", 301, [GrinchRamData(0x0100BE, binary_bit_pos=3)]),
"Who Forest - Putting Beehives In Cabins": GrinchLocationData("Who Forest", "Who Forest Missions", 302, [GrinchRamData(0x0100CA, value=10)]),
"Who Forest's Ski Resort - Sliming The Mayor's Skis": GrinchLocationData("Ski Resort", "Who Forest Missions", 303, [GrinchRamData(0x0100BE, binary_bit_pos=4)]),
"Who Forest's Civic Center - Replacing The Candles On The Cake With Fireworks": GrinchLocationData("Civic Center", "Who Forest Missions", 304, [GrinchRamData(0x0100BE, binary_bit_pos=5)]),
"Who Forest - Squashing All Gifts": GrinchLocationData("Who Forest", "Who Forest Missions", 305, [GrinchRamData(0x01005E, value=750, bit_size=2)]),
#Who Dump Missions
"Stealing Food From Birds": GrinchLocationData("Who Dump", "Who Dump Missions", 400, [GrinchRamData(0x0100CB, value=10)]),
"Feeding The Computer With Robot Parts": GrinchLocationData("Who Dump", "Who Dump Missions", 401, [GrinchRamData(0x0100BF, binary_bit_pos=2)]),
"Infesting The Mayor's House With Rats": GrinchLocationData("Who Dump", "Who Dump Missions", 402, [GrinchRamData(0x0100BE, binary_bit_pos=6)]),
"Conducting The Stinky Gas To Who-Bris' Shack": GrinchLocationData("Who Dump", "Who Dump Missions", 403, [GrinchRamData(0x0100BE, binary_bit_pos=7)]),
"Shaving Who Dump Guardian": GrinchLocationData("Minefield", "Who Dump Missions", 404, [GrinchRamData(0x0100BF, binary_bit_pos=0)]),
"Short-Circuiting Power-Plant": GrinchLocationData("Generator Building", "Who Dump Missions", 405, [GrinchRamData(0x0100BF, binary_bit_pos=1)]),
"Squashing All Gifts in Who Dump": GrinchLocationData("Who Dump", "Who Dump Missions", 406, [GrinchRamData(0x010060, value=750, bit_size=2)]),
"Who Dump - Stealing Food From Birds": GrinchLocationData("Who Dump", "Who Dump Missions", 400, [GrinchRamData(0x0100CB, value=10)]),
"Who Dump - Feeding The Computer With Robot Parts": GrinchLocationData("Who Dump", "Who Dump Missions", 401, [GrinchRamData(0x0100BF, binary_bit_pos=2)]),
"Who Dump - Infesting The Mayor's House With Rats": GrinchLocationData("Who Dump", "Who Dump Missions", 402, [GrinchRamData(0x0100BE, binary_bit_pos=6)]),
"Who Dump - Conducting The Stinky Gas To Who-Bris' Shack": GrinchLocationData("Who Dump", "Who Dump Missions", 403, [GrinchRamData(0x0100BE, binary_bit_pos=7)]),
"Who Dump's Minefield - Shaving Who Dump Guardian": GrinchLocationData("Minefield", "Who Dump Missions", 404, [GrinchRamData(0x0100BF, binary_bit_pos=0)]),
"Who Dump's Generator Building - Short-Circuiting Power-Plant": GrinchLocationData("Generator Building", "Who Dump Missions", 405, [GrinchRamData(0x0100BF, binary_bit_pos=1)]),
"Who Dump - Squashing All Gifts": GrinchLocationData("Who Dump", "Who Dump Missions", 406, [GrinchRamData(0x010060, value=750, bit_size=2)]),
#Who Lake Missions
"Putting Thistles In Shorts": GrinchLocationData("Who Lake", "Who Lake Missions", 500, [GrinchRamData(0x0100E5, value=10)]),
"Sabotaging The Tents": GrinchLocationData("Who Lake", "Who Lake Missions", 501, [GrinchRamData(0x0100E6, value=10)]),
"Drilling Holes In Canoes": GrinchLocationData("North Shore", "Who Lake Missions", 502, [GrinchRamData(0x0100EE, value=10)]),
"Modifying The Marine Mobile": GrinchLocationData("Submarine World", "Who Lake Missions", 503, [GrinchRamData(0x0100BF, binary_bit_pos=4)]),
"Hooking The Mayor's Bed To The Motorboat": GrinchLocationData("Mayor's Villa", "Who Lake Missions", 504, [GrinchRamData(0x0100BF, binary_bit_pos=3)]),
"Squashing All Gifts in Who Lake": GrinchLocationData("Who Lake", "Who Lake Missions", 505, [GrinchRamData(0x010062, value=1000, bit_size=2)]),
"Who Lake's South Shore - Putting Thistles In Shorts": GrinchLocationData("Who Lake", "Who Lake Missions", 500, [GrinchRamData(0x0100E5, value=10)]),
"Who Lake's South Shore - Sabotaging The Tents": GrinchLocationData("Who Lake", "Who Lake Missions", 501, [GrinchRamData(0x0100E6, value=10)]),
"Who Lake's North Shore - Drilling Holes In Canoes": GrinchLocationData("North Shore", "Who Lake Missions", 502, [GrinchRamData(0x0100EE, value=10)]),
"Who Lake's Submarine World - Modifying The Marine Mobile": GrinchLocationData("Submarine World", "Who Lake Missions", 503, [GrinchRamData(0x0100BF, binary_bit_pos=4)]),
"Who Lake's Mayor's Villa - Hooking The Mayor's Bed To The Motorboat": GrinchLocationData("Mayor's Villa", "Who Lake Missions", 504, [GrinchRamData(0x0100BF, binary_bit_pos=3)]),
"Who Lake - Squashing All Gifts": GrinchLocationData("Who Lake", "Who Lake Missions", 505, [GrinchRamData(0x010062, value=1000, bit_size=2)]),
#Need to find binary values for individual blueprints, but all ram addresses are found
#Blueprints
#Binoculars Blueprints
"Binoculars Blueprint - Post Office Roof": GrinchLocationData("Whoville", "Binocular Blueprints", 600, [GrinchRamData(0x01020B, binary_bit_pos=2)]),
"Binoculars Blueprint - City Hall Library - Left Side": GrinchLocationData("City Hall", "Binocular Blueprints", 601, [GrinchRamData(0x01021F, binary_bit_pos=6)]),
"Binoculars Blueprint - City Hall Library - Front Side": GrinchLocationData("City Hall", "Binocular Blueprints", 602, [GrinchRamData(0x01021F, binary_bit_pos=5)]),
"Binoculars Blueprint - City Hall Library - Right Side": GrinchLocationData("City Hall", "Binocular Blueprints", 603, [GrinchRamData(0x01021F, binary_bit_pos=4)]),
"Whoville - Binoculars Blueprint on Post Office Roof": GrinchLocationData("Whoville", "Binocular Blueprints", 600, [GrinchRamData(0x01020B, binary_bit_pos=2)]),
"Whoville's City Hall - Binoculars Blueprint left side of Library": GrinchLocationData("City Hall", "Binocular Blueprints", 601, [GrinchRamData(0x01021F, binary_bit_pos=6)]),
"Whoville's City Hall - Binoculars Blueprint front side of Library": GrinchLocationData("City Hall", "Binocular Blueprints", 602, [GrinchRamData(0x01021F, binary_bit_pos=5)]),
"Whoville's City Hall - Binoculars Blueprint right side of Library": GrinchLocationData("City Hall", "Binocular Blueprints", 603, [GrinchRamData(0x01021F, binary_bit_pos=4)]),
#Rotten Egg Launcher Blueprints
"REL Blueprint - Outside City Hall": GrinchLocationData("Whoville", "Rotten Egg Launcher Blueprints", 700, [GrinchRamData(0x01020B, binary_bit_pos=0)]),
"REL Blueprint - Outside Clock Tower": GrinchLocationData("Whoville", "Rotten Egg Launcher Blueprints", 701, [GrinchRamData(0x01020B, binary_bit_pos=1)]),
"REL Blueprint - Post Office - Inside Silver Room": GrinchLocationData("Post Office", "Rotten Egg Launcher Blueprints", 702, [GrinchRamData(0x01021C, binary_bit_pos=1)]),
"REL Blueprint - Post Office - After Mission Completion": GrinchLocationData("Post Office", "Rotten Egg Launcher Blueprints", 703, [GrinchRamData(0x01021C, binary_bit_pos=2)]),
"Whoville - REL Blueprint left of City Hall": GrinchLocationData("Whoville", "Rotten Egg Launcher Blueprints", 700, [GrinchRamData(0x01020B, binary_bit_pos=0)]),
"Whoville - REL Blueprint left of Clock Tower": GrinchLocationData("Whoville", "Rotten Egg Launcher Blueprints", 701, [GrinchRamData(0x01020B, binary_bit_pos=1)]),
"Whoville's Post Office - REL Blueprint inside Silver Room": GrinchLocationData("Post Office", "Rotten Egg Launcher Blueprints", 702, [GrinchRamData(0x01021C, binary_bit_pos=1)]),
"Whoville's Post Office - REL Blueprint at Entrance Door after Mission Completion": GrinchLocationData("Post Office", "Rotten Egg Launcher Blueprints", 703, [GrinchRamData(0x01021C, binary_bit_pos=2)]),
#Rocket Spring Blueprints
"RS Blueprint - Behind Vacuum": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 800, [GrinchRamData(0x010243, binary_bit_pos=3)]),
"RS Blueprint - Front of 2nd House near entrance": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 801, [GrinchRamData(0x010243, binary_bit_pos=1)]),
"RS Blueprint - Near Tree House on Ground": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 802, [GrinchRamData(0x010243, binary_bit_pos=4)]),
"RS Blueprint - Near Cable Car House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 804, [GrinchRamData(0x010242, binary_bit_pos=7)]),
"RS Blueprint - Near Who Snowball in Cave": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 805, [GrinchRamData(0x010242, binary_bit_pos=6)]),
"RS Blueprint - Branch Platform Closest to Glue Cannon": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 806, [GrinchRamData(0x010243, binary_bit_pos=2)]),
"RS Blueprint - Branch Platform Near Beast": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 807, [GrinchRamData(0x010243, binary_bit_pos=0)]),
"RS Blueprint - Branch Platform Ledge Grab House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 808, [GrinchRamData(0x010243, binary_bit_pos=6)]),
"RS Blueprint - On Tree House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 809, [GrinchRamData(0x010243, binary_bit_pos=5)]),
"Who Forest - RS Blueprint behind Vacuum Tube": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 800, [GrinchRamData(0x010243, binary_bit_pos=3)]),
"Who Forest - RS Blueprint in front of 2nd House near Vacuum Tube": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 801, [GrinchRamData(0x010243, binary_bit_pos=1)]),
"Who Forest - RS Blueprint near Tree House on Ground": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 802, [GrinchRamData(0x010243, binary_bit_pos=4)]),
"Who Forest - RS Blueprint behind Cable Car House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 804, [GrinchRamData(0x010242, binary_bit_pos=7)]),
"Who Forest - RS Blueprint near Who Snowball in Cave": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 805, [GrinchRamData(0x010242, binary_bit_pos=6)]),
"Who Forest - RS Blueprint on Branch Platform closest to Glue Cannon": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 806, [GrinchRamData(0x010243, binary_bit_pos=2)]),
"Who Forest - RS Blueprint on Branch Platform Near Beast": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 807, [GrinchRamData(0x010243, binary_bit_pos=0)]),
"Who Forest - RS Blueprint on Branch Platform Elevated next to House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 808, [GrinchRamData(0x010243, binary_bit_pos=6)]),
"Who Forest - RS Blueprint on Tree House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 809, [GrinchRamData(0x010243, binary_bit_pos=5)]),
#Slime Shooter Blueprints
"SS Blueprint - Branch Platform Elevated House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 900, [GrinchRamData(0x010244, binary_bit_pos=3)]),
"SS Blueprint - Branch Platform House next to Beast": GrinchLocationData("Who Forest", "Slime Shooter Blueprint", 901, [GrinchRamData(0x010243, binary_bit_pos=7)]),
"SS Blueprint - House near Civic Center Cave": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 902, [GrinchRamData(0x010244, binary_bit_pos=2)]),
"SS Blueprint - House next to Tree House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 903, [GrinchRamData(0x010244, binary_bit_pos=1)]),
"SS Blueprint - House across from Tree House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 904, [GrinchRamData(0x010244, binary_bit_pos=5)]),
"SS Blueprint - 2nd House near entrance right side": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 905, [GrinchRamData(0x010244, binary_bit_pos=4)]),
"SS Blueprint - 2nd House near entrance left side": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 906, [GrinchRamData(0x010244, binary_bit_pos=7)]),
"SS Blueprint - 2nd House near entrance inbetween blueprints": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 907, [GrinchRamData(0x010244, binary_bit_pos=6)]),
"SS Blueprint - House near entrance": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 908, [GrinchRamData(0x010244, binary_bit_pos=0)]),
"Who Forest - SS Blueprint in Branch Platform Elevated House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 900, [GrinchRamData(0x010244, binary_bit_pos=3)]),
"Who Forest - SS Blueprint in Branch Platform House next to Beast": GrinchLocationData("Who Forest", "Slime Shooter Blueprint", 901, [GrinchRamData(0x010243, binary_bit_pos=7)]),
"Who Forest - SS Blueprint in House in front of Civic Center Cave": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 902, [GrinchRamData(0x010244, binary_bit_pos=2)]),
"Who Forest - SS Blueprint in House next to Tree House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 903, [GrinchRamData(0x010244, binary_bit_pos=1)]),
"Who Forest - SS Blueprint in House across from Tree House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 904, [GrinchRamData(0x010244, binary_bit_pos=5)]),
"Who Forest - SS Blueprint in 2nd House near Vacuum Tube Right Side": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 905, [GrinchRamData(0x010244, binary_bit_pos=4)]),
"Who Forest - SS Blueprint in 2nd House near Vacuum Tube Left Side": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 906, [GrinchRamData(0x010244, binary_bit_pos=7)]),
"Who Forest - SS Blueprint in 2nd House near Vacuum Tube inbetween Blueprints": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 907, [GrinchRamData(0x010244, binary_bit_pos=6)]),
"Who Forest - SS Blueprint in House near Vacuum Tube": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 908, [GrinchRamData(0x010244, binary_bit_pos=0)]),
#Octopus Climbing Device
"OCD Blueprint - Middle Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1001, [GrinchRamData(0x010252, binary_bit_pos=3)]),
"OCD Blueprint - Right Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1002, [GrinchRamData(0x010252, binary_bit_pos=5)]),
"OCD Blueprint - Mayor's House Rat Vent": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1003, [GrinchRamData(0x010252, binary_bit_pos=1)]),
"OCD Blueprint - Left Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1004, [GrinchRamData(0x010252, binary_bit_pos=4)]),
"OCD Blueprint - Near Power Plant Wall on right side": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1005, [GrinchRamData(0x010252, binary_bit_pos=0)]),
"OCD Blueprint - Near Who-Bris' Shack": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1006, [GrinchRamData(0x010252, binary_bit_pos=2)]),
"OCD Blueprint - Guardian's House - Left Side": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1007, [GrinchRamData(0x01026E, binary_bit_pos=2)]),
"OCD Blueprint - Guardian's House - Right Side": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1008, [GrinchRamData(0x01026E, binary_bit_pos=4)]),
"OCD Blueprint - Inside Guardian's House": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1009, [GrinchRamData(0x01026E, binary_bit_pos=3)]),
"Who Dump - OCD Blueprint inside Middle Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1001, [GrinchRamData(0x010252, binary_bit_pos=3)]),
"Who Dump - OCD Blueprint inside Right Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1002, [GrinchRamData(0x010252, binary_bit_pos=5)]),
"Who Dump - OCD Blueprint in Vent to Mayor's House": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1003, [GrinchRamData(0x010252, binary_bit_pos=1)]),
"Who Dump - OCD Blueprint inside Left Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1004, [GrinchRamData(0x010252, binary_bit_pos=4)]),
"Who Dump - OCD Blueprint near Right Side of Power Plant Wall": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1005, [GrinchRamData(0x010252, binary_bit_pos=0)]),
"Who Dump - OCD Blueprint near Who-Bris' Shack": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1006, [GrinchRamData(0x010252, binary_bit_pos=2)]),
"Who Dump's Minefield - OCD Blueprint on Left Side of House": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1007, [GrinchRamData(0x01026E, binary_bit_pos=2)]),
"Who Dump's Minefield - OCD Blueprint on Right Side of Shack": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1008, [GrinchRamData(0x01026E, binary_bit_pos=4)]),
"Who Dump's Minefield - OCD Blueprint inside Guardian's House": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1009, [GrinchRamData(0x01026E, binary_bit_pos=3)]),
#Marine Mobile Blueprints
"MM Blueprint - South Shore - Bridge to Scout's Hut": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1100, [GrinchRamData(0x010281, binary_bit_pos=5)]),
"MM Blueprint - South Shore - Tent near Porcupine": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1101, [GrinchRamData(0x010281, binary_bit_pos=6)]),
"MM Blueprint - South Shore - Near Outhouse": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1102, [GrinchRamData(0x010281, binary_bit_pos=7)]),
"MM Blueprint - South Shore - Near Hill Bridge": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1103, [GrinchRamData(0x010282, binary_bit_pos=0)]),
"MM Blueprint - South Shore - Scout's Hut Roof": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1104, [GrinchRamData(0x010281, binary_bit_pos=4)]),
"MM Blueprint - South Shore - Grass Platform": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1105, [GrinchRamData(0x010281, binary_bit_pos=2)]),
"MM Blueprint - South Shore - Zipline by Beast": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1106, [GrinchRamData(0x010281, binary_bit_pos=3)]),
"MM Blueprint - South Shore - Behind Summer Beast": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1107, [GrinchRamData(0x010282, binary_bit_pos=1)]),
"MM Blueprint - North Shore - Below Bridge": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1108, [GrinchRamData(0x010293, binary_bit_pos=0)]),
"MM Blueprint - North Shore - Behind Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1109, [GrinchRamData(0x010293, binary_bit_pos=2)]),
"MM Blueprint - North Shore - Inside Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1110, [GrinchRamData(0x010292, binary_bit_pos=6)]),
"MM Blueprint - North Shore - Fenced in Area": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1111, [GrinchRamData(0x010292, binary_bit_pos=7)]),
"MM Blueprint - North Shore - Boulder Box near Bridge": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1112, [GrinchRamData(0x010293, binary_bit_pos=3)]),
"MM Blueprint - North Shore - Boulder Box behind Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1113, [GrinchRamData(0x010293, binary_bit_pos=4)]),
"MM Blueprint - North Shore - Inside Drill House": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1114, [GrinchRamData(0x010292, binary_bit_pos=5)]),
"MM Blueprint - North Shore - Crow Platform near Drill House": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1115, [GrinchRamData(0x010293, binary_bit_pos=1)]),
"Who Lake's South Shore - MM Blueprint on Bridge to Scout's Hut": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1100, [GrinchRamData(0x010281, binary_bit_pos=5)]),
"Who Lake's South Shore - MM Blueprint across from Tent near Porcupine": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1101, [GrinchRamData(0x010281, binary_bit_pos=6)]),
"Who Lake's South Shore - MM Blueprint near Outhouse": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1102, [GrinchRamData(0x010281, binary_bit_pos=7)]),
"Who Lake's South Shore - MM Blueprint near Hill Bridge": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1103, [GrinchRamData(0x010282, binary_bit_pos=0)]),
"Who Lake's South Shore - MM Blueprint on Scout's Hut Roof": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1104, [GrinchRamData(0x010281, binary_bit_pos=4)]),
"Who Lake's South Shore - MM Blueprint on Grass Platform": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1105, [GrinchRamData(0x010281, binary_bit_pos=2)]),
"Who Lake's South Shore - MM Blueprint across Zipline Platform": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1106, [GrinchRamData(0x010281, binary_bit_pos=3)]),
"Who Lake's South Shore - MM Blueprint behind Summer Beast": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1107, [GrinchRamData(0x010282, binary_bit_pos=1)]),
"Who Lake's North Shore - MM Blueprint below Bridge": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1108, [GrinchRamData(0x010293, binary_bit_pos=0)]),
"Who Lake's North Shore - MM Blueprint behind Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1109, [GrinchRamData(0x010293, binary_bit_pos=2)]),
"Who Lake's North Shore - MM Blueprint inside Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1110, [GrinchRamData(0x010292, binary_bit_pos=6)]),
"Who Lake's North Shore - MM Blueprint inside House's Fence": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1111, [GrinchRamData(0x010292, binary_bit_pos=7)]),
"Who Lake's North Shore - MM Blueprint inside Boulder Box near Bridge": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1112, [GrinchRamData(0x010293, binary_bit_pos=3)]),
"Who Lake's North Shore - MM Blueprint inside Boulder Box behind Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1113, [GrinchRamData(0x010293, binary_bit_pos=4)]),
"Who Lake's North Shore - MM Blueprint inside Drill House": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1114, [GrinchRamData(0x010292, binary_bit_pos=5)]),
"Who Lake's North Shore - MM Blueprint on Crow Platform near Drill House": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1115, [GrinchRamData(0x010293, binary_bit_pos=1)]),
#Grinch Copter Blueprints
"GC Blueprint - Whoville City Hall - Safe Room": GrinchLocationData("City Hall", "Grinch Copter Blueprints", 1200, [GrinchRamData(0x01021F, binary_bit_pos=7)]),
"GC Blueprint - Whoville City Hall - Statue Room": GrinchLocationData("City Hall", "Grinch Copter Blueprints", 1201, [GrinchRamData(0x010220, binary_bit_pos=0)]),
"GC Blueprint - Whoville Clock Tower - Before Bells": GrinchLocationData("Countdown to X-Mas Clock Tower", "Grinch Copter Blueprints", 1202, [GrinchRamData(0x010216, binary_bit_pos=3)]),
"GC Blueprint - Whoville Clock Tower - After Bells": GrinchLocationData("Countdown to X-Mas Clock Tower", "Grinch Copter Blueprints", 1203, [GrinchRamData(0x010216, binary_bit_pos=2)]),
"GC Blueprint - Who Forest Ski Resort - Inside Dog's Fence": GrinchLocationData("Ski Resort", "Grinch Copter Blueprints", 1204, [GrinchRamData(0x010234, binary_bit_pos=7)]),
"GC Blueprint - Who Forest Ski Resort - Max Cave": GrinchLocationData("Ski Resort", "Grinch Copter Blueprints", 1205, [GrinchRamData(0x010234, binary_bit_pos=6)]),
"GC Blueprint - Who Forest Civic Center - Climb across Bat Cave wall": GrinchLocationData("Civic Center", "Grinch Copter Blueprints", 1206, [GrinchRamData(0x01022A, binary_bit_pos=7)]),
"GC Blueprint - Who Forest Civic Center - Shoot Icicle in Bat Entrance": GrinchLocationData("Civic Center", "Grinch Copter Blueprints", 1207, [GrinchRamData(0x01022B, binary_bit_pos=0)]),
"GC Blueprint - Who Dump Power Plant - Max Cave": GrinchLocationData("Power Plant", "Grinch Copter Blueprints", 1208, [GrinchRamData(0x010265, binary_bit_pos=1)]),
"GC Blueprint - Who Dump Power Plant - After First Gate": GrinchLocationData("Power Plant", "Grinch Copter Blueprints", 1209, [GrinchRamData(0x010265, binary_bit_pos=2)]),
"GC Blueprint - Who Dump Generator Building - Before Mission": GrinchLocationData("Generator Building", "Grinch Copter Blueprints", 1210, [GrinchRamData(0x01026B, binary_bit_pos=0)]),
"GC Blueprint - Who Dump Generator Building - After Mission": GrinchLocationData("Generator Building", "Grinch Copter Blueprints", 1211, [GrinchRamData(0x01026B, binary_bit_pos=1)]),
"GC Blueprint - Who Lake South Shore - Submarine World - Above Surface": GrinchLocationData("Submarine World", "Grinch Copter Blueprints", 1212, [GrinchRamData(0x010289, binary_bit_pos=3)]),
"GC Blueprint - Who Lake South Shore - Submarine World - Underwater": GrinchLocationData("Submarine World", "Grinch Copter Blueprints", 1213, [GrinchRamData(0x010289, binary_bit_pos=4)]),
"GC Blueprint - Who Lake North Shore - Mayor's Villa - Tree Branch": GrinchLocationData("Mayor's Villa", "Grinch Copter Blueprints", 1214, [GrinchRamData(0x010275, binary_bit_pos=7)]),
"GC Blueprint - Who Lake North Shore - Mayor's Villa - Cave": GrinchLocationData("Mayor's Villa", "Grinch Copter Blueprints", 1215, [GrinchRamData(0x010275, binary_bit_pos=6)]),
"Whoville's City Hall - GC Blueprint in Safe Room": GrinchLocationData("City Hall", "Grinch Copter Blueprints", 1200, [GrinchRamData(0x01021F, binary_bit_pos=7)]),
"Whoville's City Hall - GC Blueprint in Statue Room": GrinchLocationData("City Hall", "Grinch Copter Blueprints", 1201, [GrinchRamData(0x010220, binary_bit_pos=0)]),
"Whoville's Clock Tower - GC Blueprint in Bedroom": GrinchLocationData("Clock Tower", "Grinch Copter Blueprints", 1202, [GrinchRamData(0x010216, binary_bit_pos=3)]),
"Whoville's Clock Tower - GC Blueprint in Bell Room": GrinchLocationData("Clock Tower", "Grinch Copter Blueprints", 1203, [GrinchRamData(0x010216, binary_bit_pos=2)]),
"Who Forest's Ski Resort - GC Blueprint inside Dog's Fence": GrinchLocationData("Ski Resort", "Grinch Copter Blueprints", 1204, [GrinchRamData(0x010234, binary_bit_pos=7)]),
"Who Forest's Ski Resort - GC Blueprint in Max Cave": GrinchLocationData("Ski Resort", "Grinch Copter Blueprints", 1205, [GrinchRamData(0x010234, binary_bit_pos=6)]),
"Who Forest's Civic Center - GC Blueprint on Left Side in Bat Cave Wall": GrinchLocationData("Civic Center", "Grinch Copter Blueprints", 1206, [GrinchRamData(0x01022A, binary_bit_pos=7)]),
"Who Forest's Civic Center - GC Blueprint in Frozen Ice": GrinchLocationData("Civic Center", "Grinch Copter Blueprints", 1207, [GrinchRamData(0x01022B, binary_bit_pos=0)]),
"Who Dump's Power Plant - GC Blueprint in Max Cave": GrinchLocationData("Power Plant", "Grinch Copter Blueprints", 1208, [GrinchRamData(0x010265, binary_bit_pos=1)]),
"Who Dump's Power Plant - GC Blueprint After First Gate": GrinchLocationData("Power Plant", "Grinch Copter Blueprints", 1209, [GrinchRamData(0x010265, binary_bit_pos=2)]),
"Who Dump's Generator Building - GC Blueprint on the Highest Platform": GrinchLocationData("Generator Building", "Grinch Copter Blueprints", 1210, [GrinchRamData(0x01026B, binary_bit_pos=0)]),
"Who Dump's Generator Building - GC Blueprint at the Entrance after Mission Completion": GrinchLocationData("Generator Building", "Grinch Copter Blueprints", 1211, [GrinchRamData(0x01026B, binary_bit_pos=1)]),
"Who Lake's Submarine World - GC Blueprint Just Below Water Surface": GrinchLocationData("Submarine World", "Grinch Copter Blueprints", 1212, [GrinchRamData(0x010289, binary_bit_pos=3)]),
"Who Lake's Submarine World - GC Blueprint Underwater": GrinchLocationData("Submarine World", "Grinch Copter Blueprints", 1213, [GrinchRamData(0x010289, binary_bit_pos=4)]),
"Who Lake's Mayor's Villa - GC Blueprint on Tree Branch": GrinchLocationData("Mayor's Villa", "Grinch Copter Blueprints", 1214, [GrinchRamData(0x010275, binary_bit_pos=7)]),
"Who Lake's Mayor's Villa - GC Blueprint in Pirate's Cave": GrinchLocationData("Mayor's Villa", "Grinch Copter Blueprints", 1215, [GrinchRamData(0x010275, binary_bit_pos=6)]),
#Sleigh Room Locations
"Stealing All Gifts": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1300, [GrinchRamData(0x0100BF, binary_bit_pos=6)]),
"Neutralizing Santa": GrinchLocationData("Sleigh Room", "Sleigh Ride", None, [GrinchRamData(0x0100BF, binary_bit_pos=7)]),
"Mount Crumpit's Sleigh Ride - Stealing All Gifts": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1300, [GrinchRamData(0x0100BF, binary_bit_pos=6)]),
"Mount Crumpit's Sleigh Ride - Neutralizing Santa": GrinchLocationData("Sleigh Room", "Sleigh Ride", None, [GrinchRamData(0x0100BF, binary_bit_pos=7)]),
#Heart of Stones
"Heart of Stone - Whoville's Post Office": GrinchLocationData("Post Office", "Heart of Stones", 1400, [GrinchRamData(0x0101FA, binary_bit_pos=6)]),
"Heart of Stone - Who Forest's Ski Resort": GrinchLocationData("Ski Resort", "Heart of Stones", 1401, [GrinchRamData(0x0101FA, binary_bit_pos=7)]),
"Heart of Stone - Who Dump's Minefield": GrinchLocationData("Minefield", "Heart of Stones", 1402, [GrinchRamData(0x0101FB, binary_bit_pos=0)]),
"Heart of Stone - Who Lake's North Shore": GrinchLocationData("North Shore", "Heart of Stones", 1403, [GrinchRamData(0x0101FB, binary_bit_pos=1)]),
"Whoville's Post Office - Heart of Stone": GrinchLocationData("Post Office", "Heart of Stones", 1400, [GrinchRamData(0x0101FA, binary_bit_pos=6)]),
"Who Forest's Ski Resort - Heart of Stone": GrinchLocationData("Ski Resort", "Heart of Stones", 1401, [GrinchRamData(0x0101FA, binary_bit_pos=7)]),
"Who Dump's Minefield - Heart of Stone": GrinchLocationData("Minefield", "Heart of Stones", 1402, [GrinchRamData(0x0101FB, binary_bit_pos=0)]),
"Who Lake's North Shore - Heart of Stone": GrinchLocationData("North Shore", "Heart of Stones", 1403, [GrinchRamData(0x0101FB, binary_bit_pos=1)]),
#Supadow Minigames
# "Spin N' Win - Easy": GrinchLocationData("Spin N' Win Supadow", "Supadow Minigames", 1500, [GrinchRamData()]),
# "Spin N' Win - Hard": GrinchLocationData("Spin N' Win Supadow", "Supadow Minigames", 1501, [GrinchRamData()]),
# "Spin N' Win - Real Tough": GrinchLocationData("Spin N' Win Supadow", "Supadow Minigames", 1502, [GrinchRamData()]),
# "Dankamania - Easy - 15 Points": GrinchLocationData("Dankamania Supadow", "Supadow Minigames", 1503, [GrinchRamData()]),
# "Dankamania - Hard - 15 Points": GrinchLocationData("Dankamania Supadow", "Supadow Minigames", 1504, [GrinchRamData()]),
# "Dankamania - Real Tough - 15 Points": GrinchLocationData("Dankamania Supadow", "Supadow Minigames", 1505, [GrinchRamData()]),
# "The Copter Race Contest - Easy": GrinchLocationData("The Copter Race Contest Supadow", "Supadow Minigames", 1506, [GrinchRamData()]),
# "The Copter Race Contest - Hard": GrinchLocationData("The Copter Race Contest Supadow", "Supadow Minigames", 1507, [GrinchRamData()]),
# "The Copter Race Contest - Real Tough": GrinchLocationData("The Copter Race Contest Supadow", "Supadow Minigames", 1508, [GrinchRamData()]),
# "Spin N' Win - Easy": GrinchLocationData("Spin N' Win", "Supadow Minigames", 1500, [GrinchRamData()]),
# "Spin N' Win - Hard": GrinchLocationData("Spin N' Win", "Supadow Minigames", 1501, [GrinchRamData()]),
# "Spin N' Win - Real Tough": GrinchLocationData("Spin N' Win", "Supadow Minigames", 1502, [GrinchRamData()]),
# "Dankamania - Easy - 15 Points": GrinchLocationData("Dankamania", "Supadow Minigames", 1503, [GrinchRamData()]),
# "Dankamania - Hard - 15 Points": GrinchLocationData("Dankamania", "Supadow Minigames", 1504, [GrinchRamData()]),
# "Dankamania - Real Tough - 15 Points": GrinchLocationData("Dankamania", "Supadow Minigames", 1505, [GrinchRamData()]),
# "The Copter Race Contest - Easy": GrinchLocationData("The Copter Race Contest", "Supadow Minigames", 1506, [GrinchRamData()]),
# "The Copter Race Contest - Hard": GrinchLocationData("The Copter Race Contest", "Supadow Minigames", 1507, [GrinchRamData()]),
# "The Copter Race Contest - Real Tough": GrinchLocationData("The Copter Race Contest", "Supadow Minigames", 1508, [GrinchRamData()]),
# "Bike Race - 1st Place": GrinchLocationData("Bike Race", "Supadow Minigames", 1509, [GrinchRamData()]),
# "Bike Race - Top 2": GrinchLocationData("Bike Race", "Supadow Minigames", 1510, [GrinchRamData()]),
# "Bike Race - Top 3": GrinchLocationData("Bike Race", "Supadow Minigames", 1511, [GrinchRamData()]),
# Sleigh Part Locations
"Exhaust Pipes in Whoville": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1600, [GrinchRamData(0x0101FB, binary_bit_pos=2)]),
"Skis in Who Forest": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1601, [GrinchRamData(0x0101FB, binary_bit_pos=3)]),
"Tires in Who Dump": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1602, [GrinchRamData(0x0101FB, binary_bit_pos=4)]),
"Twin-End Tuba in Submarine World": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1603, [GrinchRamData(0x0101FB, binary_bit_pos=6)]),
"GPS in Who Lake": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1604, [GrinchRamData(0x0101FB, binary_bit_pos=5)]),
"Whoville - Exhaust Pipes": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1600, [GrinchRamData(0x0101FB, binary_bit_pos=2)]),
"Who Forest - Skis": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1601, [GrinchRamData(0x0101FB, binary_bit_pos=3)]),
"Who Dump - Tires": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1602, [GrinchRamData(0x0101FB, binary_bit_pos=4)]),
"Who Lake's Submarine World - Twin-End Tuba": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1603, [GrinchRamData(0x0101FB, binary_bit_pos=6)]),
"Who Lake's South Shore - GPS": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1604, [GrinchRamData(0x0101FB, binary_bit_pos=5)]),
# Mount Crumpit Locations
"1st Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1700, [GrinchRamData(0x095343, value=1)]),
"2nd Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1701, [GrinchRamData(0x095343, value=2)]),
"3rd Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1702, [GrinchRamData(0x095343, value=3)]),
"4th Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1703, [GrinchRamData(0x095343, value=4)]),
"5th Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1704, [GrinchRamData(0x095343, value=5)]),
"Mount Crumpit - 1st Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1700, [GrinchRamData(0x095343, value=1)]),
"Mount Crumpit - 2nd Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1701, [GrinchRamData(0x095343, value=2)]),
"Mount Crumpit - 3rd Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1702, [GrinchRamData(0x095343, value=3)]),
"Mount Crumpit - 4th Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1703, [GrinchRamData(0x095343, value=4)]),
"Mount Crumpit - 5th Crate Squashed": GrinchLocationData("Mount Crumpit", "Mount Crumpit", 1704, [GrinchRamData(0x095343, value=5)]),
}
def grinch_locations_to_id() -> dict[str,int]:

View File

@@ -19,7 +19,7 @@ mainareas_list = [
subareas_list = [
"Post Office",
"City Hall",
"Countdown to X-Mas Tower",
"Clock Tower",
"Ski Resort",
"Civic Center",
"Minefield",
@@ -83,12 +83,12 @@ def connect_regions(world: "GrinchWorld"):
grinchconnect(world, "Mount Crumpit", "Who Dump")
grinchconnect(world, "Mount Crumpit", "Who Lake")
grinchconnect(world, "Mount Crumpit", "Sleigh Room")
grinchconnect(world, "Mount Crumpit", "Spin N' Win Supadow")
grinchconnect(world, "Mount Crumpit", "Dankamania Supadow")
grinchconnect(world, "Mount Crumpit", "The Copter Race Contest Supadow")
grinchconnect(world, "Mount Crumpit", "Spin N' Win")
grinchconnect(world, "Mount Crumpit", "Dankamania")
grinchconnect(world, "Mount Crumpit", "The Copter Race Contest")
grinchconnect(world, "Whoville", "Post Office")
grinchconnect(world, "Whoville", "City Hall")
grinchconnect(world, "Whoville", "Countdown to X-Mas Clock Tower")
grinchconnect(world, "Whoville", "Clock Tower")
grinchconnect(world, "Who Forest", "Ski Resort")
grinchconnect(world, "Who Forest", "Civic Center")
grinchconnect(world, "Who Dump", "Minefield")

View File

@@ -31,416 +31,413 @@ def interpret_rule(rule_set: list[list[str]], player: int):
#Each item in the list is a separate list of rules. Each separate list is just an "OR" condition.
rules_dict: dict[str,list[list[str]]] = {
"Enter Whoville": [
"Whoville - First Visit": [
[]
],
"Enter the Post Office": [
"Whoville's Post Office - First Visit": [
[]
],
"Enter the Town Hall": [
"Whoville's City Hall - First Visit": [
[]
],
"Enter the Countdown-To-Xmas Clock Tower": [
"Whoville's Clock Tower - First Visit": [
[]
],
"Enter Who Forest": [
"Who Forest - First Visit": [
[]
],
"Enter the Ski Resort": [
"Who Forest's Ski Resort - First Visit": [
[]
],
"Enter the Civic Center": [
"Who Forest's Civic Center - First Visit": [
[]
],
"Enter Who Dump": [
"Who Dump - First Visit": [
[]
],
"Enter the Minefield": [
"Who Dump's Minefield - First Visit": [
[]
],
"Enter the Power Plant": [
"Who Dump's Power Plant - First Visit": [
[]
],
"Enter the Generator Building": [
"Who Dump's Generator Building - First Visit": [
[]
],
"Enter Who Lake": [
"Who Lake's South Shore- First Visit": [
[]
],
"Enter the Submarine World": [
"Who Lake's Submarine World - First Visit": [
[]
],
"Enter the Scout's Hut": [
"Who Lake's Scout's Hut - First Visit": [
[]
],
"Enter the North Shore": [
"Who Lake's North Shore - First Visit": [
[]
],
"Enter the Mayor's Villa": [
"Who Lake's Mayor's Villa - First Visit": [
[]
],
"Shuffling The Mail": [
"Whoville's Post Office - Shuffling The Mail": [
[]
],
"Smashing Snowmen": [
"Whoville - Smashing Snowmen": [
[]
],
"Painting The Mayor's Posters": [
"Whoville - Painting The Mayor's Posters": [
["Painting Bucket"]
],
"Launching Eggs Into Houses": [
"Whoville - Launching Eggs Into Houses": [
["Rotten Egg Launcher"]
],
"Modifying The Mayor's Statue": [
"Whoville's City Hall - Modifying The Mayor's Statue": [
["Sculpting Tools"]
],
"Advancing The Countdown-To-Xmas Clock": [
"Whoville's Clock Tower - Advancing The Countdown-To-Xmas Clock": [
["Hammer", "Rocket Spring"]
],
"Squashing All Gifts in Whoville": [
"Whoville - Squashing All Gifts": [
["Grinch Copter", "Slime Shooter", "Rotten Egg Launcher", "Who Cloak", "Rocket Spring"]
],
"Making Xmas Trees Droop": [
"Who Forest - Making Xmas Trees Droop": [
["Rotten Egg Launcher"]
],
"Sabotaging Snow Cannon With Glue": [
"Who Forest - Sabotaging Snow Cannon With Glue": [
["Glue Bucket", "Rocket Spring"],
["Glue Bucket", "Grinch Copter"]
],
"Putting Beehives In Cabins": [
"Who Forest - Putting Beehives In Cabins": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"Sliming The Mayor's Skis": [
"Who Forest's Ski Resort - Sliming The Mayor's Skis": [
["Slime Shooter", "Rotten Egg Launcher"]
],
"Replacing The Candles On The Cake With Fireworks": [
"Who Forest's Civic Center - Replacing The Candles On The Cake With Fireworks": [
["Rotten Egg Launcher", "Grinch Copter"],
["Rotten Egg Launcher", "Octopus Climbing Device", "Rocket Spring"]
],
"Squashing All Gifts in Who Forest": [
"Who Forest - Squashing All Gifts": [
["Grinch Copter", "Cable Car Access Card", "Slime Shooter", "Rotten Egg Launcher"],
["Octopus Climbing Device", "Rocket Spring", "Cable Car Access Card", "Slime Shooter", "Rotten Egg Launcher"]
],
"Stealing Food From Birds": [
"Who Dump - Stealing Food From Birds": [
["Rocket Spring", "Rotten Egg Launcher"]
],
"Feeding The Computer With Robot Parts": [
"Who Dump - Feeding The Computer With Robot Parts": [
["Rocket Spring", "Rotten Egg Launcher"]
],
"Infesting The Mayor's House With Rats": [
"Who Dump - Infesting The Mayor's House With Rats": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"Conducting The Stinky Gas To Who-Bris' Shack": [
"Who Dump - Conducting The Stinky Gas To Who-Bris' Shack": [
["Rocket Spring", "Rotten Egg Launcher"]
],
"Shaving Who Dump Guardian": [
"Who Dump's Minefield - Shaving Who Dump Guardian": [
["Scissors", "Grinch Copter"],
["Scissors", "Slime Shooter", "Rocket Spring"]
],
"Short-Circuiting Power-Plant": [
"Who Dump's Generator Building - Short-Circuiting Power-Plant": [
["Rotten Egg Launcher", "Grinch Copter"],
["Rotten Egg Launcher", "Octopus Climbing Device", "Slime Shooter", "Rocket Spring"]
],
"Squashing All Gifts in Who Dump": [
"Who Dump - Squashing All Gifts": [
["Grinch Copter", "Rocket Spring", "Slime Shooter", "Rotten Egg Launcher"],
["Octopus Climbing Device", "Rocket Spring", "Slime Shooter", "Rotten Egg Launcher"]
],
"Putting Thistles In Shorts": [
"Who Lake's South Shore - Putting Thistles In Shorts": [
["Rotten Egg Launcher", "Octopus Climbing Device"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"Sabotaging The Tents": [
"Who Lake's South Shore - Sabotaging The Tents": [
["Octopus Climbing Device", "Rocket Spring"],
["Grinch Copter"]
],
"Drilling Holes In Canoes": [
"Who Lake's North Shore - Drilling Holes In Canoes": [
["Drill"]
# ["Drill", "Max"]
],
"Modifying The Marine Mobile": [
"Who Lake's Submarine World - Modifying The Marine Mobile": [
[]
],
"Hooking The Mayor's Bed To The Motorboat": [
"Who Lake's Mayor's Villa - Hooking The Mayor's Bed To The Motorboat": [
["Rope", "Hook", "Rotten Egg Launcher", "Scout Clothes"]
],
"Squashing All Gifts in Who Lake": [
"Who Lake - Squashing All Gifts": [
["Grinch Copter", "Marine Mobile", "Scout Clothes", "Rotten Egg Launcher", "Hook", "Rope"],
["Octopus Climbing Device", "Rocket Spring", "Marine Mobile", "Scout Clothes", "Rotten Egg Launcher", "Hook", "Rope"]
],
"Binoculars Blueprint - Post Office Roof": [
"Whoville - Binoculars Blueprint on Post Office Roof": [
[]
],
"Binoculars Blueprint - City Hall Library - Left Side": [
"Whoville's City Hall - Binoculars Blueprint left side of Library": [
[]
],
"Binoculars Blueprint - City Hall Library - Front Side": [
"Whoville's City Hall - Binoculars Blueprint front side of Library": [
[]
],
"Binoculars Blueprint - City Hall Library - Right Side": [
"Whoville's City Hall - Binoculars Blueprint right side of Library": [
[]
],
"REL Blueprint - Outside City Hall": [
"Whoville - REL Blueprint left of City Hall": [
[]
],
"REL Blueprint - Outside Clock Tower": [
"Whoville - REL Blueprint left of Clock Tower": [
[]
],
"REL Blueprint - Post Office - Inside Silver Room": [
"Whoville's Post Office - REL Blueprint inside Silver Room": [
["Who Cloak"]
# ["Who Cloak", "Max"]
],
"REL Blueprint - Post Office - After Mission Completion": [
"Whoville's Post Office - REL Blueprint at Entrance Door after Mission Completion": [
["Who Cloak"]
# ["Who Cloak", "Max"]
],
"RS Blueprint - Behind Vacuum": [
"Who Forest - RS Blueprint behind Vacuum Tube": [
[]
],
"RS Blueprint - Front of 2nd House near entrance": [
"Who Forest - RS Blueprint in front of 2nd House near Vacuum Tube": [
[]
],
"RS Blueprint - Near Tree House on Ground": [
"Who Forest - RS Blueprint near Tree House on Ground": [
[]
],
"RS Blueprint - Near Cable Car House": [
"Who Forest - RS Blueprint behind Cable Car House": [
[]
],
"RS Blueprint - Near Who Snowball in Cave": [
"Who Forest - RS Blueprint near Who Snowball in Cave": [
[]
],
"RS Blueprint - Branch Platform Closest to Glue Cannon": [
"Who Forest - RS Blueprint on Branch Platform closest to Glue Cannon": [
[]
],
"RS Blueprint - Branch Platform Near Beast": [
"Who Forest - RS Blueprint on Branch Platform Near Beast": [
[]
],
"RS Blueprint - Branch Platform Ledge Grab House": [
"Who Forest - RS Blueprint on Branch Platform Elevated next to House": [
[]
],
"RS Blueprint - On Tree House": [
"Who Forest - RS Blueprint on Tree House": [
["Rotten Egg Launcher"],
["Grinch Copter"]
],
"SS Blueprint - Branch Platform Elevated House": [
"Who Forest - SS Blueprint in Branch Platform Elevated House": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"SS Blueprint - Branch Platform House next to Beast": [
"Who Forest - SS Blueprint in Branch Platform House next to Beast": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"SS Blueprint - House near Civic Center Cave": [
"Who Forest - SS Blueprint in House in front of Civic Center Cave": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"SS Blueprint - House next to Tree House": [
"Who Forest - SS Blueprint in House next to Tree House": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"SS Blueprint - House across from Tree House": [
"Who Forest - SS Blueprint in House across from Tree House": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"SS Blueprint - 2nd House near entrance right side": [
"Who Forest - SS Blueprint in 2nd House near Vacuum Tube Right Side": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"SS Blueprint - 2nd House near entrance left side": [
"Who Forest - SS Blueprint in 2nd House near Vacuum Tube Left Side": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"SS Blueprint - 2nd House near entrance inbetween blueprints": [
"Who Forest - SS Blueprint in 2nd House near Vacuum Tube inbetween Blueprints": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"SS Blueprint - House near entrance": [
"Who Forest - SS Blueprint in House near Vacuum Tube": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"OCD Blueprint - Middle Pipe": [
"Who Dump - OCD Blueprint inside Middle Pipe": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"],
["Slime Shooter", "Rocket Spring"],
["Slime Shooter", "Grinch Copter"]
],
"OCD Blueprint - Right Pipe": [
"Who Dump - OCD Blueprint inside Right Pipe": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"OCD Blueprint - Mayor's House Rat Vent": [
"Who Dump - OCD Blueprint in Vent to Mayor's House": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"]
],
"OCD Blueprint - Left Pipe": [
"Who Dump - OCD Blueprint inside Left Pipe": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"],
["Slime Shooter", "Rocket Spring"],
["Slime Shooter", "Grinch Copter"]
],
"OCD Blueprint - Near Power Plant Wall on right side": [
"Who Dump - OCD Blueprint near Right Side of Power Plant Wall": [
["Rotten Egg Launcher", "Rocket Spring"],
["Rotten Egg Launcher", "Grinch Copter"],
["Slime Shooter", "Rocket Spring"],
["Slime Shooter", "Grinch Copter"]
],
"OCD Blueprint - Near Who-Bris' Shack": [
"Who Dump - OCD Blueprint near Who-Bris' Shack": [
["Rotten Egg Launcher", "Rocket Spring"]
],
"OCD Blueprint - Guardian's House - Left Side": [
"Who Dump's Minefield - OCD Blueprint on Left Side of House": [
[]
# ["Rotten Egg Launcher", "Grinch Copter"],
# ["Rotten Egg Launcher", "Slime Shooter", "Rocket Spring"]
# ["Max"]
],
"OCD Blueprint - Guardian's House - Right Side": [
"Who Dump's Minefield - OCD Blueprint on Right Side of Shack": [
["Grinch Copter"],
["Slime Shooter", "Rocket Spring"]
],
"OCD Blueprint - Inside Guardian's House": [
"Who Dump's Minefield - OCD Blueprint inside Guardian's House": [
[]
# ["Rotten Egg Launcher", "Grinch Copter"],
# ["Rotten Egg Launcher", "Slime Shooter", "Rocket Spring"]
# ["Max"]
],
"MM Blueprint - South Shore - Bridge to Scout's Hut": [
"Who Lake's South Shore - MM Blueprint on Bridge to Scout's Hut": [
[]
],
"MM Blueprint - South Shore - Tent near Porcupine": [
"Who Lake's South Shore - MM Blueprint across from Tent near Porcupine": [
[]
],
"MM Blueprint - South Shore - Near Outhouse": [
"Who Lake's South Shore - MM Blueprint near Outhouse": [
[]
],
"MM Blueprint - South Shore - Near Hill Bridge": [
"Who Lake's South Shore - MM Blueprint near Hill Bridge": [
[]
],
"MM Blueprint - South Shore - Scout's Hut Roof": [
"Who Lake's South Shore - MM Blueprint on Scout's Hut Roof": [
["Rocket Spring"],
["Grinch Copter"]
],
"MM Blueprint - South Shore - Grass Platform": [
"Who Lake's South Shore - MM Blueprint on Grass Platform": [
["Rocket Spring"],
["Grinch Copter"]
],
"MM Blueprint - South Shore - Zipline by Beast": [
"Who Lake's South Shore - MM Blueprint across Zipline Platform": [
["Rocket Spring", "Octopus Climbing Device"],
["Grinch Copter"]
],
"MM Blueprint - South Shore - Behind Summer Beast": [
"Who Lake's South Shore - MM Blueprint behind Summer Beast": [
["Rotten Egg Launcher", "Octopus Climbing Device"],
["Grinch Copter"]
],
"MM Blueprint - South Shore - Below Bridge": [
"Who Lake's North Shore - MM Blueprint below Bridge": [
[]
],
"MM Blueprint - North Shore - Below Bridge": [
"Who Lake's North Shore - MM Blueprint behind Skunk Hut": [
[]
],
"MM Blueprint - North Shore - Behind Skunk Hut": [
[]
],
"MM Blueprint - North Shore - Inside Skunk Hut": [
"Who Lake's North Shore - MM Blueprint inside Skunk Hut": [
[]
# ["Max"]
],
"MM Blueprint - North Shore - Fenced in Area": [
"Who Lake's North Shore - MM Blueprint inside House's Fence": [
[]
# ["Max"]
],
"MM Blueprint - North Shore - Boulder Box near Bridge": [
"Who Lake's North Shore - MM Blueprint inside Boulder Box near Bridge": [
[]
],
"MM Blueprint - North Shore - Boulder Box behind Skunk Hut": [
"Who Lake's North Shore - MM Blueprint inside Boulder Box behind Skunk Hut": [
[]
],
"MM Blueprint - North Shore - Inside Drill House": [
"Who Lake's North Shore - MM Blueprint inside Drill House": [
[]
],
"MM Blueprint - North Shore - Crow Platform near Drill House": [
"Who Lake's North Shore - MM Blueprint on Crow Platform near Drill House": [
[]
],
"GC Blueprint - Whoville City Hall - Safe Room": [
"Whoville's City Hall - GC Blueprint in Safe Room": [
[]
],
"GC Blueprint - Whoville City Hall - Statue Room": [
"Whoville's City Hall - GC Blueprint in Statue Room": [
[]
],
"GC Blueprint - Whoville Clock Tower - Before Bells": [
"Whoville's Clock Tower - GC Blueprint in Bedroom": [
["Rocket Spring"]
# ["Max", "Rocket Spring"]
],
"GC Blueprint - Whoville Clock Tower - After Bells": [
"Whoville's Clock Tower - GC Blueprint in Bell Room": [
["Rocket Spring"]
],
"GC Blueprint - Who Forest Ski Resort - Inside Dog's Fence": [
"Who Forest's Ski Resort - GC Blueprint inside Dog's Fence": [
[]
],
"GC Blueprint - Who Forest Ski Resort - Max Cave": [
"Who Forest's Ski Resort - GC Blueprint in Max Cave": [
[]
# ["Max"]
],
"GC Blueprint - Who Forest Civic Center - Climb across Bat Cave wall": [
"Who Forest's Civic Center - GC Blueprint on Left Side in Bat Cave Wall": [
["Grinch Copter"],
["Octopus Climbing Device", "Rocket Spring"]
],
"GC Blueprint - Who Forest Civic Center - Shoot Icicle in Bat Entrance": [
"Who Forest's Civic Center - GC Blueprint in Frozen Ice": [
["Rotten Egg Launcher", "Grinch Copter"],
["Rotten Egg Launcher", "Octopus Climbing Device", "Rocket Spring"],
["Slime Shooter", "Grinch Copter"],
["Slime Shooter", "Octopus Climbing Device", "Rocket Spring"]
],
"GC Blueprint - Who Dump Power Plant - Max Cave": [
"Who Dump's Power Plant - GC Blueprint in Max Cave": [
[]
# ["Max"]
],
"GC Blueprint - Who Dump Power Plant - After First Gate": [
"Who Dump's Power Plant - GC Blueprint After First Gate": [
["Rotten Egg Launcher", "Rocket Spring"],
["Grinch Copter"]
# ["Max", "Rotten Egg Launcher", "Rocket Spring"]
],
"GC Blueprint - Who Dump Generator Building - Before Mission": [
"Who Dump's Generator Building - GC Blueprint on the Highest Platform": [
["Rotten Egg Launcher", "Grinch Copter"],
["Rotten Egg Launcher", "Octopus Climbing Device", "Slime Shooter", "Rocket Spring"]
],
"GC Blueprint - Who Dump Generator Building - After Mission": [
"Who Dump's Generator Building - GC Blueprint at the Entrance after Mission Completion": [
["Rotten Egg Launcher", "Grinch Copter"],
["Rotten Egg Launcher", "Octopus Climbing Device", "Slime Shooter", "Rocket Spring"]
],
"GC Blueprint - Who Lake South Shore - Submarine World - Above Surface": [
"Who Lake's Submarine World - GC Blueprint Just Below Water Surface": [
["Marine Mobile"]
],
"GC Blueprint - Who Lake South Shore - Submarine World - Underwater": [
"Who Lake's Submarine World - GC Blueprint Underwater": [
["Marine Mobile"]
],
"GC Blueprint - Who Lake North Shore - Mayor's Villa - Tree Branch": [
"Who Lake's Mayor's Villa - GC Blueprint on Tree Branch": [
["Grinch Copter"],
["Rotten Egg Launcher", "Rocket Spring"]
],
"GC Blueprint - Who Lake North Shore - Mayor's Villa - Cave": [
"Who Lake's Mayor's Villa - GC Blueprint in Pirate's Cave": [
["Grinch Copter"],
["Rotten Egg Launcher", "Rocket Spring"]
],
"Stealing All Gifts": [
"Mount Crumpit's Sleigh Ride - Stealing All Gifts": [
# ["Exhaust Pipes", "Tires", "Skis", "Twin-End Tuba"]
["Rotten Egg Launcher", "Who Forest Vacuum Tube", "Who Dump Vacuum Tube", "Who Lake Vacuum Tube", "Rocket Spring", "Marine Mobile"]
],
"Neutralizing Santa": [
"Mount Crumpit's Sleigh Ride - Neutralizing Santa": [
# ["Exhaust Pipes", "Tires", "Skis", "Twin-End Tuba"]
["Rotten Egg Launcher", "Who Forest Vacuum Tube", "Who Dump Vacuum Tube", "Who Lake Vacuum Tube", "Rocket Spring", "Marine Mobile"]
],
"Heart of Stone - Whoville's Post Office": [
"Whoville's Post Office - Heart of Stone": [
[]
],
"Heart of Stone - Who Forest's Ski Resort": [
"Who Forest's Ski Resort - Heart of Stone": [
[]
],
"Heart of Stone - Who Dump's Minefield": [
"Who Dump's Minefield - Heart of Stone": [
["Grinch Copter"],
["Rotten Egg Launcher", "Slime Shooter", "Rocket Spring"]
],
"Heart of Stone - Who Lake's North Shore": [
"Who Lake's North Shore - Heart of Stone": [
[]
# ["Max"]
],
@@ -480,34 +477,34 @@ rules_dict: dict[str,list[list[str]]] = {
"Bike Race - Top 3": [
[]
],
"Exhaust Pipes in Whoville": [
"Whoville - Exhaust Pipes": [
["Rotten Egg Launcher"]
],
"Skis in Who Forest": [
"Who Forest - Skis": [
["Who Forest Vacuum Tube"]
],
"Tires in Who Dump": [
"Who Dump - Tires": [
["Who Dump Vacuum Tube", "Rocket Spring", "Rotten Egg Launcher"]
],
"Twin-End Tuba in Submarine World": [
"Who Lake's Submarine World - Twin-End Tuba": [
["Who Lake Vacuum Tube", "Marine Mobile"]
],
"GPS in Who Lake": [
"Who Lake's South Shore - GPS": [
["Who Lake Vacuum Tube", "Rotten Egg Launcher"]
],
"1st Crate Squashed": [
"Mount Crumpit - 1st Crate Squashed": [
[]
],
"2nd Crate Squashed": [
"Mount Crumpit - 2nd Crate Squashed": [
[]
],
"3rd Crate Squashed": [
"Mount Crumpit - 3rd Crate Squashed": [
[]
],
"4th Crate Squashed": [
"Mount Crumpit - 4th Crate Squashed": [
[]
],
"5th Crate Squashed": [
"Mount Crumpit - 5th Crate Squashed": [
[]
]
# "Green Present": [
@@ -537,7 +534,7 @@ access_rules_dict: dict[str,list[list[str]]] = {
"City Hall": [
["Rotten Egg Launcher"]
],
"Countdown to X-Mas Clock Tower": [
"Clock Tower": [
[]
],
"Who Forest": [
@@ -588,17 +585,17 @@ access_rules_dict: dict[str,list[list[str]]] = {
"Sleigh Room": [
["Sleigh Room Key"]
],
"Spin N' Win Supadow": [
"Spin N' Win": [
[]
# ["Spin N' Win Door Unlock"],
# ["Progressive Supadow Door Unlock"]
],
"Dankamania Supadow": [
"Dankamania": [
[]
# ["Dankamania Door Unlock"],
# ["Progressive Supadow Door Unlock: 2"]
],
"The Copter Race Contest Supadow": [
"The Copter Race Contest": [
[]
# ["The Copter Race Contest Door Unlock"],
# ["Progressive Supadow Door Unlock: 3"]

View File

@@ -41,8 +41,8 @@ class GrinchWorld(World):
for location, data in grinch_locations.items():
region = self.get_region(data.region)
entry = GrinchLocation(self.player, location, region, data)
if location == "Neutralizing Santa":
entry.place_locked_item(Item("Goal", ItemClassification.progression, None, self.player))
if location == "Mount Crumpit's Sleigh Ride - Neutralizing Santa":
entry.place_locked_item(Item("Neutralized", ItemClassification.progression, None, self.player))
region.locations.append(entry)
connect_regions(self)
@@ -67,7 +67,7 @@ class GrinchWorld(World):
self.multiworld.itempool += self_itempool
def set_rules(self):
self.multiworld.completion_condition[self.player] = lambda state: state.has("Goal", self.player)
self.multiworld.completion_condition[self.player] = lambda state: state.has("Neutralized", self.player)
set_location_rules(self)
def get_other_filler_item(self, other_filler: list[str]) -> str: