Skip to content

Commit

Permalink
Merge pull request #108 from icebound777/release_candidate/0.27.0
Browse files Browse the repository at this point in the history
0.27.0 to main
  • Loading branch information
Pronyo-Chan authored Jun 20, 2024
2 parents 3f722e7 + 60f7bf4 commit 44b40a6
Show file tree
Hide file tree
Showing 42 changed files with 884 additions and 299 deletions.
131 changes: 131 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
# Changelog

## 0.27.0 (beta)

### Feature Changes

* Removed `Star Hunt` option and reworked Power Stars:
* `Star Way Spirits Needed` and `Star Way Power Stars Needed` options now determine how many spirits and power stars are needed to open Star Way. Any combination is valid, like 7 spirits & 0 power stars, 0 spirits & 50 power stars, 4 spirits & 30 power stars etc.
* `Seed Goal` option
* Select between "Defeat Bowser" and "Open Star Way"
* "Open Star Way" is basically the old `Star Hunt Ends Game` setting, but can now be used while also requiring star spirits to open the teleporter.
* `Shuffle Star Beam` option
* Turns the Star Beam into an item and shuffles it into another location
* Picking up the Star Beam item unlocks the Star Beam ability in battle, but does not increase the star power gauge or unlock any other star power ability
* The Star Beam cutscene in Star Haven instead offers a different item
* Hallway Bowser gets dialogue hinting at the location of the Star Beam, if Mario reaches him without having found the Star Beam. This dialogue plays even during `Cutscene Mode: Minimal`
* `Star Beam Spirits Needed` and `Star Beam Power Stars Needed` options
* Allows setting requirements for getting the item in the Star Beam item location in Star Haven
* Can be combined with the new `Shuffle Star Beam` option
(Note: The `Require Specific Spirits` and `Limit Chapter Logic` options only affect opening Star Way, not acquiring the Star Beam)
* New sign posts on Shooting Star Summit and in Star Sanctuary will now spell out the requirements. If the unlock is free, that is it needs 0 Star Spirits and 0 Power Stars, the respective sign post will instead not spawn at all
* Reworked the pause menu Power Stars counter
* This counter is hidden if there are no Power Stars placed in the seed
* The icon in front of the "\<current> / \<max>" display now shows which unlock is coming up next:
Either a Shooting Star icon for "Star Way", the Star Beam icon for "Star Beam", and if both of those are already unlocked, a Power Star icon
* The max value in the "\<current> / \<max>" display now also refers to the unlock that's coming up next
* Example: Mario needs 10 Power Stars to open Star Way, 20 to get the Star Beam, and 35 total are placed in the seed. Then the Power Star counter will show:
* "[Shooting Star icon] \<current> / 10", if Mario has less than 10 Power Stars,
* "[Star Beam icon] \<current> / 20", if Mario has 10 or more, but fewer than 20 Power Stars,
* "[Power Star icon] \<current> / 35", if Mario has 20 or more Power Stars

### Logic changes

* While `Keyitems Outside Dungeon` (aka Keysanity) is turned off, the FP Plus chest in the Koopa Bros. Fortress area is no longer a valid location for Koopa Fortress Keys
* Now expects Watt for traversing the dark caves in Bowser's Castle
* Now expects having enough star spirits and power stars to both open Star Way and get the Star Beam, to get past chapter 8 Jr. Troopa and Hallway Bowser (only relevant in prep for entrance rando)

### Tricks & Glitches

* New options
* "Volcano Sushie Glitch w/ Goombario save block storage"
* "Chapter 7 bridge w/ SuperBoots"
* "Prologue Repel Gel early" (Parakarry-only and Lakilester-only versions)
* "Sewers Metal Block Room Super Block w/ clippy"
* "Kooper Puzzle Skip"
* "Ruins Stones Skip"
* "Wattless chapter 4 dark room"
* "Clippy Green Station Multicoin Block"
* Removed options
* Flarakarry (Bombette) (due to it possibly causing a softlock)

### Bug Fixes

