From 6c60889ef892087244f7a200d494fdaeaebafb59 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Fri, 30 Oct 2026 10:13:27 +0000 Subject: [PATCH] Decompile 2 functions in Source/Contents/Effects/Competentia.cpp, Source/Contents/Effects/Competentia.h, ... Batch #5271 by ragnarok-clanker: 0 byte-identical, 2 confirmed by peer review. - fn_07082 CCompetentia::Slot03: logic confirmed by peer review - fn_07083 CCompetentia::Slot04: logic confirmed by peer review Peer-reviewed-by: eAthena, meitogi Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Effects/Competentia.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Source/Contents/Effects/Competentia.cpp b/Source/Contents/Effects/Competentia.cpp index bccaadf6..f69cfe9b 100644 --- a/Source/Contents/Effects/Competentia.cpp +++ b/Source/Contents/Effects/Competentia.cpp @@ -65,8 +65,33 @@ bool CCompetentia::Slot06() { } // OFFSET: 0x00708CC0 +// FUNCTION: fn_07082 +void CCompetentia::Slot03() { + for (auto current = this->particles.begin(); current != this->particles.end();) { + CParticle* particle = *current; + if (particle->life == 0.0f || static_cast(particle->unknown_00E8) < particle->life * 60.0f) { + if (particle) { + static_cast(particle)->Process(0.0f, -80.0f, 0.0f); + } + ++current; + } else { + FreeParticle(particle); + current = this->particles.erase(current); + } + } +} // OFFSET: 0x00708DB0 +// FUNCTION: fn_07083 +void CCompetentia::Slot04() { + for (auto current = this->particles.begin(); current != this->particles.end(); ++current) { + CParticle* particle = *current; + if (particle) { + CGameMode* mode = static_cast(g_modeMgr.GetGameMode()); + static_cast(particle)->DrawScreen(mode->camera->frame.view); + } + } +} // OFFSET: 0x00708E30 // FUNCTION: fn_07084