XXLTomate/XXLDDRace — Issue #7: sometimes /r doesn't help
Author: disarmer
Created: 2012-01-26 15:29:46+00:00
State: open

sometimes happens that /rescue returns tee in same freeze tile
i fixed it by adding 4 new conditions in method HandleRescue:

#/src/game/server/entities/character.cpp
void CCharacter::HandleRescue()
{	// Nearly the same like IsGrounded(), but with less tolerance
if ((GameServer()->Collision()->CheckPoint(m_Pos.x+m_ProximityRadius/2, m_Pos.y+m_ProximityRadius/2+1) || GameServer()->Collision()->CheckPoint(m_Pos.x-m_ProximityRadius/2, m_Pos.y+m_ProximityRadius/2+1))
&& m_TileIndex != TILE_FREEZE
&& m_TileFIndex != TILE_FREEZE
&& m_TileIndexL != TILE_FREEZE //that
&& m_TileFIndexL != TILE_FREEZE //
&& m_TileIndexR != TILE_FREEZE //
&& m_TileFIndexR != TILE_FREEZE //
&& !m_FreezeTime
&& !m_DeepFreeze
&& !m_LastRescueSave)
{
m_RescuePos = m_Pos;
m_LastRescueSave = 7; // not every point will be stored
}

}