diff --git a/src/game/client/prediction/entities/character.cpp b/src/game/client/prediction/entities/character.cpp index cfd988436..bf63ce2ae 100644 --- a/src/game/client/prediction/entities/character.cpp +++ b/src/game/client/prediction/entities/character.cpp @@ -765,7 +765,7 @@ void CCharacter::HandleTiles(int Index) if(newJumps != m_Core.m_Jumps) m_Core.m_Jumps = newJumps; } - else if(Collision()->GetSwitchType(MapIndex) == TILE_LFREEZE && Team() != TEAM_SUPER) + else if(Collision()->GetSwitchType(MapIndex) == TILE_LFREEZE && Team() != TEAM_SUPER) { if(Collision()->GetSwitchNumber(MapIndex) == 0 || Collision()->m_pSwitchers[Collision()->GetSwitchNumber(MapIndex)].m_Status[Team()]) { diff --git a/src/game/collision.cpp b/src/game/collision.cpp index 46af336c7..a27cebccf 100644 --- a/src/game/collision.cpp +++ b/src/game/collision.cpp @@ -848,7 +848,7 @@ bool CCollision::TileExists(int Index) const if((m_pTiles[Index].m_Index >= TILE_FREEZE && m_pTiles[Index].m_Index <= TILE_TELE_LASER_DISABLE) || (m_pTiles[Index].m_Index >= TILE_LFREEZE && m_pTiles[Index].m_Index <= TILE_LUNFREEZE)) return true; - if(m_pFront && ((m_pFront[Index].m_Index >= TILE_FREEZE && m_pFront[Index].m_Index <= TILE_TELE_LASER_DISABLE)|| (m_pFront[Index].m_Index >= TILE_LFREEZE && m_pFront[Index].m_Index <= TILE_LUNFREEZE))) + if(m_pFront && ((m_pFront[Index].m_Index >= TILE_FREEZE && m_pFront[Index].m_Index <= TILE_TELE_LASER_DISABLE) || (m_pFront[Index].m_Index >= TILE_LFREEZE && m_pFront[Index].m_Index <= TILE_LUNFREEZE))) return true; if(m_pTele && (m_pTele[Index].m_Type == TILE_TELEIN || m_pTele[Index].m_Type == TILE_TELEINEVIL || m_pTele[Index].m_Type == TILE_TELECHECKINEVIL || m_pTele[Index].m_Type == TILE_TELECHECK || m_pTele[Index].m_Type == TILE_TELECHECKIN)) return true; diff --git a/src/game/editor/popups.cpp b/src/game/editor/popups.cpp index bd6d8a6c2..3c5b8b4ad 100644 --- a/src/game/editor/popups.cpp +++ b/src/game/editor/popups.cpp @@ -1397,7 +1397,21 @@ static int s_GametileOpSelected = -1; int CEditor::PopupSelectGametileOp(CEditor *pEditor, CUIRect View, void *pContext) { - static const char *s_pButtonNames[] = {"Air", "Hookable", "Death", "Unhookable", "Hookthrough", "Freeze", "Unfreeze", "Deep Freeze", "Deep Unfreeze", "Blue Check-Tele", "Red Check-Tele", "Live Freeze", "Live Unfreeze",}; + static const char *s_pButtonNames[] = { + "Air", + "Hookable", + "Death", + "Unhookable", + "Hookthrough", + "Freeze", + "Unfreeze", + "Deep Freeze", + "Deep Unfreeze", + "Blue Check-Tele", + "Red Check-Tele", + "Live Freeze", + "Live Unfreeze", + }; static unsigned s_NumButtons = sizeof(s_pButtonNames) / sizeof(char *); CUIRect Button; diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp index b2972d803..b2ca6fb6d 100644 --- a/src/game/server/entities/character.cpp +++ b/src/game/server/entities/character.cpp @@ -1106,11 +1106,11 @@ void CCharacter::SnapCharacter(int SnappingClient, int ID) { if(Emote == EMOTE_NORMAL) Emote = (m_DeepFreeze || m_LiveFreeze) ? EMOTE_PAIN : EMOTE_BLINK; - + if(m_DeepFreeze || m_FreezeTime > 0 || m_FreezeTime == -1) Weapon = WEAPON_NINJA; } - + // This could probably happen when m_Jetpack changes instead // jetpack and ninjajetpack prediction if(m_pPlayer->GetCID() == SnappingClient) @@ -1294,11 +1294,13 @@ void CCharacter::Snap(int SnappingClient) pDDNetCharacter->m_Flags |= CHARACTERFLAG_WEAPON_LASER; if(m_Core.m_ActiveWeapon == WEAPON_NINJA) pDDNetCharacter->m_Flags |= CHARACTERFLAG_WEAPON_NINJA; - if(m_Core.m_LiveFrozen) { + if(m_Core.m_LiveFrozen) + { pDDNetCharacter->m_Flags |= CHARACTERFLAG_NO_MOVEMENTS; } - pDDNetCharacter->m_FreezeEnd = m_DeepFreeze ? -1 : m_FreezeTime == 0 ? 0 : Server()->Tick() + m_FreezeTime; + pDDNetCharacter->m_FreezeEnd = m_DeepFreeze ? -1 : m_FreezeTime == 0 ? 0 : + Server()->Tick() + m_FreezeTime; pDDNetCharacter->m_Jumps = m_Core.m_Jumps; pDDNetCharacter->m_TeleCheckpoint = m_TeleCheckpoint; pDDNetCharacter->m_StrongWeakID = m_StrongWeakID; @@ -1565,7 +1567,7 @@ void CCharacter::HandleTiles(int Index) // endless hook if(((m_TileIndex == TILE_EHOOK_ENABLE) || (m_TileFIndex == TILE_EHOOK_ENABLE))) { - SetEndlessHook(true); + SetEndlessHook(true); } else if(((m_TileIndex == TILE_EHOOK_DISABLE) || (m_TileFIndex == TILE_EHOOK_DISABLE))) { @@ -1775,9 +1777,10 @@ void CCharacter::HandleTiles(int Index) if(GameServer()->Collision()->GetSwitchNumber(MapIndex) == 0 || GameServer()->Collision()->m_pSwitchers[GameServer()->Collision()->GetSwitchNumber(MapIndex)].m_Status[Team()]) m_DeepFreeze = false; } - else if(GameServer()->Collision()->GetSwitchType(MapIndex) == TILE_LFREEZE && Team() != TEAM_SUPER) + else if(GameServer()->Collision()->GetSwitchType(MapIndex) == TILE_LFREEZE && Team() != TEAM_SUPER) { - if (GameServer()->Collision()->GetSwitchNumber(MapIndex) == 0 || GameServer()->Collision()->m_pSwitchers[GameServer()->Collision()->GetSwitchNumber(MapIndex)].m_Status[Team()]) { + if(GameServer()->Collision()->GetSwitchNumber(MapIndex) == 0 || GameServer()->Collision()->m_pSwitchers[GameServer()->Collision()->GetSwitchNumber(MapIndex)].m_Status[Team()]) + { m_LiveFreeze = true; m_Core.m_LiveFrozen = true; }