* Fix a bug that could rarely cause unintended item prices for shop items in Dry Dry Outpost if `Randomize Puzzles` and `Include Shops` were turned on
* Lower logical star piece requirements for some of Merlow's trades (the original calculations were off)
* Fix broken seed generation if both `Mystery Only` and `Random Puzzles` are turned on
* Homeward Shroom now properly reloads the music if the munching SFX is skipped by unpausing manually
* Fix entrance rando issues with having Watt/Sushie/Lakilester active through certain loading zones
* Fix counting star spirits twice during same-seed multiplayer
* Fix Russ T. giving the toy box colored boxes code w/o having handed in the Dictionary first
* (console only) Fix vanilla freeze when trying to Tidal Wave during phase 2 of the Lava Piranha battle if there are Petit Piranhas alive
* Fix Kent C. Koopa breaking the coin cap when handing back the 50 coins when defeated after paying him
* Fix frozen camera during Kooper's Shell turn-in cutscene

### Miscellaneous

* Renamed some locations in the spoiler log for clarity

### Additional Technical Changelog

* Added ModFlag `1100` which gets set to True once the current seed goal is reached
* Split up chapter 8 progress byte into flags
* Adding the Star Beam item on item id `0x27F` shifts up all item ids above that by one
* With the Star Beam item a new item type `STARPOWER` is added and referenced within the seed generator
* New DBKey `StarBeamArea`: Has to be set by the generator to the area id of the area the Star Beam gets shuffled to. This is referenced by Hallway Bowser's hint dialogue. If an invalid area id is provided, Bowser will state that the Star Beam can be found in Rogueport.
* Generator will throw a new `ItemPoolTooSmallError` if the settings make it remove more items from the trash item pool (to make place for Power Stars, Pouches etc.) than there are items in the trash item pool to begin with
* To have the generator pick a random number of Magical Seeds to open the Flower Gate, now set `MagicalSeedsRequired` to `-1` (was: set `MagicalSeedsRequired` to `5`)
* Yaml settings changes:
* Goal Settings
* Removed `StarHunt`
* Renamed `StarHuntRequired` to `StarWayPowerStarsNeeded`
* Removed `StarHuntEndsGame`
* Added `SeedGoal`
* Added `StarBeamSpiritsNeeded`
* Added `StarBeamPowerStarsNeeded`
* Added `ShuffleStarBeam`
* Tricks & Glitches
* Removed `ParakarrylessFlarakarryBombette`
* Added `ClippySewersUpgradeBlock`
* Added `Chapter7BridgeWithSuperBoots`
* Added `RuinsStoneSkip`
* Added `ClippyGreenStationCoinBlock`
* Added `WattlessDarkRoom`
* Added `VolcanoSushieGlitchGoombario`
* Added `KooperPuzzleSkip`
* Changed logical Star Piece requirements for Merlow rewards:
* Reward 2 (20sp): `23` is now `22`
* Reward 4 (40sp): `47` is now `45`
* Reward 6 (60sp): `68` is now `67`
* Spoiler log location renaming:
* `Plaza District - Merlon House Stomping` is now `Plaza District - Merlon House Stomp x3`
* `Plaza District - Rowf's Calculator Reward` is now `Plaza District - Rowf Calculator Reward`
* `Koopa Village 2 - Koopa Koot Reward 1` is now `Koopa Village 2 - Favor 1 Reward (KoopaLegends)`
* `Koopa Village 2 - Koopa Koot Reward 2` is now `Koopa Village 2 - Favor 2 Reward 1 (SleepySheep)`
* `Koopa Village 2 - Koopa Koot Silver Credit` is now `Koopa Village 2 - Favor 2 Reward 2 (SleepySheep)`
* `Koopa Village 2 - Koopa Koot Reward 3` is now `Koopa Village 2 - Favor 3 Reward (Tape)`
* `Koopa Village 2 - Koopa Koot Reward 4` is now `Koopa Village 2 - Favor 4 Reward (KoopaTea)`
* `Koopa Village 2 - Koopa Koot Reward 5` is now `Koopa Village 2 - Favor 5 Reward (LuigiAutograph)`
* `Koopa Village 2 - Koopa Koot Reward 6` is now `Koopa Village 2 - Favor 6 Reward (Wallet)`
* `Koopa Village 2 - Koopa Koot Reward 7` is now `Koopa Village 2 - Favor 7 Reward (TastyTonic)`
* `Koopa Village 2 - Koopa Koot Reward 8` is now `Koopa Village 2 - Favor 8 Reward (MerluvleeAutograph)`
* `Koopa Village 2 - Koopa Koot Reward 9` is now `Koopa Village 2 - Favor 9 Reward (News)`
* `Koopa Village 2 - Koopa Koot Reward 10` is now `Koopa Village 2 - Favor 10 Reward 1 (LifeShroom)`
* `Koopa Village 2 - Koopa Koot Gold Credit` is now `Koopa Village 2 - Favor 10 Reward 2 (LifeShroom)`
* `Koopa Village 2 - Koopa Koot Reward 11` is now `Koopa Village 2 - Favor 11 Reward (NuttyCake)`
* `Koopa Village 2 - Koopa Koot Reward 12` is now `Koopa Village 2 - Favor 12 Reward (Bob-ombs)`
* `Koopa Village 2 - Koopa Koot Reward 13` is now `Koopa Village 2 - Favor 13 Reward (OldPhoto)`
* `Koopa Village 2 - Koopa Koot Reward 14` is now `Koopa Village 2 - Favor 14 Reward (Koopasta)`
* `Koopa Village 2 - Koopa Koot Reward 15` is now `Koopa Village 2 - Favor 15 Reward (Glasses)`
* `Koopa Village 2 - Koopa Koot Reward 16` is now `Koopa Village 2 - Favor 16 Reward (Lime)`
* `Koopa Village 2 - Koopa Koot Reward 17` is now `Koopa Village 2 - Favor 17 Reward (KookyCookie)`
* `Koopa Village 2 - Koopa Koot Reward 18` is now `Koopa Village 2 - Favor 18 Reward (Package)`
* `Koopa Village 2 - Koopa Koot Reward 19` is now `Koopa Village 2 - Favor 19 Reward (Coconut)`
* `Koopa Village 2 - Koopa Koot Reward 20` is now `Koopa Village 2 - Favor 20 Reward (RedJar)`
* `Outpost 1 - Store Legend` is now `Outpost 1 - Store Legend (RedJar Code)`
* `N1W3 Special Block - Hit Block` is now `N1W3 Special Block - Hit Block x1`
* `N1W3 Special Block - Hit Block Plenty` is now `N1W3 Special Block - Hit Block x5`
* `N1W3 Special Block - Hit Block Very Much` is now `N1W3 Special Block - Hit Block x10`
* `Record Room - Beat Boo Game` is now `Record Room - Boo Ring Game`
* `(East) Old Well - Well Reward` is now `(East) Old Well - Well BlueBerry Reward`
* `Shiver City Center - Toad House Breakfast` is now `Shiver City Center - Sleep At Toad House`
6 changes: 4 additions & 2 deletions db/item.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,9 +92,11 @@ def get_type(cls, item_id:int):
return "POWERSTAR"
elif 0x265 <= item_id <= 0x26A:
return "GEAR"
elif 0x27F <= item_id <= 0x290:
elif 0x27F == item_id:
return "STARPOWER"
elif 0x280 <= item_id <= 0x291:
return "PARTNERUPGRADE"
elif 0x291 <= item_id <= 0x299:
elif 0x292 <= item_id <= 0x29A:
return "PARTNER"
else:
return "OTHER"
Expand Down
Binary file modified default_db.sqlite
Binary file not shown.
1 change: 1 addition & 0 deletions docs/MultiplayerPawns.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,4 @@ Range: (80358400 - 80358500, len = 128)

