MLSS: Add new goal + Update basepatch to standalone equivalent (#4409)
* Item groups + small changes * Add alternate goal * New Locations and Logic Updates + Basepatch * Update basepatch.bsdiff * Update Basepatch * Update basepatch.bsdiff * Update bowsers castle logic with emblem hunt * Update Archipelago Unittests.run.xml * Update Archipelago Unittests.run.xml * Fix for overlapping ROM addresses * Update Rom.py * Update __init__.py * Update basepatch.bsdiff * Update Rom.py * Update client with new helper function * Update basepatch.bsdiff * Update worlds/mlss/__init__.py Co-authored-by: qwint <qwint.42@gmail.com> * Update worlds/mlss/__init__.py Co-authored-by: qwint <qwint.42@gmail.com> * Review Refactor * Review Refactor --------- Co-authored-by: qwint <qwint.42@gmail.com>
This commit is contained in:
@@ -91,6 +91,16 @@ def connect_regions(world: "MLSSWorld"):
|
||||
connect(world, names, "Main Area", "BaseUltraRocks", lambda state: StateLogic.ultra(state, world.player))
|
||||
connect(world, names, "Main Area", "Chucklehuck Woods", lambda state: StateLogic.brooch(state, world.player))
|
||||
connect(world, names, "Main Area", "BooStatue", lambda state: StateLogic.canCrash(state, world.player))
|
||||
if world.options.goal == "emblem_hunt":
|
||||
if world.options.castle_skip:
|
||||
connect(world, names, "Main Area", "Cackletta's Soul",
|
||||
lambda state: state.has("Beanstar Emblem", world.player, world.options.emblems_required.value))
|
||||
else:
|
||||
connect(world, names, "Main Area", "Bowser's Castle", lambda state: state.has("Beanstar Emblem", world.player, world.options.emblems_required.value))
|
||||
connect(world, names, "Bowser's Castle", "Bowser's Castle Mini", lambda state:
|
||||
StateLogic.canMini(state, world.player)
|
||||
and StateLogic.thunder(state,world.player))
|
||||
connect(world, names, "Bowser's Castle Mini", "Cackletta's Soul", lambda state: StateLogic.soul(state, world.player))
|
||||
connect(
|
||||
world,
|
||||
names,
|
||||
@@ -213,8 +223,8 @@ def connect_regions(world: "MLSSWorld"):
|
||||
connect(world, names, "Surfable", "GwarharEntrance")
|
||||
connect(world, names, "Surfable", "Oasis")
|
||||
connect(world, names, "Surfable", "JokesEntrance", lambda state: StateLogic.fire(state, world.player))
|
||||
connect(world, names, "JokesMain", "PostJokes", lambda state: StateLogic.postJokes(state, world.player))
|
||||
if not world.options.castle_skip:
|
||||
connect(world, names, "JokesMain", "PostJokes", lambda state: StateLogic.postJokes(state, world.player, world.options.goal.value))
|
||||
if not world.options.castle_skip and world.options.goal != "emblem_hunt":
|
||||
connect(world, names, "PostJokes", "Bowser's Castle")
|
||||
connect(
|
||||
world,
|
||||
@@ -224,7 +234,7 @@ def connect_regions(world: "MLSSWorld"):
|
||||
lambda state: StateLogic.canMini(state, world.player) and StateLogic.thunder(state, world.player),
|
||||
)
|
||||
connect(world, names, "Bowser's Castle Mini", "Cackletta's Soul")
|
||||
else:
|
||||
elif world.options.goal != "emblem_hunt":
|
||||
connect(world, names, "PostJokes", "Cackletta's Soul")
|
||||
connect(world, names, "Chucklehuck Woods", "Winkle", lambda state: StateLogic.canDash(state, world.player))
|
||||
connect(
|
||||
@@ -247,14 +257,14 @@ def connect_regions(world: "MLSSWorld"):
|
||||
names,
|
||||
"Shop Starting Flag",
|
||||
"Shop Birdo Flag",
|
||||
lambda state: StateLogic.postJokes(state, world.player),
|
||||
lambda state: StateLogic.postJokes(state, world.player, world.options.goal.value),
|
||||
)
|
||||
connect(
|
||||
world,
|
||||
names,
|
||||
"Fungitown",
|
||||
"Fungitown Shop Birdo Flag",
|
||||
lambda state: StateLogic.postJokes(state, world.player),
|
||||
lambda state: StateLogic.postJokes(state, world.player, world.options.goal.value),
|
||||
)
|
||||
else:
|
||||
connect(
|
||||
@@ -276,14 +286,14 @@ def connect_regions(world: "MLSSWorld"):
|
||||
names,
|
||||
"Shop Starting Flag",
|
||||
"Shop Birdo Flag",
|
||||
lambda state: StateLogic.canCrash(state, world.player) and StateLogic.postJokes(state, world.player),
|
||||
lambda state: StateLogic.canCrash(state, world.player) and StateLogic.postJokes(state, world.player, world.options.goal.value),
|
||||
)
|
||||
connect(
|
||||
world,
|
||||
names,
|
||||
"Fungitown",
|
||||
"Fungitown Shop Birdo Flag",
|
||||
lambda state: StateLogic.canCrash(state, world.player) and StateLogic.postJokes(state, world.player),
|
||||
lambda state: StateLogic.canCrash(state, world.player) and StateLogic.postJokes(state, world.player, world.options.goal.value),
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user