[8622] Add own function to send AI_Reaction packet.

Signed-off-by: NoFantasy <nofantasy@nf.no>
This commit is contained in:
NoFantasy 2009-10-11 00:00:47 +02:00
parent 4cc389ff71
commit 732bcfbbb6
5 changed files with 19 additions and 9 deletions

View file

@ -1782,6 +1782,18 @@ bool Creature::IsVisibleInGridForPlayer(Player* pl) const
return false;
}
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

@ -619,6 +619,8 @@ class MANGOS_DLL_SPEC Creature : public Unit
float GetAttackDistance(Unit const* pl) const;
void SendAIReaction(AiReaction reactionType);
void DoFleeToGetAssistance();
void CallForHelp(float fRadius);
void CallAssistance();

View file

@ -2368,8 +2368,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

@ -7692,11 +7692,7 @@ bool Unit::Attack(Unit *victim, bool meleeAttack)
if (GetTypeId() == TYPEID_UNIT)
{
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();
}

View file

@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "8621"
#define REVISION_NR "8622"
#endif // __REVISION_NR_H__