1#pragma once
2
3#include <basis/seadTypes.h>
4
5#include "System/ByamlSave.h"
6
7namespace al {
8class ByamlIter;
9class ByamlWriter;
10} // namespace al
11
12class PlayerHitPointData : public ByamlSave {
13public:
14 PlayerHitPointData();
15 void setKidsModeFlag(bool kidsMode);
16 void init();
17 void recoverMax();
18 s32 getCurrent() const;
19 s32 getMaxCurrent() const;
20 s32 getMaxWithItem() const;
21 s32 getMaxWithoutItem() const;
22 bool isMaxCurrent() const;
23 bool isMaxWithItem() const;
24 void getMaxUpItem();
25 void recover();
26 void recoverForDebug();
27 void damage();
28 void kill();
29 void forceNormalMode();
30 void endForceNormalMode();
31 bool isForceNormalMode() const;
32 void write(al::ByamlWriter* writer) override;
33 void read(const al::ByamlIter& reader) override;
34
35private:
36 bool mIsKidsMode = false;
37 s32 mCurrentHealth = 0;
38 bool mIsHaveMaxUpItem = false;
39 bool mIsForceNormalMode = false;
40};
41