mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-16 10:17:02 +00:00
CElitePirate: Implement SpecialAttack, CShockWave
This commit is contained in:
@@ -4,8 +4,7 @@
|
||||
#include "Runtime/World/CDamageInfo.hpp"
|
||||
#include "Runtime/Particle/CElementGen.hpp"
|
||||
|
||||
namespace urde {
|
||||
namespace MP1 {
|
||||
namespace urde::MP1 {
|
||||
struct SShockWaveData {
|
||||
u32 x0_ = 8;
|
||||
CAssetId x4_particleDesc;
|
||||
@@ -22,7 +21,7 @@ struct SShockWaveData {
|
||||
};
|
||||
|
||||
class CShockWave : public CActor {
|
||||
public:
|
||||
private:
|
||||
TUniqueId xe8_id1;
|
||||
CDamageInfo xec_damageInfo;
|
||||
TToken<CGenDescription> x108_elementGenDesc;
|
||||
@@ -35,22 +34,22 @@ public:
|
||||
float x160_;
|
||||
float x164_ = 0.f;
|
||||
float x168_ = 0.f;
|
||||
char x16c_flags1;
|
||||
char x16d_flags2;
|
||||
bool x16c_ = false;
|
||||
bool x16d_ = false;
|
||||
// x368 => very large reserved_vector of ?
|
||||
std::optional<TToken<CElectricDescription>> x974_electricDesc;
|
||||
TUniqueId x980_id2 = kInvalidUniqueId;
|
||||
|
||||
public:
|
||||
CShockWave(TUniqueId uid, std::string_view name, const CEntityInfo& info, const zeus::CTransform& xf,
|
||||
TUniqueId parent, const SShockWaveData& data, float f1, float f2);
|
||||
|
||||
void Accept(IVisitor& visitor) override;
|
||||
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr) override;
|
||||
void AddToRenderer(const zeus::CFrustum& frustum, const CStateManager& mgr) const override;
|
||||
std::optional<zeus::CAABox> GetTouchBounds() const override;
|
||||
[[nodiscard]] std::optional<zeus::CAABox> GetTouchBounds() const override;
|
||||
void Render(const CStateManager& mgr) const override;
|
||||
void Think(float dt, CStateManager& mgr) override;
|
||||
void Touch(CActor& actor, CStateManager& mgr) override;
|
||||
};
|
||||
} // namespace MP1
|
||||
} // namespace urde
|
||||
|
||||
Reference in New Issue
Block a user