|
|
|
@ -509,9 +509,6 @@ bool Tile::isWalkable(bool ignoreCreatures)
|
|
|
|
|
if(!getGround())
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
if(g_game.getClientVersion() <= 740 && hasElevation(2))
|
|
|
|
|
return false;
|
|
|
|
|
|
|
|
|
|
for(const ThingPtr& thing : m_things) {
|
|
|
|
|
if(thing->isNotWalkable())
|
|
|
|
|
return false;
|
|
|
|
@ -636,13 +633,18 @@ bool Tile::canErase()
|
|
|
|
|
return m_walkingCreatures.empty() && m_effects.empty() && m_things.empty() && m_flags == 0 && m_minimapColor == 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Tile::hasElevation(int elevation)
|
|
|
|
|
int Tile::getElevation() const
|
|
|
|
|
{
|
|
|
|
|
int count = 0;
|
|
|
|
|
int elevation = 0;
|
|
|
|
|
for(const ThingPtr& thing : m_things)
|
|
|
|
|
if(thing->getElevation() > 0)
|
|
|
|
|
count++;
|
|
|
|
|
return count >= elevation;
|
|
|
|
|
elevation++;
|
|
|
|
|
return elevation;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Tile::hasElevation(int elevation)
|
|
|
|
|
{
|
|
|
|
|
return getElevation() >= elevation;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Tile::checkTranslucentLight()
|
|
|
|
|