Shopkeeper weekeventregs (#1325)

* Ossan

* sob1 talked

* fsn weekeventregs

* Curiosity shop 3rd day item to special item

* Kotake

* Format

* Kotake bottle

* PR suggestions

* Koume Kiosk -> Kiosk Koume

* Update include/z64save.h

Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>

---------

Co-authored-by: Tom Overton <tom-overton@users.noreply.github.com>
This commit is contained in:
Derek Hensley 2023-07-18 11:51:56 -07:00 committed by GitHub
parent 76e02120a0
commit 9e85f5545a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 211 additions and 197 deletions

View File

@ -1,18 +1,18 @@
<Root>
<File Name="object_tro" Segment="6">
<Animation Name="gKioskKoumeHeadMoving" Offset="0xA0" />
<DList Name="gKioskKoumeDL" Offset="0x6B0" />
<Texture Name="gKioskKoumeNoseTLUT" OutName="kiosk_koume_nose_tlut" Format="rgba16" Width="16" Height="16" Offset="0xAE0" />
<Texture Name="gKioskKoumeNostrilsTLUT" OutName="kiosk_koume_nostrils_tlut" Format="rgba16" Width="16" Height="16" Offset="0xCE0" />
<Texture Name="gKioskKoumeShadowedSkinTex" OutName="kiosk_koume_shadowed_skin" Format="rgba16" Width="2" Height="8" Offset="0xEE0" />
<Texture Name="gKioskKoumeNoseTex" OutName="kiosk_koume_nose" Format="ci8" Width="16" Height="8" Offset="0xF00" />
<Texture Name="gKioskKoumeJewelHolderTex" OutName="kiosk_koume_jewel_holder" Format="rgba16" Width="16" Height="8" Offset="0xF80" />
<Texture Name="gKioskKoumeJewelTex" OutName="kiosk_koume_jewel" Format="rgba16" Width="8" Height="8" Offset="0x1080" />
<Texture Name="gKioskKoumeNostrilsTex" OutName="kiosk_koume_nostrils" Format="ci8" Width="8" Height="8" Offset="0x1100" />
<Texture Name="gKioskKoumeEyeOpenTex" OutName="kiosk_koume_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x1140"/>
<Texture Name="gKioskKoumeEyeHalfTex" OutName="kiosk_koume_eye_half" Format="rgba16" Width="32" Height="32" Offset="0x1940"/>
<Texture Name="gKioskKoumeEyeClosedTex" OutName="kiosk_koume_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x2140"/>
<Limb Name="gKioskKoumeHeadLimb" Type="Standard" EnumName="KIOSK_KOUME_LIMB_HEAD" Offset="0x2940" />
<Skeleton Name="gKioskKoumeSkeleton" Type="Normal" LimbType="Standard" LimbNone="KIOSK_KOUME_LIMB_NONE" LimbMax="KIOSK_KOUME_LIMB_MAX" EnumName="KioskKoumeLimb" Offset="0x2950" />
<Animation Name="gKoumeKioskHeadMoving" Offset="0xA0" />
<DList Name="gKoumeKioskDL" Offset="0x6B0" />
<Texture Name="gKoumeKioskNoseTLUT" OutName="koume_kiosk_nose_tlut" Format="rgba16" Width="16" Height="16" Offset="0xAE0" />
<Texture Name="gKoumeKioskNostrilsTLUT" OutName="koume_kiosk_nostrils_tlut" Format="rgba16" Width="16" Height="16" Offset="0xCE0" />
<Texture Name="gKoumeKioskShadowedSkinTex" OutName="koume_kiosk_shadowed_skin" Format="rgba16" Width="2" Height="8" Offset="0xEE0" />
<Texture Name="gKoumeKioskNoseTex" OutName="koume_kiosk_nose" Format="ci8" Width="16" Height="8" Offset="0xF00" />
<Texture Name="gKoumeKioskJewelHolderTex" OutName="koume_kiosk_jewel_holder" Format="rgba16" Width="16" Height="8" Offset="0xF80" />
<Texture Name="gKoumeKioskJewelTex" OutName="koume_kiosk_jewel" Format="rgba16" Width="8" Height="8" Offset="0x1080" />
<Texture Name="gKoumeKioskNostrilsTex" OutName="koume_kiosk_nostrils" Format="ci8" Width="8" Height="8" Offset="0x1100" />
<Texture Name="gKoumeKioskEyeOpenTex" OutName="koume_kiosk_eye_open" Format="rgba16" Width="32" Height="32" Offset="0x1140"/>
<Texture Name="gKoumeKioskEyeHalfTex" OutName="koume_kiosk_eye_half" Format="rgba16" Width="32" Height="32" Offset="0x1940"/>
<Texture Name="gKoumeKioskEyeClosedTex" OutName="koume_kiosk_eye_closed" Format="rgba16" Width="32" Height="32" Offset="0x2140"/>
<Limb Name="gKoumeKioskHeadLimb" Type="Standard" EnumName="KOUME_KIOSK_LIMB_HEAD" Offset="0x2940" />
<Skeleton Name="gKoumeKioskSkeleton" Type="Normal" LimbType="Standard" LimbNone="KOUME_KIOSK_LIMB_NONE" LimbMax="KOUME_KIOSK_LIMB_MAX" EnumName="KoumeKioskLimb" Offset="0x2950" />
</File>
</Root>

View File

@ -644,8 +644,8 @@ typedef enum {
#define WEEKEVENTREG_12_02 PACK_WEEKEVENTREG_FLAG(12, 0x02)
#define WEEKEVENTREG_12_04 PACK_WEEKEVENTREG_FLAG(12, 0x04)
#define WEEKEVENTREG_12_08 PACK_WEEKEVENTREG_FLAG(12, 0x08)
#define WEEKEVENTREG_12_10 PACK_WEEKEVENTREG_FLAG(12, 0x10)
#define WEEKEVENTREG_SAVED_KOUME PACK_WEEKEVENTREG_FLAG(12, 0x08)
#define WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE PACK_WEEKEVENTREG_FLAG(12, 0x10)
#define WEEKEVENTREG_12_20 PACK_WEEKEVENTREG_FLAG(12, 0x20)
#define WEEKEVENTREG_12_40 PACK_WEEKEVENTREG_FLAG(12, 0x40)
#define WEEKEVENTREG_12_80 PACK_WEEKEVENTREG_FLAG(12, 0x80)
@ -690,11 +690,11 @@ typedef enum {
#define WEEKEVENTREG_16_02 PACK_WEEKEVENTREG_FLAG(16, 0x02)
#define WEEKEVENTREG_16_04 PACK_WEEKEVENTREG_FLAG(16, 0x04)
#define WEEKEVENTREG_16_08 PACK_WEEKEVENTREG_FLAG(16, 0x08)
#define WEEKEVENTREG_16_10 PACK_WEEKEVENTREG_FLAG(16, 0x10)
#define WEEKEVENTREG_TALKED_KOUME_INJURED PACK_WEEKEVENTREG_FLAG(16, 0x10)
#define WEEKEVENTREG_16_20 PACK_WEEKEVENTREG_FLAG(16, 0x20)
#define WEEKEVENTREG_16_40 PACK_WEEKEVENTREG_FLAG(16, 0x40)
#define WEEKEVENTREG_16_80 PACK_WEEKEVENTREG_FLAG(16, 0x80)
#define WEEKEVENTREG_17_01 PACK_WEEKEVENTREG_FLAG(17, 0x01)
#define WEEKEVENTREG_TALKED_KOUME_KIOSK_EMPTY PACK_WEEKEVENTREG_FLAG(17, 0x01)
#define WEEKEVENTREG_17_02 PACK_WEEKEVENTREG_FLAG(17, 0x02)
#define WEEKEVENTREG_17_04 PACK_WEEKEVENTREG_FLAG(17, 0x04)
#define WEEKEVENTREG_17_08 PACK_WEEKEVENTREG_FLAG(17, 0x08)
@ -704,9 +704,9 @@ typedef enum {
#define WEEKEVENTREG_17_80 PACK_WEEKEVENTREG_FLAG(17, 0x80)
#define WEEKEVENTREG_18_01 PACK_WEEKEVENTREG_FLAG(18, 0x01)
#define WEEKEVENTREG_18_02 PACK_WEEKEVENTREG_FLAG(18, 0x02)
#define WEEKEVENTREG_18_04 PACK_WEEKEVENTREG_FLAG(18, 0x04)
#define WEEKEVENTREG_18_08 PACK_WEEKEVENTREG_FLAG(18, 0x08)
#define WEEKEVENTREG_18_10 PACK_WEEKEVENTREG_FLAG(18, 0x10)
#define WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_GORON PACK_WEEKEVENTREG_FLAG(18, 0x04)
#define WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_ZORA PACK_WEEKEVENTREG_FLAG(18, 0x08)
#define WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_DEKU PACK_WEEKEVENTREG_FLAG(18, 0x10)
#define WEEKEVENTREG_18_20 PACK_WEEKEVENTREG_FLAG(18, 0x20)
#define WEEKEVENTREG_18_40 PACK_WEEKEVENTREG_FLAG(18, 0x40)
@ -867,8 +867,8 @@ typedef enum {
// Laundry Pool Frog Returned
#define WEEKEVENTREG_33_02 PACK_WEEKEVENTREG_FLAG(33, 0x02)
#define WEEKEVENTREG_33_04 PACK_WEEKEVENTREG_FLAG(33, 0x04)
#define WEEKEVENTREG_33_08 PACK_WEEKEVENTREG_FLAG(33, 0x08)
#define WEEKEVENTREG_BOUGHT_CURIOSITY_SHOP_SPECIAL_ITEM PACK_WEEKEVENTREG_FLAG(33, 0x04)
#define WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG PACK_WEEKEVENTREG_FLAG(33, 0x08)
#define WEEKEVENTREG_33_10 PACK_WEEKEVENTREG_FLAG(33, 0x10)
#define WEEKEVENTREG_33_20 PACK_WEEKEVENTREG_FLAG(33, 0x20)
#define WEEKEVENTREG_33_40 PACK_WEEKEVENTREG_FLAG(33, 0x40)
@ -991,8 +991,8 @@ typedef enum {
#define WEEKEVENTREG_53_01 PACK_WEEKEVENTREG_FLAG(53, 0x01)
#define WEEKEVENTREG_53_02 PACK_WEEKEVENTREG_FLAG(53, 0x02)
#define WEEKEVENTREG_53_04 PACK_WEEKEVENTREG_FLAG(53, 0x04)
#define WEEKEVENTREG_53_08 PACK_WEEKEVENTREG_FLAG(53, 0x08)
#define WEEKEVENTREG_53_10 PACK_WEEKEVENTREG_FLAG(53, 0x10)
#define WEEKEVENTREG_GAVE_KOTAKE_MUSHROOM PACK_WEEKEVENTREG_FLAG(53, 0x08)
#define WEEKEVENTREG_RECEIVED_FREE_BLUE_POTION PACK_WEEKEVENTREG_FLAG(53, 0x10)
#define WEEKEVENTREG_53_20 PACK_WEEKEVENTREG_FLAG(53, 0x20)
#define WEEKEVENTREG_53_40 PACK_WEEKEVENTREG_FLAG(53, 0x40)
#define WEEKEVENTREG_53_80 PACK_WEEKEVENTREG_FLAG(53, 0x80)
@ -1009,9 +1009,9 @@ typedef enum {
// Unconfirmed: "Link the Goron Claims His Reservation: 4:30 PM"
#define WEEKEVENTREG_55_02 PACK_WEEKEVENTREG_FLAG(55, 0x02)
#define WEEKEVENTREG_55_04 PACK_WEEKEVENTREG_FLAG(55, 0x04)
#define WEEKEVENTREG_55_08 PACK_WEEKEVENTREG_FLAG(55, 0x08)
#define WEEKEVENTREG_55_10 PACK_WEEKEVENTREG_FLAG(55, 0x10)
#define WEEKEVENTREG_TALKED_PART_TIMER_AS_GORON PACK_WEEKEVENTREG_FLAG(55, 0x04)
#define WEEKEVENTREG_TALKED_PART_TIMER_AS_ZORA PACK_WEEKEVENTREG_FLAG(55, 0x08)
#define WEEKEVENTREG_TALKED_PART_TIMER_AS_DEKU PACK_WEEKEVENTREG_FLAG(55, 0x10)
#define WEEKEVENTREG_55_20 PACK_WEEKEVENTREG_FLAG(55, 0x20)
#define WEEKEVENTREG_55_40 PACK_WEEKEVENTREG_FLAG(55, 0x40)
@ -1030,16 +1030,16 @@ typedef enum {
#define WEEKEVENTREG_57_02 PACK_WEEKEVENTREG_FLAG(57, 0x02)
#define WEEKEVENTREG_57_04 PACK_WEEKEVENTREG_FLAG(57, 0x04)
#define WEEKEVENTREG_57_08 PACK_WEEKEVENTREG_FLAG(57, 0x08)
#define WEEKEVENTREG_57_10 PACK_WEEKEVENTREG_FLAG(57, 0x10)
#define WEEKEVENTREG_57_20 PACK_WEEKEVENTREG_FLAG(57, 0x20)
#define WEEKEVENTREG_57_40 PACK_WEEKEVENTREG_FLAG(57, 0x40)
#define WEEKEVENTREG_57_80 PACK_WEEKEVENTREG_FLAG(57, 0x80)
#define WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_HUMAN PACK_WEEKEVENTREG_FLAG(57, 0x10)
#define WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_DEKU PACK_WEEKEVENTREG_FLAG(57, 0x20)
#define WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_GORON PACK_WEEKEVENTREG_FLAG(57, 0x40)
#define WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_ZORA PACK_WEEKEVENTREG_FLAG(57, 0x80)
#define WEEKEVENTREG_58_01 PACK_WEEKEVENTREG_FLAG(58, 0x01)
#define WEEKEVENTREG_58_02 PACK_WEEKEVENTREG_FLAG(58, 0x02)
#define WEEKEVENTREG_58_04 PACK_WEEKEVENTREG_FLAG(58, 0x04)
#define WEEKEVENTREG_58_08 PACK_WEEKEVENTREG_FLAG(58, 0x08)
#define WEEKEVENTREG_58_10 PACK_WEEKEVENTREG_FLAG(58, 0x10)
#define WEEKEVENTREG_58_20 PACK_WEEKEVENTREG_FLAG(58, 0x20)
#define WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_AS_NON_GORON PACK_WEEKEVENTREG_FLAG(58, 0x04)
#define WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_AS_GORON PACK_WEEKEVENTREG_FLAG(58, 0x08)
#define WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_SPRING_AS_NON_GORON PACK_WEEKEVENTREG_FLAG(58, 0x10)
#define WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_SPRING_AS_GORON PACK_WEEKEVENTREG_FLAG(58, 0x20)
#define WEEKEVENTREG_58_40 PACK_WEEKEVENTREG_FLAG(58, 0x40)
#define WEEKEVENTREG_58_80 PACK_WEEKEVENTREG_FLAG(58, 0x80)
#define WEEKEVENTREG_59_01 PACK_WEEKEVENTREG_FLAG(59, 0x01)
@ -1228,7 +1228,7 @@ typedef enum {
#define WEEKEVENTREG_79_08 PACK_WEEKEVENTREG_FLAG(79, 0x08)
#define WEEKEVENTREG_79_10 PACK_WEEKEVENTREG_FLAG(79, 0x10)
#define WEEKEVENTREG_79_20 PACK_WEEKEVENTREG_FLAG(79, 0x20)
#define WEEKEVENTREG_79_40 PACK_WEEKEVENTREG_FLAG(79, 0x40)
#define WEEKEVENTREG_SAKON_DEAD PACK_WEEKEVENTREG_FLAG(79, 0x40)
#define WEEKEVENTREG_79_80 PACK_WEEKEVENTREG_FLAG(79, 0x80)
#define WEEKEVENTREG_80_01 PACK_WEEKEVENTREG_FLAG(80, 0x01)
#define WEEKEVENTREG_80_02 PACK_WEEKEVENTREG_FLAG(80, 0x02)
@ -1282,7 +1282,7 @@ typedef enum {
// Also related to moon child
#define WEEKEVENTREG_84_20 PACK_WEEKEVENTREG_FLAG(84, 0x20)
#define WEEKEVENTREG_84_40 PACK_WEEKEVENTREG_FLAG(84, 0x40)
#define WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME PACK_WEEKEVENTREG_FLAG(84, 0x40)
#define WEEKEVENTREG_84_80 PACK_WEEKEVENTREG_FLAG(84, 0x80)
#define WEEKEVENTREG_85_01 PACK_WEEKEVENTREG_FLAG(85, 0x01)
@ -1290,8 +1290,13 @@ typedef enum {
#define WEEKEVENTREG_85_02 PACK_WEEKEVENTREG_FLAG(85, 0x02)
#define WEEKEVENTREG_85_04 PACK_WEEKEVENTREG_FLAG(85, 0x04)
#define WEEKEVENTREG_85_08 PACK_WEEKEVENTREG_FLAG(85, 0x08)
#define WEEKEVENTREG_85_10 PACK_WEEKEVENTREG_FLAG(85, 0x10)
// These get set per location, if Kotake tries to give the player a Red Potion to save Koume,
// but is unable to do so since all bottles are full.
#define WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_SHOP PACK_WEEKEVENTREG_FLAG(85, 0x08)
#define WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_WOODS PACK_WEEKEVENTREG_FLAG(85, 0x10)
#define WEEKEVENTREG_85_20 PACK_WEEKEVENTREG_FLAG(85, 0x20)
#define WEEKEVENTREG_85_40 PACK_WEEKEVENTREG_FLAG(85, 0x40)

View File

@ -86,7 +86,7 @@ u16 sPersistentCycleWeekEventRegs[ARRAY_COUNT(gSaveContext.save.saveInfo.weekEve
/* 9 */ 0,
/* 10 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_10_08),
/* 11 */ 0,
/* 12 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_12_10),
/* 12 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE),
/* 13 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_OCEANSIDE_WALLET_UPGRADE),
/* 14 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_DEKU_PLAYGROUND_HEART_PIECE),
/* 15 */ PERSISTENT_WEEKEVENTREG(WEEKEVENTREG_15_20),

View File

@ -168,13 +168,13 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
switch (this->textId) {
case 0:
if (this->stateFlags & BOMB_SHOP_LADY_STATE_AUTOTALK) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG)) {
// Thanks. Can stock Bomb Bags tomorrow
this->textId = 0x2A34;
break;
}
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_SAKON_DEAD)) {
this->stateFlags |= BOMB_SHOP_LADY_STATE_END_CONVERSATION;
// Oh my, learned my lesson. Can't stock Bomb Bags tomorrow
this->textId = 0x2A33;
@ -202,7 +202,7 @@ void EnBaba_HandleConversation(EnBaba* this, PlayState* play) {
break;
}
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_73_01)) {
// Thought could sell Big Bomb Bags
this->textId = 0x660;
@ -542,7 +542,7 @@ void EnBaba_FinishInit(EnBaba* this, PlayState* play) {
}
this->stateFlags |= BOMB_SHOP_LADY_STATE_VISIBLE;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG)) {
this->animIndex = BOMB_SHOP_LADY_ANIM_IDLE_HOLDING_BAG;
} else {
this->animIndex = BOMB_SHOP_LADY_ANIM_IDLE;
@ -710,7 +710,7 @@ void EnBaba_KnockedOver(EnBaba* this, PlayState* play) {
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex);
}
} else {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40) && (DECR(this->sakonDeadTimer) == 0)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_SAKON_DEAD) && (DECR(this->sakonDeadTimer) == 0)) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 20);
EnBaba_TriggerTransition(play, ENTRANCE(NORTH_CLOCK_TOWN, 7));
} else {

View File

@ -55,14 +55,14 @@ ActorInit En_Dnh_InitVars = {
};
static AnimationInfoS sAnimationInfo[] = {
{ &gKioskKoumeHeadMoving, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
{ &gKoumeKioskHeadMoving, 1.0f, 0, -1, ANIMMODE_LOOP, 0 },
};
static TexturePtr sEyeTextures[] = {
gKioskKoumeEyeOpenTex,
gKioskKoumeEyeHalfTex,
gKioskKoumeEyeClosedTex,
gKioskKoumeEyeHalfTex,
gKoumeKioskEyeOpenTex,
gKoumeKioskEyeHalfTex,
gKoumeKioskEyeClosedTex,
gKoumeKioskEyeHalfTex,
};
s32 func_80A50D40(Actor* actor, PlayState* play) {
@ -130,8 +130,8 @@ void EnDnh_Init(Actor* thisx, PlayState* play) {
EnDnh* this = THIS;
ActorShape_Init(&this->actor.shape, 0.0f, NULL, 0.0f);
SkelAnime_Init(play, &this->skelAnime, &gKioskKoumeSkeleton, NULL, this->jointTable, this->morphTable,
KIOSK_KOUME_LIMB_MAX);
SkelAnime_Init(play, &this->skelAnime, &gKoumeKioskSkeleton, NULL, this->jointTable, this->morphTable,
KOUME_KIOSK_LIMB_MAX);
SubS_ChangeAnimationByInfoS(&this->skelAnime, sAnimationInfo, 0);
this->actor.shape.yOffset = 1100.0f;
if (gSaveContext.save.entrance != ENTRANCE(TOURIST_INFORMATION, 1)) {
@ -141,7 +141,7 @@ void EnDnh_Init(Actor* thisx, PlayState* play) {
SubS_UpdateFlags(&this->unk18C, 4, 7);
this->unk198 = CHECK_EVENTINF(EVENTINF_35) ? 2 : 1;
}
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_08)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_SAVED_KOUME)) {
this->actor.draw = NULL;
}
this->msgEventCallback = func_80A50D40;
@ -166,7 +166,7 @@ void EnDnh_Update(Actor* thisx, PlayState* play) {
s32 EnDnh_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, Actor* thisx) {
EnDnh* this = THIS;
if (limbIndex == KIOSK_KOUME_LIMB_HEAD) {
if (limbIndex == KOUME_KIOSK_LIMB_HEAD) {
Matrix_Translate(0.0f, this->actor.shape.yOffset, 0.0f, MTXMODE_APPLY);
}
return false;

View File

@ -21,8 +21,8 @@ typedef struct EnDnh {
/* 0x19C */ s16 blinkTimer;
/* 0x19E */ s16 eyeTexIndex;
/* 0x1A0 */ MsgEventFunc msgEventCallback;
/* 0x1A4 */ Vec3s jointTable[KIOSK_KOUME_LIMB_MAX];
/* 0x1B0 */ Vec3s morphTable[KIOSK_KOUME_LIMB_MAX];
/* 0x1A4 */ Vec3s jointTable[KOUME_KIOSK_LIMB_MAX];
/* 0x1B0 */ Vec3s morphTable[KOUME_KIOSK_LIMB_MAX];
} EnDnh; // size = 0x1BC
#endif // Z_EN_DNH_H

View File

@ -312,9 +312,10 @@ void EnFsn_CursorLeftRight(EnFsn* this) {
}
}
s16 EnFsn_GetThirdDayItemId(void) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_04) && (CURRENT_DAY == 3)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
s16 EnFsn_GetSpecialItemId(void) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_BOUGHT_CURIOSITY_SHOP_SPECIAL_ITEM) && (CURRENT_DAY == 3)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_SAKON_DEAD)) {
return SI_BOMB_BAG_30_1;
}
return SI_MASK_ALL_NIGHT;
@ -353,7 +354,7 @@ s32 EnFsn_HasItemsToSell(void) {
}
if ((STOLEN_ITEM_1 != STOLEN_ITEM_NONE) || (STOLEN_ITEM_2 != STOLEN_ITEM_NONE) ||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_04)) {
!CHECK_WEEKEVENTREG(WEEKEVENTREG_BOUGHT_CURIOSITY_SHOP_SPECIAL_ITEM)) {
return true;
}
@ -368,7 +369,7 @@ void EnFsn_GetShopItemIds(EnFsn* this) {
this->stolenItem1 = this->stolenItem2 = 0;
this->itemIds[0] = this->itemIds[1] = this->itemIds[2] = 0;
itemId = EnFsn_GetThirdDayItemId();
itemId = EnFsn_GetSpecialItemId();
this->itemIds[this->totalSellingItems] = itemId;
if (itemId != SI_NONE) {
this->totalSellingItems++;
@ -459,9 +460,10 @@ s32 EnFsn_FacingShopkeeperDialogResult(EnFsn* this, PlayState* play) {
Audio_PlaySfx_MessageDecide();
if (CURRENT_DAY != 3) {
this->actor.textId = 0x29FB;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_04)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_BOUGHT_CURIOSITY_SHOP_SPECIAL_ITEM)) {
this->actor.textId = 0x29FF;
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_SAKON_DEAD)) {
this->actor.textId = 0x29D7;
} else {
this->actor.textId = 0x29D8;
@ -889,9 +891,10 @@ void EnFsn_AskBuyOrSell(EnFsn* this, PlayState* play) {
break;
case 0x29D2:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_04)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_BOUGHT_CURIOSITY_SHOP_SPECIAL_ITEM)) {
this->actor.textId = 0x2A01;
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_SAKON_DEAD)) {
this->actor.textId = 0x29D3;
} else {
this->actor.textId = 0x29D4;
@ -1189,7 +1192,7 @@ void EnFsn_HandleCanPlayerBuyItem(EnFsn* this, PlayState* play) {
switch (item->canBuyFunc(play, item)) {
case CANBUY_RESULT_SUCCESS_2:
Audio_PlaySfx_MessageDecide();
SET_WEEKEVENTREG(WEEKEVENTREG_33_04);
SET_WEEKEVENTREG(WEEKEVENTREG_BOUGHT_CURIOSITY_SHOP_SPECIAL_ITEM);
// fallthrough
case CANBUY_RESULT_SUCCESS_1:
if (this->cutsceneState == ENFSN_CUTSCENESTATE_PLAYING) {
@ -1479,7 +1482,7 @@ void EnFsn_Init(Actor* thisx, PlayState* play) {
EnFsn_GetCutscenes(this);
EnFsn_InitShop(this, play);
} else {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) || CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG) || CHECK_WEEKEVENTREG(WEEKEVENTREG_SAKON_DEAD)) {
Actor_Kill(&this->actor);
return;
}

View File

@ -205,13 +205,13 @@ s32 EnGirlA_CanBuyPotionGreen(PlayState* play, EnGirlA* this) {
}
s32 EnGirlA_CanBuyPotionBlue(PlayState* play, EnGirlA* this) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_53_08)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_GAVE_KOTAKE_MUSHROOM)) {
return CANBUY_RESULT_CANNOT_GET_NOW;
}
if (!Inventory_HasEmptyBottle()) {
return CANBUY_RESULT_NEED_EMPTY_BOTTLE;
}
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_53_10)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_FREE_BLUE_POTION)) {
return CANBUY_RESULT_SUCCESS_2;
}
if (gSaveContext.save.saveInfo.playerData.rupees < play->msgCtx.unk1206C) {

View File

@ -31,7 +31,7 @@ void EnOssan_InitShop(EnOssan* this, PlayState* play);
void EnOssan_Idle(EnOssan* this, PlayState* play);
void EnOssan_BeginInteraction(EnOssan* this, PlayState* play);
void EnOssan_Hello(EnOssan* this, PlayState* play);
void EnOssan_SetHaveMet(EnOssan* this);
void EnOssan_SetTalked(EnOssan* this);
void EnOssan_StartShopping(PlayState* play, EnOssan* this);
void EnOssan_FaceShopkeeper(EnOssan* this, PlayState* play);
void EnOssan_LookToShopkeeperFromShelf(EnOssan* this, PlayState* play);
@ -417,7 +417,7 @@ void EnOssan_BeginInteraction(EnOssan* this, PlayState* play) {
break;
case FSN_ANIM_TURN_AROUND_FORWARD:
EnOssan_SetHaveMet(this);
EnOssan_SetTalked(this);
this->textId = EnOssan_CuriosityShopMan_GetWelcome(this, play);
SubS_ChangeAnimationByInfoS(&this->skelAnime, animationInfo, this->animIndex);
break;
@ -454,7 +454,7 @@ void EnOssan_BeginInteraction(EnOssan* this, PlayState* play) {
}
}
} else {
EnOssan_SetHaveMet(this);
EnOssan_SetTalked(this);
this->textId = EnOssan_PartTimer_GetWelcome(this, play);
Message_StartTextbox(play, this->textId, &this->actor);
EnOssan_SetupStartShopping(play, this, false);
@ -1413,21 +1413,21 @@ u16 EnOssan_CuriosityShopMan_GetWelcome(EnOssan* this, PlayState* play) {
switch (player->transformation) {
case PLAYER_FORM_DEKU:
this->animIndex = FSN_ANIM_SLAM_COUNTER_START;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_18_10)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_DEKU)) {
return sWelcomeDekuTextIds[ENOSSAN_CURIOSITY_SHOP_MAN];
}
return sWelcomeDekuFirstTimeTextIds[ENOSSAN_CURIOSITY_SHOP_MAN];
case PLAYER_FORM_ZORA:
this->animIndex = FSN_ANIM_LEAN_FORWARD_START;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_18_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_ZORA)) {
return sWelcomeZoraTextIds[ENOSSAN_CURIOSITY_SHOP_MAN];
}
return sWelcomeZoraFirstTimeTextIds[ENOSSAN_CURIOSITY_SHOP_MAN];
case PLAYER_FORM_GORON:
this->animIndex = FSN_ANIM_HAND_ON_FACE_START;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_18_04)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_GORON)) {
return sWelcomeGoronTextIds[ENOSSAN_CURIOSITY_SHOP_MAN];
}
return sWelcomeGoronFirstTimeTextIds[ENOSSAN_CURIOSITY_SHOP_MAN];
@ -1449,19 +1449,19 @@ u16 EnOssan_PartTimer_GetWelcome(EnOssan* this, PlayState* play) {
switch (player->transformation) {
case PLAYER_FORM_DEKU:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_55_10)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_PART_TIMER_AS_DEKU)) {
return sWelcomeDekuTextIds[ENOSSAN_PART_TIME_WORKER];
}
return sWelcomeDekuFirstTimeTextIds[ENOSSAN_PART_TIME_WORKER];
case PLAYER_FORM_ZORA:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_55_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_PART_TIMER_AS_ZORA)) {
return sWelcomeZoraTextIds[ENOSSAN_PART_TIME_WORKER];
}
return sWelcomeZoraFirstTimeTextIds[ENOSSAN_PART_TIME_WORKER];
case PLAYER_FORM_GORON:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_55_04)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_PART_TIMER_AS_GORON)) {
return sWelcomeGoronTextIds[ENOSSAN_PART_TIME_WORKER];
}
return sWelcomeGoronFirstTimeTextIds[ENOSSAN_PART_TIME_WORKER];
@ -1471,30 +1471,30 @@ u16 EnOssan_PartTimer_GetWelcome(EnOssan* this, PlayState* play) {
}
}
void EnOssan_SetHaveMet(EnOssan* this) {
void EnOssan_SetTalked(EnOssan* this) {
switch (this->textId) {
case 0x06A9:
SET_WEEKEVENTREG(WEEKEVENTREG_18_10);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_DEKU);
break;
case 0x06C6:
SET_WEEKEVENTREG(WEEKEVENTREG_55_10);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_PART_TIMER_AS_DEKU);
break;
case 0x06A7:
SET_WEEKEVENTREG(WEEKEVENTREG_18_08);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_ZORA);
break;
case 0x06C4:
SET_WEEKEVENTREG(WEEKEVENTREG_55_08);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_PART_TIMER_AS_ZORA);
break;
case 0x06A5:
SET_WEEKEVENTREG(WEEKEVENTREG_18_04);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_GORON);
break;
case 0x06C2:
SET_WEEKEVENTREG(WEEKEVENTREG_55_04);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_PART_TIMER_AS_GORON);
break;
default:

