Skip to content

Commit

Permalink
v1.6.2
Browse files Browse the repository at this point in the history
  • Loading branch information
jamesbrq committed May 3, 2024
1 parent c8dd1e7 commit 2688490
Show file tree
Hide file tree
Showing 10 changed files with 219 additions and 191 deletions.
4 changes: 2 additions & 2 deletions Client.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ async def game_watcher(self, ctx: "BizHawkClientContext") -> None:
(0x4808, 2, "EWRAM"),
(0x4407, 1, "EWRAM"),
(0x2339, 1, "IWRAM"),
],
]
)
flags = read_state[0]
current_room = int.from_bytes(read_state[1], "little")
Expand Down Expand Up @@ -149,7 +149,7 @@ async def game_watcher(self, ctx: "BizHawkClientContext") -> None:
if location in ctx.server_locations:
locs_to_send.add(location)

# Loop for recieving items. Item is written as an ID into 0x3057.
# Loop for receiving items. Item is written as an ID into 0x3057.
# ASM reads the ID in a loop and give the player the item before resetting the RAM address to 0x0.
# If RAM address isn't 0x0 yet break out and try again later to give the rest of the items
for i in range(len(ctx.items_received) - received_index):
Expand Down
2 changes: 1 addition & 1 deletion Data.py
Original file line number Diff line number Diff line change
Expand Up @@ -5702,4 +5702,4 @@
[0x3CCA02, 0xF7, 0x02, 0],
[0x3CCA00, 0xFF, 0x07, 0],
[0x3D14C6, 0xFF, 0x07, 0],
[0x3D1506, 0xFF, 0x07, 1]]
[0x3D1506, 0xFF, 0x07, 1]]
36 changes: 18 additions & 18 deletions Items.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
class ItemData(typing.NamedTuple):
code: int
itemName: str
progression: ItemClassification
classification: ItemClassification
itemID: int


