Batch #3367 by ragnarok-clanker: 0 byte-identical, 3 confirmed by peer review. - fn_08793 CSkillAction_SS_KINRYUUHOU::Slot08: logic confirmed by peer review - fn_21070 EffectActor::LaunchEffect: logic confirmed by peer review - fn_21071 EffectActor::LaunchTaggedEffect: logic confirmed by peer review Peer-reviewed-by: eAthena, willerthal Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_EFFECTACTOR_H
|
|
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_EFFECTACTOR_H
|
|
|
|
#include "Contents/Effects/EffectAttachments.h"
|
|
#include "Contents/Actors/RenderObject.h"
|
|
#include "Utility/Math/Vector3d.h"
|
|
|
|
#include <cstddef>
|
|
|
|
struct CRagEffect;
|
|
|
|
struct EffectActorState {
|
|
EffectActorState();
|
|
~EffectActorState();
|
|
EffectAttachments Attachments();
|
|
|
|
/* 0138 */ int unknown_0138;
|
|
/* 013C */ std::uint32_t unknown_013C;
|
|
/* 0140 */ std::uint32_t unknown_0140;
|
|
/* 0144 */ std::list<RagEffectState*> effects;
|
|
/* 014C */ RagEffectState* first;
|
|
/* 0150 */ RagEffectState* second;
|
|
};
|
|
|
|
struct EffectActor : CRenderObject {
|
|
EffectActor();
|
|
bool EffectVisible() const;
|
|
void ResetEffectState();
|
|
CRagEffect* LaunchEffect(int effectId, vector3d deltaPos, float rotation);
|
|
CRagEffect* LaunchEffect(int effectId, int duration);
|
|
CRagEffect* LaunchTaggedEffect(int effectId, std::uint32_t tag);
|
|
|
|
/* 0138 */ EffectActorState state;
|
|
};
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(sizeof(EffectActorState) == 28);
|
|
static_assert(sizeof(EffectActor) == 0x158);
|
|
static_assert(offsetof(EffectActor, state) == 0x138);
|
|
#endif
|
|
|
|
#endif
|