void VendettaEventControllerMgr::ProcessQueueAndTeleport()
{
uint32 l_teleportedPlayers = 0;
m_playerQueueVortex.remove_if([](Player* pPlayer) -> bool
{
return !pPlayer || !pPlayer->IsInWorld() || !pPlayer->IsAlive() || pPlayer->InBattleground() || pPlayer->InBattlegroundQueue() || pPlayer->IsInCombat() || pPlayer->isUsingLfg();
});
for(auto player : m_playerQueueVortex)
{
if(m_playerQueueVortex.size() >= GetVortexTemplateMaxPlayers() && !IsVortextEventInProgress())
{
if(l_teleportedPlayers < GetVortexTemplateMaxPlayers())
{
if(Creature* assoraPortal = player->FindNearestCreature(VortexEnums::CreaturesVortex::CREATURE_TRIGGER_ASSORA, 150.0f))
{
player->GetMotionMaster()->MoveJump(assoraPortal->GetPositionX(), assoraPortal->GetPositionY(), assoraPortal->GetPositionZ(), 70.0f, 11.0f);
}else{
player->TeleportTo(MAP_ID, g_PortalPosition.GetPositionX(), g_PortalPosition.GetPositionY(), g_PortalPosition.GetPositionZ(), g_PortalPosition.GetOrientation());
}
l_teleportedPlayers++;
}
}
}
}
{
uint32 l_teleportedPlayers = 0;
m_playerQueueVortex.remove_if([](Player* pPlayer) -> bool
{
return !pPlayer || !pPlayer->IsInWorld() || !pPlayer->IsAlive() || pPlayer->InBattleground() || pPlayer->InBattlegroundQueue() || pPlayer->IsInCombat() || pPlayer->isUsingLfg();
});
for(auto player : m_playerQueueVortex)
{
if(m_playerQueueVortex.size() >= GetVortexTemplateMaxPlayers() && !IsVortextEventInProgress())
{
if(l_teleportedPlayers < GetVortexTemplateMaxPlayers())
{
if(Creature* assoraPortal = player->FindNearestCreature(VortexEnums::CreaturesVortex::CREATURE_TRIGGER_ASSORA, 150.0f))
{
player->GetMotionMaster()->MoveJump(assoraPortal->GetPositionX(), assoraPortal->GetPositionY(), assoraPortal->GetPositionZ(), 70.0f, 11.0f);
}else{
player->TeleportTo(MAP_ID, g_PortalPosition.GetPositionX(), g_PortalPosition.GetPositionY(), g_PortalPosition.GetPositionZ(), g_PortalPosition.GetOrientation());
}
l_teleportedPlayers++;
}
}
}
}