From e79cffd65819676102bf3b2a5ac575584efa301f Mon Sep 17 00:00:00 2001 From: Emagi Date: Mon, 9 Jun 2025 14:05:08 -0400 Subject: [PATCH] Address sending bogus spell effect icon data to the client in the Spawn Info packet. --- source/WorldServer/Entity.cpp | 5 +++++ source/WorldServer/Entity.h | 5 +++++ source/WorldServer/Player.cpp | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/source/WorldServer/Entity.cpp b/source/WorldServer/Entity.cpp index 1b7427d..704658c 100644 --- a/source/WorldServer/Entity.cpp +++ b/source/WorldServer/Entity.cpp @@ -139,6 +139,11 @@ void Entity::DeleteSpellEffects(bool removeClient) } } GetInfoStruct()->spell_effects[i].spell_id = 0xFFFFFFFF; + GetInfoStruct()->spell_effects[i].icon = 0; + GetInfoStruct()->spell_effects[i].icon_backdrop = 0; + GetInfoStruct()->spell_effects[i].tier = 0; + GetInfoStruct()->spell_effects[i].total_time = 0.0f; + GetInfoStruct()->spell_effects[i].expire_timestamp = 0; GetInfoStruct()->spell_effects[i].spell = nullptr; } } diff --git a/source/WorldServer/Entity.h b/source/WorldServer/Entity.h index 165f9ea..e92a7f3 100644 --- a/source/WorldServer/Entity.h +++ b/source/WorldServer/Entity.h @@ -1072,7 +1072,12 @@ struct InfoStruct{ maintained_effects[i].spell = nullptr; } + spell_effects[i].icon = 0; spell_effects[i].spell_id = 0xFFFFFFFF; + spell_effects[i].icon_backdrop = 0; + spell_effects[i].tier = 0; + spell_effects[i].total_time = 0.0f; + spell_effects[i].expire_timestamp = 0; spell_effects[i].spell = nullptr; } } diff --git a/source/WorldServer/Player.cpp b/source/WorldServer/Player.cpp index d9447ce..1ba6306 100644 --- a/source/WorldServer/Player.cpp +++ b/source/WorldServer/Player.cpp @@ -3286,6 +3286,11 @@ PlayerInfo::PlayerInfo(Player* in_player){ info_struct->maintained_effects[i].spell = nullptr; } info_struct->spell_effects[i].spell_id = 0xFFFFFFFF; + info_struct->spell_effects[i].icon = 0; + info_struct->spell_effects[i].icon_backdrop = 0; + info_struct->spell_effects[i].tier = 0; + info_struct->spell_effects[i].total_time = 0.0f; + info_struct->spell_effects[i].expire_timestamp = 0; info_struct->spell_effects[i].spell = nullptr; }