mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-15 16:46:10 +00:00
More CFlaahgraImps
This commit is contained in:
@@ -98,7 +98,7 @@ class CFlaahgra : public CPatterned {
|
||||
std::unique_ptr<CCollisionActorManager> x7a0_rightArmCollision;
|
||||
std::unique_ptr<CCollisionActorManager> x7a4_sphereCollision;
|
||||
s32 x7a8_ = -1;
|
||||
u32 x7ac_ = 1;
|
||||
bool x7ac_ = true;
|
||||
u32 x7b0_ = 1;
|
||||
s32 x7b4_ = -1;
|
||||
float x7b8_ = 0.f;
|
||||
@@ -116,7 +116,7 @@ class CFlaahgra : public CPatterned {
|
||||
TUniqueId x80c_headActor = kInvalidUniqueId;
|
||||
float x810_ = 0.f;
|
||||
float x814_ = 0.f;
|
||||
float x818_ = 0.f;
|
||||
float x818_curHp = 0.f;
|
||||
float x81c_ = 0.f;
|
||||
zeus::CVector3f x820_;
|
||||
u32 x82c_ = 0;
|
||||
@@ -164,7 +164,7 @@ class CFlaahgra : public CPatterned {
|
||||
void UpdateAimPosition(CStateManager&, float);
|
||||
void SetMaterialProperties(const std::unique_ptr<CCollisionActorManager>&, CStateManager&);
|
||||
bool sub801ae670();
|
||||
bool sub801aebb8(TUniqueId);
|
||||
bool IsSphereCollider(TUniqueId);
|
||||
void SetCollisionActorBounds(CStateManager& mgr, const std::unique_ptr<CCollisionActorManager>& colMgr,
|
||||
const zeus::CVector3f& extendedBounds);
|
||||
|
||||
@@ -172,8 +172,12 @@ class CFlaahgra : public CPatterned {
|
||||
float GetEndActionTime();
|
||||
void SetupHealthInfo(CStateManager&);
|
||||
zeus::CVector3f GetAttacktargetPos(CStateManager&) const;
|
||||
void RattlePlayer(CStateManager& mgr, const zeus::CVector3f& vec);
|
||||
bool sub801e4f8() { return x7a8_ == 0 || x7a8_ == 1; }
|
||||
void sub801ade80() {}
|
||||
void UpdateHeadDamageVulnerability(CStateManager&, bool);
|
||||
|
||||
u32 sub801ae828(CStateManager&);
|
||||
public:
|
||||
DEFINE_PATTERNED(Flaahgra);
|
||||
CFlaahgra(TUniqueId, std::string_view, const CEntityInfo&, const zeus::CTransform&, const CAnimRes&,
|
||||
@@ -182,6 +186,7 @@ public:
|
||||
void Think(float, CStateManager&);
|
||||
void PreThink(float, CStateManager&);
|
||||
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
||||
void AddToRenderer(const zeus::CFrustum&, const CStateManager&) const;
|
||||
bool CanRenderUnsorted(const CStateManager&) const { return true; }
|
||||
zeus::CVector3f GetAimPosition(const CStateManager&, float) const { return x820_; }
|
||||
void Death(CStateManager&, const zeus::CVector3f&, EScriptObjectState);
|
||||
@@ -196,6 +201,9 @@ public:
|
||||
bool ShouldTurn(CStateManager&, float);
|
||||
bool ShouldAttack(CStateManager&, float) { return true; }
|
||||
bool BreakAttack(CStateManager&, float) { return x7d4_ >= x56c_.xc_ && !x8e4_29_getup; }
|
||||
bool IsDizzy(CStateManager&, float) {
|
||||
return x450_bodyController->GetBodyStateInfo().GetCurrentStateId() == pas::EAnimationState::LoopReaction;
|
||||
}
|
||||
|
||||
void FadeIn(CStateManager&, EStateMsg, float);
|
||||
void FadeOut(CStateManager&, EStateMsg, float);
|
||||
@@ -203,5 +211,8 @@ public:
|
||||
void GetUp(CStateManager&, EStateMsg, float);
|
||||
void Growth(CStateManager&, EStateMsg, float);
|
||||
void Generate(CStateManager&, EStateMsg, float);
|
||||
void Faint(CStateManager&, EStateMsg, float);
|
||||
void Dead(CStateManager&, EStateMsg, float);
|
||||
void Attack(CStateManager&, EStateMsg, float);
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user