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).
48 lines
1.4 KiB
C++
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
|