From fe0a6b43b5ec2262b252f8944a02674ae647fa23 Mon Sep 17 00:00:00 2001 From: jamesbrq Date: Fri, 24 Nov 2023 23:44:51 -0500 Subject: [PATCH] beta-4 --- Locations.py | 1 + Names/LocationName.py | 3 ++ .../__pycache__/LocationName.cpython-311.pyc | Bin 44138 -> 44341 bytes Regions.py | 42 ++++++------------ Rom.py | 15 ++++++- Rules.py | 14 ++++++ StateLogic.py | 8 +--- __init__.py | 12 ++++- data/basepatch.bsdiff | Bin 16233 -> 16204 bytes 9 files changed, 58 insertions(+), 37 deletions(-) diff --git a/Locations.py b/Locations.py index 26f4f0d..bfeeb48 100644 --- a/Locations.py +++ b/Locations.py @@ -731,6 +731,7 @@ class MLSSLocation(Location): (0x434D, 0x40, 0x1e9442), # Yellow Neon Egg (0x4345, 0x8, 0x1e9408), # Firebrand (0x4345, 0x4, 0x1e9409), # Thunder Hand + (0x42FF, 0x80, 0x251071), # Beanstone Reward ] roomException: dict[int, int] = { diff --git a/Names/LocationName.py b/Names/LocationName.py index 300899e..7e977b2 100644 --- a/Names/LocationName.py +++ b/Names/LocationName.py @@ -525,3 +525,6 @@ class LocationName(): BowsersCastleLemmyRoomMole = "Bowser's Castle Lemmy Room Mole" SurfMinigame = "Surf Minigame" BeanbeanOutskirtsThunderHandMole = "Beanbean Outskirts Thunder Hand Mole" + BadgeShopMomPiranhaFlag1 = "Badge Shop Mom Piranha Flag 1" + BadgeShopMomPiranhaFlag2 = "Badge Shop Mom Piranha Flag 2" + BadgeShopMomPiranhaFlag3 = "Badge Shop Mom Piranha Flag 3" diff --git a/Names/__pycache__/LocationName.cpython-311.pyc b/Names/__pycache__/LocationName.cpython-311.pyc index e9b7032ac698b53c49e036fb95c558f59e23cd49..d1a6ff8da2ce0aba95fa78e960754fb02ec1b603 100644 GIT binary patch delta 342 zcmaELgK6t6Ccfpoyj%=G;F%nkYQAtHUkKxZjme!nG834h1Sc@12momzAPrhQxzr`_=|BGqVSB6c;d`{8X}u5qCYxY-;x092+qha@XgN+ z$Sg|C%Sd#~NlZ7yDPshcnans-c(UgFAjXo-HS^Tk;1U1X6#CV|`wEHXusObiS~ z%s>zMX)=Q8A_m3*vd|FS4jyU{NU&V`5+^Vg~B=(_{qGMWP@Pu&_9g^^3zMH$SB`C)KV< p0?1_qsx0;f5+9fu85ut?`EfA%F@9jcO?`yOeL+_ufTR&@8vxJeFyR0I diff --git a/Regions.py b/Regions.py index c95d03e..2a72880 100644 --- a/Regions.py +++ b/Regions.py @@ -108,33 +108,20 @@ def connect_regions(world: MultiWorld, player: int): connect(world, player, names, "Main Area", "BaseUltraRocks", lambda state: StateLogic.ultra(state, player)) connect(world, player, names, "Main Area", "Chucklehuck Woods", lambda state: StateLogic.brooch(state, player)) connect(world, player, names, "Main Area", "BooStatue", lambda state: StateLogic.canCrash(state, player)) - connect(world, player, names, "Main Area", "Hooniversity", - lambda state: StateLogic.canDig(state, player) and StateLogic.canMini(state, player)) + connect(world, player, names, "Main Area", "Hooniversity", lambda state: StateLogic.canDig(state, player) and StateLogic.canMini(state, player)) connect(world, player, names, "Hooniversity", "Oasis") - connect(world, player, names, "Main Area", "TeeheeValley", - lambda state: StateLogic.super(state, player) or StateLogic.canDash(state, player)) + connect(world, player, names, "Main Area", "TeeheeValley", lambda state: StateLogic.super(state, player) or StateLogic.canDash(state, player)) connect(world, player, names, "TeeheeValley", "GwarharEntrance", lambda state: StateLogic.membership(state, player) and StateLogic.fire(state, player)) connect(world, player, names, "TeeheeValley", "Oasis", lambda state: StateLogic.membership(state, player)) - connect(world, player, names, "TeeheeValley", "Fungitown", - lambda state: StateLogic.thunder(state, player) and StateLogic.castleTown(state, player)) - connect(world, player, names, "Fungitown", "FungitownBeanstar", - lambda state: StateLogic.pieces(state, player) or state.can_reach("FungitownBirdo", "Region", player)) + connect(world, player, names, "TeeheeValley", "Fungitown", lambda state: StateLogic.thunder(state, player) and StateLogic.castleTown(state, player) and StateLogic.rose(state, player)) + connect(world, player, names, "Fungitown", "FungitownBeanstar", lambda state: StateLogic.pieces(state, player) or state.can_reach("FungitownBirdo", "Region", player)) connect(world, player, names, "Fungitown", "FungitownBirdo", lambda state: StateLogic.postJokes(state, player)) - connect(world, player, names, "Main Area", "Shop Starting Flag", - lambda state: StateLogic.brooch(state, player) or StateLogic.rose(state, player)) - connect(world, player, names, "Shop Starting Flag", "Shop Chuckolator Flag", - lambda state: (StateLogic.brooch(state, player) and StateLogic.fruits(state, player)) or state.can_reach( - "Shop Piranha Flag", "Region", player)) - connect(world, player, names, "Shop Starting Flag", "Shop Piranha Flag", - lambda state: StateLogic.thunder(state, player) or state.can_reach("Shop Peach Kidnapped Flag", "Region", - player)) - connect(world, player, names, "Shop Starting Flag", "Shop Peach Kidnapped Flag", lambda state: (StateLogic.thunder( - state, player) and StateLogic.fungitown(state, player)) or state.can_reach( - "Shop Beanstar Complete Flag", "Region", player)) - connect(world, player, names, "Shop Starting Flag", "Shop Beanstar Complete Flag", lambda state: (StateLogic.castleTown(state, player) and StateLogic.pieces(state, player)) or state.can_reach( - "Shop Birdo Flag", "Region", player)) - connect(world, player, names, "Shop Starting Flag", "Shop Birdo Flag", - lambda state: StateLogic.postJokes(state, player)) + connect(world, player, names, "Main Area", "Shop Starting Flag", lambda state: StateLogic.brooch(state, player) or StateLogic.rose(state, player)) + connect(world, player, names, "Shop Starting Flag", "Shop Chuckolator Flag", lambda state: (StateLogic.brooch(state, player) and StateLogic.fruits(state, player)) or state.can_reach("Shop Piranha Flag", "Region", player)) + connect(world, player, names, "Shop Starting Flag", "Shop Piranha Flag", lambda state: StateLogic.thunder(state, player) or state.can_reach("Shop Peach Kidnapped Flag", "Region", player)) + connect(world, player, names, "Shop Starting Flag", "Shop Peach Kidnapped Flag", lambda state: (StateLogic.thunder(state, player) and StateLogic.fungitown(state, player)) or state.can_reach("Shop Beanstar Complete Flag", "Region", player)) + connect(world, player, names, "Shop Starting Flag", "Shop Beanstar Complete Flag", lambda state: (StateLogic.castleTown(state, player) and StateLogic.pieces(state, player) and StateLogic.rose(state, player)) or state.can_reach("Shop Birdo Flag", "Region", player)) + connect(world, player, names, "Shop Starting Flag", "Shop Birdo Flag", lambda state: StateLogic.postJokes(state, player)) connect(world, player, names, "Main Area", "Sewers", lambda state: StateLogic.rose(state, player)) connect(world, player, names, "Main Area", "Airport", lambda state: StateLogic.thunder(state, player)) connect(world, player, names, "Main Area", "Theater", lambda state: StateLogic.canDash(state, player)) @@ -142,17 +129,14 @@ def connect_regions(world: MultiWorld, player: int): connect(world, player, names, "Surfable", "GwarharEntrance") connect(world, player, names, "Surfable", "Oasis") connect(world, player, names, "Surfable", "JokesEntrance", lambda state: StateLogic.fire(state, player)) - connect(world, player, names, "JokesEntrance", "JokesMain", - lambda state: StateLogic.canCrash(state, player) and StateLogic.canDig(state, player)) + connect(world, player, names, "JokesEntrance", "JokesMain", lambda state: StateLogic.canCrash(state, player) and StateLogic.canDig(state, player)) connect(world, player, names, "JokesMain", "PostJokes", lambda state: StateLogic.postJokes(state, player)) if not world.castle_skip[player]: connect(world, player, names, "PostJokes", "Bowser's Castle") connect(world, player, names, "Bowser's Castle", "Bowser's Castle Mini", lambda state: StateLogic.canMini(state, player)) connect(world, player, names, "Chucklehuck Woods", "Winkle", lambda state: StateLogic.canDash(state, player)) - connect(world, player, names, "Chucklehuck Woods", "Beanbean Castle Town", - lambda state: StateLogic.fruits(state, player)) - connect(world, player, names, "GwarharEntrance", "GwarharMain", - lambda state: StateLogic.canDash(state, player) and StateLogic.canCrash(state, player)) + connect(world, player, names, "Chucklehuck Woods", "Beanbean Castle Town", lambda state: StateLogic.fruits(state, player)) + connect(world, player, names, "GwarharEntrance", "GwarharMain", lambda state: StateLogic.canDash(state, player) and StateLogic.canCrash(state, player)) def create_region(world, player, name, locations, excluded): diff --git a/Rom.py b/Rom.py index a7a02ad..ce423ab 100644 --- a/Rom.py +++ b/Rom.py @@ -4,6 +4,9 @@ import hashlib import bsdiff4 import pkgutil +import Utils +import settings + from worlds.Files import APDeltaPatch from settings import get_settings @@ -53,12 +56,21 @@ def __init__(self, location, byte1, byte2, bro): def get_base_rom_as_bytes() -> bytes: - with open("Mario & Luigi - Superstar Saga (U).gba", "rb") as infile: + with open(get_base_rom_path("Mario & Luigi - Superstar Saga (U).gba"), "rb") as infile: base_rom_bytes = bytes(infile.read()) return base_rom_bytes +def get_base_rom_path(file_name: str = "") -> str: + options: settings.Settings = settings.get_settings() + if not file_name: + file_name = options["mlss_options"]["rom_file"] + if not os.path.exists(file_name): + file_name = Utils.user_path(file_name) + return file_name + + class MLSSDeltaPatch(APDeltaPatch): game = "Mario & Luigi: Superstar Saga" hash = "4b1a5897d89d9e74ec7f630eefdfd435" @@ -555,6 +567,7 @@ def insert_groups(self, enemy_data): self.stream.seek(location + 4) self.stream.write(temp_group.data) + def close(self, path): output_path = os.path.join(path, f"AP_{self.world.seed_name}_P{self.player}.gba") with open(output_path, 'wb') as outfile: diff --git a/Rules.py b/Rules.py index 3890503..1e2fc50 100644 --- a/Rules.py +++ b/Rules.py @@ -64,6 +64,8 @@ def set_rules(world: MultiWorld, player: int): lambda state: StateLogic.thunder(state, player)) add_rule(world.get_location(LocationName.BeanbeanOutskirtsEDigspot2, player), lambda state: StateLogic.thunder(state, player)) + add_rule(world.get_location(LocationName.BeanbeanOutskirtsSRoom2Block1, player), + lambda state: StateLogic.canDig(state, player)) add_rule(world.get_location(LocationName.BeanbeanOutskirtsNorthBeachDigspot3, player), lambda state: StateLogic.canDash(state, player)) add_rule(world.get_location(LocationName.WoohooHooniversityMiniMarioPuzzleSecretAreaBlock1, player), @@ -188,3 +190,15 @@ def set_rules(world: MultiWorld, player: int): lambda state: StateLogic.winkle(state, player)) add_rule(world.get_location(LocationName.GwarharLagoonSpangleReward, player), lambda state: StateLogic.spangle(state, player)) + add_rule(world.get_location(LocationName.PantsShopMomPiranhaFlag1, player), + lambda state: StateLogic.brooch(state, player) or StateLogic.rose(state, player)) + add_rule(world.get_location(LocationName.PantsShopMomPiranhaFlag2, player), + lambda state: StateLogic.brooch(state, player) or StateLogic.rose(state, player)) + add_rule(world.get_location(LocationName.PantsShopMomPiranhaFlag3, player), + lambda state: StateLogic.brooch(state, player) or StateLogic.rose(state, player)) + add_rule(world.get_location(LocationName.BadgeShopMomPiranhaFlag1, player), + lambda state: StateLogic.brooch(state, player) or StateLogic.rose(state, player)) + add_rule(world.get_location(LocationName.BadgeShopMomPiranhaFlag2, player), + lambda state: StateLogic.brooch(state, player) or StateLogic.rose(state, player)) + add_rule(world.get_location(LocationName.BadgeShopMomPiranhaFlag3, player), + lambda state: StateLogic.brooch(state, player) or StateLogic.rose(state, player)) diff --git a/StateLogic.py b/StateLogic.py index 641e534..6398067 100644 --- a/StateLogic.py +++ b/StateLogic.py @@ -85,11 +85,7 @@ def surfable(state, player): def postJokes(state, player): - return surfable(state, player) and canDig(state, player) and canDash(state, player) and canCrash(state, - player) and dressBeanstar( - state, player) and pieces(state, player) and fruits(state, player) and brooch(state, player) and rose(state, - - player) + return surfable(state, player) and canDig(state, player) and canDash(state, player) and canCrash(state, player) and dressBeanstar(state, player) and pieces(state, player) and fruits(state, player) and brooch(state, player) and rose(state, player) def teehee(state, player): @@ -101,4 +97,4 @@ def castleTown(state, player): def fungitown(state, player): - return castleTown(state, player) and thunder(state, player) + return castleTown(state, player) and thunder(state, player) and rose(state, player) diff --git a/__init__.py b/__init__.py index 7aca547..2080b1d 100644 --- a/__init__.py +++ b/__init__.py @@ -63,6 +63,14 @@ def create_regions(self) -> None: create_regions(self.multiworld, self.player, self.excluded_locations) connect_regions(self.multiworld, self.player) + def generate_basic(self) -> None: + item = self.create_item("Mushroom") + self.multiworld.get_location(LocationName.ShopStartingFlag1, self.player).place_locked_item(item) + item = self.create_item("Syrup") + self.multiworld.get_location(LocationName.ShopStartingFlag2, self.player).place_locked_item(item) + item = self.create_item("1-UP Mushroom") + self.multiworld.get_location(LocationName.ShopStartingFlag3, self.player).place_locked_item(item) + def create_items(self) -> None: # First add in all progression and useful items required_items = [] @@ -112,12 +120,14 @@ def generate_output(self, output_directory: str) -> None: rom = Rom(self.multiworld, self.player) for location_name in location_table.keys(): - if (self.multiworld.skip_minecart[self.player] and "Minecart" in location_name) or (self.multiworld.castle_skip[self.player] and "Bowser" in location_name) or (self.multiworld.disable_surf[self.player] and "Surf Minigame" in location_name): + if (self.multiworld.skip_minecart[self.player] and "Minecart" in location_name and "After" not in location_name) or (self.multiworld.castle_skip[self.player] and "Bowser" in location_name) or (self.multiworld.disable_surf[self.player] and "Surf Minigame" in location_name): continue location = self.multiworld.get_location(location_name, self.player) item = location.item address = [address for address in all_locations if address.name == location.name] rom.item_inject(location.address, address[0].itemType, item) + if "Shop" in location_name and item.player != self.player: + dummy = 0 rom.patch_options() diff --git a/data/basepatch.bsdiff b/data/basepatch.bsdiff index 636ebcab6c0fd101226ab17c1ff816733e9d78ee..5a423dcffcf98c28785707f371a1d0da169c1139 100644 GIT binary patch literal 16204 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

m$>&DABS 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 R^OgM|%B7If|1EUn{{c&OLTLa1