rendered paste bodyIndex: AIInterface.cpp
===================================================================
--- AIInterface.cpp (revision 4098)
+++ AIInterface.cpp (working copy)
@@ -234,6 +234,11 @@
// restart emote
if(m_Unit->GetTypeId() == TYPEID_UNIT)
{
+ if( static_cast< Creature* >( m_Unit )->has_combat_text
+ objmgr.HandleMonsterSayEvent( static_cast< Creature* >( m_Unit ), MONSTER_SAY_EVENT_ON_COMBAT_STOP );
+
+ CALL_SCRIPT_EVENT(m_Unit, OnCombatStop)(pUnit);
+
if(static_cast<Creature*>(m_Unit)->original_emotestate)
m_Unit->SetUInt32Value(UNIT_NPC_EMOTESTATE, static_cast< Creature* >( m_Unit )->original_emotestate);
@@ -325,6 +330,9 @@
{
if( pUnit == NULL ) return;
+ if( static_cast< Creature* >( m_Unit )->has_combat_text
+ objmgr.HandleMonsterSayEvent( static_cast< Creature* >( m_Unit ), MONSTER_SAY_EVENT_ON_DAMAGE_TAKEN );
+
CALL_SCRIPT_EVENT(m_Unit, OnDamageTaken)(pUnit, float(misc1));
if(!modThreatByPtr(pUnit, misc1))
{
@@ -441,6 +449,9 @@
{
if( pUnit == NULL ) return;
+ if( static_cast< Creature* >( m_Unit )->has_combat_text
+ objmgr.HandleMonsterSayEvent( static_cast< Creature* >( m_Unit ), MONSTER_SAY_EVENT_ON_DIED );
+
CALL_SCRIPT_EVENT(m_Unit, OnDied)(pUnit);
m_AIState = STATE_IDLE;
Index: ObjectMgr.h
===================================================================
--- ObjectMgr.h (revision 4098)
+++ ObjectMgr.h (working copy)
@@ -157,6 +157,9 @@
MONSTER_SAY_EVENT_ENTER_COMBAT = 0,
MONSTER_SAY_EVENT_RANDOM_WAYPOINT,
MONSTER_SAY_EVENT_CALL_HELP,
+ MONSTER_SAY_EVENT_ON_COMBAT_STOP,
+ MONSTER_SAY_EVENT_ON_DIED,
+ MONSTER_SAY_EVENT_ON_DAMAGE_TAKEN,
NUM_MONSTER_SAY_EVENTS,
};