rodecomp/Source/Contents/Actors/Skill.h
ragnarok-clanker 365f9fbbc6 Decompile fn_24287 (CSkill::OnProcess)
Batch #8524 by youko: 0 byte-identical, 1 confirmed by peer review.

- fn_24287 CSkill::OnProcess: logic confirmed by peer review

Peer-reviewed-by: eAthena, SapitoSucio
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-31 18:40:40 +00:00

47 lines
1.3 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_ACTORS_SKILL_H
#define RAGNAROK_SOURCE_CONTENTS_ACTORS_SKILL_H
#include "Contents/Actors/GameActor.h"
#include <cstddef>
#include <cstdint>
#include <vector>
class C3dActor;
struct CRagEffect;
class CSkill : public CGameActor {
public:
explicit CSkill(std::uint32_t aid);
~CSkill() override;
bool OnProcess() override;
const char* GetTrapModelName();
void ReleaseModel();
void LaunchGroundEffects(int effectId, int unused, int duration);
void Render(int argument) override;
void sub_E55100(const float* box, float x, float y);
void sub_E55320(const char* modelName);
/* 0410 */ int unknown_0410;
/* 0414 */ unsigned m_effectTimer;
/* 0418 */ std::uint32_t skillAid;
/* 041C */ C3dActor* m_model;
/* 0420 */ CRagEffect* m_effect;
/* 0424 */ int m_effectId;
/* 0428 */ bool m_hasEffect;
/* 0429 */ unsigned char unknown_0429[0x03];
/* 042C */ int range;
/* 0430 */ std::vector<std::uint64_t> m_targets;
/* 043C */ int unknown_043C;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CSkill) == 0x440);
static_assert(offsetof(CSkill, skillAid) == 0x418);
static_assert(offsetof(CSkill, m_hasEffect) == 0x428);
static_assert(offsetof(CSkill, range) == 0x42C);
static_assert(offsetof(CSkill, m_targets) == 0x430);
#endif
#endif