vb talon's chickens (#99)

This commit is contained in:
briaguya 2024-04-04 11:55:07 -04:00 committed by GitHub
parent 1e9cba1d61
commit 307e106038
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 9 deletions

View File

@ -292,6 +292,8 @@ typedef enum {
GI_VB_GIVE_ITEM_FROM_SHOOTING_GALLERY, GI_VB_GIVE_ITEM_FROM_SHOOTING_GALLERY,
// Opt: *EnExItem // Opt: *EnExItem
GI_VB_GIVE_ITEM_FROM_TARGET_IN_WOODS, GI_VB_GIVE_ITEM_FROM_TARGET_IN_WOODS,
// Opt: *EnTa
GI_VB_GIVE_ITEM_FROM_TALONS_CHICKENS,
// Opt: *EnDivingGame // Opt: *EnDivingGame
GI_VB_GIVE_ITEM_FROM_DIVING_MINIGAME, GI_VB_GIVE_ITEM_FROM_DIVING_MINIGAME,

View File

@ -768,6 +768,7 @@ void RandomizerOnVanillaBehaviorHandler(GIVanillaBehavior id, bool* should, void
case GI_VB_TRADE_TIMER_FROG: case GI_VB_TRADE_TIMER_FROG:
case GI_VB_ANJU_SET_OBTAINED_TRADE_ITEM: case GI_VB_ANJU_SET_OBTAINED_TRADE_ITEM:
case GI_VB_GIVE_ITEM_FROM_TARGET_IN_WOODS: case GI_VB_GIVE_ITEM_FROM_TARGET_IN_WOODS:
case GI_VB_GIVE_ITEM_FROM_TALONS_CHICKENS:
case GI_VB_GIVE_ITEM_FROM_DIVING_MINIGAME: case GI_VB_GIVE_ITEM_FROM_DIVING_MINIGAME:
case GI_VB_GIVE_ITEM_FROM_GORON: case GI_VB_GIVE_ITEM_FROM_GORON:
case GI_VB_GIVE_ITEM_FROM_LAB_DIVE: case GI_VB_GIVE_ITEM_FROM_LAB_DIVE:

View File

@ -869,7 +869,7 @@ void EnTa_TalkGeneralInLonLonHouse(EnTa* this, PlayState* play) {
} }
void EnTa_GiveItemInLonLonHouse(EnTa* this, PlayState* play) { void EnTa_GiveItemInLonLonHouse(EnTa* this, PlayState* play) {
if (Actor_HasParent(&this->actor, play)) { if (Actor_HasParent(&this->actor, play) || !GameInteractor_Should(GI_VB_GIVE_ITEM_FROM_TALONS_CHICKENS, true, &this->actor)) {
this->actor.parent = NULL; this->actor.parent = NULL;
this->actionFunc = EnTa_TalkGeneralInLonLonHouse; this->actionFunc = EnTa_TalkGeneralInLonLonHouse;
if (!(this->unk_2E0 & 0x2)) { if (!(this->unk_2E0 & 0x2)) {
@ -879,11 +879,8 @@ void EnTa_GiveItemInLonLonHouse(EnTa* this, PlayState* play) {
} else if (this->unk_2E0 & 2) { } else if (this->unk_2E0 & 2) {
Actor_OfferGetItem(&this->actor, play, GI_MILK, 10000.0f, 50.0f); Actor_OfferGetItem(&this->actor, play, GI_MILK, 10000.0f, 50.0f);
} else { } else {
if (!IS_RANDO) { if (GameInteractor_Should(GI_VB_GIVE_ITEM_FROM_TALONS_CHICKENS, true, &this->actor)) {
Actor_OfferGetItem(&this->actor, play, GI_MILK_BOTTLE, 10000.0f, 50.0f); Actor_OfferGetItem(&this->actor, play, GI_MILK_BOTTLE, 10000.0f, 50.0f);
} else {
GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LLR_TALONS_CHICKENS, GI_MILK_BOTTLE);
GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f);
} }
} }
this->unk_2E0 |= 1; this->unk_2E0 |= 1;
@ -894,11 +891,8 @@ void EnTa_TalkAfterCuccoGameFirstWon(EnTa* this, PlayState* play) {
Message_CloseTextbox(play); Message_CloseTextbox(play);
this->unk_2E0 &= ~0x2; this->unk_2E0 &= ~0x2;
EnTa_SetupAction(this, EnTa_GiveItemInLonLonHouse, EnTa_AnimRunToEnd); EnTa_SetupAction(this, EnTa_GiveItemInLonLonHouse, EnTa_AnimRunToEnd);
if (!IS_RANDO) { if (GameInteractor_Should(GI_VB_GIVE_ITEM_FROM_TALONS_CHICKENS, true, &this->actor)) {
Actor_OfferGetItem(&this->actor, play, GI_MILK_BOTTLE, 10000.0f, 50.0f); Actor_OfferGetItem(&this->actor, play, GI_MILK_BOTTLE, 10000.0f, 50.0f);
} else {
GetItemEntry getItemEntry = Randomizer_GetItemFromKnownCheck(RC_LLR_TALONS_CHICKENS, GI_MILK_BOTTLE);
GiveItemEntryFromActor(&this->actor, play, getItemEntry, 10000.0f, 50.0f);
} }
} }
} }