summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlilDavid <1337lilDavid@gmail.com>2022-10-13 11:40:48 -0500
committerGitHub <noreply@github.com>2022-10-13 12:40:48 -0400
commitf4c871e35c1db6f89f350a49c966f17a5addd99e (patch)
treee09bcfa886c03231acb2392ae9ed61be6a8114c4
parent8e808c4305be808044f48bb48513f7b484a5edea (diff)
Fix Anju as Adult and Trade Pocket Cucco order (#1766)
-rw-r--r--soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c31
1 files changed, 17 insertions, 14 deletions
diff --git a/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c b/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
index eeaff6c33..7a8a7e6d3 100644
--- a/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
+++ b/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
@@ -401,7 +401,7 @@ void func_80ABA9B8(EnNiwLady* this, GlobalContext* globalCtx) {
} else {
// TODO: get-item-rework Adult trade sequence
this->getItemEntry = Randomizer_GetItemFromKnownCheck(RC_KAK_ANJU_AS_ADULT, GI_POCKET_EGG);
- GiveItemEntryFromActor(&this->actor, globalCtx, this->getItemEntry, 200.0f, 100.0f);
+ gSaveContext.itemGetInf[2] |= 0x1000;
}
this->actionFunc = func_80ABAC00;
@@ -431,7 +431,14 @@ void func_80ABAB08(EnNiwLady* this, GlobalContext* globalCtx) {
case 0:
Message_CloseTextbox(globalCtx);
this->actor.parent = NULL;
- func_8002F434(&this->actor, globalCtx, GI_COJIRO, 200.0f, 100.0f);
+ if (!gSaveContext.n64ddFlag) {
+ func_8002F434(&this->actor, globalCtx, GI_COJIRO, 200.0f, 100.0f);
+ } else {
+ // TODO: get-item-rework Adult trade sequence
+ this->getItemEntry = Randomizer_GetItemFromKnownCheck(RC_KAK_TRADE_POCKET_CUCCO, GI_COJIRO);
+ Randomizer_ConsumeAdultTradeItem(globalCtx, ITEM_POCKET_CUCCO);
+ gSaveContext.itemGetInf[2] |= 0x4000;
+ }
this->actionFunc = func_80ABAC00;
break;
case 1:
@@ -455,18 +462,14 @@ void func_80ABAC00(EnNiwLady* this, GlobalContext* globalCtx) {
} else {
getItemId = this->getItemId;
if (LINK_IS_ADULT) {
- getItemId = !(gSaveContext.itemGetInf[2] & 0x1000) ? GI_POCKET_EGG : GI_COJIRO;
-
- if (gSaveContext.n64ddFlag) {
- if (getItemId == GI_POCKET_EGG) {
- // TODO: get-item-rework Adult trade sequence
- this->getItemEntry = Randomizer_GetItemFromKnownCheck(RC_KAK_ANJU_AS_ADULT, GI_POCKET_EGG);
- GiveItemEntryFromActor(&this->actor, globalCtx, this->getItemEntry, 200.0f, 100.0f);
- } else {
- this->getItemEntry = Randomizer_GetItemFromKnownCheck(RC_KAK_TRADE_POCKET_CUCCO, GI_COJIRO);
- Randomizer_ConsumeAdultTradeItem(globalCtx, ITEM_POCKET_CUCCO);
- GiveItemEntryFromActor(&this->actor, globalCtx, this->getItemEntry, 200.0f, 100.0f);
- }
+ if (!gSaveContext.n64ddFlag) {
+ getItemId = !(gSaveContext.itemGetInf[2] & 0x1000) ? GI_POCKET_EGG : GI_COJIRO;
+ } else {
+ // TODO: get-item-rework Adult trade sequence
+ getItemId = this->getItemEntry.getItemId;
+ GiveItemEntryFromActor(&this->actor, globalCtx, this->getItemEntry, 200.0f, 100.0f);
+ // Skip setting item flags because that was done earlier
+ this->actionFunc = func_80ABA778;
}
}
if (this->getItemEntry.getItemId == GI_NONE) {