rodecomp/Source/Contents/Effects/BezierArcThrowEffect.h
ragnarok-clanker 526fc6d829 Decompile fn_09110 (CBezierArcThrowEffect::Slot03)
Batch #4592 by Bruwuno: 0 byte-identical, 1 confirmed by peer review.

- fn_09110 CBezierArcThrowEffect::Slot03: logic confirmed by peer review

Peer-reviewed-by: eAthena, alisonrag, Lumen
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-30 04:43:39 +00:00

48 lines
1.4 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_BEZIERARCTHROWEFFECT_H
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_BEZIERARCTHROWEFFECT_H
#include "Contents/Effects/Effect.h"
#include "Contents/Effects/Particle.h"
#include "Utility/Math/Vector3d.h"
#include <cstddef>
#include <string>
class CBezierArcThrowEffect : public CEffect {
public:
explicit CBezierArcThrowEffect(const std::string& name) : CEffect(-1), m_name(name), m_target() {}
/* 00CC */ bool m_active;
/* 00D0 */ float m_progress;
/* 00D4 */ CEZ2STRParticle* m_particle;
/* 00D8 */ std::string m_name;
/* 00F0 */ vector3d m_target;
void Slot01() override;
void Slot03() override;
void Slot04() override;
void Close() override;
bool Slot06() override { return this->m_active; }
void SetTarget(const vector3d& target);
};
class CThunderingOrb : public CBezierArcThrowEffect {
public:
explicit CThunderingOrb(const std::string& name);
};
class CWindBomb : public CBezierArcThrowEffect {
public:
explicit CWindBomb(const std::string& name);
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CBezierArcThrowEffect) == 0xFC);
static_assert(offsetof(CBezierArcThrowEffect, m_active) == 0xCC);
static_assert(offsetof(CBezierArcThrowEffect, m_particle) == 0xD4);
static_assert(offsetof(CBezierArcThrowEffect, m_name) == 0xD8);
static_assert(offsetof(CBezierArcThrowEffect, m_target) == 0xF0);
#endif
#endif