About steep surfaces: You always can do something like that:
PHP Code:
//Detect the floor, so we don't spawn the player in air
FloorOrigin[0] = RandomOrigin[0]
FloorOrigin[1] = RandomOrigin[1]
FloorOrigin[2] = -8192.0
engfunc(EngFunc_TraceLine, RandomOrigin, FloorOrigin, DONT_IGNORE_MONSTERS, 0, 0)
get_tr2(0, TR_vecEndPos, RandomOrigin)
get_tr2(0, TR_vecPlaneNormal, planeNormal)
// If we hit a steep plane
if(planeNormal[2] < 0.7)
continue;
__________________