mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-17 23:15:11 -05:00
parent
d28257088b
commit
00b3581151
@ -271,8 +271,9 @@ typedef enum {
|
||||
GI_VB_GIVE_ITEM_FROM_MAGIC_BEAN_SALESMAN,
|
||||
// Opt: *EnFr
|
||||
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,
|
||||
|
||||
// Opt: *EnSyatekiMan
|
||||
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_GIVE_ITEM_FROM_ROLLING_GORON_AS_CHILD:
|
||||
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_SKULL_TOKEN:
|
||||
case GI_VB_GIVE_ITEM_FROM_BLUE_WARP:
|
||||
|
@ -1039,11 +1039,8 @@ void EnSkj_SariaSongTalk(EnSkj* this, PlayState* play) {
|
||||
EnSkj_SetupWaitInRange(this);
|
||||
} else {
|
||||
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));
|
||||
} 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) {
|
||||
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;
|
||||
EnSkj_SetupPostSariasSong(this);
|
||||
} 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));
|
||||
} 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) {
|
||||
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);
|
||||
EnSkj_SetNaviId(this);
|
||||
EnSkj_SetupWaitInRange(this);
|
||||
|
Loading…
Reference in New Issue
Block a user