summaryrefslogtreecommitdiff
path: root/soh/src/code
diff options
context:
space:
mode:
authorPhilip Dubé <159546+serprex@users.noreply.github.com>2026-07-04 20:04:09 +0000
committerGitHub <noreply@github.com>2026-07-04 20:04:09 +0000
commit015440fdffd21578fb8791f9aa98b76d8bb6e4ff (patch)
tree12647d6d2d18dd79fd4f6a87b7b17e3805e22483 /soh/src/code
parent618b7694b17b61f54de4e8a15f5d3f9bd741ca41 (diff)
Decouple GBK from LACS (#5838)
Triforce Pieces can now be tokens for bridge or ganon's soul. & can be tokens for multiple rewards Wincon can now be arbitrary conditions Ganon's Soul (removed from existing boss soul options) can now be arbitrary conditions Co-authored-by: Pepper0ni <93387759+Pepper0ni@users.noreply.github.com>
Diffstat (limited to 'soh/src/code')
-rw-r--r--soh/src/code/z_play.c22
-rw-r--r--soh/src/code/z_player_lib.c3
2 files changed, 6 insertions, 19 deletions
diff --git a/soh/src/code/z_play.c b/soh/src/code/z_play.c
index 0816b5a6b..e4d707918 100644
--- a/soh/src/code/z_play.c
+++ b/soh/src/code/z_play.c
@@ -327,6 +327,10 @@ u8 CheckDungeonCount() {
dungeonCount++;
}
+ if (Flags_GetRandomizerInf(RAND_INF_DUNGEONS_DONE_GANONS_TOWER)) {
+ dungeonCount++;
+ }
+
return dungeonCount;
}
@@ -348,24 +352,6 @@ u8 CheckBridgeRewardCount() {
return bridgeRewardCount;
}
-u8 CheckLACSRewardCount() {
- u8 lacsRewardCount = 0;
-
- switch (Randomizer_GetSettingValue(RSK_LACS_OPTIONS)) {
- case RO_LACS_WILDCARD_REWARD:
- if (Flags_GetRandomizerInf(RAND_INF_GREG_FOUND)) {
- lacsRewardCount += 1;
- }
- break;
- case RO_LACS_GREG_REWARD:
- if (Flags_GetRandomizerInf(RAND_INF_GREG_FOUND)) {
- lacsRewardCount += 1;
- }
- break;
- }
- return lacsRewardCount;
-}
-
void Play_Init(GameState* thisx) {
PlayState* play = (PlayState*)thisx;
GraphicsContext* gfxCtx = play->state.gfxCtx;
diff --git a/soh/src/code/z_player_lib.c b/soh/src/code/z_player_lib.c
index b7132bc59..b02a591c2 100644
--- a/soh/src/code/z_player_lib.c
+++ b/soh/src/code/z_player_lib.c
@@ -1656,7 +1656,8 @@ void Player_DrawGetItemImpl(PlayState* play, Player* this, Vec3f* refPos, s32 dr
if (this->getItemEntry.modIndex == MOD_RANDOMIZER && this->getItemEntry.getItemId == RG_ICE_TRAP) {
Player_DrawGetItemIceTrap(play, this, refPos, drawIdPlusOne, height);
- } else if (this->getItemEntry.modIndex == MOD_RANDOMIZER && this->getItemEntry.getItemId == RG_TRIFORCE_PIECE) {
+ } else if (this->getItemEntry.modIndex == MOD_RANDOMIZER &&
+ (this->getItemEntry.getItemId == RG_TRIFORCE_PIECE || this->getItemEntry.getItemId == RG_TRIFORCE)) {
Randomizer_DrawTriforcePieceGI(play, this->getItemEntry);
} else if (this->getItemEntry.drawFunc != NULL) {
this->getItemEntry.drawFunc(play, &this->getItemEntry);