Server should write into empty entries in this buffer.
Client will read them and clear entries after consuming them.
This buffer is read only on map load and not during any other time.
6 changes: 5 additions & 1 deletion docs/RAMLocations.md
Original file line number Diff line number Diff line change
Expand Up @@ -770,6 +770,7 @@ N2W3 - Hidden Block | GameFlag 31F
N2E1 (Tweester A) - Yellow Block Left | GameFlag 320
N2E1 (Tweester A) - Yellow Block Right | GameFlag 321
N2E1 (Tweester A) - In MultiCoinBlock | GameFlag 331
N1W3 Special Block - Hit Block | GameFlag 322
N1W3 Special Block - Hit Block Plenty | GameFlag 323
Expand Down Expand Up @@ -807,12 +808,14 @@ S1W3 - In MultiCoinBlock Top Left | GameFlag 334
S1 - Yellow Block | GameFlag 32B
S1E2 Small Bluffs - On Brick Block | GameFlag 343
S1E2 Small Bluffs - Ontop Of Bluffs | GameFlag 344
S1E2 Small Bluffs - Ontop Of Bluffs | GameFlag 342
S1E3 North of Oasis - Hidden Block | GameFlag 32D
S1E3 North of Oasis - Tree Bottom Left | GameFlag 34C
S1E3 North of Oasis - Yellow Block | GameFlag 32C
S2W1 - In MultiCoinBlock Top | GameFlag 335
S2E2 West of Oasis - Behind Bush | GameFlag 344
S2E2 West of Oasis - In Tree | GameFlag 34D
S2E2 West of Oasis - In MultiCoinBlock | GameFlag 336
Expand All @@ -821,6 +824,7 @@ S2E3 Oasis - In Fruit Tree (Left) | ModFlag 1056
S2E3 Oasis - In Fruit Tree (Right) | ModFlag 1057
S2E3 Oasis - In Tree (Far Left) | GameFlag 34E
S2E3 Oasis - In Tree (Front Right) | GameFlag 34F
S2E3 Oasis - In SuperBlock | GameFlag 33D
S3W2 Hidden AttackFX - Hidden Block | GameFlag 32E
Expand Down
12 changes: 7 additions & 5 deletions maps/graph_edges/base_graph/edges_hos.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
{"from": {"map": "HOS_01", "id": 0}, "to": {"map": "HOS_00", "id": 1}, "reqs": []}, # Shooting Star Summit Exit Bottom Left -> Shooting Star Path Exit Top Right
{"from": {"map": "HOS_01", "id": 1}, "to": {"map": "HOS_02", "id": 0}, "reqs": []}, # Shooting Star Summit Ride Up To Starway -> Star Way Ride Down To Summit

