#pragma once #include "global.h" #include "types.h" #include "Actor/ActorType.hpp" #include "Actor/Character/ActorCharacter.hpp" class ActorItemSellerBase : public ActorCharacter { public: /* 000 (base) */ /* 470 */ unk32 mUnk_470; /* 474 */ unk32 mUnk_474; /* 478 */ unk32 mUnk_478; /* 47c */ unk32 mUnk_47c; /* 480 */ bool mUnk_480; /* 481 */ PAD(0x481, 0x484); /* 484 */ /* 000 */ virtual ~ActorItemSellerBase() override; /* 008 */ virtual bool Init() override; /* 020 */ virtual void vfunc_20(bool param1) override; /* 03c */ virtual bool CollidesWithLink() override; /* 040 */ virtual bool IsHitboxTouched(bool param1) override; /* 068 */ virtual void vfunc_68(unk32 param1, UnkStruct_020397f8 *param2) override; /* 08c */ virtual bool vfunc_8c() override; /* 0c0 */ virtual bool vfunc_c0() override; /* 0c4 */ virtual void vfunc_c4() override; /* 0d4 */ virtual unk32 vfunc_d4() override; /* 0f4 */ virtual unk32 GetPromptMessage() = 0; /* 0f8 */ virtual unk32 GetPurchaseMessage() = 0; /* 0fc */ virtual unk32 GetNotEnoughMoneyMessage() = 0; /* 100 */ virtual unk32 GetGoodbyeMessage() = 0; /* 104 */ virtual unk32 GetInventoryFullMessage() = 0; /* 108 */ virtual void vfunc_108() = 0; /* 10c */ virtual void vfunc_10c(bool param1) = 0; /* 110 */ virtual void vfunc_110() = 0; /* 114 */ virtual unk32 vfunc_114(unk32 param1) = 0; /* 118 */ virtual bool vfunc_118() = 0; /* 11c */ virtual bool vfunc_11c(); /* 120 */ ActorItemSellerBase(); static ActorItemSellerBase *GetCurrentSeller(); void func_ov031_0217d588(); void func_ov031_0217d5c0(); void func_ov031_0217d5c4(); void func_ov031_0217d5e8(); void func_ov031_0217d610(); void func_ov031_0217d62c(); void func_ov031_0217d638(); bool func_ov031_0217d6ac(); void func_ov031_0217d6d0(); void func_ov031_0217d760(); void func_ov031_0217d784(); void func_ov031_0217d7ac(); void func_ov031_0217d830(); void func_ov031_0217d858(); void func_ov031_0217d890(); void func_ov031_0217d8d0(); void func_ov031_0217d8dc(); void func_ov031_0217d93c(); void func_ov031_0217d974(); void func_ov031_0217da20(unk32 param1); }; class ActorItemSeller : public ActorItemSellerBase { /* 000 (base) */ /* 484 */ /* 000 (implicit dtor) */ /* 008 */ virtual bool Init() override; /* 0d4 */ virtual unk32 vfunc_d4() override; /* 0f4 */ virtual unk32 GetPromptMessage() override; /* 0f8 */ virtual unk32 GetPurchaseMessage() override; /* 0fc */ virtual unk32 GetNotEnoughMoneyMessage() override; /* 100 */ virtual unk32 GetGoodbyeMessage() override; /* 104 */ virtual unk32 GetInventoryFullMessage() override; /* 108 */ virtual void vfunc_108() override; /* 10c */ virtual void vfunc_10c(bool param1) override; /* 110 */ virtual void vfunc_110() override; /* 114 */ virtual unk32 vfunc_114(unk32 param1) override; /* 118 */ virtual bool vfunc_118() override; /* 120 */ }; namespace ActorItemSeller1 { extern ActorType gType; ActorItemSeller *Create(); } // namespace ActorItemSeller1 namespace ActorItemSeller2 { extern ActorType gType; ActorItemSeller *Create(); } // namespace ActorItemSeller2 namespace ActorItemSeller3 { extern ActorType gType; ActorItemSeller *Create(); } // namespace ActorItemSeller3 class ActorBeedle : public ActorItemSellerBase { public: static ActorType gType; /* 000 (base) */ /* 484 */ /* 000 */ virtual ~ActorBeedle() override; /* 008 */ virtual bool Init() override; /* 06c */ virtual bool vfunc_6c() override; /* 070 */ virtual bool vfunc_70() override; /* 0c4 */ virtual void vfunc_c4() override; /* 0d4 */ virtual unk32 vfunc_d4() override; /* 0d8 */ virtual unk32 vfunc_d8(unk32 param1) override; /* 0dc */ virtual unk32 vfunc_dc(unk32 param1) override; /* 0e0 */ virtual unk32 vfunc_e0(unk32 param1) override; /* 0f4 */ virtual unk32 GetPromptMessage() override; /* 0f8 */ virtual unk32 GetPurchaseMessage() override; /* 0fc */ virtual unk32 GetNotEnoughMoneyMessage() override; /* 100 */ virtual unk32 GetGoodbyeMessage() override; /* 104 */ virtual unk32 GetInventoryFullMessage() override; /* 108 */ virtual void vfunc_108() override; /* 10c */ virtual void vfunc_10c(bool param1) override; /* 110 */ virtual void vfunc_110() override; /* 114 */ virtual unk32 vfunc_114(unk32 param1) override; /* 118 */ virtual bool vfunc_118() override; /* 11c */ virtual bool vfunc_11c() override; static ActorBeedle *Create(); static unk32 func_ov031_021812e4(unk32 param1); static void func_ov031_0218132c(unk32 param1); };