rodecomp/Source/Contents/Effects/RagEffect.h
ragnarok-clanker 3134fc9a61 Confirm 3 functions in Source/Contents/Effects/RagEffect.cpp, Source/Contents/Effects/RagEffect.h
Batch #7457 by eAthena: 0 byte-identical, 3 confirmed by peer review.

- fn_20033 CRagEffect::Detoxication: logic confirmed by peer review (already on main)
- fn_20038 CRagEffect::PoisonAttack: logic confirmed by peer review (already on main)
- fn_20062 CRagEffect::StoneSpike: logic confirmed by peer review (already on main)

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

330 lines
13 KiB
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_EFFECTS_RAGEFFECT_H
#define RAGNAROK_SOURCE_CONTENTS_EFFECTS_RAGEFFECT_H
#include "Contents/Effects/RagEffectState.h"
#include "Contents/Actors/RenderObject.h"
#include "Utility/Math/Vector3d.h"
#include <cstddef>
#include <cstdint>
#include <string>
struct EffectActor;
class TextureCache;
struct RenderProjection;
struct CRagEffect : CRenderObject {
CRagEffect();
~CRagEffect() override;
void InitEZ2STRFrame();
bool ProcessEZ2STR(float x, float y, float z);
void Fireworks();
bool ProcessEZ2STRC10830();
bool ProcessEZ2STRC153A0();
bool ProcessEZ2STRC3CC40();
bool ProcessEZ2STRC3FE00();
bool ProcessEZ2STRC65300();
bool ProcessEZ2STRC15990();
bool ProcessEZ2STRC159D0();
bool ShieldCharge();
void GrimToothAtk();
void Snow();
void Entry();
bool CartRevolution();
void BowlingBash();
void SonicBlowHit();
void Exit();
void Warp();
__declspec(noinline) void PotionPillar(float heightSpeed, int duration);
bool Potion_Berserk();
void AttackEnergy2(const char* name);
bool LexDivina();
void RemoveTrap();
void Sphere();
bool Aspersio();
void Blessing();
void Bottom();
void BloodDrain();
void FireBall();
void FireSparks();
void AsuraStrike(char kind);
void SkyCloud(char kind);
void FrostDiver(char type);
void GrimTooth();
void Hit4(const RenderProjection& projection);
void IceWall();
void IncAgiDex();
void IncAgility();
void SoulStrike(char F1);
void SpearBmr();
void SprayPond();
void WaterBall2();
void Yufitel(char F1);
void AirTexture(const char* name);
void EnergyDrain2();
void TexturedOrbitDust(const char* name, char rise, char kind);
void WeddingBurst(const char* name, char silent);
void ThunderFreeze(int unused);
void LineStreakTextured(std::int16_t kind, const char* name);
void TexturedTumble(const char* name, char unused);
void PokBurst();
void TexturedComet(const char* name, char kind);
void WhiteSpray(char kind);
void BlueRingStack();
void ElectricArc(char kind, std::int16_t);
void TexturedCrossStaged(const char* name, char level);
void TexturedShieldThrow(const char* name);
void LineStreakKind(std::int16_t kind);
void LineStreak(std::int16_t kind);
void TexturedScatterArc(const char* name, std::int16_t angle, std::int16_t phase);
void TexturedGlow(const char* name, char size);
void TexturedCrossKind(const char* name, char level);
void ThunderSparks();
void SonicWave(char sonic);
void TexturedSlashLevel(const char* name, char kind);
void TexturedRain(const char* name, char kind);
void TexturedCrossFade(const char* name);
void TexturedCrossLevel(const char* name, char level);
void TexturedCross(const char* name, char kind);
void TexturedOrbit(const char* name);
void TexturedSlashCross(const char* name);
void TexturedHalo(const char* name, char kind);
void TexturedFlare(const char* name, char size, int, int);
void TexturedSwirl(unsigned char clockwise, const char* name);
void TexturedBeams(const char* name, char flag);
void TexturedSlashWave(const char* name, char kind);
void TexturedSprayKind(const char* name, float spin, char kind);
void TexturedSparkle(const char* name);
void TexturedColumn(const char* name, char kind);
void KyrieGuard(const char* name, char kind);
void TexturedSlam(const char* name, std::int16_t kind, char unused);
void BubbleSpiral(int angle, const char* unused, char flag);
void BubbleSpiralKind(int angle, const char* unused, char kind);
void FeatherRing(const char* name, std::int16_t angle, char large);
void FeatherBurst(const char* name, std::int16_t angle, char unused);
void SlashFan(std::int16_t reverse);
void TexturedLevelRing(const char* name, int process, char level);
void TexturedSpray(const char* name);
void TexturedMark(const char* name, char kind);
void TexturedSlashFan(const char* name);
void TrackCloud(char kind);
void TrackTargetWide();
void TrackTarget();
void TexturedQuadSpin(const char* name, char phase, char kind);
void TexturedSkillIcon(const char* name, std::int16_t level, std::int16_t mode);
void TexturedDoubleRing(const char* name, char level);
void WaterOut();
void BlackMaximize(const char* name);
void TexturedPair(const char* name);
void PurpleSlash(std::int16_t angle);
void TexturedDrop(const char* name, char flag);
void TexturedDualSpin(const char* first, const char* second, int unused);
void TexturedScatterLow(const char* name, char flag);
void TexturedScatter(const char* name, char flag);
void TexturedSpiralFade(const char* name, int unused1, int unused2);
void TexturedSpiralTall(const char* name, int unused1, int unused2);
void TexturedSpiralSmall(const char* name, int unused1, int unused2);
void TexturedBeam(char flag, const char* name);
void ColoredFlash(unsigned char flag, unsigned char red, unsigned char green, unsigned char blue);
void TexturedSpin(const char* name);
void TexturedSpiral(const char* name, int unused1, int unused2);
void TexturedRise(const char* name, char large);
void TexturedBurst(const char* name);
void RingStack(char white);
void TexturedPulse(const char* name);
void ShockwaveRing(std::int16_t angle);
void GROUNDSAMPLE();
void CALLZONE(const char* name);
bool JobLvUp50_2(short angle);
bool RunStop(short angle);
void SMA(char flag);
bool JobLvUp50(int angle);
void Map_Pika(const char* name);
void SaintWing(const char* name);
void FirstAid();
void GRANDCROSS2(char flag);
void Magnum2(const char* name);
void Map_MagicZone(const char* name, char type);
void Demonstration();
void NpcStop(char type);
void Bubble_Drop();
void Ghost(char type);
void Bottom_Out(const char* name, char kind);
void POISON(char flag);
void Rainbow(const char* name, int unused);
void BLIND(char flag);
void TexturedTwinSpin(const char* name, char kind);
void TexturedScatterSphere(const char* name, char flag, int unused);
void DigitalSpace(int effectId);
void TexturedFloatingDust(const char* name, int unused);
void Mavka(char flag);
void TexturedFanSweep(const char* name, char wide);
void RisingSparkles(char colorMode);
void TexturedSpreadFlat(const char* name, char kind);
void WhiteRingRippleSized(char size);
void WhiteRingRipple(char size);
void TexturedSpread(const char* name, char kind);
void TexturedTumbleOrb(const char* name, char flag);
void ElectricFan(const char* name, std::int16_t fade);
void SnowFall(const char* name, char kind);
void TexturedDoubleSpiral(const char* name, int unused1, int unused2);
void BubbleFanSweep(const char* name, char rising);
void TexturedTripleOrbit(const char* name);
void TexturedRisingOrbs(const char* name, char kind);
void TexturedForkBolt(const char* name, char flag);
void MonsterSpriteBurst(char kind);
void TexturedDescendingRings(const char* name, char flag);
void TexturedQuadSpiral(const char* name);
void TexturedRisingPillar(const char* name, char unused);
void CloudBurst();
bool AgilityChange(char increase, const std::string& textureName);
void CloudSpread();
void FrostSplash(int, int);
void WaterBubble(int);
void AssassinCloakingClear();
void TintedRisingSparkles(char);
void SpriteRing(char kind);
void RocketPunch();
void GreenRocketPunch();
void TexturedQuadRing(std::int16_t baseAlpha, const char* name, char kind);
void TexturedTwinkleRing(const char* name, char level);
void TetraVortexPillar(char kind);
void BlueFireballVolley();
void PaleFireballVolley();
void TeleportRings(const char* name, std::int16_t level);
void AlphaCenterStream();
void CloudDrift();
void NotifyGameMode(char value);
void ScatterItemIcons(char kind);
void Vallentine(char kind);
void TexturedSpinShards(const char* name, char kind);
void HealCloudRings();
void WhiteLightSparkle(char kind);
void FrostScatter(char swapAxes, char narrow);
void AlphaDownRipples(const char* name, char kind);
bool Concentration();
bool FirePillarBomb();
bool ProcessEZ2STRAtTarget();
bool TwoHandQuicken();
void SageMagicRod();
void AssassinCloaking();
bool ProcessEZ2STRRaised();
void LockOnMarker();
void MagnumBreak();
void NapalmFragments();
void StoneCurseRing();
void SnowDrift(char flag);
void ElectricRingEarly(char kind, std::int16_t angle);
void ElectricRing(char kind, std::int16_t angle);
void ElectricRingLate(char kind, std::int16_t angle);
void WhiteSparks(char kind);
void AlphaCenterTrail();
void Waterfall(const char* name, char flag, char tall, char variant);
void YufitelHit(char kind);
void TexturedPulseKind(const char* name, char kind);
void EarthSpike(char type);
void Sightrasher();
void RingBurstSparks();
void FireArrow();
void BlitzBeat();
bool GlassWall();
void Portal();
void TANJI2();
void TEIHIT2();
void ShieldBoomerang3(const char* name);
void ParticleTime(const char* name, char kind);
void ThrowItem(const char* name, char kind);
void Bottom_Music(const char* name, char kind);
void IceArrow();
void Flasher();
int SuperAngel(char type, int dummy = 0);
int WarpZone();
void Enhance();
void HealSP();
void Cloud11Burst(char kind);
void White02Burst(char kind);
void GrandCrossRings(short angle, char kind);
void WaterfallSheets(char first, char second, char third);
void EmpShockBurst(const char* name, char flag);
void TexturedMagicRing(const char* name, char kind);
void TexturedBlueRing(const char* name);
void SonicSlashFan(char kind);
void IncAgilityCenter(char kind);
void RingRedPulse(const char* name, float x, float z);
void LineStreakLayered(short kind);
void SuperSlashFan(char count, char value);
void SuperSlashSpread(char count, char value);
void TexturedStorm2(const char* name, char kind);
void TorchRedRing(char kind);
void TexturedSlashAir(const char* name, char size, char phase);
void ErasePrimitiveRange(std::list<EffectPrimitiveState*>::iterator* out, std::list<EffectPrimitiveState*>::iterator first, std::list<EffectPrimitiveState*>::iterator last);
void RedParticleSpray(int count);
void Hit5();
void Hit6();
void StoneWall();
void ShadedFireballVolley();
void BlueRingWave();
bool GlassWallRising(const char* name);
void QuadRingStack(const char* name);
void QuadRingStackSized(const char* name, char kind);
void TripleRingStack(const char* name, char large);
void WideTripleRingStack(const char* name);
void SoulLink(int);
void WhiteSparkStreak(char kind);
void WhiteSparkRing(char kind);
void WhiteLightTrail(const char* name, char kind);
void ElementalOrbit(char kind);
void WhiteRingWave();
void Detoxication();
void PoisonAttack(char flag);
void StoneSpike();
void sub_C5CC00();
void sub_C649E0();
void sub_C47F70(char flag);
void sub_C66F60();
void sub_C54420();
void sub_C51740(const char* name, char flag);
void SandScatter();
void Sight();
void AlphaCenterRise();
bool Potion_Awakening();
void StatusIconColumn();
bool StormGust();
void TexturedSkillAura(char type);
void TexturedMagicRing(char type);
void TexturedRisingRing(const char* name);
bool TexturedRisingRingStages(const char* name, char level);
void TexturedGroundRing(const char* name, char flag, int unused1, int unused2);
void TexturedQuadRingSized(std::int16_t baseAlpha, const char* name, char kind);
void TexturedFireWall(const char* name, int unused);
void TeleportSpiral(const char* name);
void TexturedAura(const char* name, char kind);
void PortalRings();
void HealBurst(const char* name, char flag);
void FreezingCircle(char kind);
void TorchDust(char kind);
virtual void Slot08();
virtual void Slot09(int first, int second, int third, int fourth, int fifth, int sixth, int seventh, int eighth, int ninth, int tenth, int eleventh, int twelfth, int thirteenth, int fourteenth, int fifteenth, int sixteenth, int seventeenth);
virtual void Slot10(int first, int second, int third, int fourth, int fifth, int sixth, int seventh, int eighth, int ninth);
virtual void Slot11(int first, int second, int third, int fourth, int fifth, int sixth, int seventh, int eighth, int ninth, int tenth);
virtual void Slot12(int first, int second, int third, int fourth, int fifth);
virtual void Slot13();
virtual void Slot14();
virtual void Slot15();
virtual void SendMsg(CGameObject* sender, int message, int first, std::int64_t second, int third, int fourth, int fifth, int sixth);
virtual void Init(EffectActor* parent, int id, vector3d deltaPos);
virtual int GetDuration();
virtual void SetStateDuration(int duration);
/* 0138 */ RagEffectState state;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(CRagEffect) == 0x11CA8);
static_assert(offsetof(CRagEffect, state) == 0x138);
#endif
#endif