{"from": {"map": "HOS_01", "id": 0}, "to": {"map": "HOS_01", "id": 1}, "reqs": [[{"starspirits": 7}],["can_climb_steps"]]}, #? Shooting Star Summit Exit Bottom Left -> Shooting Star Summit Ride Up To Starway
{"from": {"map": "HOS_01", "id": 0}, "to": {"map": "HOS_01", "id": 1}, "reqs": [["can_climb_steps"]]}, #? Shooting Star Summit Exit Bottom Left -> Shooting Star Summit Ride Up To Starway
{"from": {"map": "HOS_01", "id": 1}, "to": {"map": "HOS_01", "id": 0}, "reqs": []}, #? Shooting Star Summit Ride Up To Starway -> Shooting Star Summit Exit Bottom Left

{"from": {"map": "HOS_01", "id": 0}, "to": {"map": "HOS_01", "id": "HiddenPanel"}, "reqs": [["can_flip_panels"],["can_climb_steps"]]}, #* Shooting Star Summit Exit Bottom Left -> HiddenPanel (StarPiece)
Expand Down Expand Up @@ -63,9 +63,11 @@
{"from": {"map": "HOS_05", "id": 0}, "to": {"map": "HOS_04", "id": 1}, "reqs": []}, # Star Sanctuary Exit Left -> Outside the Sanctuary Exit Right
{"from": {"map": "HOS_05", "id": 1}, "to": {"map": "HOS_20", "id": 0}, "reqs": []}, # Star Sanctuary Fly Starship -> Riding Star Ship Scene Fly To Star Haven

{"from": {"map": "HOS_05", "id": 0}, "to": {"map": "HOS_05", "id": 1}, "reqs": [["can_climb_steps"]], "pseudoitems": ["RF_HasStarbeam"]}, #? Star Sanctuary Exit Left -> Star Sanctuary Fly Starship
{"from": {"map": "HOS_05", "id": 0}, "to": {"map": "HOS_05", "id": 1}, "reqs": [["can_climb_steps"]]}, #? Star Sanctuary Exit Left -> Star Sanctuary Fly Starship
{"from": {"map": "HOS_05", "id": 1}, "to": {"map": "HOS_05", "id": 0}, "reqs": []}, #? Star Sanctuary Fly Starship -> Star Sanctuary Exit Left

