sm64ex: More name changes

This commit is contained in:
N00byKing 2022-01-27 17:42:10 +01:00 committed by Fabian Dill
parent 8997e786da
commit 695e87689c
4 changed files with 137 additions and 137 deletions

View File

@ -5,171 +5,171 @@ class SM64Location(Location):
#Bob-omb Battlefield
locBoB_table = {
"Big Bob-Omb on the Summit": 3626000,
"Footrace with Koopa The Quick": 3626001,
"Shoot to the Island in the Sky": 3626002,
"Find the 8 Red Coins": 3626003,
"Mario Wings to the Sky": 3626004,
"Behind Chain Chomp's Gate": 3626005
"BoB: Big Bob-Omb on the Summit": 3626000,
"BoB: Footrace with Koopa The Quick": 3626001,
"BoB: Shoot to the Island in the Sky": 3626002,
"BoB: Find the 8 Red Coins": 3626003,
"BoB: Mario Wings to the Sky": 3626004,
"BoB: Behind Chain Chomp's Gate": 3626005
}
#Whomp's Fortress
locWhomp_table = {
"Chip Off Whomp's Block": 3626007,
"To the Top of the Fortress": 3626008,
"Shoot into the Wild Blue": 3626009,
"Red Coins on the Floating Isle": 3626010,
"Fall onto the Caged Island": 3626011,
"Blast Away the Wall": 3626012
"WF: Chip Off Whomp's Block": 3626007,
"WF: To the Top of the Fortress": 3626008,
"WF: Shoot into the Wild Blue": 3626009,
"WF: Red Coins on the Floating Isle": 3626010,
"WF: Fall onto the Caged Island": 3626011,
"WF: Blast Away the Wall": 3626012
}
#Jolly Roger Bay
locJRB_table = {
"Plunder in the Sunken Ship": 3626014,
"Can the Eel Come Out to Play?": 3626015,
"Treasure of the Ocean Cave": 3626016,
"Red Coins on the Ship Afloat": 3626017,
"Blast to the Stone Pillar": 3626018,
"JRB: Through the Jet Stream": 3626019 # Prefix due to duplicate name
"JRB: Plunder in the Sunken Ship": 3626014,
"JRB: Can the Eel Come Out to Play?": 3626015,
"JRB: Treasure of the Ocean Cave": 3626016,
"JRB: Red Coins on the Ship Afloat": 3626017,
"JRB: Blast to the Stone Pillar": 3626018,
"JRB: Through the Jet Stream": 3626019
}
#Cool, Cool Mountain
locCCM_table = {
"Slip Slidin' Away": 3626021,
"Li'l Penguin Lost": 3626022,
"Big Penguin Race": 3626023,
"Frosty Slide for 8 Red Coins": 3626024,
"Snowman's Lost His Head": 3626025,
"Wall Kicks Will Work": 3626026
"CCM: Slip Slidin' Away": 3626021,
"CCM: Li'l Penguin Lost": 3626022,
"CCM: Big Penguin Race": 3626023,
"CCM: Frosty Slide for 8 Red Coins": 3626024,
"CCM: Snowman's Lost His Head": 3626025,
"CCM: Wall Kicks Will Work": 3626026
}
#Big Boo's Haunt
locBBH_table = {
"Go on a Ghost Hunt": 3626028,
"Ride Big Boo's Merry-Go-Round": 3626029,
"Secret of the Haunted Books": 3626030,
"Seek the 8 Red Coins": 3626031,
"Big Boo's Balcony": 3626032,
"Eye to Eye in the Secret Room": 3626033
"BBH: Go on a Ghost Hunt": 3626028,
"BBH: Ride Big Boo's Merry-Go-Round": 3626029,
"BBH: Secret of the Haunted Books": 3626030,
"BBH: Seek the 8 Red Coins": 3626031,
"BBH: Big Boo's Balcony": 3626032,
"BBH: Eye to Eye in the Secret Room": 3626033
}
#Hazy Maze Cave
locHMC_table = {
"Swimming Beast in the Cavern": 3626035,
"Elevate for 8 Red Coins": 3626036,
"Metal-Head Mario Can Move!": 3626037,
"Navigating the Toxic Maze": 3626038,
"A-Maze-Ing Emergency Exit": 3626039,
"Watch for Rolling Rocks": 3626040
"HMC: Swimming Beast in the Cavern": 3626035,
"HMC: Elevate for 8 Red Coins": 3626036,
"HMC: Metal-Head Mario Can Move!": 3626037,
"HMC: Navigating the Toxic Maze": 3626038,
"HMC: A-Maze-Ing Emergency Exit": 3626039,
"HMC: Watch for Rolling Rocks": 3626040
}
#Lethal Lava Land
locLLL_table = {
"Boil the Big Bully": 3626042,
"Bully the Bullies": 3626043,
"8-Coin Puzzle with 15 Pieces": 3626044,
"Red-Hot Log Rolling": 3626045,
"Hot-Foot-It into the Volcano": 3626046,
"Elevator Tour in the Volcano": 3626047
"LLL: Boil the Big Bully": 3626042,
"LLL: Bully the Bullies": 3626043,
"LLL: 8-Coin Puzzle with 15 Pieces": 3626044,
"LLL: Red-Hot Log Rolling": 3626045,
"LLL: Hot-Foot-It into the Volcano": 3626046,
"LLL: Elevator Tour in the Volcano": 3626047
}
#Shifting Sand Land
locSSL_table = {
"In the Talons of the Big Bird": 3626049,
"Shining Atop the Pyramid": 3626050,
"Inside the Ancient Pyramid": 3626051,
"Stand Tall on the Four Pillars": 3626052,
"Free Flying for 8 Red Coins": 3626053,
"Pyramid Puzzle": 3626054
"SSL: In the Talons of the Big Bird": 3626049,
"SSL: Shining Atop the Pyramid": 3626050,
"SSL: Inside the Ancient Pyramid": 3626051,
"SSL: Stand Tall on the Four Pillars": 3626052,
"SSL: Free Flying for 8 Red Coins": 3626053,
"SSL: Pyramid Puzzle": 3626054
}
#Dire, Dire Docks
locDDD_table = {
"Board Bowser's Sub": 3626056,
"Chests in the Current": 3626057,
"Pole-Jumping for Red Coins": 3626058,
"DDD: Through the Jet Stream": 3626059, # Prefix due to duplicate name
"The Manta Ray's Reward": 3626060,
"Collect the Caps...": 3626061
"DDD: Board Bowser's Sub": 3626056,
"DDD: Chests in the Current": 3626057,
"DDD: Pole-Jumping for Red Coins": 3626058,
"DDD: Through the Jet Stream": 3626059,
"DDD: The Manta Ray's Reward": 3626060,
"DDD: Collect the Caps...": 3626061
}
#Snowman's Land
locSL_table = {
"Snowman's Big Head": 3626063,
"Chill with the Bully": 3626064,
"In the Deep Freeze": 3626065,
"Whirl from the Freezing Pond": 3626066,
"Shell Shreddin' for Red Coins": 3626067,
"Into the Igloo": 3626068
"SL: Snowman's Big Head": 3626063,
"SL: Chill with the Bully": 3626064,
"SL: In the Deep Freeze": 3626065,
"SL: Whirl from the Freezing Pond": 3626066,
"SL: Shell Shreddin' for Red Coins": 3626067,
"SL: Into the Igloo": 3626068
}
#Wet-Dry World
locWDW_table = {
"Shocking Arrow Lifts!": 3626070,
"Top o' the Town": 3626071,
"Secrets in the Shallows & Sky": 3626072,
"Express Elevator--Hurry Up!": 3626073,
"Go to Town for Red Coins": 3626074,
"Quick Race Through Downtown!": 3626075
"WDW: Shocking Arrow Lifts!": 3626070,
"WDW: Top o' the Town": 3626071,
"WDW: Secrets in the Shallows & Sky": 3626072,
"WDW: Express Elevator--Hurry Up!": 3626073,
"WDW: Go to Town for Red Coins": 3626074,
"WDW: Quick Race Through Downtown!": 3626075
}
#Tall, Tall Mountain
locTTM_table = {
"Scale the Mountain": 3626077,
"Mystery of the Monkey Cage": 3626078,
"Scary 'Shrooms, Red Coins": 3626079,
"Mysterious Mountainside": 3626080,
"Breathtaking View from Bridge": 3626081,
"Blast to the Lonely Mushroom": 3626082
"TTM: Scale the Mountain": 3626077,
"TTM: Mystery of the Monkey Cage": 3626078,
"TTM: Scary 'Shrooms, Red Coins": 3626079,
"TTM: Mysterious Mountainside": 3626080,
"TTM: Breathtaking View from Bridge": 3626081,
"TTM: Blast to the Lonely Mushroom": 3626082
}
#Tiny-Huge Island
locTHI_table = {
"Pluck the Piranha Flower": 3626084,
"The Tip Top of the Huge Island": 3626085,
"Rematch with Koopa the Quick": 3626086,
"Five Itty Bitty Secrets": 3626087,
"Wiggler's Red Coins": 3626088,
"Make Wiggler Squirm": 3626089
"THI: Pluck the Piranha Flower": 3626084,
"THI: The Tip Top of the Huge Island": 3626085,
"THI: Rematch with Koopa the Quick": 3626086,
"THI: Five Itty Bitty Secrets": 3626087,
"THI: Wiggler's Red Coins": 3626088,
"THI: Make Wiggler Squirm": 3626089
}
#Tick Tock Clock
locTTC_table = {
"Roll into the Cage": 3626091,
"The Pit and the Pendulums": 3626092,
"Get a Hand": 3626093,
"Stomp on the Thwomp": 3626094,
"Timed Jumps on Moving Bars": 3626095,
"Stop Time for Red Coins": 3626096
"TTC: Roll into the Cage": 3626091,
"TTC: The Pit and the Pendulums": 3626092,
"TTC: Get a Hand": 3626093,
"TTC: Stomp on the Thwomp": 3626094,
"TTC: Timed Jumps on Moving Bars": 3626095,
"TTC: Stop Time for Red Coins": 3626096
}
#Rainbow Ride
locRR_table = {
"Cruiser Crossing the Rainbow": 3626098,
"The Big House in the Sky": 3626099,
"Coins Amassed in a Maze": 3626100,
"Swingin' in the Breeze": 3626101,
"Tricky Triangles!": 3626102,
"Somewhere Over the Rainbow": 3626103
"RR: Cruiser Crossing the Rainbow": 3626098,
"RR: The Big House in the Sky": 3626099,
"RR: Coins Amassed in a Maze": 3626100,
"RR: Swingin' in the Breeze": 3626101,
"RR: Tricky Triangles!": 3626102,
"RR: Somewhere Over the Rainbow": 3626103
}
loc100Coin_table = {
"BoB 100 Coins": 3626006,
"Whomp 100 Coins": 3626013,
"JRB 100 Coins": 3626020,
"CCM 100 Coins": 3626027,
"BBH 100 Coins": 3626034,
"HMC 100 Coins": 3626041,
"LLL 100 Coins": 3626048,
"SSL 100 Coins": 3626055,
"DDD 100 Coins": 3626062,
"SL 100 Coins": 3626069,
"WDW 100 Coins": 3626076,
"TTM 100 Coins": 3626083,
"THI 100 Coins": 3626090,
"TTC 100 Coins": 3626097,
"RR 100 Coins": 3626104
"BoB: 100 Coins": 3626006,
"WF: 100 Coins": 3626013,
"JRB: 100 Coins": 3626020,
"CCM: 100 Coins": 3626027,
"BBH: 100 Coins": 3626034,
"HMC: 100 Coins": 3626041,
"LLL: 100 Coins": 3626048,
"SSL: 100 Coins": 3626055,
"DDD: 100 Coins": 3626062,
"SL: 100 Coins": 3626069,
"WDW: 100 Coins": 3626076,
"TTM: 100 Coins": 3626083,
"THI: 100 Coins": 3626090,
"TTC: 100 Coins": 3626097,
"RR: 100 Coins": 3626104
}
#Secret Stars and Stages
@ -199,9 +199,9 @@ locKey_table = {
#Caps
locCap_table = {
"Wing Cap Switch": 3626180,
"Metal Cap Switch": 3626181,
"Vanish Cap Switch": 3626182
"Tower of the Wing Cap Switch": 3626180,
"Cavern of the Metal Cap Switch": 3626181,
"Vanish Cap Under the Moat Switch": 3626182
}
# Correspond to 3626000 + course index * 7 + star index, then secret stars, then keys, then 100 Coin Stars

View File

@ -18,35 +18,35 @@ def create_regions(world: MultiWorld, player: int):
locBoB_names = [name for name, id in locBoB_table.items()]
regBoB.locations += [SM64Location(player, loc_name, location_table[loc_name], regBoB) for loc_name in locBoB_names]
if (world.EnableCoinStars[player].value):
regBoB.locations.append(SM64Location(player, "BoB 100 Coins", location_table["BoB 100 Coins"], regBoB))
regBoB.locations.append(SM64Location(player, "BoB: 100 Coins", location_table["BoB: 100 Coins"], regBoB))
world.regions.append(regBoB)
regWhomp = Region("Whomp's Fortress", RegionType.Generic, "Whomp's Fortress", player, world)
locWhomp_names = [name for name, id in locWhomp_table.items()]
regWhomp.locations += [SM64Location(player, loc_name, location_table[loc_name], regWhomp) for loc_name in locWhomp_names]
if (world.EnableCoinStars[player].value):
regWhomp.locations.append(SM64Location(player, "Whomp 100 Coins", location_table["Whomp 100 Coins"], regWhomp))
regWhomp.locations.append(SM64Location(player, "WF: 100 Coins", location_table["WF: 100 Coins"], regWhomp))
world.regions.append(regWhomp)
regJRB = Region("Jolly Roger Bay", RegionType.Generic, "Jolly Roger Bay", player, world)
locJRB_names = [name for name, id in locJRB_table.items()]
regJRB.locations += [SM64Location(player, loc_name, location_table[loc_name], regJRB) for loc_name in locJRB_names]
if (world.EnableCoinStars[player].value):
regJRB.locations.append(SM64Location(player, "JRB 100 Coins", location_table["JRB 100 Coins"], regJRB))
regJRB.locations.append(SM64Location(player, "JRB: 100 Coins", location_table["JRB: 100 Coins"], regJRB))
world.regions.append(regJRB)
regCCM = Region("Cool, Cool Mountain", RegionType.Generic, "Cool, Cool Mountain", player, world)
locCCM_names = [name for name, id in locCCM_table.items()]
regCCM.locations += [SM64Location(player, loc_name, location_table[loc_name], regCCM) for loc_name in locCCM_names]
if (world.EnableCoinStars[player].value):
regCCM.locations.append(SM64Location(player, "CCM 100 Coins", location_table["CCM 100 Coins"], regCCM))
regCCM.locations.append(SM64Location(player, "CCM: 100 Coins", location_table["CCM: 100 Coins"], regCCM))
world.regions.append(regCCM)
regBBH = Region("Big Boo's Haunt", RegionType.Generic, "Big Boo's Haunt", player, world)
locBBH_names = [name for name, id in locBBH_table.items()]
regBBH.locations += [SM64Location(player, loc_name, location_table[loc_name], regBBH) for loc_name in locBBH_names]
if (world.EnableCoinStars[player].value):
regBBH.locations.append(SM64Location(player, "BBH 100 Coins", location_table["BBH 100 Coins"], regBBH))
regBBH.locations.append(SM64Location(player, "BBH: 100 Coins", location_table["BBH: 100 Coins"], regBBH))
world.regions.append(regBBH)
regBasement = Region("Basement", RegionType.Generic, "Basement", player, world)
@ -56,28 +56,28 @@ def create_regions(world: MultiWorld, player: int):
locHMC_names = [name for name, id in locHMC_table.items()]
regHMC.locations += [SM64Location(player, loc_name, location_table[loc_name], regHMC) for loc_name in locHMC_names]
if (world.EnableCoinStars[player].value):
regHMC.locations.append(SM64Location(player, "HMC 100 Coins", location_table["HMC 100 Coins"], regHMC))
regHMC.locations.append(SM64Location(player, "HMC: 100 Coins", location_table["HMC: 100 Coins"], regHMC))
world.regions.append(regHMC)
regLLL = Region("Lethal Lava Land", RegionType.Generic, "Lethal Lava Land", player, world)
locLLL_names = [name for name, id in locLLL_table.items()]
regLLL.locations += [SM64Location(player, loc_name, location_table[loc_name], regLLL) for loc_name in locLLL_names]
if (world.EnableCoinStars[player].value):
regLLL.locations.append(SM64Location(player, "LLL 100 Coins", location_table["LLL 100 Coins"], regLLL))
regLLL.locations.append(SM64Location(player, "LLL: 100 Coins", location_table["LLL: 100 Coins"], regLLL))
world.regions.append(regLLL)
regSSL = Region("Shifting Sand Land", RegionType.Generic, "Shifting Sand Land", player, world)
locSSL_names = [name for name, id in locSSL_table.items()]
regSSL.locations += [SM64Location(player, loc_name, location_table[loc_name], regSSL) for loc_name in locSSL_names]
if (world.EnableCoinStars[player].value):
regSSL.locations.append(SM64Location(player, "SSL 100 Coins", location_table["SSL 100 Coins"], regSSL))
regSSL.locations.append(SM64Location(player, "SSL: 100 Coins", location_table["SSL: 100 Coins"], regSSL))
world.regions.append(regSSL)
regDDD = Region("Dire, Dire Docks", RegionType.Generic, "Dire, Dire Docks", player, world)
locDDD_names = [name for name, id in locDDD_table.items()]
regDDD.locations += [SM64Location(player, loc_name, location_table[loc_name], regDDD) for loc_name in locDDD_names]
if (world.EnableCoinStars[player].value):
regDDD.locations.append(SM64Location(player, "DDD 100 Coins", location_table["DDD 100 Coins"], regDDD))
regDDD.locations.append(SM64Location(player, "DDD: 100 Coins", location_table["DDD: 100 Coins"], regDDD))
world.regions.append(regDDD)
regFloor2 = Region("Second Floor", RegionType.Generic, "Second Floor", player, world)
@ -87,28 +87,28 @@ def create_regions(world: MultiWorld, player: int):
locSL_names = [name for name, id in locSL_table.items()]
regSL.locations += [SM64Location(player, loc_name, location_table[loc_name], regSL) for loc_name in locSL_names]
if (world.EnableCoinStars[player].value):
regSL.locations.append(SM64Location(player, "SL 100 Coins", location_table["SL 100 Coins"], regSL))
regSL.locations.append(SM64Location(player, "SL: 100 Coins", location_table["SL: 100 Coins"], regSL))
world.regions.append(regSL)
regWDW = Region("Wet-Dry World", RegionType.Generic, "Wet-Dry World", player, world)
locWDW_names = [name for name, id in locWDW_table.items()]
regWDW.locations += [SM64Location(player, loc_name, location_table[loc_name], regWDW) for loc_name in locWDW_names]
if (world.EnableCoinStars[player].value):
regWDW.locations.append(SM64Location(player, "WDW 100 Coins", location_table["WDW 100 Coins"], regWDW))
regWDW.locations.append(SM64Location(player, "WDW: 100 Coins", location_table["WDW: 100 Coins"], regWDW))
world.regions.append(regWDW)
regTTM = Region("Tall, Tall Mountain", RegionType.Generic, "Tall, Tall Mountain", player, world)
locTTM_names = [name for name, id in locTTM_table.items()]
regTTM.locations += [SM64Location(player, loc_name, location_table[loc_name], regTTM) for loc_name in locTTM_names]
if (world.EnableCoinStars[player].value):
regTTM.locations.append(SM64Location(player, "TTM 100 Coins", location_table["TTM 100 Coins"], regTTM))
regTTM.locations.append(SM64Location(player, "TTM: 100 Coins", location_table["TTM: 100 Coins"], regTTM))
world.regions.append(regTTM)
regTHI = Region("Tiny-Huge Island", RegionType.Generic, "Tiny-Huge Island", player, world)
locTHI_names = [name for name, id in locTHI_table.items()]
regTHI.locations += [SM64Location(player, loc_name, location_table[loc_name], regTHI) for loc_name in locTHI_names]
if (world.EnableCoinStars[player].value):
regTHI.locations.append(SM64Location(player, "THI 100 Coins", location_table["THI 100 Coins"], regTHI))
regTHI.locations.append(SM64Location(player, "THI: 100 Coins", location_table["THI: 100 Coins"], regTHI))
world.regions.append(regTHI)
regFloor3 = Region("Third Floor", RegionType.Generic, "Third Floor", player, world)
@ -118,14 +118,14 @@ def create_regions(world: MultiWorld, player: int):
locTTC_names = [name for name, id in locTTC_table.items()]
regTTC.locations += [SM64Location(player, loc_name, location_table[loc_name], regTTC) for loc_name in locTTC_names]
if (world.EnableCoinStars[player].value):
regTTC.locations.append(SM64Location(player, "TTC 100 Coins", location_table["TTC 100 Coins"], regTTC))
regTTC.locations.append(SM64Location(player, "TTC: 100 Coins", location_table["TTC: 100 Coins"], regTTC))
world.regions.append(regTTC)
regRR = Region("Rainbow Ride", RegionType.Generic, "Rainbow Ride", player, world)
locRR_names = [name for name, id in locRR_table.items()]
regRR.locations += [SM64Location(player, loc_name, location_table[loc_name], regRR) for loc_name in locRR_names]
if (world.EnableCoinStars[player].value):
regRR.locations.append(SM64Location(player, "RR 100 Coins", location_table["RR 100 Coins"], regRR))
regRR.locations.append(SM64Location(player, "RR: 100 Coins", location_table["RR: 100 Coins"], regRR))
world.regions.append(regRR)

View File

@ -48,20 +48,20 @@ def set_rules(world,player):
connect_regions(world, player, "Rainbow Ride", "Second Floor", lambda state: True)
#Special Rules for some Locations
add_rule(world.get_location("Wing Cap Switch", player), lambda state: state.has("Power Star", player, 10))
add_rule(world.get_location("Metal Cap Switch", player), lambda state: state.can_reach("Basement", 'Region', player))
add_rule(world.get_location("Vanish Cap Switch", player), lambda state: state.can_reach("Basement", 'Region', player))
add_rule(world.get_location("Tower of the Wing Cap Switch", player), lambda state: state.has("Power Star", player, 10))
add_rule(world.get_location("Cavern of the Metal Cap Switch", player), lambda state: state.can_reach("Basement", 'Region', player))
add_rule(world.get_location("Vanish Cap Under the Moat Switch", player), lambda state: state.can_reach("Basement", 'Region', player))
add_rule(world.get_location("Eye to Eye in the Secret Room", player), lambda state: state.has("Vanish Cap", player))
add_rule(world.get_location("Collect the Caps...", player), lambda state: state.has("Metal Cap", player) and
add_rule(world.get_location("BBH: Eye to Eye in the Secret Room", player), lambda state: state.has("Vanish Cap", player))
add_rule(world.get_location("DDD: Collect the Caps...", player), lambda state: state.has("Metal Cap", player) and
state.has("Vanish Cap", player))
add_rule(world.get_location("Into the Igloo", player), lambda state: state.has("Vanish Cap", player))
add_rule(world.get_location("Quick Race Through Downtown!", player), lambda state: state.has("Vanish Cap", player))
add_rule(world.get_location("SL: Into the Igloo", player), lambda state: state.has("Vanish Cap", player))
add_rule(world.get_location("WDW: Quick Race Through Downtown!", player), lambda state: state.has("Vanish Cap", player))
if (world.StrictCapRequirements[player].value):
add_rule(world.get_location("Mario Wings to the Sky", player), lambda state: state.has("Wing Cap", player))
add_rule(world.get_location("Metal-Head Mario Can Move!", player), lambda state: state.has("Metal Cap", player))
add_rule(world.get_location("BoB: Mario Wings to the Sky", player), lambda state: state.has("Wing Cap", player))
add_rule(world.get_location("HMC: Metal-Head Mario Can Move!", player), lambda state: state.has("Metal Cap", player))
add_rule(world.get_location("JRB: Through the Jet Stream", player), lambda state: state.has("Metal Cap", player))
add_rule(world.get_location("Free Flying for 8 Red Coins", player), lambda state: state.has("Wing Cap", player))
add_rule(world.get_location("SSL: Free Flying for 8 Red Coins", player), lambda state: state.has("Wing Cap", player))
add_rule(world.get_location("DDD: Through the Jet Stream", player), lambda state: state.has("Metal Cap", player))
add_rule(world.get_location("Vanish Cap Under the Moat Red Coins", player), lambda state: state.has("Vanish Cap", player))
@ -71,9 +71,9 @@ def set_rules(world,player):
add_rule(world.get_location("Bowser in the Sky Red Coins", player), lambda state: state.can_reach("Third Floor",'Region',player) and state.has("Power Star", player, world.StarsToFinish[player].value))
add_rule(world.get_location("The Princess's Secret Slide Block", player), lambda state: state.has("Power Star", player, 1))
add_rule(world.get_location("The Princess's Secret Slide Fast", player), lambda state: state.has("Power Star", player, 1))
add_rule(world.get_location("Cavern of the Metal Cap Red Coins", player), lambda state: state.can_reach("Metal Cap Switch", 'Location', player) and state.has("Metal Cap", player))
add_rule(world.get_location("Tower of the Wing Cap Red Coins", player), lambda state: state.can_reach("Wing Cap Switch", 'Location', player))
add_rule(world.get_location("Vanish Cap Under the Moat Red Coins", player), lambda state: state.can_reach("Vanish Cap Switch", 'Location', player))
add_rule(world.get_location("Cavern of the Metal Cap Red Coins", player), lambda state: state.can_reach("Cavern of the Metal Cap Switch", 'Location', player) and state.has("Metal Cap", player))
add_rule(world.get_location("Tower of the Wing Cap Red Coins", player), lambda state: state.can_reach("Tower of the Wing Cap Switch", 'Location', player))
add_rule(world.get_location("Vanish Cap Under the Moat Red Coins", player), lambda state: state.can_reach("Vanish Cap Under the Moat Switch", 'Location', player))
add_rule(world.get_location("Wing Mario Over the Rainbow", player), lambda state: state.can_reach("Third Floor", 'Region', player) and state.has("Wing Cap", player))
add_rule(world.get_location("The Secret Aquarium", player), lambda state: state.can_reach("Jolly Roger Bay", 'Region', player))
add_rule(world.get_location("Toad (Basement)", player), lambda state: state.can_reach("Basement",'Region',player))

View File

@ -21,7 +21,7 @@ class SM64World(World):
item_name_to_id = item_table
location_name_to_id = location_table
data_version = 2
data_version = 3
forced_auto_forfeit = False
options = sm64_options