rodecomp/Source/Contents/Effects/CaneOfEvilEyeEffect.cpp
ragnarok-clanker 8e95abd418 Decompile 6 functions in Source/Contents/Effects/AMachineEffect.cpp, Source/Contents/Effects/AcidifiedThrow.cpp, ...
Batch #3760 by youko: 0 byte-identical, 6 confirmed by peer review.

- fn_06821 CAcidifiedThrow::CAcidifiedThrow: logic confirmed by peer review
- fn_06828 CAstralStrikeEffect::CAstralStrikeEffect: logic confirmed by peer review
- fn_06837 CAxeBoomerang::CAxeBoomerang: logic confirmed by peer review
- fn_06846 CAMachineEffect::CAMachineEffect: logic confirmed by peer review
- fn_06858 CBlastForge::CBlastForge: logic confirmed by peer review
- fn_06869 CCaneOfEvilEyeEffect::CCaneOfEvilEyeEffect: logic confirmed by peer review

Peer-reviewed-by: ragnarok-clanker, eAthena, meitogi
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
2026-10-29 23:17:48 +00:00

60 lines
1.5 KiB
C++

#include "Contents/Effects/CaneOfEvilEyeEffect.h"
#include "Client/Mode/CGameMode.h"
#include "Client/Mode/ModeMgr.h"
#include "Contents/Camera/Camera.h"
#include <windows.h>
#include <timeapi.h>
// OFFSET: 0x006F86B0
// FUNCTION: fn_06869
CCaneOfEvilEyeEffect::CCaneOfEvilEyeEffect() : CEffect(-1) {
this->startTime = timeGetTime();
}
// OFFSET: 0x006F8E70
// FUNCTION: fn_06876
void CCaneOfEvilEyeEffect::RemoveNullEmitters() {
for (auto it = this->unknown_00D0.begin(); it != this->unknown_00D0.end();) {
if (*it == nullptr) {
it = this->unknown_00D0.erase(it);
} else {
++it;
}
}
for (auto it = this->unknown_00DC.begin(); it != this->unknown_00DC.end();) {
if (*it == nullptr) {
it = this->unknown_00DC.erase(it);
} else {
++it;
}
}
}
// OFFSET: 0x006F9340
// FUNCTION: fn_06879
bool CCaneOfEvilEyeEffect::Slot06() {
if (this->ActorExists() && (!this->unknown_00D0.empty() || !this->unknown_00DC.empty())) {
return true;
}
return false;
}
// OFFSET: 0x006F9D40
// FUNCTION: fn_06882
void CCaneOfEvilEyeEffect::Slot04() {
for (auto it = this->unknown_00D0.begin(); it != this->unknown_00D0.end(); ++it) {
if (*it) {
(*it)->DrawScreen(static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view);
}
}
for (auto it = this->unknown_00DC.begin(); it != this->unknown_00DC.end(); ++it) {
if (*it) {
(*it)->DrawScreen(static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view);
}
}
}