From 306cf7166bbff18f1d8d8f6cc81c767ea0b2ff68 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 11 Nov 2026 11:37:33 +0000 Subject: [PATCH] Decompile 4 functions in Source/Contents/Effects/Skills/MonsterSkillEffects.cpp Batch #16899 by eAthena: 0 byte-identical, 4 confirmed by peer review. - fn_07231 CFloralFlareRoad::Open: logic confirmed by peer review - fn_07386 CSavageImpactEffect::OnProcess: logic confirmed by peer review - fn_07414 CSevereRainStorm::SpawnCrossRain: logic confirmed by peer review - fn_07418 CSevereRainStorm::SpawnSevereRain: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, Yommy, br4yan Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Effects/Skills/MonsterSkillEffects.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/Contents/Effects/Skills/MonsterSkillEffects.cpp b/Source/Contents/Effects/Skills/MonsterSkillEffects.cpp index 1d1ff0137..353dd7fd3 100644 --- a/Source/Contents/Effects/Skills/MonsterSkillEffects.cpp +++ b/Source/Contents/Effects/Skills/MonsterSkillEffects.cpp @@ -1004,7 +1004,7 @@ void CFloralFlareRoad::Open() { bottom->Load(std::string("froral_flareroad\\froral_flareroad_bottom\\froral_flareroad_bottom.str")); for (int delay = 0; delay < 4500; delay += 300) { - vector3d position = {this->position[0], this->position[1], this->position[2]}; + vector3d position = *reinterpret_cast(this->position); const int distanceX = ClampedRandom(20); const int angleX = ClampedRandom(360); position.x = ClientSine(angleX) * static_cast(distanceX) + position.x; @@ -2874,8 +2874,8 @@ bool CSavageImpactEffect::IsAlive() { void CSavageImpactEffect::OnProcess() { CEZ2STRParticle* particle = AsParticle(this->emitter); const float x = this->position[0] + 0.0f; - const float y = this->position[1] - 12.0f; const float z = this->position[2] + 0.0f; + const float y = this->position[1] - 12.0f; particle->position.x = x; particle->position.y = y; particle->position.z = z; @@ -3716,7 +3716,7 @@ void CSevereRainStorm::SpawnParticles() { void CSevereRainStorm::SpawnCrossRain() { const int ranges[10] = {3, 3, 3, 5, 5, 5, 7, 7, 7, 9}; const int index = std::max(0, std::min(this->effectLevel - 1, 9)); - vector3d position = {this->position[0], this->position[1], this->position[2]}; + vector3d position = *reinterpret_cast(this->position); const int spread = ranges[index] * 50; const float half = static_cast(spread) * 0.5f; @@ -3803,7 +3803,7 @@ void CSevereRainStorm::SpawnCrystalRain() { // OFFSET: 0x00726BE0 // FUNCTION: fn_07418 void CSevereRainStorm::SpawnSevereRain() { - vector3d position = {this->position[0], this->position[1], this->position[2]}; + vector3d position = *reinterpret_cast(this->position); position.z += 10.0f; if (ClampedRandom(10) >= 5) { position.x = static_cast(ClampedRandom(251)) * 0.1f + position.x;