View File

@ -190,7 +190,7 @@ u16 EnSob1_GetTalkOption(EnSob1* this, PlayState* play) {
if (this->shopType == BOMB_SHOP) {
if ((gSaveContext.save.day == 1) && (gSaveContext.save.time >= CLOCK_TIME(6, 00))) {
return 0x648;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG)) {
return 0x649;
} else {
return 0x64A;
@ -270,34 +270,34 @@ u16 EnSob1_GetWelcome(EnSob1* this, PlayState* play) {
} else if (this->shopType == ZORA_SHOP) {
switch (player->transformation) {
case PLAYER_FORM_HUMAN:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_57_10)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_HUMAN)) {
return 0x12CF;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_57_10);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_HUMAN);
return 0x12CE;
}
case PLAYER_FORM_DEKU:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_57_20)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_DEKU)) {
return 0x12D1;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_57_20);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_DEKU);
return 0x12D0;
}
case PLAYER_FORM_GORON:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_57_40)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_GORON)) {
return 0x12D3;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_57_40);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_GORON);
return 0x12D2;
}
case PLAYER_FORM_ZORA:
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_57_80)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_ZORA)) {
return 0x12D5;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_57_80);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_ZORA);
return 0x12D4;
}
@ -306,33 +306,33 @@ u16 EnSob1_GetWelcome(EnSob1* this, PlayState* play) {
}
} else if (this->shopType == GORON_SHOP) {
if (player->transformation != PLAYER_FORM_GORON) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_58_04)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_AS_NON_GORON)) {
return 0xBB9;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_58_04);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_AS_NON_GORON);
return 0xBB8;
}
} else {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_58_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_AS_GORON)) {
return 0xBBB;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_58_08);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_AS_GORON);
return 0xBBA;
}
}
} else if (this->shopType == GORON_SHOP_SPRING) {
if (player->transformation != PLAYER_FORM_GORON) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_58_10)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_SPRING_AS_NON_GORON)) {
return 0xBBD;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_58_10);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_SPRING_AS_NON_GORON);
return 0xBBC;
}
} else {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_58_20)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_SPRING_AS_GORON)) {
return 0xBBF;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_58_20);
SET_WEEKEVENTREG(WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_SPRING_AS_GORON);
return 0xBBE;
}
}
@ -1401,7 +1401,7 @@ void EnSob1_InitShop(EnSob1* this, PlayState* play) {
this->actor.world.pos.y += posOffset->y;
this->actor.world.pos.z += posOffset->z;
shopItems = sShops[this->shopType];
if ((this->shopType == BOMB_SHOP) && CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
if ((this->shopType == BOMB_SHOP) && CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG)) {
sShops[this->shopType][0].shopItemId = SI_BOMB_BAG_30_2;
}

View File

@ -130,7 +130,7 @@ static TrackOptionsSet sTrackOptions = {
static u8 D_80BAE820[] = {
/* 0x00 */ SCHEDULE_CMD_CHECK_NOT_IN_DAY_S(2, 0x80 - 0x04),
/* 0x04 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_33_08, 0x7F - 0x08),
/* 0x04 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG, 0x7F - 0x08),
/* 0x08 */ SCHEDULE_CMD_CHECK_NOT_IN_SCENE_S(SCENE_ICHIBA, 0x3D - 0x0C),
/* 0x0C */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(0, 0, 0, 25, 0x37 - 0x12),
/* 0x12 */ SCHEDULE_CMD_CHECK_TIME_RANGE_S(0, 25, 0, 30, 0x31 - 0x18),
@ -963,7 +963,7 @@ void func_80BAC2FC(EnSuttari* this, PlayState* play) {
break;
case 4:
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG)) {
if ((this->animIndex == 2) || (this->animIndex == 1)) {
this->animIndex = 5;
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex);
@ -1003,7 +1003,8 @@ void func_80BAC6E8(EnSuttari* this, PlayState* play) {
this->actionFunc = func_80BACA14;
return;
} else if ((gSaveContext.save.day == 3) && (gSaveContext.save.time <= CLOCK_TIME(19, 0)) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_61_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_61_08) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG) &&
CHECK_WEEKEVENTREG(WEEKEVENTREG_51_08)) {
this->animIndex = 2;
Actor_ChangeAnimationByInfo(&this->skelAnime, sAnimationInfo, this->animIndex);
@ -1027,7 +1028,7 @@ void func_80BAC6E8(EnSuttari* this, PlayState* play) {
this->actionFunc = func_80BAD004;
return;
} else if (play->sceneId == SCENE_ICHIBA) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG)) {
Actor_Kill(&this->actor);
return;
}
@ -1037,7 +1038,7 @@ void func_80BAC6E8(EnSuttari* this, PlayState* play) {
this->actionFunc = func_80BAD5F8;
return;
} else if (play->sceneId == SCENE_AYASHIISHOP) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG)) {
Actor_Kill(&this->actor);
return;
}
@ -1269,7 +1270,7 @@ void func_80BAD380(EnSuttari* this, PlayState* play) {
this->flags2 |= 8;
func_80BAAF1C(this);
} else if (this->flags1 & 0x200) {
SET_WEEKEVENTREG(WEEKEVENTREG_79_40);
SET_WEEKEVENTREG(WEEKEVENTREG_SAKON_DEAD);
this->flags2 |= 4;
this->actor.speed = 0.0f;
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->actor.world.pos.x, this->actor.world.pos.y,
@ -1280,7 +1281,7 @@ void func_80BAD380(EnSuttari* this, PlayState* play) {
}
if (this->unk1F4[1] == -0x63) {
if (this->flags2 & 8) {
SET_WEEKEVENTREG(WEEKEVENTREG_33_08);
SET_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG);
}
this->actor.speed = 0.0f;
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM_MAIN, 20);
@ -1500,7 +1501,7 @@ void EnSuttari_Init(Actor* thisx, PlayState* play) {
EnSuttari* this = THIS;
s32 pad;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_79_40)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_SAKON_DEAD)) {
Actor_Kill(&this->actor);
return;
}

