From 5f0c623f8aaa7a2fc8b6b8a51f35c4370ece7b86 Mon Sep 17 00:00:00 2001 From: n0n4m3 Date: Sat, 19 Dec 2009 18:29:09 +0100 Subject: Remove trainer npcflags for player that can not train from npc. by NoFantasy --HG-- branch : trunk --- src/game/Object.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'src/game/Object.cpp') diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 1522f8db754..8727ab1d31f 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -527,8 +527,17 @@ void Object::_BuildValuesUpdate(uint8 updatetype, ByteBuffer * data, UpdateMask // remove custom flag before sending uint32 appendValue = m_uint32Values[ index ] & ~(UNIT_NPC_FLAG_GUARD + UNIT_NPC_FLAG_OUTDOORPVP); - if (GetTypeId() == TYPEID_UNIT && !target->canSeeSpellClickOn((Creature*)this)) - appendValue &= ~UNIT_NPC_FLAG_SPELLCLICK; + if (GetTypeId() == TYPEID_UNIT) + { + if (!target->canSeeSpellClickOn((Creature*)this)) + appendValue &= ~UNIT_NPC_FLAG_SPELLCLICK; + + if (appendValue & UNIT_NPC_FLAG_TRAINER) + { + if (!((Creature*)this)->isCanTrainingOf(target, false)) + appendValue &= ~(UNIT_NPC_FLAG_TRAINER | UNIT_NPC_FLAG_TRAINER_CLASS | UNIT_NPC_FLAG_TRAINER_PROFESSION); + } + } *data << uint32(appendValue); } -- cgit v1.2.3