From 2061939428d5dae891e20ae9b0b545708b3c374a Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Mon, 15 Jun 2009 02:46:42 +0400 Subject: [PATCH] [8019] Prevent npc spell click when player or target in combat. --- src/game/SpellHandler.cpp | 8 +++++--- src/shared/revision_nr.h | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/game/SpellHandler.cpp b/src/game/SpellHandler.cpp index 1f867c3c2..04499d490 100644 --- a/src/game/SpellHandler.cpp +++ b/src/game/SpellHandler.cpp @@ -518,15 +518,17 @@ void WorldSession::HandleSpellClick( WorldPacket & recv_data ) uint64 guid; recv_data >> guid; - Creature *unit = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, guid); + if (_player->isInCombat()) // client prevent click and set different icon at combat state + return; - if(!unit) + Creature *unit = ObjectAccessor::GetCreatureOrPetOrVehicle(*_player, guid); + if (!unit || unit->isInCombat()) // client prevent click and set different icon at combat state return; SpellClickInfoMapBounds clickPair = objmgr.GetSpellClickInfoMapBounds(unit->GetEntry()); for(SpellClickInfoMap::const_iterator itr = clickPair.first; itr != clickPair.second; ++itr) { - if(itr->second.IsFitToRequirements(_player)) + if (itr->second.IsFitToRequirements(_player)) { Unit *caster = (itr->second.castFlags & 0x1) ? (Unit*)_player : (Unit*)unit; Unit *target = (itr->second.castFlags & 0x2) ? (Unit*)_player : (Unit*)unit; diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index a627d427b..ca65be9c1 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8018" + #define REVISION_NR "8019" #endif // __REVISION_NR_H__