{"from": {"map": "HOS_05", "id": 0}, "to": {"map": "HOS_05", "id": "GiftA"}, "reqs": []}, #* Star Sanctuary Exit Left -> GiftA (StarBeam)

# HOS_06 Merluvlee's House
{"from": {"map": "HOS_06", "id": 0}, "to": {"map": "HOS_00", "id": 2}, "reqs": []}, # Merluvlee's House Exit Left -> Shooting Star Path Exit Bottom Right

Expand All @@ -89,11 +91,11 @@
{"from": {"map": "HOS_06", "id": "ShopBadgeA"}, "to": {"map": "HOS_06", "id": "ShopBadgeN"}, "reqs": []}, #+ SHARED REQUIREMENTS -> ShopBadgeN (FlowerSaverA)
{"from": {"map": "HOS_06", "id": "ShopBadgeA"}, "to": {"map": "HOS_06", "id": "ShopBadgeO"}, "reqs": []}, #+ SHARED REQUIREMENTS -> ShopBadgeO (PowerPlusA)
{"from": {"map": "HOS_06", "id": 0}, "to": {"map": "HOS_06", "id": "ShopRewardA"}, "reqs": [[{"starpieces": 10}],["can_climb_steps"]]}, #* Merluvlee's House Exit Left -> ShopRewardA (Mushroom)
{"from": {"map": "HOS_06", "id": "ShopRewardA"}, "to": {"map": "HOS_06", "id": "ShopRewardB"}, "reqs": [[{"starpieces": 23}]]}, #+ CHAINED REQUIREMENTS (SuperShroom)
{"from": {"map": "HOS_06", "id": "ShopRewardA"}, "to": {"map": "HOS_06", "id": "ShopRewardB"}, "reqs": [[{"starpieces": 22}]]}, #+ CHAINED REQUIREMENTS (SuperShroom)
{"from": {"map": "HOS_06", "id": "ShopRewardB"}, "to": {"map": "HOS_06", "id": "ShopRewardC"}, "reqs": [[{"starpieces": 35}]]}, #+ CHAINED REQUIREMENTS (ThunderRage)
{"from": {"map": "HOS_06", "id": "ShopRewardC"}, "to": {"map": "HOS_06", "id": "ShopRewardD"}, "reqs": [[{"starpieces": 47}]]}, #+ CHAINED REQUIREMENTS (LifeShroom)
{"from": {"map": "HOS_06", "id": "ShopRewardC"}, "to": {"map": "HOS_06", "id": "ShopRewardD"}, "reqs": [[{"starpieces": 45}]]}, #+ CHAINED REQUIREMENTS (LifeShroom)
{"from": {"map": "HOS_06", "id": "ShopRewardD"}, "to": {"map": "HOS_06", "id": "ShopRewardE"}, "reqs": [[{"starpieces": 57}]]}, #+ CHAINED REQUIREMENTS (UltraShroom)
{"from": {"map": "HOS_06", "id": "ShopRewardE"}, "to": {"map": "HOS_06", "id": "ShopRewardF"}, "reqs": [[{"starpieces": 68}]]}, #+ CHAINED REQUIREMENTS (RepelGel)
{"from": {"map": "HOS_06", "id": "ShopRewardE"}, "to": {"map": "HOS_06", "id": "ShopRewardF"}, "reqs": [[{"starpieces": 67}]]}, #+ CHAINED REQUIREMENTS (RepelGel)

{"from": {"map": "HOS_06", "id": 0}, "to": {"map": "HOS_06", "id": 0}, "reqs": [["FAVOR_3_03_active"]], "pseudoitems": ["GF_HOS06_MerluvleeRequestedCrystalBall"]}, #+ Merluvlee's House Exit Left
{"from": {"map": "HOS_06", "id": 0}, "to": {"map": "HOS_06", "id": 0}, "reqs": [], "pseudoitems": ["RF_CanSolveAttackFXBPuzzle"]}, #+ Merluvlee's House Exit Left
Expand Down
2 changes: 1 addition & 1 deletion maps/graph_edges/base_graph/edges_isk.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@
# ISK_16 Tutankoopa Room
{"from": {"map": "ISK_16", "id": 0}, "to": {"map": "ISK_19", "id": 1}, "reqs": []}, # Tutankoopa Room Exit Left -> Boss Antechamber Exit Right

