void RandomPlayerbotMgr::Refresh(Player* bot) { if (bot->isDead()) { bot->ResurrectPlayer(1.0f); bot->SpawnCorpseBones(); bot->SaveToDB(); bot->GetPlayerbotAI()->ResetStrategies(); } bot->GetPlayerbotAI()->Reset(); HostileReference *ref = bot->getHostileRefManager().getFirst(); while( ref ) { ThreatManager *threatManager = ref->GetSource(); Unit *unit = threatManager->GetOwner(); float threat = ref->getThreat(); unit->RemoveAllAttackers(); unit->ClearInCombat(); ref = ref->next(); } bot->RemoveAllAttackers(); bot->ClearInCombat(); bot->DurabilityRepairAll(false, 1.0f, false); bot->SetFullHealth(); bot->SetPvP(true); if (bot->GetMaxPower(POWER_MANA) > 0) bot->SetPower(POWER_MANA, bot->GetMaxPower(POWER_MANA)); if (bot->GetMaxPower(POWER_ENERGY) > 0) bot->SetPower(POWER_ENERGY, bot->GetMaxPower(POWER_ENERGY)); }
void RandomPlayerbotMgr::Refresh(Player* bot) { if (bot->IsDead()) { PlayerbotChatHandler ch(bot); ch.revive(*bot); bot->GetPlayerbotAI()->ResetStrategies(); } bot->GetPlayerbotAI()->Reset(); HostileReference *ref = bot->GetHostileRefManager().getFirst(); while( ref ) { ThreatManager *threatManager = ref->getSource(); Unit *unit = threatManager->getOwner(); float threat = ref->getThreat(); unit->RemoveAllAttackers(); unit->ClearInCombat(); ref = ref->next(); } bot->RemoveAllAttackers(); bot->ClearInCombat(); bot->DurabilityRepairAll(false, 1.0f); bot->SetHealthPercent(100); bot->SetPvP(true); if (bot->GetMaxPower(POWER_MANA) > 0) bot->SetPower(POWER_MANA, bot->GetMaxPower(POWER_MANA)); if (bot->GetMaxPower(POWER_ENERGY) > 0) bot->SetPower(POWER_ENERGY, bot->GetMaxPower(POWER_ENERGY)); }