Decompile fn_08959 (CSkillAction_SH_HYUN_ROK_CANNON::Slot11)

Batch #7816 by eAthena: 0 byte-identical, 1 confirmed by peer review.

- fn_08959 CSkillAction_SH_HYUN_ROK_CANNON::Slot11: logic confirmed by peer review

Peer-reviewed-by: secret, Snow, Tanke
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
ragnarok-clanker 2026-10-31 12:12:41 +00:00
commit 52ee9ed14b

View file

@ -91,6 +91,7 @@ public:
class CSkillAction_SH_HYUN_ROK_CANNON : public CSkillAction {
public:
void Slot08(int level, CGameActor* source) override;
void Slot11(int level, CGameActor* source, CGameActor* target) override;
};
class CSkillObjectAction_SH_HYUN_ROKS_BREEZE : public CSkillObjectAction {
@ -384,6 +385,23 @@ void CSkillAction_SH_HYUN_ROK_CANNON::Slot08(int level, CGameActor* source) {
}
}
// OFFSET: 0x007A07A0
// FUNCTION: fn_08959
void CSkillAction_SH_HYUN_ROK_CANNON::Slot11(int level, CGameActor* source, CGameActor* target) {
if (!source || !target) {
return;
}
const float angle = ScreenAngle(
&source->render.position.x, &target->render.position.x, static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view.values
);
const vector3d position = source->render.position;
if (CEffect* effect =
g_effectMgr->Spawn(0, CEZ2STREffectMgr::GetInstance()->EffectId("hyun_rok_cannon"), position.x, position.y, position.z, 0, -1, 0, 0)) {
effect->Slot17(angle);
}
}
// OFFSET: 0x007A0950
// FUNCTION: fn_08960
void CSkillAction_SH_TEMPORARY_COMMUNION::Slot08(int level, CGameActor* source) {