示例#1
0
文件: bot_ai.cpp 项目: Rhyuk/Dev
void bot_ai::BuffAndHealGroup(Player *gPlayer)
{
    if(m_creature->IsNonMeleeSpellCasted(true)) return; // if I'm already casting

    std::list<Unit*> unitList;
    gPlayer->GetRaidMember(unitList,30);
    if(!unitList.empty()){
        for (std::list<Unit*>::iterator itr = unitList.begin() ; itr!=unitList.end();++itr) {
            Player *tPlayer = ((Player *)master)->GetObjPlayer((*itr)->GetGUID());
            if(tPlayer == NULL) continue;
            if(tPlayer->isDead()) continue;
            if(m_creature->GetAreaId() != gPlayer->GetAreaId()) continue;
            //if(tPlayer->GetGUID() == GetPlayerBot()->GetGUID()) continue;
            //if(m_creature->GetDistance(tPlayer) > 30) continue;
            (HealTarget(tPlayer, tPlayer->GetHealth()*100 / tPlayer->GetMaxHealth()));
            BuffTarget(tPlayer);
        }
    }
}
示例#2
0
            void ReceiveEmote(Player* player, uint32 emote)
            {
                if (emote == TEXT_EMOTE_RUDE)
                {
                    me->AttackStop();
                    me->SetReactState(REACT_PASSIVE);
                    DoCast(me, SPELL_PETRIFY);
                }

                if (emote == TEXT_EMOTE_ROAR)
                {
                    me->RemoveAurasDueToSpell(SPELL_PETRIFY);
                    me->SetReactState(REACT_AGGRESSIVE);
                }

                if (emote == TEXT_EMOTE_WAVE)
                {
                    player->SetBotCommandState(COMMAND_FOLLOW);
                    BuffTarget(player);
                }
            }