Decompile fn_45492 (CSkillAction_WH_CRESCIVE_BOLT::Slot15)

Batch #10450 by KWDev: 0 byte-identical, 1 confirmed by peer review.

- fn_45492 CSkillAction_WH_CRESCIVE_BOLT::Slot15: logic confirmed by peer review

Peer-reviewed-by: vinnyamancio, Toshiro, cremane
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-11-04 01:20:46 +00:00
commit 4b0e03e876

View file

@ -37,6 +37,7 @@ public:
bool Slot06() override;
bool Slot07() override;
void Slot08(int level, CGameActor* source) override;
void Slot15(int sourceActor, CGameActor* target, CGameActor* argument3) override;
void Slot16(int level, CGameActor* source, CGameActor* target) override;
};
@ -155,6 +156,20 @@ void CSkillAction_WH_CRESCIVE_BOLT::Slot08(int level, CGameActor* source) {
}
}
// OFFSET: 0x007A65A0
// FUNCTION: fn_45492
void CSkillAction_WH_CRESCIVE_BOLT::Slot15(int sourceActor, CGameActor* target, CGameActor* argument3) {
CGameActor* source = reinterpret_cast<CGameActor*>(sourceActor);
if (source && target) {
if (CEffect* effect = g_effectMgr->Spawn(source->render.accountId, CEZ2STREffectMgr::GetInstance()->EffectId("crescivebolt"), 0.0f, 0.0f, 0.0f, 0, -1, 0, 0)) {
effect->Slot17(
ScreenAngle(&source->render.position.x, &target->render.position.x, static_cast<CGameMode*>(g_modeMgr.GetGameMode())->camera->frame.view.values) + 180.0f
);
effect->Slot16(static_cast<int>(source->unknown_0378 * source->render.speed * 16.0f));
}
}
}
// OFFSET: 0x007A6780
// FUNCTION: fn_09038
void CSkillAction_WH_CRESCIVE_BOLT::Slot16(int level, CGameActor* source, CGameActor* target) {