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); } } }
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); } }