Expand All @@ -32,8 +32,8 @@ class MLSSItem(Item):
ItemData(77771014, "1-UP Super", ItemClassification.useful, 0x17),
ItemData(77771015, "Golden Mushroom", ItemClassification.useful, 0x18),
ItemData(77771016, "Refreshing Herb", ItemClassification.filler, 0x19),
ItemData(77771017, "Red Pepper", ItemClassification.filler, 0x1A),
ItemData(77771018, "Green Pepper", ItemClassification.filler, 0x1B),
ItemData(77771017, "Red Pepper", ItemClassification.useful, 0x1A),
ItemData(77771018, "Green Pepper", ItemClassification.useful, 0x1B),
ItemData(77771019, "Hoo Bean", ItemClassification.filler, 0x1D),
ItemData(77771020, "Chuckle Bean", ItemClassification.filler, 0x1E),
ItemData(77771021, "Woohoo Blend", ItemClassification.useful, 0x20),
Expand Down Expand Up @@ -78,21 +78,21 @@ class MLSSItem(Item):
ItemData(77771060, "Beanstar Piece 3", ItemClassification.progression, 0x67),
ItemData(77771061, "Beanstar Piece 4", ItemClassification.progression, 0x70),
ItemData(77771062, "Spangle", ItemClassification.progression, 0x72),
ItemData(77771063, "Beanlet 1", ItemClassification.useful, 0x73),
ItemData(77771064, "Beanlet 2", ItemClassification.useful, 0x74),
ItemData(77771065, "Beanlet 3", ItemClassification.useful, 0x75),
ItemData(77771066, "Beanlet 4", ItemClassification.useful, 0x76),
ItemData(77771067, "Beanlet 5", ItemClassification.useful, 0x77),
ItemData(77771068, "Beanstone 1", ItemClassification.useful, 0x80),
ItemData(77771069, "Beanstone 2", ItemClassification.useful, 0x81),
ItemData(77771070, "Beanstone 3", ItemClassification.useful, 0x82),
ItemData(77771071, "Beanstone 4", ItemClassification.useful, 0x83),
ItemData(77771072, "Beanstone 5", ItemClassification.useful, 0x84),
ItemData(77771073, "Beanstone 6", ItemClassification.useful, 0x85),
ItemData(77771074, "Beanstone 7", ItemClassification.useful, 0x86),
ItemData(77771075, "Beanstone 8", ItemClassification.useful, 0x87),
ItemData(77771076, "Beanstone 9", ItemClassification.useful, 0x90),
ItemData(77771077, "Beanstone 10", ItemClassification.useful, 0x91),
ItemData(77771063, "Beanlet 1", ItemClassification.filler, 0x73),
ItemData(77771064, "Beanlet 2", ItemClassification.filler, 0x74),
ItemData(77771065, "Beanlet 3", ItemClassification.filler, 0x75),
ItemData(77771066, "Beanlet 4", ItemClassification.filler, 0x76),
ItemData(77771067, "Beanlet 5", ItemClassification.filler, 0x77),
ItemData(77771068, "Beanstone 1", ItemClassification.filler, 0x80),
ItemData(77771069, "Beanstone 2", ItemClassification.filler, 0x81),
ItemData(77771070, "Beanstone 3", ItemClassification.filler, 0x82),
ItemData(77771071, "Beanstone 4", ItemClassification.filler, 0x83),
ItemData(77771072, "Beanstone 5", ItemClassification.filler, 0x84),
ItemData(77771073, "Beanstone 6", ItemClassification.filler, 0x85),
ItemData(77771074, "Beanstone 7", ItemClassification.filler, 0x86),
ItemData(77771075, "Beanstone 8", ItemClassification.filler, 0x87),
ItemData(77771076, "Beanstone 9", ItemClassification.filler, 0x90),
ItemData(77771077, "Beanstone 10", ItemClassification.filler, 0x91),
ItemData(77771078, "Secret Scroll 1", ItemClassification.useful, 0x92),
ItemData(77771079, "Secret Scroll 2", ItemClassification.useful, 0x93),
ItemData(77771080, "Castle Badge", ItemClassification.useful, 0x9F),
Expand Down
23 changes: 23 additions & 0 deletions Names/LocationName.py
Original file line number Diff line number Diff line change
Expand Up @@ -534,3 +534,26 @@ class LocationName:
BadgeShopMomPiranhaFlag3 = "Badge Shop Mom Piranha Flag 3"
HarhallsPants = "Harhall's Pants"
HoohooMountainBaseBooStatueCaveCoinBlock1 = "Hoohoo Mountain Base Boo Statue Cave Coin Block 1"
HoohooMountainBaseBooStatueCaveCoinBlock2 = "Hoohoo Mountain Base Boo Statue Cave Coin Block 2"
HoohooMountainBaseBooStatueCaveCoinBlock3 = "Hoohoo Mountain Base Boo Statue Cave Coin Block 3"
BeanbeanOutskirtsNWCoinBlock = "Beanbean Outskirts NW Coin Block"
BeanbeanOutskirtsSRoom1CoinBlock = "Beanbean Outskirts S Room 1 Coin Block"
BeanbeanOutskirtsSRoom2CoinBlock = "Beanbean Outskirts S Room 2 Coin Block"
ChateauPoppleRoomCoinBlock1 = "Chateau Popple Room Coin Block 1"
ChateauPoppleRoomCoinBlock2 = "Chateau Popple Room Coin Block 2"
ChucklehuckWoodsCaveRoom1CoinBlock = "Chucklehuck Woods Cave Room 1 Coin Block"
ChucklehuckWoodsCaveRoom2CoinBlock = "Chucklehuck Woods Cave Room 2 Coin Block"
ChucklehuckWoodsCaveRoom3CoinBlock = "Chucklehuck Woods Cave Room 3 Coin Block"
ChucklehuckWoodsPipe5RoomCoinBlock = "Chucklehuck Woods Pipe 5 Room Coin Block"
ChucklehuckWoodsRoom7CoinBlock = "Chucklehuck Woods Room 7 Coin Block"
ChucklehuckWoodsAfterChucklerootCoinBlock = "Chucklehuck Woods After Chuckleroot Coin Block"
ChucklehuckWoodsKoopaRoomCoinBlock = "Chucklehuck Woods Koopa Room Coin Block"
ChucklehuckWoodsWinkleAreaCaveCoinBlock = "Chucklehuck Woods Winkle Area Cave Coin Block"
SewersPrisonRoomCoinBlock = "Sewers Prison Room Coin Block"
TeeheeValleyPastUltraHammerRocksCoinBlock = "Teehee Valley Past Ultra Hammer Rocks Coin Block"
SSChuckolaStorageRoomCoinBlock1 = "S.S. Chuckola Storage Room Coin Block 1"
SSChuckolaStorageRoomCoinBlock2 = "S.S. Chuckola Storage Room Coin Block 2"
GwarharLagoonFirstUnderwaterAreaRoom2CoinBlock = "Gwarhar Lagoon First Underwater Area Room 2 Coin Block"
JokesEndSecondFloorWestRoomCoinBlock = "Joke's End Second Floor West Room Coin Block"
JokesEndNorthofBridgeRoomCoinBlock = "Joke's End North of Bridge Room Coin Block"