View File

@ -122,8 +122,8 @@ static u8 sScheduleScript[] = {
/* 0x094 */ SCHEDULE_CMD_RET_TIME(15, 55, 16, 10, 12),
/* 0x09A */ SCHEDULE_CMD_RET_NONE(),
/* 0x09B */ SCHEDULE_CMD_CHECK_NOT_IN_DAY_L(3, 0x138 - 0x0A0),
/* 0x0A0 */ SCHEDULE_CMD_CHECK_FLAG_L(WEEKEVENTREG_33_08, 0x12C - 0x0A5),
/* 0x0A5 */ SCHEDULE_CMD_CHECK_FLAG_L(WEEKEVENTREG_79_40, 0x12C - 0x0AA),
/* 0x0A0 */ SCHEDULE_CMD_CHECK_FLAG_L(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG, 0x12C - 0x0A5),
/* 0x0A5 */ SCHEDULE_CMD_CHECK_FLAG_L(WEEKEVENTREG_SAKON_DEAD, 0x12C - 0x0AA),
/* 0x0AA */ SCHEDULE_CMD_CHECK_NOT_IN_SCENE_S(SCENE_SECOM, 0x0B0 - 0x0AE),
/* 0x0AE */ SCHEDULE_CMD_RET_VAL_S(7),
/* 0x0B0 */ SCHEDULE_CMD_CHECK_FLAG_S(WEEKEVENTREG_ESCAPED_SAKONS_HIDEOUT, 0x0DD - 0x0B4),
@ -471,7 +471,8 @@ void EnTest3_Init(Actor* thisx, PlayState* play2) {
this->unk_D90 = GET_PLAYER(play);
this->player.giObjectSegment = this->unk_D90->giObjectSegment;
this->player.tatlActor = this->unk_D90->tatlActor;
if ((CURRENT_DAY != 3) || CHECK_WEEKEVENTREG(WEEKEVENTREG_33_08) || !CHECK_WEEKEVENTREG(WEEKEVENTREG_51_08)) {
if ((CURRENT_DAY != 3) || CHECK_WEEKEVENTREG(WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG) ||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_51_08)) {
this->player.currentMask = PLAYER_MASK_KEATON;
}
this->player.prevMask = this->player.currentMask;

View File

@ -14,7 +14,7 @@
#define ENTRT_FULLY_AWAKE (1 << 0)
#define ENTRT_GIVEN_MUSHROOM (1 << 1)
#define ENTRT_MET (1 << 2)
#define ENTRT_TALKED (1 << 2)
void EnTrt_Init(Actor* thisx, PlayState* play);
void EnTrt_Destroy(Actor* thisx, PlayState* play);
@ -202,7 +202,7 @@ u16 EnTrt_GetItemTextId(EnTrt* this) {
u16 EnTrt_GetItemChoiceTextId(EnTrt* this) {
EnGirlA* item = this->items[this->cursorIndex];
if ((item->actor.params == SI_POTION_BLUE) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_53_10)) {
if ((item->actor.params == SI_POTION_BLUE) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_FREE_BLUE_POTION)) {
this->textId = 0x881;
return 0x881;
}
@ -348,7 +348,7 @@ void EnTrt_GetMushroom(EnTrt* this, PlayState* play) {
case 0x883:
this->textId = 0x884;
Message_StartTextbox(play, this->textId, &this->actor);
SET_WEEKEVENTREG(WEEKEVENTREG_53_08);
SET_WEEKEVENTREG(WEEKEVENTREG_GAVE_KOTAKE_MUSHROOM);
Player_UpdateBottleHeld(play, GET_PLAYER(play), ITEM_BOTTLE, PLAYER_IA_BOTTLE_EMPTY);
break;
@ -407,7 +407,7 @@ void EnTrt_Goodbye(EnTrt* this, PlayState* play) {
void EnTrt_StartRedPotionConversation(EnTrt* this, PlayState* play) {
if ((Message_GetState(&play->msgCtx) == TEXT_STATE_5) && Message_ShouldAdvance(play)) {
if (this->textId == 0x88F) {
if (Inventory_HasEmptyBottle() || !CHECK_WEEKEVENTREG(WEEKEVENTREG_12_10)) {
if (Inventory_HasEmptyBottle() || !CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE)) {
if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING) {
CutsceneManager_Stop(this->csId);
this->cutsceneState = ENTRT_CUTSCENESTATE_STOPPED;
@ -418,28 +418,28 @@ void EnTrt_StartRedPotionConversation(EnTrt* this, PlayState* play) {
} else {
this->prevTextId = this->textId;
this->textId = 0x88E;
SET_WEEKEVENTREG(WEEKEVENTREG_85_08);
SET_WEEKEVENTREG(WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_SHOP);
Message_StartTextbox(play, this->textId, &this->actor);
this->actionFunc = EnTrt_EndConversation;
}
} else {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_12_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_SAVED_KOUME)) {
this->textId = 0x83D;
EnTrt_SetupStartShopping(play, this, 0);
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_84_40)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME)) {
this->textId = 0x83B;
if (Inventory_HasItemInBottle(ITEM_POTION_RED)) {
EnTrt_SetupStartShopping(play, this, false);
} else {
this->actionFunc = EnTrt_TryToGiveRedPotion;
}
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED)) {
this->timer = 30;
this->textId = 0x838;
this->cutsceneState = ENTRT_CUTSCENESTATE_PLAYING_SPECIAL;
this->actionFunc = EnTrt_Surprised;
return;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_17_01)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_KIOSK_EMPTY)) {
this->textId = 0x835;
EnTrt_SetupStartShopping(play, this, false);
}
@ -453,13 +453,13 @@ void EnTrt_GiveRedPotionForKoume(EnTrt* this, PlayState* play) {
if (Actor_HasParent(&this->actor, play)) {
this->actor.parent = NULL;
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_10)) {
SET_WEEKEVENTREG(WEEKEVENTREG_12_10);
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE)) {
SET_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE);
}
SET_WEEKEVENTREG(WEEKEVENTREG_84_40);
SET_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME);
player->stateFlags2 &= ~PLAYER_STATE2_20000000;
this->actionFunc = EnTrt_GivenRedPotionForKoume;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_12_10)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE)) {
Actor_OfferGetItem(&this->actor, play, GI_POTION_RED, 300.0f, 300.0f);
} else {
Actor_OfferGetItem(&this->actor, play, GI_POTION_RED_BOTTLE, 300.0f, 300.0f);
@ -767,7 +767,7 @@ void EnTrt_SelectItem(EnTrt* this, PlayState* play) {
this->drawCursor = 0;
this->shopItemSelectedTween = 0.0f;
item->boughtFunc(play, item);
SET_WEEKEVENTREG(WEEKEVENTREG_53_10);
SET_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_FREE_BLUE_POTION);
}
}
}
@ -776,14 +776,15 @@ void EnTrt_SelectItem(EnTrt* this, PlayState* play) {
void EnTrt_IdleSleeping(EnTrt* this, PlayState* play) {
Player* player = GET_PLAYER(play);
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_85_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_84_40)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_SHOP) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME)) {
this->textId = 0x88F;
} else if (!(this->flags & ENTRT_MET)) {
} else if (!(this->flags & ENTRT_TALKED)) {
this->textId = 0x834;
} else {
this->textId = 0x83E;
}
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_53_08)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_GAVE_KOTAKE_MUSHROOM)) {
this->talkOptionTextId = 0x845;
} else if (this->flags & ENTRT_GIVEN_MUSHROOM) {
this->talkOptionTextId = 0x882;
@ -801,7 +802,7 @@ void EnTrt_IdleSleeping(EnTrt* this, PlayState* play) {
}
if (Actor_ProcessTalkRequest(&this->actor, &play->state)) {
if (player->transformation == PLAYER_FORM_HUMAN) {
this->flags |= ENTRT_MET;
this->flags |= ENTRT_TALKED;
}
if (this->cutsceneState == ENTRT_CUTSCENESTATE_STOPPED) {
if (CutsceneManager_GetCurrentCsId() == CS_ID_GLOBAL_TALK) {
@ -854,7 +855,7 @@ void EnTrt_IdleAwake(EnTrt* this, PlayState* play) {
}
player->stateFlags2 |= PLAYER_STATE2_20000000;
if (player->transformation == PLAYER_FORM_HUMAN) {
this->flags |= ENTRT_MET;
this->flags |= ENTRT_TALKED;
}
EnTrt_ChangeAnim(&this->skelAnime, sAnimationInfo, TRT_ANIM_SLEEPING);
this->blinkFunc = EnTrt_EyesClosed;
@ -908,8 +909,10 @@ void EnTrt_BeginInteraction(EnTrt* this, PlayState* play) {
this->animIndex = TRT_ANIM_HANDS_ON_COUNTER;
switch (this->textId) {
case 0x834:
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_84_40) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_17_01)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_SAVED_KOUME) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_KIOSK_EMPTY)) {
func_8011552C(play, DO_ACTION_DECIDE);
this->stickLeftPrompt.isEnabled = false;
this->stickRightPrompt.isEnabled = true;
@ -972,7 +975,7 @@ void EnTrt_TryToGiveRedPotionAfterSurprised(EnTrt* this, PlayState* play) {
this->blinkFunc = EnTrt_Blink;
if ((talkState == TEXT_STATE_DONE) && Message_ShouldAdvance(play)) {
if (Inventory_HasEmptyBottle() || !CHECK_WEEKEVENTREG(WEEKEVENTREG_12_10)) {
if (Inventory_HasEmptyBottle() || !CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE)) {
if (this->cutsceneState == ENTRT_CUTSCENESTATE_PLAYING) {
CutsceneManager_Stop(this->csId);
this->cutsceneState = ENTRT_CUTSCENESTATE_STOPPED;
@ -981,7 +984,7 @@ void EnTrt_TryToGiveRedPotionAfterSurprised(EnTrt* this, PlayState* play) {
} else {
this->prevTextId = this->textId;
this->textId = 0x88E;
SET_WEEKEVENTREG(WEEKEVENTREG_85_08);
SET_WEEKEVENTREG(WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_SHOP);
Message_StartTextbox(play, this->textId, &this->actor);
this->actionFunc = EnTrt_EndConversation;
}
@ -1002,7 +1005,7 @@ void EnTrt_TryToGiveRedPotion(EnTrt* this, PlayState* play) {
} else {
this->prevTextId = this->textId;
this->textId = 0x88E;
SET_WEEKEVENTREG(WEEKEVENTREG_85_08);
SET_WEEKEVENTREG(WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_SHOP);
Message_StartTextbox(play, this->textId, &this->actor);
this->actionFunc = EnTrt_EndConversation;
}
@ -1419,7 +1422,7 @@ void EnTrt_TalkToShopkeeper(EnTrt* this, PlayState* play) {
itemAction = func_80123810(play);
if (itemAction > PLAYER_IA_NONE) {
if (itemAction == PLAYER_IA_BOTTLE_MUSHROOM) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_53_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_GAVE_KOTAKE_MUSHROOM)) {
player->actor.textId = 0x888;
} else {
player->actor.textId = 0x883;
@ -1488,8 +1491,8 @@ void EnTrt_LookToShopkeeperFromShelf(EnTrt* this, PlayState* play) {
void EnTrt_InitShopkeeper(EnTrt* this, PlayState* play) {
SkelAnime_InitFlex(play, &this->skelAnime, &gKotakeSkel, &gKotakeSleepingAnim, NULL, NULL, 0);
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_84_40) &&
(gSaveContext.save.day >= 2)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_SAVED_KOUME) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME) && (gSaveContext.save.day >= 2)) {
this->actor.draw = NULL;
} else {
this->actor.draw = EnTrt_Draw;
@ -1504,8 +1507,8 @@ void EnTrt_InitShop(EnTrt* this, PlayState* play) {
this->actor.colChkInfo.mass = MASS_IMMOVABLE;
this->actor.colChkInfo.cylRadius = 50;
this->timer = Rand_S16Offset(40, 20);
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_08) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_84_40) &&
gSaveContext.save.day >= 2) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_SAVED_KOUME) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME) && gSaveContext.save.day >= 2) {
this->textId = 0x84A;
this->actionFunc = EnTrt_ShopkeeperGone;
} else {
@ -1570,7 +1573,7 @@ void EnTrt_InitShop(EnTrt* this, PlayState* play) {
this->blinkTimer = 20;
this->eyeTexIndex = 0;
this->blinkFunc = EnTrt_EyesClosed;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_53_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_GAVE_KOTAKE_MUSHROOM)) {
this->flags |= ENTRT_GIVEN_MUSHROOM;
}

View File

@ -144,13 +144,14 @@ void func_80AD341C(EnTrt2* this, PlayState* play) {
}
void func_80AD349C(EnTrt2* this) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_85_10) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_84_40)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_WOODS) &&
!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME)) {
this->unk_3A8 = 0x88F;
} else if (this->unk_3A8 == 0) {
this->unk_3A8 = 0x84B;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED)) {
this->unk_3A8 = 0x838;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_17_01)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_KIOSK_EMPTY)) {
this->unk_3A8 = 0x84D;
} else {
this->unk_3A8 = 0x849;
@ -378,7 +379,7 @@ void func_80AD3E34(EnTrt2* this, PlayState* play) {
play->msgCtx.stateTimer = 4;
this->unk_3B2 = 12;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_85_10);
SET_WEEKEVENTREG(WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_WOODS);
this->unk_3A8 = 0x88E;
Message_StartTextbox(play, this->unk_3A8, &this->actor);
this->unk_3B2 = 10;
@ -391,11 +392,11 @@ void func_80AD3EF0(EnTrt2* this, PlayState* play) {
if (talkState == TEXT_STATE_DONE) {
if (Message_ShouldAdvance(play)) {
if ((Inventory_HasEmptyBottle() && !CHECK_WEEKEVENTREG(WEEKEVENTREG_84_40)) ||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_10)) {
if ((Inventory_HasEmptyBottle() && !CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME)) ||
!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE)) {
this->unk_3B2 = 12;
} else {
SET_WEEKEVENTREG(WEEKEVENTREG_85_10);
SET_WEEKEVENTREG(WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_WOODS);
this->unk_3A8 = 0x88E;
Message_StartTextbox(play, this->unk_3A8, &this->actor);
this->unk_3B2 = 10;
@ -410,13 +411,13 @@ void func_80AD3EF0(EnTrt2* this, PlayState* play) {
void func_80AD3FF4(EnTrt2* this, PlayState* play) {
if (Actor_HasParent(&this->actor, play)) {
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_12_10)) {
SET_WEEKEVENTREG(WEEKEVENTREG_12_10);
if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE)) {
SET_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE);
}
SET_WEEKEVENTREG(WEEKEVENTREG_84_40);
SET_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME);
this->actor.parent = NULL;
this->unk_3B2 = 14;
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_12_10)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE)) {
Actor_OfferGetItem(&this->actor, play, GI_POTION_RED, 300.0f, 300.0f);
} else {
Actor_OfferGetItem(&this->actor, play, GI_POTION_RED_BOTTLE, 300.0f, 300.0f);
@ -743,12 +744,12 @@ void func_80AD4DB4(EnTrt2* this, PlayState* play) {
this->unk_3B8 = 0;
this->unk_3BC = func_80AD4608;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_12_08)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_SAVED_KOUME)) {
Actor_Kill(&this->actor);
return;
}
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_84_40)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME)) {
Actor_Kill(&this->actor);
return;
}

