From 8cca543bb00fd262abb0c411c1ccfbb472a15537 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Fri, 30 Oct 2026 04:56:00 +0000 Subject: [PATCH] Decompile 2 functions in Source/Contents/Effects/MeteorEffect.cpp, Source/Contents/Effects/SkillEffects.h Batch #4740 by eAthena: 0 byte-identical, 2 confirmed by peer review. - fn_07055 CMeteorEffect::Close: logic confirmed by peer review - fn_07059 CMeteorEffect::Slot04: logic confirmed by peer review Peer-reviewed-by: alisonrag, youko Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Effects/MeteorEffect.cpp | 24 ++++++++++++++++++++++++ Source/Contents/Effects/SkillEffects.h | 3 ++- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/Source/Contents/Effects/MeteorEffect.cpp b/Source/Contents/Effects/MeteorEffect.cpp index df430a10..39e4934a 100644 --- a/Source/Contents/Effects/MeteorEffect.cpp +++ b/Source/Contents/Effects/MeteorEffect.cpp @@ -1,7 +1,31 @@ #include "Contents/Effects/SkillEffects.h" +#include "Contents/Effects/EffectMemoryMgr.h" +#include "Contents/Effects/Particle.h" +#include "Contents/Effects/SpriteParticle.h" + +// OFFSET: 0x007077D0 +// FUNCTION: fn_07055 +void CMeteorEffect::Close() { + for (CParticle* particle : this->unknown_00CC) { + FreeParticle(particle); + } + + this->unknown_00CC.clear(); +} + // OFFSET: 0x00707B40 // FUNCTION: fn_07057 bool CMeteorEffect::Slot06() { return !this->unknown_00CC.empty(); } + +// OFFSET: 0x00707CA0 +// FUNCTION: fn_07059 +void CMeteorEffect::Slot04() { + for (CParticle* particle : this->unknown_00CC) { + if ((particle->life == 0.0f || particle->life * 60.0f > static_cast(particle->unknown_00E8)) && particle) { + static_cast(particle)->sub_B40F30(0); + } + } +} diff --git a/Source/Contents/Effects/SkillEffects.h b/Source/Contents/Effects/SkillEffects.h index 9b44a758..066f92d7 100644 --- a/Source/Contents/Effects/SkillEffects.h +++ b/Source/Contents/Effects/SkillEffects.h @@ -8,6 +8,7 @@ #include class CEZ2STRParticle; +class CParticle; class CMeteorEffect : public CEffect { public: @@ -20,7 +21,7 @@ public: bool Slot06() override; ~CMeteorEffect() override; - /* 00CC */ std::vector unknown_00CC; + /* 00CC */ std::vector unknown_00CC; /* 00D8 */ int unknown_00D8; /* 00DC */ int unknown_00DC; };