Index: 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(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, };