[8019] Prevent npc spell click when player or target in combat.

This commit is contained in:
VladimirMangos 2009-06-15 02:46:42 +04:00
parent 5350dbafd9
commit 2061939428
2 changed files with 6 additions and 4 deletions

View file

@ -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;