skip bottling big poes (#5247)
* setting to skip bottling big poes empty bottle still required to collect avoids logic needing to work around player soft locking by filling bottles without poe collector access * No option, zero option * TEXT_BIG_POE_COLLECTED_RANDO * update preset * fix talking to poe collector after receiving item
This commit is contained in:
@@ -288,19 +288,21 @@ void func_80A2F83C(EnGb* this, PlayState* play) {
|
||||
}
|
||||
}
|
||||
if (Actor_ProcessTalkRequest(&this->dyna.actor, play)) {
|
||||
switch (func_8002F368(play)) {
|
||||
case EXCH_ITEM_NONE:
|
||||
func_80A2F180(this);
|
||||
this->actionFunc = func_80A2F94C;
|
||||
break;
|
||||
case EXCH_ITEM_POE:
|
||||
player->actor.textId = 0x70F6;
|
||||
this->actionFunc = func_80A2F9C0;
|
||||
break;
|
||||
case EXCH_ITEM_BIG_POE:
|
||||
player->actor.textId = 0x70F7;
|
||||
this->actionFunc = func_80A2FA50;
|
||||
break;
|
||||
if (GameInteractor_Should(VB_SELL_POES_TO_POE_COLLECTOR, true, this)) {
|
||||
switch (func_8002F368(play)) {
|
||||
case EXCH_ITEM_NONE:
|
||||
func_80A2F180(this);
|
||||
this->actionFunc = func_80A2F94C;
|
||||
break;
|
||||
case EXCH_ITEM_POE:
|
||||
player->actor.textId = 0x70F6;
|
||||
this->actionFunc = func_80A2F9C0;
|
||||
break;
|
||||
case EXCH_ITEM_BIG_POE:
|
||||
player->actor.textId = 0x70F7;
|
||||
this->actionFunc = func_80A2FA50;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ typedef struct EnGb {
|
||||
/* 0x0388 */ EnGbCagedSoul cagedSouls[4];
|
||||
} EnGb; // size = 0x0438
|
||||
|
||||
void func_80A2FC0C(EnGb* actor, PlayState* play);
|
||||
void func_80A2FB40(EnGb* actor, PlayState* play);
|
||||
void func_80A2F83C(EnGb* actor, PlayState* play);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -712,7 +712,7 @@ void EnPoField_SoulInteract(EnPoField* this, PlayState* play) {
|
||||
if (this->actor.params == 0) {
|
||||
Item_Give(play, ITEM_POE);
|
||||
this->actor.textId = 0x5008;
|
||||
} else {
|
||||
} else if (GameInteractor_Should(VB_BOTTLE_BIG_POE, true, this)) {
|
||||
this->actor.textId = 0x508F;
|
||||
Item_Give(play, ITEM_BIG_POE);
|
||||
Flags_SetSwitch(play, sEnPoFieldSpawnSwitchFlags[this->spawnFlagIndex]);
|
||||
|
||||
Reference in New Issue
Block a user