From cf45f26d5a7cfa328a9324cd80520e700ee84255 Mon Sep 17 00:00:00 2001 From: Mats391 Date: Tue, 30 Dec 2025 18:09:44 +0100 Subject: [PATCH] Renaming to Begin Cast --- nampower/game.hpp | 2 +- nampower/main.cpp | 4 ++-- nampower/spellcast.cpp | 39 ++++++++++++++++++--------------------- 3 files changed, 21 insertions(+), 24 deletions(-) diff --git a/nampower/game.hpp b/nampower/game.hpp index b6dcc77..184ba71 100644 --- a/nampower/game.hpp +++ b/nampower/game.hpp @@ -1442,7 +1442,7 @@ namespace game { AURA_CAST_ON_SELF = 560, AURA_CAST_ON_OTHER = 561, - SPELL_SENDING_EVENT = 562, + SPELL_BEGIN_CAST_EVENT = 562, }; enum TypeMask { diff --git a/nampower/main.cpp b/nampower/main.cpp index b6fb9cc..98bd1c8 100644 --- a/nampower/main.cpp +++ b/nampower/main.cpp @@ -1318,8 +1318,8 @@ namespace Nampower { char SPELL_DAMAGE_EVENT_OTHER[] = "SPELL_DAMAGE_EVENT_OTHER"; addCustomEvent(game::SPELL_DAMAGE_EVENT_OTHER, SPELL_DAMAGE_EVENT_OTHER); - char SPELL_SENDING_EVENT[] = "SPELL_SENDING_EVENT"; - addCustomEvent(game::SPELL_SENDING_EVENT, SPELL_SENDING_EVENT); + char SPELL_BEGIN_CAST_EVENT[] = "SPELL_BEGIN_CAST_EVENT"; + addCustomEvent(game::SPELL_BEGIN_CAST_EVENT, SPELL_BEGIN_CAST_EVENT); char DEBUFF_ADDED_SELF[] = "DEBUFF_ADDED_SELF"; addCustomEvent(game::DEBUFF_ADDED_SELF, DEBUFF_ADDED_SELF); diff --git a/nampower/spellcast.cpp b/nampower/spellcast.cpp index 354e476..060d8df 100644 --- a/nampower/spellcast.cpp +++ b/nampower/spellcast.cpp @@ -107,6 +107,21 @@ namespace Nampower { } } + void + TriggerSpellBeginCastEvent(uint32_t spellId, std::uint64_t guid) { + char format[] = "%d%s"; + char *guidStr = new char[21]; // 2 for 0x prefix, 18 for the number, and 1 for '\0' + std::snprintf(guidStr, 21, "0x%016llX", static_cast(guid)); + + ((int (__cdecl *)(int, char *, uint32_t, char *)) Offsets::SignalEventParam)( + game::SPELL_BEGIN_CAST_EVENT, // SPELL_BEGIN_CAST_EVENT event we are adding + format, + spellId, + guidStr); + + delete[] guidStr; + } + bool Spell_C_TargetSpellHook(hadesmem::PatchDetourBase *detour, uint32_t *player, uint32_t *spellId, @@ -236,6 +251,9 @@ namespace Nampower { } gLastCastData.startTimeMs = currentTime; + + + TriggerSpellBeginCastEvent(cast->spellId, cast->unitTarget); } void CastQueuedNonGcdSpell() { @@ -344,21 +362,6 @@ namespace Nampower { delete[] guidStr; } - void - TriggerSpellSendingEvent(uint32_t spellId, std::uint64_t guid) { - char format[] = "%d%s"; - char *guidStr = new char[21]; // 2 for 0x prefix, 18 for the number, and 1 for '\0' - std::snprintf(guidStr, 21, "0x%016llX", static_cast(guid)); - - ((int (__cdecl *)(int, char *, uint32_t, char *)) Offsets::SignalEventParam)( - game::SPELL_SENDING_EVENT, // SPELL_SENDING_EVENT event we are adding - format, - spellId, - guidStr); - - delete[] guidStr; - } - void clearCastingSpell() { // clearing current casting spell id if needed // this prevents client from failing to cast spells without a casttime @@ -1063,12 +1066,6 @@ namespace Nampower { void SendCastHook(hadesmem::PatchDetourBase *detour, game::SpellCast *cast, char unk) { - if (cast != nullptr && cast->itemTarget == 0 && cast->caster == game::ClntObjMgrGetActivePlayerGuid()) { - const auto guid = cast->unitTarget; - const auto spellId = cast->spellId; - TriggerSpellSendingEvent(spellId, guid); - } - auto const sendCast = detour->GetTrampolineT(); sendCast(cast, unk);