diff --git a/worlds/grinch/Items.py b/worlds/grinch/Items.py index b11e6cbb..9655d61a 100644 --- a/worlds/grinch/Items.py +++ b/worlds/grinch/Items.py @@ -170,8 +170,8 @@ TRAPS_TABLE: dict[str, GrinchItemData] = { # "Tip Toe Trap": GrinchItemData("Traps", 603, IC.trap, [GrinchRamData()]), #alias to Slowness Trap for traplink "Damage Trap": GrinchItemData("Traps", 604, IC.trap, [GrinchRamData(0x800E8FDC, value=20)]), "Depletion Trap": GrinchItemData("Traps", 605, IC.trap, [GrinchRamData(0x80010058, value=0)]), - "Dump it to Crumpit": GrinchItemData("Traps", 606, IC.trap, #Alias to Home Trap for traplink - [GrinchRamData(0x80010000, value=0x05), GrinchRamData(0x8008FB94, value=1)]), + # "Dump it to Crumpit": GrinchItemData("Traps", 606, IC.trap, #Alias to Home Trap for traplink + # [GrinchRamData(0x80010000, value=0x05), GrinchRamData(0x8008FB94, value=1)]), # "Rocket Spring Trap": GrinchItemData("Traps", 607, IC.trap, [GrinchRamData()]), #alias to Spring Trap for traplink "Who sent me here?": GrinchItemData("Traps", 608, IC.trap, [GrinchRamData(0x8008FB94, value=1)]), #alias to Home Trap for traplink # "Cutscene Trap": GrinchItemData("Traps", 609, IC.trap, [GrinchRamData()]), diff --git a/worlds/grinch/Locations.py b/worlds/grinch/Locations.py index 8777e92c..73f9f6b8 100644 --- a/worlds/grinch/Locations.py +++ b/worlds/grinch/Locations.py @@ -55,14 +55,14 @@ grinch_locations = { "Launching Eggs Into Houses": GrinchLocationData("Whoville", "Whoville Missions", 203, [GrinchRamData(0x800100C7, value=10)]), "Modifying The Mayor's Statue": GrinchLocationData("City Hall", "Whoville Missions", 204, [GrinchRamData(0x800100BE, binary_bit_pos=2)]), "Advancing The Countdown-To-Xmas Clock": GrinchLocationData("Countdown to X-Mas Clock Tower", "Whoville Missions", 205, [GrinchRamData(0x800100BE, binary_bit_pos=3)]), - # "Squashing All Gifts in Whoville": GrinchLocationData("Whoville", "Whoville Missions", 206, [GrinchRamData(0x8001005C, value=500)]), + "Squashing All Gifts in Whoville": GrinchLocationData("Whoville", "Whoville Missions", 206, [GrinchRamData(0x8001005C, value=500)]), #Who Forest Missions "Making Xmas Trees Droop": GrinchLocationData("Who Forest", "Who Forest Missions", 300, [GrinchRamData(0x800100C8, value=10)]), "Sabotaging Snow Cannon With Glue": GrinchLocationData("Who Forest", "Who Forest Missions", 301, [GrinchRamData(0x800100BE, binary_bit_pos=4)]), "Putting Beehives In Cabins": GrinchLocationData("Who Forest", "Who Forest Missions", 302, [GrinchRamData(0x800100CA, value=10)]), "Sliming The Mayor's Skis": GrinchLocationData("Ski Resort", "Who Forest Missions", 303, [GrinchRamData(0x800100BE, binary_bit_pos=5)]), "Replacing The Candles On The Cake With Fireworks": GrinchLocationData("Civic Center", "Who Forest Missions", 304, [GrinchRamData(0x800100BE, binary_bit_pos=6)]), - # "Squashing All Gifts in Who Forest": GrinchLocationData("Who Forest", "Who Forest Missions", 305, [GrinchRamData(0x8001005E, value=750)]), + "Squashing All Gifts in Who Forest": GrinchLocationData("Who Forest", "Who Forest Missions", 305, [GrinchRamData(0x8001005E, value=750)]), #Who Dump Missions "Stealing Food From Birds": GrinchLocationData("Who Dump", "Who Dump Missions", 400, [GrinchRamData(0x800100CB, value=10)]), "Feeding The Computer With Robot Parts": GrinchLocationData("Who Dump", "Who Dump Missions", 401, [GrinchRamData(0x800100BF, binary_bit_pos=3)]), @@ -70,14 +70,14 @@ grinch_locations = { "Conducting The Stinky Gas To Who-Bris' Shack": GrinchLocationData("Who Dump", "Who Dump Missions", 403, [GrinchRamData(0x800100BE, binary_bit_pos=8)]), "Shaving Who Dump Guardian": GrinchLocationData("Minefield", "Who Dump Missions", 404, [GrinchRamData(0x800100BF, binary_bit_pos=1)]), "Short-Circuiting Power-Plant": GrinchLocationData("Generator Building", "Who Dump Missions", 405, [GrinchRamData(0x800100BF, binary_bit_pos=2)]), - # "Squashing All Gifts in Who Dump": GrinchLocationData("Who Dump", "Who Dump Missions", 406, [GrinchRamData(0x80010060, value=750)]), + "Squashing All Gifts in Who Dump": GrinchLocationData("Who Dump", "Who Dump Missions", 406, [GrinchRamData(0x80010060, value=750)]), #Who Lake Missions "Putting Thistles In Shorts": GrinchLocationData("Who Lake", "Who Lake Missions", 500, [GrinchRamData(0x800100E6, value=10)]), "Sabotaging The Tents": GrinchLocationData("Who Lake", "Who Lake Missions", 501, [GrinchRamData(0x800100E5, value=10)]), "Drilling Holes In Canoes": GrinchLocationData("North Shore", "Who Lake Missions", 502, [GrinchRamData(0x800100EE, value=10)]), "Modifying The Marine Mobile": GrinchLocationData("Submarine World", "Who Lake Missions", 503, [GrinchRamData(0x800100BF, binary_bit_pos=5)]), "Hooking The Mayor's Bed To The Motorboat": GrinchLocationData("Mayor's Villa", "Who Lake Missions", 504, [GrinchRamData(0x800100BF, binary_bit_pos=4)]), - # "Squashing All Gifts in Who Lake": GrinchLocationData("Who Lake", "Who Lake Missions", 505, [GrinchRamData(0x80010062, value=1000)]), + "Squashing All Gifts in Who Lake": GrinchLocationData("Who Lake", "Who Lake Missions", 505, [GrinchRamData(0x80010062, value=1000)]), #Need to find binary values for individual blueprints, but all ram addresses are found #Blueprints #Binoculars Blueprints @@ -86,74 +86,74 @@ grinch_locations = { "Binoculars Blueprint - City Hall Library - Front Side": GrinchLocationData("City Hall", "Binocular Blueprints", 602, [GrinchRamData(0x8001020B, binary_bit_pos=6)]), "Binoculars Blueprint - City Hall Library - Right Side": GrinchLocationData("City Hall", "Binocular Blueprints", 603, [GrinchRamData(0x8001020B, binary_bit_pos=5)]), #Rotten Egg Launcher Blueprints - "Rotten Egg Launcher Blueprint - Outside City Hall": GrinchLocationData("Whoville", "Rotten Egg Launcher Blueprints", 700, [GrinchRamData(0x8001020B, binary_bit_pos=1)]), - "Rotten Egg Launcher Blueprint - Outside Clock Tower": GrinchLocationData("Whoville", "Rotten Egg Launcher Blueprints", 701, [GrinchRamData(0x8001020B, binary_bit_pos=2)]), - "Rotten Egg Launcher Blueprint - Post Office - Front of Silver Door": GrinchLocationData("Post Office", "Rotten Egg Launcher Blueprints", 702, [GrinchRamData(0x8001021C, binary_bit_pos=2)]), - "Rotten Egg Launcher Blueprint - Post Office - After Mission Completion": GrinchLocationData("Post Office", "Rotten Egg Launcher Blueprints", 703, [GrinchRamData(0x8001021C, binary_bit_pos=3)]), + "REL Blueprint - Outside City Hall": GrinchLocationData("Whoville", "Rotten Egg Launcher Blueprints", 700, [GrinchRamData(0x8001020B, binary_bit_pos=1)]), + "REL Blueprint - Outside Clock Tower": GrinchLocationData("Whoville", "Rotten Egg Launcher Blueprints", 701, [GrinchRamData(0x8001020B, binary_bit_pos=2)]), + "REL Blueprint - Post Office - Front of Silver Door": GrinchLocationData("Post Office", "Rotten Egg Launcher Blueprints", 702, [GrinchRamData(0x8001021C, binary_bit_pos=2)]), + "REL Blueprint - Post Office - After Mission Completion": GrinchLocationData("Post Office", "Rotten Egg Launcher Blueprints", 703, [GrinchRamData(0x8001021C, binary_bit_pos=3)]), #Rocket Spring Blueprints - "Rocket Spring Blueprint - Behind Vacuum": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 800, [GrinchRamData(0x80010243, binary_bit_pos=4)]), - "Rocket Spring Blueprint - Front of 2nd House near entrance": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 801, [GrinchRamData(0x80010243, binary_bit_pos=2)]), - "Rocket Spring Blueprint - Near Tree House on Ground": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 802, [GrinchRamData(0x80010243, binary_bit_pos=5)]), - "Rocket Spring Blueprint - Near Cable Car House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 804, [GrinchRamData(0x80010242, binary_bit_pos=8)]), - "Rocket Spring Blueprint - Near Who Snowball in Cave": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 805, [GrinchRamData(0x80010242, binary_bit_pos=7)]), - "Rocket Spring Blueprint - Branch Platform Closest to Glue Cannon": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 806, [GrinchRamData(0x80010243, binary_bit_pos=3)]), - "Rocket Spring Blueprint - Branch Platform Near Beast": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 807, [GrinchRamData(0x80010243, binary_bit_pos=1)]), - "Rocket Spring Blueprint - Branch Platform Ledge Grab House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 808, [GrinchRamData(0x80010243, binary_bit_pos=7)]), - "Rocket Spring Blueprint - On Tree House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 809, [GrinchRamData(0x80010243, binary_bit_pos=6)]), + "RS Blueprint - Behind Vacuum": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 800, [GrinchRamData(0x80010243, binary_bit_pos=4)]), + "RS Blueprint - Front of 2nd House near entrance": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 801, [GrinchRamData(0x80010243, binary_bit_pos=2)]), + "RS Blueprint - Near Tree House on Ground": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 802, [GrinchRamData(0x80010243, binary_bit_pos=5)]), + "RS Blueprint - Near Cable Car House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 804, [GrinchRamData(0x80010242, binary_bit_pos=8)]), + "RS Blueprint - Near Who Snowball in Cave": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 805, [GrinchRamData(0x80010242, binary_bit_pos=7)]), + "RS Blueprint - Branch Platform Closest to Glue Cannon": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 806, [GrinchRamData(0x80010243, binary_bit_pos=3)]), + "RS Blueprint - Branch Platform Near Beast": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 807, [GrinchRamData(0x80010243, binary_bit_pos=1)]), + "RS Blueprint - Branch Platform Ledge Grab House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 808, [GrinchRamData(0x80010243, binary_bit_pos=7)]), + "RS Blueprint - On Tree House": GrinchLocationData("Who Forest", "Rocket Spring Blueprints", 809, [GrinchRamData(0x80010243, binary_bit_pos=6)]), #Slime Shooter Blueprints - "Slime Shooter Blueprint - Branch Platform Elevated House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 900, [GrinchRamData(0x80010244, binary_bit_pos=4)]), - "Slime Shooter Blueprint - Branch Platform House next to Beast": GrinchLocationData("Who Forest", "Slime Shooter Blueprint", 901, [GrinchRamData(0x80010243, binary_bit_pos=8)]), - "Slime Shooter Blueprint - House near Civic Center Cave": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 902, [GrinchRamData(0x80010244, binary_bit_pos=3)]), - "Slime Shooter Blueprint - House next to Tree House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 903, [GrinchRamData(0x80010244, binary_bit_pos=2)]), - "Slime Shooter Blueprint - House across from Tree House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 904, [GrinchRamData(0x80010244, binary_bit_pos=6)]), - "Slime Shooter Blueprint - 2nd House near entrance right side": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 905, [GrinchRamData(0x80010244, binary_bit_pos=5)]), - "Slime Shooter Blueprint - 2nd House near entrance left side": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 906, [GrinchRamData(0x80010244, binary_bit_pos=8)]), - "Slime Shooter Blueprint - 2nd House near entrance inbetween blueprints": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 907, [GrinchRamData(0x80010244, binary_bit_pos=7)]), - "Slime Shooter Blueprint - House near entrance": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 908, [GrinchRamData(0x80010244, binary_bit_pos=1)]), + "SS Blueprint - Branch Platform Elevated House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 900, [GrinchRamData(0x80010244, binary_bit_pos=4)]), + "SS Blueprint - Branch Platform House next to Beast": GrinchLocationData("Who Forest", "Slime Shooter Blueprint", 901, [GrinchRamData(0x80010243, binary_bit_pos=8)]), + "SS Blueprint - House near Civic Center Cave": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 902, [GrinchRamData(0x80010244, binary_bit_pos=3)]), + "SS Blueprint - House next to Tree House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 903, [GrinchRamData(0x80010244, binary_bit_pos=2)]), + "SS Blueprint - House across from Tree House": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 904, [GrinchRamData(0x80010244, binary_bit_pos=6)]), + "SS Blueprint - 2nd House near entrance right side": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 905, [GrinchRamData(0x80010244, binary_bit_pos=5)]), + "SS Blueprint - 2nd House near entrance left side": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 906, [GrinchRamData(0x80010244, binary_bit_pos=8)]), + "SS Blueprint - 2nd House near entrance inbetween blueprints": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 907, [GrinchRamData(0x80010244, binary_bit_pos=7)]), + "SS Blueprint - House near entrance": GrinchLocationData("Who Forest", "Slime Shooter Blueprints", 908, [GrinchRamData(0x80010244, binary_bit_pos=1)]), #Octopus Climbing Device - "Octopus Climbing Device Blueprint - Middle Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1001, [GrinchRamData(0x80010252, binary_bit_pos=4)]), - "Octopus Climbing Device Blueprint - Right Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1002, [GrinchRamData(0x80010252, binary_bit_pos=6)]), - "Octopus Climbing Device Blueprint - Mayor's House Rat Vent": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1003, [GrinchRamData(0x80010252, binary_bit_pos=2)]), - "Octopus Climbing Device Blueprint - Left Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1004, [GrinchRamData(0x80010252, binary_bit_pos=5)]), - "Octopus Climbing Device Blueprint - Near Power Plant Wall on right side": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1005, [GrinchRamData(0x80010252, binary_bit_pos=1)]), - "Octopus Climbing Device Blueprint - Near Who-Bris' Shack": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1006, [GrinchRamData(0x80010252, binary_bit_pos=3)]), - "Octopus Climbing Device Blueprint - Guardian's House - Left Side": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1007, [GrinchRamData(0x8001026E, binary_bit_pos=3)]), - "Octopus Climbing Device Blueprint - Guardian's House - Right Side": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1008, [GrinchRamData(0x8001026E, binary_bit_pos=5)]), - "Octopus Climbing Device Blueprint - Inside Guardian's House": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1009, [GrinchRamData(0x8001026E, binary_bit_pos=3)]), + "OCD Blueprint - Middle Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1001, [GrinchRamData(0x80010252, binary_bit_pos=4)]), + "OCD Blueprint - Right Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1002, [GrinchRamData(0x80010252, binary_bit_pos=6)]), + "OCD Blueprint - Mayor's House Rat Vent": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1003, [GrinchRamData(0x80010252, binary_bit_pos=2)]), + "OCD Blueprint - Left Pipe": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1004, [GrinchRamData(0x80010252, binary_bit_pos=5)]), + "OCD Blueprint - Near Power Plant Wall on right side": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1005, [GrinchRamData(0x80010252, binary_bit_pos=1)]), + "OCD Blueprint - Near Who-Bris' Shack": GrinchLocationData("Who Dump", "Octopus Climbing Device Blueprints", 1006, [GrinchRamData(0x80010252, binary_bit_pos=3)]), + "OCD Blueprint - Guardian's House - Left Side": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1007, [GrinchRamData(0x8001026E, binary_bit_pos=3)]), + "OCD Blueprint - Guardian's House - Right Side": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1008, [GrinchRamData(0x8001026E, binary_bit_pos=5)]), + "OCD Blueprint - Inside Guardian's House": GrinchLocationData("Minefield", "Octopus Climbing Device Blueprints", 1009, [GrinchRamData(0x8001026E, binary_bit_pos=3)]), #Marine Mobile Blueprints - "Marine Mobile Blueprint - South Shore - Bridge to Scout's Hut": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1100, [GrinchRamData(0x80010281, binary_bit_pos=6)]), - "Marine Mobile Blueprint - South Shore - Tent near Porcupine": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1101, [GrinchRamData(0x80010281, binary_bit_pos=7)]), - "Marine Mobile Blueprint - South Shore - Near Outhouse": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1102, [GrinchRamData(0x80010281, binary_bit_pos=8)]), - "Marine Mobile Blueprint - South Shore - Near Hill Bridge": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1103, [GrinchRamData(0x80010282, binary_bit_pos=1)]), - "Marine Mobile Blueprint - South Shore - Scout's Hut Roof": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1104, [GrinchRamData(0x80010281, binary_bit_pos=5)]), - "Marine Mobile Blueprint - South Shore - Grass Platform": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1105, [GrinchRamData(0x80010281, binary_bit_pos=3)]), - "Marine Mobile Blueprint - South Shore - Zipline by Beast": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1106, [GrinchRamData(0x80010281, binary_bit_pos=4)]), - "Marine Mobile Blueprint - South Shore - Behind Summer Beast": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1107, [GrinchRamData(0x80010282, binary_bit_pos=2)]), - "Marine Mobile Blueprint - North Shore - Below Bridge": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1108, [GrinchRamData(0x80010293, binary_bit_pos=1)]), - "Marine Mobile Blueprint - North Shore - Behind Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1109, [GrinchRamData(0x80010293, binary_bit_pos=3)]), - "Marine Mobile Blueprint - North Shore - Inside Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1110, [GrinchRamData(0x80010292, binary_bit_pos=7)]), - "Marine Mobile Blueprint - North Shore - Fenced in Area": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1111, [GrinchRamData(0x80010292, binary_bit_pos=8)]), - "Marine Mobile Blueprint - North Shore - Boulder Box near Bridge": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1112, [GrinchRamData(0x80010293, binary_bit_pos=4)]), - "Marine Mobile Blueprint - North Shore - Boulder Box behind Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1113, [GrinchRamData(0x80010293, binary_bit_pos=5)]), - "Marine Mobile Blueprint - North Shore - Inside Drill House": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1114, [GrinchRamData(0x80010292, binary_bit_pos=6)]), - "Marine Mobile Blueprint - North Shore - Crow Platform near Drill House": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1115, [GrinchRamData(0x80010293, binary_bit_pos=2)]), + "MM Blueprint - South Shore - Bridge to Scout's Hut": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1100, [GrinchRamData(0x80010281, binary_bit_pos=6)]), + "MM Blueprint - South Shore - Tent near Porcupine": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1101, [GrinchRamData(0x80010281, binary_bit_pos=7)]), + "MM Blueprint - South Shore - Near Outhouse": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1102, [GrinchRamData(0x80010281, binary_bit_pos=8)]), + "MM Blueprint - South Shore - Near Hill Bridge": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1103, [GrinchRamData(0x80010282, binary_bit_pos=1)]), + "MM Blueprint - South Shore - Scout's Hut Roof": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1104, [GrinchRamData(0x80010281, binary_bit_pos=5)]), + "MM Blueprint - South Shore - Grass Platform": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1105, [GrinchRamData(0x80010281, binary_bit_pos=3)]), + "MM Blueprint - South Shore - Zipline by Beast": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1106, [GrinchRamData(0x80010281, binary_bit_pos=4)]), + "MM Blueprint - South Shore - Behind Summer Beast": GrinchLocationData("Who Lake", "Marine Mobile Blueprints", 1107, [GrinchRamData(0x80010282, binary_bit_pos=2)]), + "MM Blueprint - North Shore - Below Bridge": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1108, [GrinchRamData(0x80010293, binary_bit_pos=1)]), + "MM Blueprint - North Shore - Behind Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1109, [GrinchRamData(0x80010293, binary_bit_pos=3)]), + "MM Blueprint - North Shore - Inside Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1110, [GrinchRamData(0x80010292, binary_bit_pos=7)]), + "MM Blueprint - North Shore - Fenced in Area": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1111, [GrinchRamData(0x80010292, binary_bit_pos=8)]), + "MM Blueprint - North Shore - Boulder Box near Bridge": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1112, [GrinchRamData(0x80010293, binary_bit_pos=4)]), + "MM Blueprint - North Shore - Boulder Box behind Skunk Hut": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1113, [GrinchRamData(0x80010293, binary_bit_pos=5)]), + "MM Blueprint - North Shore - Inside Drill House": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1114, [GrinchRamData(0x80010292, binary_bit_pos=6)]), + "MM Blueprint - North Shore - Crow Platform near Drill House": GrinchLocationData("North Shore", "Marine Mobile Blueprints", 1115, [GrinchRamData(0x80010293, binary_bit_pos=2)]), #Grinch Copter Blueprints - "Grinch Copter Blueprint - Whoville City Hall - Safe Room": GrinchLocationData("City Hall", "Grinch Copter Blueprints", 1200, [GrinchRamData(0x8001020B, binary_bit_pos=8)]), - "Grinch Copter Blueprint - Whoville City Hall - Statue Room": GrinchLocationData("City Hall", "Grinch Copter Blueprints", 1201, [GrinchRamData(0x80010220, binary_bit_pos=1)]), - "Grinch Copter Blueprint - Whoville Clock Tower - Before Bells": GrinchLocationData("Countdown to X-Mas Clock Tower", "Grinch Copter Blueprints", 1202, [GrinchRamData(0x80010265, binary_bit_pos=4)]), - "Grinch Copter Blueprint - Whoville Clock Tower - After Bells": GrinchLocationData("Countdown to X-Mas Clock Tower", "Grinch Copter Blueprints", 1203, [GrinchRamData(0x80010265, binary_bit_pos=3)]), - "Grinch Copter Blueprint - Who Forest Ski Resort - Inside Dog's Fence": GrinchLocationData("Ski Resort", "Grinch Copter Blueprints", 1204, [GrinchRamData(0x80010234, binary_bit_pos=8)]), - "Grinch Copter Blueprint - Who Forest Ski Resort - Max Cave": GrinchLocationData("Ski Resort", "Grinch Copter Blueprints", 1205, [GrinchRamData(0x80010234, binary_bit_pos=7)]), - "Grinch Copter Blueprint - Who Forest Civic Center - Climb across Bat Cave wall": GrinchLocationData("Civic Center", "Grinch Copter Blueprints", 1206, [GrinchRamData(0x8001022A, binary_bit_pos=8)]), - "Grinch Copter Blueprint - Who Forest Civic Center - Shoot Icicle in Bat Entrance": GrinchLocationData("Civic Center", "Grinch Copter Blueprints", 1207, [GrinchRamData(0x8001022B, binary_bit_pos=1)]), - "Grinch Copter Blueprint - Who Dump Power Plant - Max Cave": GrinchLocationData("Power Plant", "Grinch Copter Blueprints", 1208, [GrinchRamData(0x80010265, binary_bit_pos=2)]), - "Grinch Copter Blueprint - Who Dump Power Plant - After First Gate": GrinchLocationData("Power Plant", "Grinch Copter Blueprints", 1209, [GrinchRamData(0x80010265, binary_bit_pos=3)]), - "Grinch Copter Blueprint - Who Dump Generator Building - Before Mission": GrinchLocationData("Generator Building", "Grinch Copter Blueprints", 1210, [GrinchRamData(0x8001026B, binary_bit_pos=1)]), - "Grinch Copter Blueprint - Who Dump Generator Building - After Mission": GrinchLocationData("Generator Building", "Grinch Copter Blueprints", 1211, [GrinchRamData(0x8001026B, binary_bit_pos=2)]), - "Grinch Copter Blueprint - Who Lake South Shore - Submarine World - Above Surface": GrinchLocationData("Submarine World", "Grinch Copter Blueprints", 1212, [GrinchRamData(0x80010289, binary_bit_pos=4)]), - "Grinch Copter Blueprint - Who Lake South Shore - Submarine World - Underwater": GrinchLocationData("Submarine World", "Grinch Copter Blueprints", 1213, [GrinchRamData(0x80010289, binary_bit_pos=5)]), - "Grinch Copter Blueprint - Who Lake North Shore - Mayor's Villa - Tree Branch": GrinchLocationData("Mayor's Villa", "Grinch Copter Blueprints", 1214, [GrinchRamData(0x80010275, binary_bit_pos=8)]), - "Grinch Copter Blueprint - Who Lake North Shore - Mayor's Villa - Cave": GrinchLocationData("Mayor's Villa", "Grinch Copter Blueprints", 1215, [GrinchRamData(0x80010275, binary_bit_pos=7)]), + "GC Blueprint - Whoville City Hall - Safe Room": GrinchLocationData("City Hall", "Grinch Copter Blueprints", 1200, [GrinchRamData(0x8001020B, binary_bit_pos=8)]), + "GC Blueprint - Whoville City Hall - Statue Room": GrinchLocationData("City Hall", "Grinch Copter Blueprints", 1201, [GrinchRamData(0x80010220, binary_bit_pos=1)]), + "GC Blueprint - Whoville Clock Tower - Before Bells": GrinchLocationData("Countdown to X-Mas Clock Tower", "Grinch Copter Blueprints", 1202, [GrinchRamData(0x80010265, binary_bit_pos=4)]), + "GC Blueprint - Whoville Clock Tower - After Bells": GrinchLocationData("Countdown to X-Mas Clock Tower", "Grinch Copter Blueprints", 1203, [GrinchRamData(0x80010265, binary_bit_pos=3)]), + "GC Blueprint - Who Forest Ski Resort - Inside Dog's Fence": GrinchLocationData("Ski Resort", "Grinch Copter Blueprints", 1204, [GrinchRamData(0x80010234, binary_bit_pos=8)]), + "GC Blueprint - Who Forest Ski Resort - Max Cave": GrinchLocationData("Ski Resort", "Grinch Copter Blueprints", 1205, [GrinchRamData(0x80010234, binary_bit_pos=7)]), + "GC Blueprint - Who Forest Civic Center - Climb across Bat Cave wall": GrinchLocationData("Civic Center", "Grinch Copter Blueprints", 1206, [GrinchRamData(0x8001022A, binary_bit_pos=8)]), + "GC Blueprint - Who Forest Civic Center - Shoot Icicle in Bat Entrance": GrinchLocationData("Civic Center", "Grinch Copter Blueprints", 1207, [GrinchRamData(0x8001022B, binary_bit_pos=1)]), + "GC Blueprint - Who Dump Power Plant - Max Cave": GrinchLocationData("Power Plant", "Grinch Copter Blueprints", 1208, [GrinchRamData(0x80010265, binary_bit_pos=2)]), + "GC Blueprint - Who Dump Power Plant - After First Gate": GrinchLocationData("Power Plant", "Grinch Copter Blueprints", 1209, [GrinchRamData(0x80010265, binary_bit_pos=3)]), + "GC Blueprint - Who Dump Generator Building - Before Mission": GrinchLocationData("Generator Building", "Grinch Copter Blueprints", 1210, [GrinchRamData(0x8001026B, binary_bit_pos=1)]), + "GC Blueprint - Who Dump Generator Building - After Mission": GrinchLocationData("Generator Building", "Grinch Copter Blueprints", 1211, [GrinchRamData(0x8001026B, binary_bit_pos=2)]), + "GC Blueprint - Who Lake South Shore - Submarine World - Above Surface": GrinchLocationData("Submarine World", "Grinch Copter Blueprints", 1212, [GrinchRamData(0x80010289, binary_bit_pos=4)]), + "GC Blueprint - Who Lake South Shore - Submarine World - Underwater": GrinchLocationData("Submarine World", "Grinch Copter Blueprints", 1213, [GrinchRamData(0x80010289, binary_bit_pos=5)]), + "GC Blueprint - Who Lake North Shore - Mayor's Villa - Tree Branch": GrinchLocationData("Mayor's Villa", "Grinch Copter Blueprints", 1214, [GrinchRamData(0x80010275, binary_bit_pos=8)]), + "GC Blueprint - Who Lake North Shore - Mayor's Villa - Cave": GrinchLocationData("Mayor's Villa", "Grinch Copter Blueprints", 1215, [GrinchRamData(0x80010275, binary_bit_pos=7)]), #Sleigh Room Locations "Stealing All Gifts": GrinchLocationData("Sleigh Room", "Sleigh Ride", 1300, [GrinchRamData(0x800100BF, binary_bit_pos=7)]), "Neutralizing Santa": GrinchLocationData("Sleigh Room", "Sleigh Ride", None, [GrinchRamData(0x800100BF, binary_bit_pos=8)]) diff --git a/worlds/grinch/Options.py b/worlds/grinch/Options.py index 4bc7e4a4..e04dc259 100644 --- a/worlds/grinch/Options.py +++ b/worlds/grinch/Options.py @@ -6,7 +6,7 @@ from Options import FreeText, NumericOption, Toggle, DefaultOnToggle, Choice, Te class ProgressiveVacuum(Toggle): """ - Determines whether you get access to main areas progressively + Determines whether you get access to main areas progressively [NOT IMPLEMENTED] Enabled: Whoville > Who Forest > Who Dump > Who Lake """ @@ -14,7 +14,7 @@ class ProgressiveVacuum(Toggle): class Missionsanity(Choice): """ - How mission checks are randomized in the pool + How mission checks are randomized in the pool [NOT IMPLEMENTED] None: Does not add mission checks Completion: Only completing the mission gives you a check @@ -30,7 +30,8 @@ class Missionsanity(Choice): # class StartingArea(Choice): # """ -# Here, you can select which area you'll start the game with. Whichever one you pick is the region you'll have access to at the start of the Multiworld. +# Here, you can select which area you'll start the game with. +# Whichever one you pick is the region you'll have access to at the start of the Multiworld. # """ # option_whoville = 0 # option_who_forest = 1 @@ -40,29 +41,34 @@ class Missionsanity(Choice): # display_name = "Starting Area" # class Supadow(Toggle): -# """Enables completing minigames through the Supadows in Mount Crumpit as checks. (9 locations)""" +# """Enables completing minigames through the Supadows in Mount Crumpit as checks. (9 locations) [NOT IMPLEMENTED]""" # display_name = "Supadow Minigame Locations"# # class Gifts(Toggle): -# """Missions that require you to squash every present in a level. (4 locations)""" +# """Missions that require you to squash every present in a level. (4 locations) [NOT IMPLEMENTED]""" # display_name = "Gift Collection Locations" # class Movesanity(Toggle): -# """Randomizes Grinch's moveset along with randomizing max into the pool. (Currently randomizes Max)""" +# """Randomizes Grinch's moveset along with randomizing max into the pool. [NOT IMPLEMENTED]""" # display_name = "Movesanity" class UnlimitedRottenEggs(Toggle): - """Determine whether or not you run out of rotten eggs when you utilize your gadgets.""" + """Determine whether or not you run out of rotten eggs when you utilize your gadgets. [NOT IMPLEMENTED]""" display_name = "Unlimited Rotten Eggs" class RingLinkOption(Toggle): - """Whenever this is toggled, your ammo is linked with other ringlink-compatible games that also have this enabled""" + """Whenever this is toggled, your ammo is linked with other ringlink-compatible games that also have this enabled. [NOT IMPLEMENTED]""" + +class TrapLinkOption(Toggle): + """If a trap is sent from Grinch, traps that are compatible with other games are triggered aswell. [NOT IMPLEMENTED]""" @dataclass class GrinchOptions(PerGameCommonOptions):#DeathLinkMixin progressive_vacuum: ProgressiveVacuum missionsanity: Missionsanity unlimited_rotten_eggs: UnlimitedRottenEggs + ring_link: RingLinkOption + trap_link: TrapLinkOption diff --git a/worlds/grinch/Regions.py b/worlds/grinch/Regions.py index ba813476..8f1a829d 100644 --- a/worlds/grinch/Regions.py +++ b/worlds/grinch/Regions.py @@ -68,6 +68,7 @@ def grinchconnect(world: "GrinchWorld", current_region_name: str, connected_regi region_entrance.parent_region.name == current_region_name: add_rule(region_entrance, access_rule) +#What regions are connected to each other def connect_regions(world: "GrinchWorld"): grinchconnect(world, "Mount Crumpit", "Whoville") grinchconnect(world, "Mount Crumpit", "Who Forest") diff --git a/worlds/grinch/Rules.py b/worlds/grinch/Rules.py index 95e4e61b..88f90f68 100644 --- a/worlds/grinch/Rules.py +++ b/worlds/grinch/Rules.py @@ -4,6 +4,7 @@ from BaseClasses import CollectionState from worlds.AutoWorld import World from worlds.generic.Rules import add_rule +#Adds all rules from access_rules_dict to locations def set_rules(world: World): all_locations = world.get_locations() for location in all_locations: @@ -12,7 +13,7 @@ def set_rules(world: World): for access_rule in rule_list: add_rule(location, access_rule) - + #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": [ [] @@ -80,6 +81,9 @@ rules_dict: dict[str,list[list[str]]] = { "Advancing The Countdown-To-Xmas Clock": [ ["Hammer", "Rocket Spring"] ], + "Squashing All Gifts in Whoville": [ + ["Grinch Copter", "Slime Shooter", "Rotten Egg Launcher", "Who Cloak", "Rocket Spring"] + ], "Making Xmas Trees Droop": [ ["Rotten Egg Launcher"] ], @@ -98,6 +102,10 @@ rules_dict: dict[str,list[list[str]]] = { ["Rotten Egg Launcher", "Grinch Copter"], ["Rotten Egg Launcher", "Octopus Climbing Device", "Rocket Spring"] ], + "Squashing All Gifts in Who Forest": [ + ["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": [ ["Rocket Spring", "Rotten Egg Launcher"] ], @@ -119,6 +127,10 @@ rules_dict: dict[str,list[list[str]]] = { ["Rotten Egg Launcher", "Grinch Copter"], ["Rotten Egg Launcher", "Octopus Climbing Device", "Slime Shooter", "Rocket Spring"] ], + "Squashing All Gifts in Who Dump": [ + ["Grinch Copter", "Rocket Spring", "Slime Shooter", "Rotten Egg Launcher"], + ["Octopus Climbing Device", "Rocket Spring", "Slime Shooter", "Rotten Egg Launcher"] + ], "Putting Thistles In Shorts": [ ["Rotten Egg Launcher", "Octopus Climbing Device"], ["Rotten Egg Launcher", "Grinch Copter"] @@ -136,6 +148,10 @@ rules_dict: dict[str,list[list[str]]] = { "Hooking The Mayor's Bed To The Motorboat": [ ["Rope", "Hook", "Rotten Egg Launcher", "Scout Clothes"] ], + "Squashing All Gifts in Who Lake": [ + ["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": [ [] ], @@ -148,232 +164,232 @@ rules_dict: dict[str,list[list[str]]] = { "Binoculars Blueprint - City Hall Library - Right Side": [ [] ], - "Rotten Egg Launcher Blueprint - Outside City Hall": [ + "REL Blueprint - Outside City Hall": [ [] ], - "Rotten Egg Launcher Blueprint - Outside Clock Tower": [ + "REL Blueprint - Outside Clock Tower": [ [] ], - "Rotten Egg Launcher Blueprint - Post Office - Front of Silver Door": [ + "REL Blueprint - Post Office - Front of Silver Door": [ ["Who Cloak"] ], - "Rotten Egg Launcher Blueprint - Post Office - After Mission Completion": [ + "REL Blueprint - Post Office - After Mission Completion": [ ["Who Cloak"] ], - "Rocket Spring Blueprint - Behind Vacuum": [ + "RS Blueprint - Behind Vacuum": [ [] ], - "Rocket Spring Blueprint - Front of 2nd House near entrance": [ + "RS Blueprint - Front of 2nd House near entrance": [ [] ], - "Rocket Spring Blueprint - Near Tree House on Ground": [ + "RS Blueprint - Near Tree House on Ground": [ [] ], - "Rocket Spring Blueprint - Near Cable Car House": [ + "RS Blueprint - Near Cable Car House": [ [] ], - "Rocket Spring Blueprint - Near Who Snowball in Cave": [ + "RS Blueprint - Near Who Snowball in Cave": [ [] ], - "Rocket Spring Blueprint - Branch Platform Closest to Glue Cannon": [ + "RS Blueprint - Branch Platform Closest to Glue Cannon": [ [] ], - "Rocket Spring Blueprint - Branch Platform Near Beast": [ + "RS Blueprint - Branch Platform Near Beast": [ [] ], - "Rocket Spring Blueprint - Branch Platform Ledge Grab House": [ + "RS Blueprint - Branch Platform Ledge Grab House": [ [] ], - "Rocket Spring Blueprint - On Tree House": [ + "RS Blueprint - On Tree House": [ ["Rotten Egg Launcher"], ["Grinch Copter"] ], - "Slime Shooter Blueprint - Branch Platform Elevated House": [ + "SS Blueprint - Branch Platform Elevated House": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Slime Shooter Blueprint - Branch Platform House next to Beast": [ + "SS Blueprint - Branch Platform House next to Beast": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Slime Shooter Blueprint - House near Civic Center Cave": [ + "SS Blueprint - House near Civic Center Cave": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Slime Shooter Blueprint - House next to Tree House": [ + "SS Blueprint - House next to Tree House": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Slime Shooter Blueprint - House across from Tree House": [ + "SS Blueprint - House across from Tree House": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Slime Shooter Blueprint - 2nd House near entrance right side": [ + "SS Blueprint - 2nd House near entrance right side": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Slime Shooter Blueprint - 2nd House near entrance left side": [ + "SS Blueprint - 2nd House near entrance left side": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Slime Shooter Blueprint - 2nd House near entrance inbetween blueprints": [ + "SS Blueprint - 2nd House near entrance inbetween blueprints": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Slime Shooter Blueprint - House near entrance": [ + "SS Blueprint - House near entrance": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Octopus Climbing Device Blueprint - Middle Pipe": [ + "OCD Blueprint - Middle Pipe": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"], ["Slime Shooter", "Rocket Spring"], ["Slime Shooter", "Grinch Copter"] ], - "Octopus Climbing Device Blueprint - Right Pipe": [ + "OCD Blueprint - Right Pipe": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Octopus Climbing Device Blueprint - Mayor's House Rat Vent": [ + "OCD Blueprint - Mayor's House Rat Vent": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"] ], - "Octopus Climbing Device Blueprint - Left Pipe": [ + "OCD Blueprint - Left Pipe": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"], ["Slime Shooter", "Rocket Spring"], ["Slime Shooter", "Grinch Copter"] ], - "Octopus Climbing Device Blueprint - Near Power Plant Wall on right side": [ + "OCD Blueprint - Near Power Plant Wall on right side": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Rotten Egg Launcher", "Grinch Copter"], ["Slime Shooter", "Rocket Spring"], ["Slime Shooter", "Grinch Copter"] ], - "Octopus Climbing Device Blueprint - Near Who-Bris' Shack": [ + "OCD Blueprint - Near Who-Bris' Shack": [ ["Rotten Egg Launcher", "Rocket Spring"] ], - "Octopus Climbing Device Blueprint - Guardian's House - Left Side": [ + "OCD Blueprint - Guardian's House - Left Side": [ ["Rotten Egg Launcher", "Grinch Copter"], ["Rotten Egg Launcher", "Slime Shooter", "Rocket Spring"] ], - "Octopus Climbing Device Blueprint - Guardian's House - Right Side": [ + "OCD Blueprint - Guardian's House - Right Side": [ ["Rotten Egg Launcher", "Grinch Copter"], ["Rotten Egg Launcher", "Slime Shooter", "Rocket Spring"] ], - "Octopus Climbing Device Blueprint - Inside Guardian's House": [ + "OCD Blueprint - Inside Guardian's House": [ ["Rotten Egg Launcher", "Grinch Copter"], ["Rotten Egg Launcher", "Slime Shooter", "Rocket Spring"] ], - "Marine Mobile Blueprint - South Shore - Bridge to Scout's Hut": [ + "MM Blueprint - South Shore - Bridge to Scout's Hut": [ [] ], - "Marine Mobile Blueprint - South Shore - Tent near Porcupine": [ + "MM Blueprint - South Shore - Tent near Porcupine": [ [] ], - "Marine Mobile Blueprint - South Shore - Near Outhouse": [ + "MM Blueprint - South Shore - Near Outhouse": [ [] ], - "Marine Mobile Blueprint - South Shore - Near Hill Bridge": [ + "MM Blueprint - South Shore - Near Hill Bridge": [ [] ], - "Marine Mobile Blueprint - South Shore - Scout's Hut Roof": [ + "MM Blueprint - South Shore - Scout's Hut Roof": [ ["Rocket Spring"], ["Grinch Copter"] ], - "Marine Mobile Blueprint - South Shore - Grass Platform": [ + "MM Blueprint - South Shore - Grass Platform": [ ["Rocket Spring"], ["Grinch Copter"] ], - "Marine Mobile Blueprint - South Shore - Zipline by Beast": [ + "MM Blueprint - South Shore - Zipline by Beast": [ ["Rocket Spring", "Octopus Climbing Device"], ["Grinch Copter"] ], - "Marine Mobile Blueprint - South Shore - Behind Summer Beast": [ + "MM Blueprint - South Shore - Behind Summer Beast": [ ["Rotten Egg Launcher", "Octopus Climbing Device"], ["Grinch Copter"] ], - "Marine Mobile Blueprint - South Shore - Below Bridge": [ + "MM Blueprint - South Shore - Below Bridge": [ [] ], - "Marine Mobile Blueprint - North Shore - Below Bridge": [ + "MM Blueprint - North Shore - Below Bridge": [ [] ], - "Marine Mobile Blueprint - North Shore - Behind Skunk Hut": [ + "MM Blueprint - North Shore - Behind Skunk Hut": [ [] ], - "Marine Mobile Blueprint - North Shore - Inside Skunk Hut": [ + "MM Blueprint - North Shore - Inside Skunk Hut": [ [] ], - "Marine Mobile Blueprint - North Shore - Fenced in Area": [ + "MM Blueprint - North Shore - Fenced in Area": [ [] ], - "Marine Mobile Blueprint - North Shore - Boulder Box near Bridge": [ + "MM Blueprint - North Shore - Boulder Box near Bridge": [ [] ], - "Marine Mobile Blueprint - North Shore - Boulder Box behind Skunk Hut": [ + "MM Blueprint - North Shore - Boulder Box behind Skunk Hut": [ [] ], - "Marine Mobile Blueprint - North Shore - Inside Drill House": [ + "MM Blueprint - North Shore - Inside Drill House": [ [] ], - "Marine Mobile Blueprint - North Shore - Crow Platform near Drill House": [ + "MM Blueprint - North Shore - Crow Platform near Drill House": [ [] ], - "Grinch Copter Blueprint - Whoville City Hall - Safe Room": [ + "GC Blueprint - Whoville City Hall - Safe Room": [ [] ], - "Grinch Copter Blueprint - Whoville City Hall - Statue Room": [ + "GC Blueprint - Whoville City Hall - Statue Room": [ [] ], - "Grinch Copter Blueprint - Whoville Clock Tower - Before Bells": [ + "GC Blueprint - Whoville Clock Tower - Before Bells": [ ["Rocket Spring"] ], - "Grinch Copter Blueprint - Whoville Clock Tower - After Bells": [ + "GC Blueprint - Whoville Clock Tower - After Bells": [ ["Rocket Spring"] ], - "Grinch Copter Blueprint - Who Forest Ski Resort - Inside Dog's Fence": [ + "GC Blueprint - Who Forest Ski Resort - Inside Dog's Fence": [ [] ], - "Grinch Copter Blueprint - Who Forest Ski Resort - Max Cave": [ + "GC Blueprint - Who Forest Ski Resort - Max Cave": [ [] ], - "Grinch Copter Blueprint - Who Forest Civic Center - Climb across Bat Cave wall": [ + "GC Blueprint - Who Forest Civic Center - Climb across Bat Cave wall": [ ["Grinch Copter"], ["Octopus Climbing Device", "Rocket Spring"] ], - "Grinch Copter Blueprint - Who Forest Civic Center - Shoot Icicle in Bat Entrance": [ + "GC Blueprint - Who Forest Civic Center - Shoot Icicle in Bat Entrance": [ ["Rotten Egg Launcher", "Grinch Copter"], ["Rotten Egg Launcher", "Octopus Climbing Device", "Rocket Spring"], ["Slime Shooter", "Grinch Copter"], ["Slime Shooter", "Octopus Climbing Device", "Rocket Spring"] ], - "Grinch Copter Blueprint - Who Dump Power Plant - Max Cave": [ + "GC Blueprint - Who Dump Power Plant - Max Cave": [ [] ], - "Grinch Copter Blueprint - Who Dump Power Plant - After First Gate": [ + "GC Blueprint - Who Dump Power Plant - After First Gate": [ ["Rotten Egg Launcher", "Rocket Spring"], ["Grinch Copter"] ], - "Grinch Copter Blueprint - Who Dump Generator Building - Before Mission": [ + "GC Blueprint - Who Dump Generator Building - Before Mission": [ ["Rotten Egg Launcher", "Grinch Copter"], ["Rotten Egg Launcher", "Octopus Climbing Device", "Slime Shooter", "Rocket Spring"] ], - "Grinch Copter Blueprint - Who Dump Generator Building - After Mission": [ + "GC Blueprint - Who Dump Generator Building - After Mission": [ ["Rotten Egg Launcher", "Grinch Copter"], ["Rotten Egg Launcher", "Octopus Climbing Device", "Slime Shooter", "Rocket Spring"] ], - "Grinch Copter Blueprint - Who Lake South Shore - Submarine World - Above Surface": [ + "GC Blueprint - Who Lake South Shore - Submarine World - Above Surface": [ ["Marine Mobile"] ], - "Grinch Copter Blueprint - Who Lake South Shore - Submarine World - Underwater": [ + "GC Blueprint - Who Lake South Shore - Submarine World - Underwater": [ ["Marine Mobile"] ], - "Grinch Copter Blueprint - Who Lake North Shore - Mayor's Villa - Tree Branch": [ + "GC Blueprint - Who Lake North Shore - Mayor's Villa - Tree Branch": [ ["Grinch Copter"], ["Rotten Egg Launcher", "Rocket Spring"] ], - "Grinch Copter Blueprint - Who Lake North Shore - Mayor's Villa - Cave": [ + "GC Blueprint - Who Lake North Shore - Mayor's Villa - Cave": [ ["Grinch Copter"], ["Rotten Egg Launcher", "Rocket Spring"] ], @@ -462,9 +478,12 @@ access_rules_dict: dict[str,list[list[str]]] = { } def interpret_rule(rule_set: list[list[str]], player: int): + #If a region/location does not have any items required, make the section(s) return no logic. if len(rule_set) < 1: return True + #Otherwise, if a region/location DOES have items required, make the section(s) return list of logic. + access_list: list[Callable[[CollectionState], bool]] = [] for item_set in rule_set: access_list.append(lambda state: state.has_all(item_set, player))