View File

@ -670,11 +670,11 @@ UNK_TYPE* func_80A871E0(EnTru* this, PlayState* play) {
return D_80A88924;
}
if (!(this->unk_34E & 0x40) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10)) {
if (!(this->unk_34E & 0x40) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED)) {
return D_80A88918;
}
if ((this->unk_34E & 0x1000) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10)) {
if ((this->unk_34E & 0x1000) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED)) {
return D_80A88910;
}
@ -770,7 +770,7 @@ s32 func_80A875AC(Actor* thisx, PlayState* play) {
switch (this->unk_364) {
case 0:
if ((this->unk_34E & 0x40) || CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10)) {
if ((this->unk_34E & 0x40) || CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED)) {
this->csId = this->actor.csId;
this->unk_364++;
} else {
@ -1041,7 +1041,7 @@ s32 func_80A87DC0(Actor* thisx, PlayState* play) {
case 4:
if (func_80A87400(this, play) || (DECR(this->unk_362) == 0)) {
ret = true;
SET_WEEKEVENTREG(WEEKEVENTREG_12_08);
SET_WEEKEVENTREG(WEEKEVENTREG_SAVED_KOUME);
}
break;
}
@ -1058,7 +1058,7 @@ s32 func_80A87DC0(Actor* thisx, PlayState* play) {
void func_80A87FD0(EnTru* this, PlayState* play) {
if (this->actor.draw != NULL) {
if ((this->unk_34E & 0x80) || CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10)) {
if ((this->unk_34E & 0x80) || CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED)) {
if (func_80A873B8(this)) {
SubS_UpdateFlags(&this->unk_34E, 3, 7);
} else {
@ -1081,8 +1081,8 @@ void func_80A87FD0(EnTru* this, PlayState* play) {
EnTru_ChangeAnim(this, KOUME_ANIM_TRY_GET_UP);
}
}
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10) && (fabsf(this->actor.playerHeightRel) < 10.0f) &&
(this->actor.xzDistToPlayer < 140.0f)) {
} else if (!CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED) &&
(fabsf(this->actor.playerHeightRel) < 10.0f) && (this->actor.xzDistToPlayer < 140.0f)) {
SubS_UpdateFlags(&this->unk_34E, 4, 7);
this->unk_34E |= 0x1040;
this->unk_362 = Rand_S16Offset(40, 20);
@ -1106,12 +1106,12 @@ void func_80A881E0(EnTru* this, PlayState* play) {
CutsceneManager_Stop(CutsceneManager_GetCurrentCsId());
}
if (!(this->unk_34E & 0x40) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10)) {
if (!(this->unk_34E & 0x40) && !CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED)) {
EnTru_ChangeAnim(this, KOUME_ANIM_INJURED_LYING_DOWN);
} else if (this->unk_34E & 0x80) {
EnTru_ChangeAnim(this, KOUME_ANIM_INJURED_LYING_DOWN);
func_80A86460(this);
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10)) {
} else if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED)) {
EnTru_ChangeAnim(this, KOUME_ANIM_INJURED_HEAD_UP_MORPH);
}
@ -1128,7 +1128,7 @@ void func_80A881E0(EnTru* this, PlayState* play) {
void EnTru_Init(Actor* thisx, PlayState* play) {
EnTru* this = THIS;
if ((gSaveContext.save.entrance != ENTRANCE(WOODS_OF_MYSTERY, 0)) || CHECK_WEEKEVENTREG(WEEKEVENTREG_12_08)) {
if ((gSaveContext.save.entrance != ENTRANCE(WOODS_OF_MYSTERY, 0)) || CHECK_WEEKEVENTREG(WEEKEVENTREG_SAVED_KOUME)) {
Actor_Kill(&this->actor);
return;
}
@ -1149,7 +1149,7 @@ void EnTru_Init(Actor* thisx, PlayState* play) {
Actor_SetScale(&this->actor, 0.008f);
this->unk_34E = 0;
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_16_10)) {
if (CHECK_WEEKEVENTREG(WEEKEVENTREG_TALKED_KOUME_INJURED)) {
EnTru_ChangeAnim(this, KOUME_ANIM_INJURED_HEAD_UP);
} else {
this->unk_388 = PLAYER_IA_NONE;

View File

@ -5806,7 +5806,7 @@
0x808AAE1C:("EnOssan_PartTimer_Init",),
0x808AAE84:("EnOssan_CuriosityShopMan_GetWelcome",),
0x808AAFB0:("EnOssan_PartTimer_GetWelcome",),
0x808AB0B0:("EnOssan_SetHaveMet",),
0x808AB0B0:("EnOssan_SetTalked",),
0x808AB16C:("EnOssan_InitShop",),
0x808AB404:("EnOssan_GetCutscenes",),
0x808AB458:("EnOssan_Update",),
@ -12404,7 +12404,7 @@
0x80AE1F5C:("EnFsn_HandleLookToShopkeeperBuyingCutscene",),
0x80AE2028:("EnFsn_SetCursorIndexFromNeutral",),
0x80AE2074:("EnFsn_CursorLeftRight",),
0x80AE21C8:("EnFsn_GetThirdDayItemId",),
0x80AE21C8:("EnFsn_GetSpecialItemId",),
0x80AE2234:("EnFsn_GetStolenItemId",),
0x80AE2298:("EnFsn_HasItemsToSell",),
0x80AE2340:("EnFsn_GetShopItemIds",),

View File

@ -103,8 +103,8 @@ weekEventReg = {
(12 << 8) | 0x01: "WEEKEVENTREG_12_01",
(12 << 8) | 0x02: "WEEKEVENTREG_12_02",
(12 << 8) | 0x04: "WEEKEVENTREG_12_04",
(12 << 8) | 0x08: "WEEKEVENTREG_12_08",
(12 << 8) | 0x10: "WEEKEVENTREG_12_10",
(12 << 8) | 0x08: "WEEKEVENTREG_SAVED_KOUME",
(12 << 8) | 0x10: "WEEKEVENTREG_RECEIVED_KOTAKE_BOTTLE",
(12 << 8) | 0x20: "WEEKEVENTREG_12_20",
(12 << 8) | 0x40: "WEEKEVENTREG_12_40",
(12 << 8) | 0x80: "WEEKEVENTREG_12_80",
@ -136,11 +136,11 @@ weekEventReg = {
(16 << 8) | 0x02: "WEEKEVENTREG_16_02",
(16 << 8) | 0x04: "WEEKEVENTREG_16_04",
(16 << 8) | 0x08: "WEEKEVENTREG_16_08",
(16 << 8) | 0x10: "WEEKEVENTREG_16_10",
(16 << 8) | 0x10: "WEEKEVENTREG_TALKED_KOUME_INJURED",
(16 << 8) | 0x20: "WEEKEVENTREG_16_20",
(16 << 8) | 0x40: "WEEKEVENTREG_16_40",
(16 << 8) | 0x80: "WEEKEVENTREG_16_80",
(17 << 8) | 0x01: "WEEKEVENTREG_17_01",
(17 << 8) | 0x01: "WEEKEVENTREG_TALKED_EMPTY_BOAT_CRUISE",
(17 << 8) | 0x02: "WEEKEVENTREG_17_02",
(17 << 8) | 0x04: "WEEKEVENTREG_17_04",
(17 << 8) | 0x08: "WEEKEVENTREG_17_08",
@ -150,9 +150,9 @@ weekEventReg = {
(17 << 8) | 0x80: "WEEKEVENTREG_17_80",
(18 << 8) | 0x01: "WEEKEVENTREG_18_01",
(18 << 8) | 0x02: "WEEKEVENTREG_18_02",
(18 << 8) | 0x04: "WEEKEVENTREG_18_04",
(18 << 8) | 0x08: "WEEKEVENTREG_18_08",
(18 << 8) | 0x10: "WEEKEVENTREG_18_10",
(18 << 8) | 0x04: "WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_GORON",
(18 << 8) | 0x08: "WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_ZORA",
(18 << 8) | 0x10: "WEEKEVENTREG_TALKED_CURIOSITY_SHOP_MAN_AS_DEKU",
(18 << 8) | 0x20: "WEEKEVENTREG_18_20",
(18 << 8) | 0x40: "WEEKEVENTREG_18_40",
(18 << 8) | 0x80: "WEEKEVENTREG_HAS_POWDERKEG_PRIVILEGES",
@ -270,8 +270,8 @@ weekEventReg = {
(32 << 8) | 0x80: "WEEKEVENTREG_32_80",
(33 << 8) | 0x01: "WEEKEVENTREG_33_01",
(33 << 8) | 0x02: "WEEKEVENTREG_33_02",
(33 << 8) | 0x04: "WEEKEVENTREG_33_04",
(33 << 8) | 0x08: "WEEKEVENTREG_33_08",
(33 << 8) | 0x04: "WEEKEVENTREG_BOUGHT_CURIOSITY_SHOP_SPECIAL_ITEM",
(33 << 8) | 0x08: "WEEKEVENTREG_RECOVERED_STOLEN_BOMB_BAG",
(33 << 8) | 0x10: "WEEKEVENTREG_33_10",
(33 << 8) | 0x20: "WEEKEVENTREG_33_20",
(33 << 8) | 0x40: "WEEKEVENTREG_33_40",
@ -431,8 +431,8 @@ weekEventReg = {
(53 << 8) | 0x01: "WEEKEVENTREG_53_01",
(53 << 8) | 0x02: "WEEKEVENTREG_53_02",
(53 << 8) | 0x04: "WEEKEVENTREG_53_04",
(53 << 8) | 0x08: "WEEKEVENTREG_53_08",
(53 << 8) | 0x10: "WEEKEVENTREG_53_10",
(53 << 8) | 0x08: "WEEKEVENTREG_GAVE_KOTAKE_MUSHROOM",
(53 << 8) | 0x10: "WEEKEVENTREG_RECEIVED_FREE_BLUE_POTION",
(53 << 8) | 0x20: "WEEKEVENTREG_53_20",
(53 << 8) | 0x40: "WEEKEVENTREG_53_40",
(53 << 8) | 0x80: "WEEKEVENTREG_53_80",
@ -446,9 +446,9 @@ weekEventReg = {
(54 << 8) | 0x80: "WEEKEVENTREG_54_80",
(55 << 8) | 0x01: "WEEKEVENTREG_55_01",
(55 << 8) | 0x02: "WEEKEVENTREG_55_02",
(55 << 8) | 0x04: "WEEKEVENTREG_55_04",
(55 << 8) | 0x08: "WEEKEVENTREG_55_08",
(55 << 8) | 0x10: "WEEKEVENTREG_55_10",
(55 << 8) | 0x04: "WEEKEVENTREG_TALKED_PART_TIMER_AS_GORON",
(55 << 8) | 0x08: "WEEKEVENTREG_TALKED_PART_TIMER_AS_ZORA",
(55 << 8) | 0x10: "WEEKEVENTREG_TALKED_PART_TIMER_AS_DEKU",
(55 << 8) | 0x20: "WEEKEVENTREG_55_20",
(55 << 8) | 0x40: "WEEKEVENTREG_55_40",
(55 << 8) | 0x80: "WEEKEVENTREG_CLEARED_GREAT_BAY_TEMPLE",
@ -464,16 +464,16 @@ weekEventReg = {
(57 << 8) | 0x02: "WEEKEVENTREG_57_02",
(57 << 8) | 0x04: "WEEKEVENTREG_57_04",
(57 << 8) | 0x08: "WEEKEVENTREG_57_08",
(57 << 8) | 0x10: "WEEKEVENTREG_57_10",
(57 << 8) | 0x20: "WEEKEVENTREG_57_20",
(57 << 8) | 0x40: "WEEKEVENTREG_57_40",
(57 << 8) | 0x80: "WEEKEVENTREG_57_80",
(57 << 8) | 0x10: "WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_HUMAN",
(57 << 8) | 0x20: "WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_DEKU",
(57 << 8) | 0x40: "WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_GORON",
(57 << 8) | 0x80: "WEEKEVENTREG_TALKED_ZORA_SHOPKEEPER_AS_ZORA",
(58 << 8) | 0x01: "WEEKEVENTREG_58_01",
(58 << 8) | 0x02: "WEEKEVENTREG_58_02",
(58 << 8) | 0x04: "WEEKEVENTREG_58_04",
(58 << 8) | 0x08: "WEEKEVENTREG_58_08",
(58 << 8) | 0x10: "WEEKEVENTREG_58_10",
(58 << 8) | 0x20: "WEEKEVENTREG_58_20",
(58 << 8) | 0x04: "WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_AS_NON_GORON",
(58 << 8) | 0x08: "WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_AS_GORON",
(58 << 8) | 0x10: "WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_SPRING_AS_NON_GORON",
(58 << 8) | 0x20: "WEEKEVENTREG_TALKED_GORON_SHOPKEEPER_SPRING_AS_GORON",
(58 << 8) | 0x40: "WEEKEVENTREG_58_40",
(58 << 8) | 0x80: "WEEKEVENTREG_58_80",
(59 << 8) | 0x01: "WEEKEVENTREG_59_01",
@ -642,7 +642,7 @@ weekEventReg = {
(79 << 8) | 0x08: "WEEKEVENTREG_79_08",
(79 << 8) | 0x10: "WEEKEVENTREG_79_10",
(79 << 8) | 0x20: "WEEKEVENTREG_79_20",
(79 << 8) | 0x40: "WEEKEVENTREG_79_40",
(79 << 8) | 0x40: "WEEKEVENTREG_SAKON_DEAD",
(79 << 8) | 0x80: "WEEKEVENTREG_79_80",
(80 << 8) | 0x01: "WEEKEVENTREG_80_01",
(80 << 8) | 0x02: "WEEKEVENTREG_80_02",
@ -682,13 +682,13 @@ weekEventReg = {
(84 << 8) | 0x08: "WEEKEVENTREG_84_08",
(84 << 8) | 0x10: "WEEKEVENTREG_84_10",
(84 << 8) | 0x20: "WEEKEVENTREG_84_20",
(84 << 8) | 0x40: "WEEKEVENTREG_84_40",
(84 << 8) | 0x40: "WEEKEVENTREG_RECEIVED_RED_POTION_FOR_KOUME",
(84 << 8) | 0x80: "WEEKEVENTREG_84_80",
(85 << 8) | 0x01: "WEEKEVENTREG_85_01",
(85 << 8) | 0x02: "WEEKEVENTREG_85_02",
(85 << 8) | 0x04: "WEEKEVENTREG_85_04",
(85 << 8) | 0x08: "WEEKEVENTREG_85_08",
(85 << 8) | 0x10: "WEEKEVENTREG_85_10",
(85 << 8) | 0x08: "WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_SHOP",
(85 << 8) | 0x10: "WEEKEVENTREG_FAILED_RECEIVED_RED_POTION_FOR_KOUME_WOODS",
(85 << 8) | 0x20: "WEEKEVENTREG_85_20",
(85 << 8) | 0x40: "WEEKEVENTREG_85_40",
(85 << 8) | 0x80: "WEEKEVENTREG_85_80",