2021-06-28 18:23:26 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace sol {
|
|
|
|
class state;
|
2021-06-30 14:08:12 +01:00
|
|
|
template <typename T> struct as_table_t;
|
2021-06-28 18:23:26 +01:00
|
|
|
}
|
2021-06-30 14:08:12 +01:00
|
|
|
class GameScriptPosition;
|
|
|
|
class GameScriptRotation;
|
2021-06-28 18:23:26 +01:00
|
|
|
|
|
|
|
class GameScriptItemInfo
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
short m_num;
|
|
|
|
public:
|
|
|
|
GameScriptItemInfo(short num);
|
|
|
|
~GameScriptItemInfo();
|
|
|
|
GameScriptItemInfo& operator=(GameScriptItemInfo const& other) = delete;
|
|
|
|
GameScriptItemInfo(GameScriptItemInfo const& other) = delete;
|
|
|
|
static void Register(sol::state *);
|
2021-06-30 14:08:12 +01:00
|
|
|
static std::unique_ptr<GameScriptItemInfo> CreateEmpty();
|
2021-06-28 18:23:26 +01:00
|
|
|
static std::unique_ptr<GameScriptItemInfo> Create(
|
2021-06-30 14:08:12 +01:00
|
|
|
GameScriptPosition pos,
|
|
|
|
GameScriptRotation aRot,
|
|
|
|
short aCurrentAnim,
|
|
|
|
short aRequiredAnim,
|
|
|
|
short aHp,
|
|
|
|
short aOcb,
|
|
|
|
sol::as_table_t<std::array<short, 8>> aFlags,
|
|
|
|
byte aAiBits,
|
|
|
|
short aStatus,
|
|
|
|
bool aActive,
|
|
|
|
bool aHitStatus
|
|
|
|
);
|
|
|
|
GameScriptPosition GetPos() const;
|
|
|
|
GameScriptRotation GetRot() const;
|
|
|
|
short GetCurrentAnim() const;
|
|
|
|
short GetRequiredAnim() const;
|
|
|
|
short GetHP() const;
|
|
|
|
short GetOCB() const;
|
|
|
|
sol::as_table_t<std::array<short, 8>> GetItemFlags() const;
|
|
|
|
byte GetAIBits() const;
|
|
|
|
short GetStatus() const;
|
|
|
|
bool GetHitStatus() const;
|
|
|
|
bool GetActive() const;
|
|
|
|
|
|
|
|
void Init();
|
|
|
|
|
|
|
|
void SetPos(GameScriptPosition const& pos);
|
|
|
|
void SetRot(GameScriptRotation const& rot);
|
|
|
|
void SetCurrentAnim(short anim);
|
|
|
|
void SetRequiredAnim(short anim);
|
|
|
|
void SetHP(short hp);
|
|
|
|
void SetOCB(short ocb);
|
|
|
|
void SetItemFlags(sol::as_table_t<std::array<short, 8>> const & arr);
|
|
|
|
void SetAIBits(byte bits);
|
|
|
|
void SetStatus(short status);
|
|
|
|
void SetHitStatus(bool hitStatus);
|
|
|
|
void SetActive(bool active);
|
2021-06-28 18:23:26 +01:00
|
|
|
};
|