*Use canattack to check if canattack in pethandler and combathandler

--HG--
branch : trunk
This commit is contained in:
megamage
2009-04-30 09:58:34 -05:00
parent b4c6a9842c
commit efd58033ea
2 changed files with 6 additions and 12 deletions

View File

@@ -105,19 +105,21 @@ void WorldSession::HandlePetAction( WorldPacket & recv_data )
//TODO: Send proper error message to client
return;
}
// only place where pet can be player
pet->clearUnitState(UNIT_STAT_FOLLOW);
Unit *TargetUnit = ObjectAccessor::GetUnit(*_player, guid2);
if(!TargetUnit)
return;
// not let attack friendly units.
if(GetPlayer()->IsFriendlyTo(TargetUnit))
if(!pet->canAttack(TargetUnit))
return;
// Not let attack through obstructions
//if(!pet->IsWithinLOSInMap(TargetUnit))
// return;
pet->clearUnitState(UNIT_STAT_FOLLOW);
if(pet->GetTypeId() != TYPEID_PLAYER && ((Creature*)pet)->IsAIEnabled)
{
((Creature*)pet)->AI()->AttackStart(TargetUnit);