mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-22 17:32:19 -05:00
parent
d28257088b
commit
00b3581151
@ -271,8 +271,9 @@ typedef enum {
|
|||||||
GI_VB_GIVE_ITEM_FROM_MAGIC_BEAN_SALESMAN,
|
GI_VB_GIVE_ITEM_FROM_MAGIC_BEAN_SALESMAN,
|
||||||
// Opt: *EnFr
|
// Opt: *EnFr
|
||||||
GI_VB_GIVE_ITEM_FROM_FROGS,
|
GI_VB_GIVE_ITEM_FROM_FROGS,
|
||||||
|
// Opt: *EnSkj
|
||||||
|
GI_VB_GIVE_ITEM_FROM_SKULL_KID_SARIAS_SONG,
|
||||||
GI_VB_GIVE_ITEM_FROM_MAN_ON_ROOF,
|
GI_VB_GIVE_ITEM_FROM_MAN_ON_ROOF,
|
||||||
|
|
||||||
// Opt: *EnSyatekiMan
|
// Opt: *EnSyatekiMan
|
||||||
GI_VB_GIVE_ITEM_FROM_SHOOTING_GALLERY,
|
GI_VB_GIVE_ITEM_FROM_SHOOTING_GALLERY,
|
||||||
|
|
||||||
|
@ -803,6 +803,7 @@ void RandomizerOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, void
|
|||||||
case GI_VB_ANJU_SET_OBTAINED_TRADE_ITEM:
|
case GI_VB_ANJU_SET_OBTAINED_TRADE_ITEM:
|
||||||
case GI_VB_GIVE_ITEM_FROM_ROLLING_GORON_AS_CHILD:
|
case GI_VB_GIVE_ITEM_FROM_ROLLING_GORON_AS_CHILD:
|
||||||
case GI_VB_GIVE_ITEM_FROM_LAB_DIVE:
|
case GI_VB_GIVE_ITEM_FROM_LAB_DIVE:
|
||||||
|
case GI_VB_GIVE_ITEM_FROM_SKULL_KID_SARIAS_SONG:
|
||||||
case GI_VB_GIVE_ITEM_FROM_MAN_ON_ROOF:
|
case GI_VB_GIVE_ITEM_FROM_MAN_ON_ROOF:
|
||||||
case GI_VB_GIVE_ITEM_SKULL_TOKEN:
|
case GI_VB_GIVE_ITEM_SKULL_TOKEN:
|
||||||
case GI_VB_GIVE_ITEM_FROM_BLUE_WARP:
|
case GI_VB_GIVE_ITEM_FROM_BLUE_WARP:
|
||||||
|
@ -1039,11 +1039,8 @@ void EnSkj_SariaSongTalk(EnSkj* this, PlayState* play) {
|
|||||||
EnSkj_SetupWaitInRange(this);
|
EnSkj_SetupWaitInRange(this);
|
||||||
} else {
|
} else {
|
||||||
func_80AFFE24(this);
|
func_80AFFE24(this);
|
||||||
if (!IS_RANDO) {
|
if (GameInteractor_Should(GI_VB_GIVE_ITEM_FROM_SKULL_KID_SARIAS_SONG, true, this)) {
|
||||||
func_8002F434(&this->actor, play, GI_HEART_PIECE, EnSkj_GetItemXzRange(this), EnSkj_GetItemYRange(this));
|
func_8002F434(&this->actor, play, GI_HEART_PIECE, EnSkj_GetItemXzRange(this), EnSkj_GetItemYRange(this));
|
||||||
} else {
|
|
||||||
GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LW_SKULL_KID, GI_HEART_PIECE);
|
|
||||||
GiveItemEntryFromActor(&this->actor, play, getItemEntry, EnSkj_GetItemXzRange(this), EnSkj_GetItemYRange(this));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1054,15 +1051,12 @@ void func_80AFFE24(EnSkj* this) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void func_80AFFE44(EnSkj* this, PlayState* play) {
|
void func_80AFFE44(EnSkj* this, PlayState* play) {
|
||||||
if (Actor_HasParent(&this->actor, play)) {
|
if (Actor_HasParent(&this->actor, play) || !GameInteractor_Should(GI_VB_GIVE_ITEM_FROM_SKULL_KID_SARIAS_SONG, true, this)) {
|
||||||
this->actor.parent = NULL;
|
this->actor.parent = NULL;
|
||||||
EnSkj_SetupPostSariasSong(this);
|
EnSkj_SetupPostSariasSong(this);
|
||||||
} else {
|
} else {
|
||||||
if (!IS_RANDO) {
|
if (GameInteractor_Should(GI_VB_GIVE_ITEM_FROM_SKULL_KID_SARIAS_SONG, true, this)) {
|
||||||
func_8002F434(&this->actor, play, GI_HEART_PIECE, EnSkj_GetItemXzRange(this), EnSkj_GetItemYRange(this));
|
func_8002F434(&this->actor, play, GI_HEART_PIECE, EnSkj_GetItemXzRange(this), EnSkj_GetItemYRange(this));
|
||||||
} else {
|
|
||||||
GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LW_SKULL_KID, GI_HEART_PIECE);
|
|
||||||
GiveItemEntryFromActor(&this->actor, play, getItemEntry, EnSkj_GetItemXzRange(this), EnSkj_GetItemYRange(this));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1072,7 +1066,7 @@ void EnSkj_SetupPostSariasSong(EnSkj* this) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EnSkj_ChangeModeAfterSong(EnSkj* this, PlayState* play) {
|
void EnSkj_ChangeModeAfterSong(EnSkj* this, PlayState* play) {
|
||||||
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) {
|
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_DONE) && Message_ShouldAdvance(play) || !GameInteractor_Should(GI_VB_GIVE_ITEM_FROM_SKULL_KID_SARIAS_SONG, true, this)) {
|
||||||
Flags_SetItemGetInf(ITEMGETINF_16);
|
Flags_SetItemGetInf(ITEMGETINF_16);
|
||||||
EnSkj_SetNaviId(this);
|
EnSkj_SetNaviId(this);
|
||||||
EnSkj_SetupWaitInRange(this);
|
EnSkj_SetupWaitInRange(this);
|
||||||
|
Loading…
Reference in New Issue
Block a user