Skip dialogue before getting Gerudo membership card (#5058)
* Skip dialogue before getting Gerudo membership card * Change to misc interaction * Change to forced NPC dialogue * Rename VB flag
This commit is contained in:
@@ -405,6 +405,14 @@ typedef enum {
|
||||
// - `*int16_t` (item id)
|
||||
VB_DRAW_AMMO_COUNT,
|
||||
|
||||
// #### `result`
|
||||
// ```c
|
||||
// (Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)
|
||||
// ```
|
||||
// #### `args`
|
||||
// - None
|
||||
VB_END_GERUDO_MEMBERSHIP_TALK,
|
||||
|
||||
// #### `result`
|
||||
// ```c
|
||||
// !(this->stateFlags3 & PLAYER_STATE3_PAUSE_ACTION_FUNC)
|
||||
|
||||
@@ -386,6 +386,12 @@ void TimeSaverOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, va_li
|
||||
}
|
||||
break;
|
||||
}
|
||||
case VB_END_GERUDO_MEMBERSHIP_TALK: {
|
||||
if (ForcedDialogIsDisabled(FORCED_DIALOG_SKIP_NPC)) {
|
||||
*should = true;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case VB_GORON_LINK_BE_SCARED: {
|
||||
if (ForcedDialogIsDisabled(FORCED_DIALOG_SKIP_NPC)) {
|
||||
EnGo2* goronLink = va_arg(args, EnGo2*);
|
||||
|
||||
@@ -152,7 +152,8 @@ void EnGe3_WaitTillCardGiven(EnGe3* this, PlayState* play) {
|
||||
}
|
||||
|
||||
void EnGe3_GiveCard(EnGe3* this, PlayState* play) {
|
||||
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play)) {
|
||||
if (GameInteractor_Should(VB_END_GERUDO_MEMBERSHIP_TALK,
|
||||
(Message_GetState(&play->msgCtx) == TEXT_STATE_EVENT) && Message_ShouldAdvance(play))) {
|
||||
Message_CloseTextbox(play);
|
||||
this->actor.flags &= ~ACTOR_FLAG_TALK_OFFER_AUTO_ACCEPTED;
|
||||
this->actionFunc = EnGe3_WaitTillCardGiven;
|
||||
|
||||
Reference in New Issue
Block a user