mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
MLSS: Various bugfixes and QoL updates (#3744)
* Small fixes * Update Location names + Remove redundant rule * Fix for str not being returned in get_filler_item_name() * ASM changes + various name/logic updates * Remove extra unintended change + Make beanstone/beanlets useful * Add missing timer logic to client * Update Rules.py * Fix bad capitalization * Small formatting and ASM changes * Update basepatch.bsdiff * Update seed verification to be more likely to make a correct comparison * Add Pipe 10 * Final batch of small fixes * FINAL CHANGE I SWEAR * Added victory Item for spoilers * Update worlds/mlss/Regions.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/Items.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Fix jokes end logic * Update worlds/mlss/Regions.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/Rules.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/Rules.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Update worlds/mlss/Rules.py Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> * Fix jokes end logic * Item Location mismatch + Check options against rules * Change List to Set + Check options against rules * Moved Victory item to event * Update worlds/mlss/__init__.py Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> * Update worlds/mlss/__init__.py Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com> --------- Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com> Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
This commit is contained in:
@@ -33,6 +33,7 @@ from .Locations import (
|
||||
postJokes,
|
||||
baseUltraRocks,
|
||||
coins,
|
||||
cacklettas_soul,
|
||||
)
|
||||
from . import StateLogic
|
||||
|
||||
@@ -40,44 +41,45 @@ if typing.TYPE_CHECKING:
|
||||
from . import MLSSWorld
|
||||
|
||||
|
||||
def create_regions(world: "MLSSWorld", excluded: typing.List[str]):
|
||||
def create_regions(world: "MLSSWorld"):
|
||||
menu_region = Region("Menu", world.player, world.multiworld)
|
||||
world.multiworld.regions.append(menu_region)
|
||||
|
||||
create_region(world, "Main Area", mainArea, excluded)
|
||||
create_region(world, "Chucklehuck Woods", chucklehuck, excluded)
|
||||
create_region(world, "Beanbean Castle Town", castleTown, excluded)
|
||||
create_region(world, "Shop Starting Flag", startingFlag, excluded)
|
||||
create_region(world, "Shop Chuckolator Flag", chuckolatorFlag, excluded)
|
||||
create_region(world, "Shop Mom Piranha Flag", piranhaFlag, excluded)
|
||||
create_region(world, "Shop Enter Fungitown Flag", kidnappedFlag, excluded)
|
||||
create_region(world, "Shop Beanstar Complete Flag", beanstarFlag, excluded)
|
||||
create_region(world, "Shop Birdo Flag", birdoFlag, excluded)
|
||||
create_region(world, "Surfable", surfable, excluded)
|
||||
create_region(world, "Hooniversity", hooniversity, excluded)
|
||||
create_region(world, "GwarharEntrance", gwarharEntrance, excluded)
|
||||
create_region(world, "GwarharMain", gwarharMain, excluded)
|
||||
create_region(world, "TeeheeValley", teeheeValley, excluded)
|
||||
create_region(world, "Winkle", winkle, excluded)
|
||||
create_region(world, "Sewers", sewers, excluded)
|
||||
create_region(world, "Airport", airport, excluded)
|
||||
create_region(world, "JokesEntrance", jokesEntrance, excluded)
|
||||
create_region(world, "JokesMain", jokesMain, excluded)
|
||||
create_region(world, "PostJokes", postJokes, excluded)
|
||||
create_region(world, "Theater", theater, excluded)
|
||||
create_region(world, "Fungitown", fungitown, excluded)
|
||||
create_region(world, "Fungitown Shop Beanstar Complete Flag", fungitownBeanstar, excluded)
|
||||
create_region(world, "Fungitown Shop Birdo Flag", fungitownBirdo, excluded)
|
||||
create_region(world, "BooStatue", booStatue, excluded)
|
||||
create_region(world, "Oasis", oasis, excluded)
|
||||
create_region(world, "BaseUltraRocks", baseUltraRocks, excluded)
|
||||
create_region(world, "Main Area", mainArea)
|
||||
create_region(world, "Chucklehuck Woods", chucklehuck)
|
||||
create_region(world, "Beanbean Castle Town", castleTown)
|
||||
create_region(world, "Shop Starting Flag", startingFlag)
|
||||
create_region(world, "Shop Chuckolator Flag", chuckolatorFlag)
|
||||
create_region(world, "Shop Mom Piranha Flag", piranhaFlag)
|
||||
create_region(world, "Shop Enter Fungitown Flag", kidnappedFlag)
|
||||
create_region(world, "Shop Beanstar Complete Flag", beanstarFlag)
|
||||
create_region(world, "Shop Birdo Flag", birdoFlag)
|
||||
create_region(world, "Surfable", surfable)
|
||||
create_region(world, "Hooniversity", hooniversity)
|
||||
create_region(world, "GwarharEntrance", gwarharEntrance)
|
||||
create_region(world, "GwarharMain", gwarharMain)
|
||||
create_region(world, "TeeheeValley", teeheeValley)
|
||||
create_region(world, "Winkle", winkle)
|
||||
create_region(world, "Sewers", sewers)
|
||||
create_region(world, "Airport", airport)
|
||||
create_region(world, "JokesEntrance", jokesEntrance)
|
||||
create_region(world, "JokesMain", jokesMain)
|
||||
create_region(world, "PostJokes", postJokes)
|
||||
create_region(world, "Theater", theater)
|
||||
create_region(world, "Fungitown", fungitown)
|
||||
create_region(world, "Fungitown Shop Beanstar Complete Flag", fungitownBeanstar)
|
||||
create_region(world, "Fungitown Shop Birdo Flag", fungitownBirdo)
|
||||
create_region(world, "BooStatue", booStatue)
|
||||
create_region(world, "Oasis", oasis)
|
||||
create_region(world, "BaseUltraRocks", baseUltraRocks)
|
||||
create_region(world, "Cackletta's Soul", cacklettas_soul)
|
||||
|
||||
if world.options.coins:
|
||||
create_region(world, "Coins", coins, excluded)
|
||||
create_region(world, "Coins", coins)
|
||||
|
||||
if not world.options.castle_skip:
|
||||
create_region(world, "Bowser's Castle", bowsers, excluded)
|
||||
create_region(world, "Bowser's Castle Mini", bowsersMini, excluded)
|
||||
create_region(world, "Bowser's Castle", bowsers)
|
||||
create_region(world, "Bowser's Castle Mini", bowsersMini)
|
||||
|
||||
|
||||
def connect_regions(world: "MLSSWorld"):
|
||||
@@ -221,6 +223,9 @@ def connect_regions(world: "MLSSWorld"):
|
||||
"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")
|
||||
else:
|
||||
connect(world, names, "PostJokes", "Cackletta's Soul")
|
||||
connect(world, names, "Chucklehuck Woods", "Winkle", lambda state: StateLogic.canDash(state, world.player))
|
||||
connect(
|
||||
world,
|
||||
@@ -282,11 +287,11 @@ def connect_regions(world: "MLSSWorld"):
|
||||
)
|
||||
|
||||
|
||||
def create_region(world: "MLSSWorld", name, locations, excluded):
|
||||
def create_region(world: "MLSSWorld", name, locations):
|
||||
ret = Region(name, world.player, world.multiworld)
|
||||
for location in locations:
|
||||
loc = MLSSLocation(world.player, location.name, location.id, ret)
|
||||
if location.name in excluded:
|
||||
if location.name in world.disabled_locations:
|
||||
continue
|
||||
ret.locations.append(loc)
|
||||
world.multiworld.regions.append(ret)
|
||||
|
Reference in New Issue
Block a user