52 changes: 28 additions & 24 deletions Options.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

class BowsersCastleSkip(Toggle):
"""
Skip straight from the entrance hall to bowletta in Bowser's Castle.
All Bowser's Castle items will be removed from the location pool.
Skip straight from the entrance hall to Bowletta in Bowser's Castle.
All Bowser's Castle locations will be removed from the location pool.
"""

display_name = "Bowser's Castle Skip"
Expand All @@ -22,15 +22,15 @@ class ExtraPipes(Toggle):
class SkipMinecart(Toggle):
"""
Skip the minecart minigame that leads you through Hoohoo Mountain Base.
This will remove the 1 item in the minecart cave from the location pool.
This will remove the 1 location in the minecart cave from the location pool.
"""

display_name = "Skip Minecart Minigame"


class DisableSurf(Toggle):
"""
Remove the surf minigame item from the location pool.
Remove the surf minigame location from the location pool.
"""

display_name = "Disable Surf Minigame"
Expand All @@ -53,7 +53,7 @@ class MusicOptions(Choice):

class RandomSounds(Toggle):
"""
Randomizes every sound in the game, minus a select few that can softlock the game
Randomizes every sound in the game, minus a select few that can softlock the game.
"""

display_name = "Randomize Sounds"
Expand All @@ -77,7 +77,7 @@ class MarioColor(Choice):
option_white = 9
option_silhouette = 10
option_chaos = 11
option_truechaos = 12
option_true_chaos = 12
default = 0


Expand All @@ -99,7 +99,7 @@ class LuigiColor(Choice):
option_white = 9
option_silhouette = 10
option_chaos = 11
option_truechaos = 12
option_true_chaos = 12
default = 1


Expand Down Expand Up @@ -148,11 +148,11 @@ class LuigiPants(Choice):
class RandomizeEnemies(Choice):
"""
Randomize all normal enemy encounters in the game.
If Bowser's castle skip is enabled then enemies from Bowser's Castle will not be included.
disabled: Enemies will not be randomized
vanilla_groups: Vanilla enemy groups will be shuffled with each other. Custom enemy groups will not be made.
custom_groups: Custom enemy groups will be made and shuffled. Some enemy groups will only be semi-random.
(Groups including flying enemies or pestnuts)
If Bowser's castle skip is enabled, then enemies from Bowser's Castle will not be included.
Disabled: Enemies will not be randomized.
Vanilla Groups: Vanilla enemy groups will be shuffled with each other. Custom enemy groups will not be made.
Custom Groups: Custom enemy groups will be made and shuffled. Some enemy groups will only be semi-random,
including groups with flying enemies or pestnuts in them.
"""

