| 2421 | } |
| 2422 | |
| 2423 | void CCharacter::Pause(bool Pause) |
| 2424 | { |
| 2425 | m_Paused = Pause; |
| 2426 | if(Pause) |
| 2427 | { |
| 2428 | GameServer()->m_World.m_Core.m_apCharacters[m_pPlayer->GetCid()] = nullptr; |
| 2429 | GameServer()->m_World.RemoveEntity(this); |
| 2430 | |
| 2431 | if(m_Core.HookedPlayer() != -1) // Keeping hook would allow cheats |
| 2432 | { |
| 2433 | ResetHook(); |
| 2434 | GameWorld()->ReleaseHooked(GetPlayer()->GetCid()); |
| 2435 | } |
| 2436 | m_PausedTick = Server()->Tick(); |
| 2437 | } |
| 2438 | else |
| 2439 | { |
| 2440 | m_Core.m_Vel = vec2(0, 0); |
| 2441 | GameServer()->m_World.m_Core.m_apCharacters[m_pPlayer->GetCid()] = &m_Core; |
| 2442 | GameServer()->m_World.InsertEntity(this); |
| 2443 | if(m_Core.m_FreezeStart > 0 && m_PausedTick >= 0) |
| 2444 | { |
| 2445 | m_Core.m_FreezeStart += Server()->Tick() - m_PausedTick; |
| 2446 | } |
| 2447 | } |
| 2448 | } |
| 2449 | |
| 2450 | void CCharacter::DDRaceInit() |
| 2451 | { |
no test coverage detected