Exemple #1
0
void CreatureEventAI::ReceiveEmote(Player* player, uint32 textEmote)
{
    if (m_bEmptyList)
        return;

    for (CreatureEventAIList::iterator itr = m_CreatureEventAIList.begin(); itr != m_CreatureEventAIList.end(); ++itr)
    {
        if ((*itr).Event.event_type == EVENT_T_RECEIVE_EMOTE)
        {
            if ((*itr).Event.receive_emote.emoteId != textEmote)
                return;

            Condition cond;
            cond.ConditionType = ConditionTypes((*itr).Event.receive_emote.condition);
            cond.ConditionValue1 = (*itr).Event.receive_emote.conditionValue1;
            cond.ConditionValue2 = (*itr).Event.receive_emote.conditionValue2;

            ConditionSourceInfo srcInfo = ConditionSourceInfo(player);
            if (cond.Meets(srcInfo))
            {
                sLog->outDebug(LOG_FILTER_DATABASE_AI, "CreatureEventAI: ReceiveEmote CreatureEventAI: Condition ok, processing");
                ProcessEvent(*itr, player);
            }
        }
    }
}