display_name = "Randomize Enemies"
Expand All @@ -166,15 +166,15 @@ class RandomizeBosses(Choice):
"""
Randomize all boss encounters in the game.
If Bowser's castle skip is enabled then bosses from Bowser's Castle will not be included.
Some bosses are not randomized due to flags, and story (Such as the final boss)
Some bosses are not randomized due to flags, and story (such as the final boss).
Boss Only: Bosses will only be swapped with another boss.
Boss Normal: Bosses can be swapped with normal enemy encounters.
"""

display_name = "Randomize Bosses"
option_disabled = 0
option_bossonly = 1
option_bossnormal = 2
option_boss_only = 1
option_boss_normal = 2
default = 0


Expand All @@ -191,7 +191,6 @@ class ScaleStats(Toggle):
class XPMultiplier(Range):
"""
This will multiply any XP you receive in battle by the chosen multiplier.
"""

display_name = "XP Multiplier"
Expand All @@ -202,23 +201,26 @@ class XPMultiplier(Range):

class TattleHp(Toggle):
"""
This will display the enemies current and max health while in battle.
This will display the enemies' current and max health while in battle.
"""

display_name = "Tattle HP"


class RandomizeBackgrounds(Toggle):
"""
This randomizes the background image in battles
This randomizes the background image in battles.
"""

display_name = "Randomize Battle Backgrounds"


class HiddenVisible(Choice):
"""
This makes any hidden blocks in the game into regular item blocks.
This makes any hidden blocks in the game into regular item blocks and vice versa.
Disabled: Hidden blocks will remain invisible.
Hidden Visible: Hidden blocks will turn visible to the player.
Blocks Invisible: All item blocks will turn invisible. Hidden blocks will also remain invisible.
"""

display_name = "Item Block Visibility"
Expand Down Expand Up @@ -247,19 +249,21 @@ class HarhallsPants(Toggle):
class DifficultLogic(Toggle):
"""
This adjusts the logic to be more difficult in a few areas,
allowing for the logic to account for players getting to certain area's in unintended ways.
allowing for the logic to account for players getting to certain areas in unintended ways.
Enable at your own risk, this is not an option made for beginners.
"""

display_name = "Difficult Logic Toggle"
display_name = "Difficult Logic"


class ChuckleBeans(Choice):
"""
Choose how you want chuckle bean digspots to be randomized.
none: No chuckle bean digspots will be added into the item pool.
only_visible: Only chuckle bean digspots clearly marked with an X will be added into the item pool.
all: All chuckle bean digspots will be added into the item pool.
An amount of chuckle beans will be removed from the item pool,
equal to the amount of locations removed by the setting that you choose.
None: No chuckle bean digspots will be added into the location pool.
Only Visible: Only chuckle bean digspots clearly marked with an X will be added into the location pool.
All: All chuckle bean digspots will be added into the location pool.
"""

display_name = "Chuckle Beans"
Expand Down
4 changes: 2 additions & 2 deletions Rom.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
Data.truechaosHat
]

pants = [
cpants = [
Data.vanilla,
Data.redPants,
Data.greenPants,
Expand Down Expand Up @@ -361,7 +361,7 @@ def swap_colors(world: "MLSSWorld", patch: MLSSProcedurePatch, color: int, bro:
chaos = True
if pants_option and color == 11:
chaos = True
for c in [c for c in (pants[color] if pants_option else colors[color])
for c in [c for c in (cpants[color] if pants_option else colors[color])
if (c[3] == bro if not chaos else c[1] == bro)]:
if chaos:
patch.write_token(APTokenTypes.WRITE, c[0],
Expand Down
Loading

0 comments on commit 2688490

Please sign in to comment.