Batch #5832 by Yommy: 0 byte-identical, 1 confirmed by peer review. - fn_20085 CRagEffect::NapalmFragments: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, alisonrag, superintelligence, KWDev, Snow Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
261 lines
9.7 KiB
C++
261 lines
9.7 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 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();
|
|
void LineStreakTextured(std::int16_t kind, const char* name);
|
|
void TexturedTumble(const char* name);
|
|
void PokBurst();
|
|
void TexturedComet(const char* name, char kind);
|
|
void WhiteSpray(char kind);
|
|
void BlueRingStack();
|
|
void ElectricArc(char kind);
|
|
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);
|
|
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);
|
|
void FeatherRing(const char* name, std::int16_t angle, char large);
|
|
void FeatherBurst(const char* name, std::int16_t angle);
|
|
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 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);
|
|
void TexturedScatterLow(const char* name, char flag);
|
|
void TexturedScatter(const char* name, char flag);
|
|
void TexturedSpiralFade(const char* name);
|
|
void TexturedSpiralTall(const char* name);
|
|
void TexturedSpiralSmall(const char* name);
|
|
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);
|
|
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();
|
|
|
|
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
|