Add own function to send AI_Reaction packet. by NoFantasy

--HG--
branch : trunk
This commit is contained in:
n0n4m3
2009-12-19 17:43:47 +01:00
parent 86003a4039
commit 2925dfcfc4
4 changed files with 17 additions and 7 deletions

View File

@@ -2094,6 +2094,18 @@ Unit* Creature::SelectNearestTarget(float dist) const
return target;
}
void Creature::SendAIReaction(AiReaction reactionType)
{
WorldPacket data(SMSG_AI_REACTION, 12);
data << uint64(GetGUID());
data << uint32(reactionType);
((WorldObject*)this)->SendMessageToSet(&data, true);
sLog.outDebug("WORLD: Sent SMSG_AI_REACTION, type %u.", reactionType);
}
void Creature::CallAssistance()
{
if( !m_AlreadyCallAssistance && getVictim() && !isPet() && !isCharmed())

View File

@@ -640,6 +640,8 @@ class TRINITY_DLL_SPEC Creature : public Unit
bool canStartAttack(Unit const* u, bool force) const;
float GetAttackDistance(Unit const* pl) const;
void SendAIReaction(AiReaction reactionType);
Unit* SelectNearestTarget(float dist = 0) const;
void DoFleeToGetAssistance();
void CallForHelp(float fRadius);

View File

@@ -2449,8 +2449,8 @@ enum PetDiet
enum AiReaction
{
AI_REACTION_UNK1 = 1,
AI_REACTION_AGGRO = 2,
AI_REACTION_UNK3 = 3,
AI_REACTION_AGGRO = 2, // trigger aggro sound to play, if defined in dbc
AI_REACTION_UNK3 = 3, // seen happen at polymorph, possible when AI not in control of self?
AI_REACTION_UNK4 = 4
};

View File

@@ -8616,11 +8616,7 @@ bool Unit::Attack(Unit *victim, bool meleeAttack)
victim->SetInCombatWith(this);
AddThreat(victim, 0.0f);
WorldPacket data(SMSG_AI_REACTION, 12);
data << uint64(GetGUID());
data << uint32(AI_REACTION_AGGRO); // Aggro sound
((WorldObject*)this)->SendMessageToSet(&data, true);
((Creature*)this)->SendAIReaction(AI_REACTION_AGGRO);
((Creature*)this)->CallAssistance();
}