{"from": {"map": "ISK_16", "id": 0}, "to": {"map": "ISK_16", "id": 0}, "reqs": [["MB_Ch2_Spirit_ISK11_SolvedArtifactPuzzle"]], "pseudoitems": ["STARSPIRIT_2", "RF_Ch2_SavedStarSpirit"]}, #+ Tutankoopa Room Exit Left
{"from": {"map": "ISK_16", "id": 0}, "to": {"map": "ISK_16", "id": 0}, "reqs": [], "pseudoitems": ["STARSPIRIT_2", "RF_Ch2_SavedStarSpirit"]}, #+ Tutankoopa Room Exit Left

# ISK_18 Deep Tunnel
{"from": {"map": "ISK_18", "id": 0}, "to": {"map": "ISK_10", "id": 2}, "reqs": []}, # Deep Tunnel Exit Left -> Vertical Shaft Exit Bottom Right
Expand Down
6 changes: 3 additions & 3 deletions maps/graph_edges/base_graph/edges_kkj.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,8 @@
{"from": {"map": "KKJ_13", "id": 0}, "to": {"map": "KKJ_12", "id": 1}, "reqs": []}, # Window Hallway (4F) Door Left -> Stairs Hallway (3F) Door Right
{"from": {"map": "KKJ_13", "id": 1}, "to": {"map": "KKJ_22", "id": 0}, "reqs": []}, # Window Hallway (4F) Door Right -> Double Staircase (4F) Door Bottom Left

{"from": {"map": "KKJ_13", "id": 0}, "to": {"map": "KKJ_13", "id": 1}, "reqs": []}, #? Window Hallway (4F) Door Left -> Window Hallway (4F) Door Right
{"from": {"map": "KKJ_13", "id": 1}, "to": {"map": "KKJ_13", "id": 0}, "reqs": []}, #? Window Hallway (4F) Door Right -> Window Hallway (4F) Door Left
{"from": {"map": "KKJ_13", "id": 0}, "to": {"map": "KKJ_13", "id": 1}, "reqs": [["StarBeam"]]}, #? Window Hallway (4F) Door Left -> Window Hallway (4F) Door Right
{"from": {"map": "KKJ_13", "id": 1}, "to": {"map": "KKJ_13", "id": 0}, "reqs": [["StarBeam"]]}, #? Window Hallway (4F) Door Right -> Window Hallway (4F) Door Left

# KKJ_14 Peach's Room (2F)
{"from": {"map": "KKJ_14", "id": 0}, "to": {"map": "KKJ_11", "id": 4}, "reqs": []}, # Peach's Room (2F) Door Left -> Upper Hall (2F) Door Bottom Back
Expand Down Expand Up @@ -111,7 +111,7 @@
# KKJ_25 Final Boss Arena (6F)
{"from": {"map": "KKJ_25", "id": 0}, "to": {"map": "KKJ_24", "id": 1}, "reqs": []}, # Final Boss Arena (6F) Door Left -> Tower Staircase (5F) Door Top

{"from": {"map": "KKJ_25", "id": 0}, "to": {"map": "KKJ_24", "id": 1}, "reqs": [["RF_HasStarbeam"]], "pseudoitems": ["YOUWIN"]}, #+ Beat Bowser
{"from": {"map": "KKJ_25", "id": 0}, "to": {"map": "KKJ_25", "id": 0}, "reqs": [["StarBeam"]], "pseudoitems": ["YOUWIN"]}, #+ Beat Bowser

# KKJ_26 Balcony (2F)
{"from": {"map": "KKJ_26", "id": 0}, "to": {"map": "KKJ_14", "id": 1}, "reqs": []}, # Balcony (2F) Door Left -> Peach's Room (2F) Door Right
Expand Down
Loading

0 comments on commit 44b40a6

Please sign in to comment.