Renaming to Begin Cast

This commit is contained in:
Mats391
2025-12-31 10:13:30 +01:00
parent b0bf8c8812
commit cf45f26d5a
3 changed files with 21 additions and 24 deletions
+1 -1
View File
@@ -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 {
+2 -2
View File
@@ -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);
+18 -21
View File
@@ -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<unsigned long long>(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<unsigned long long>(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<SendCastT>();
sendCast(cast, unk);