this is something from my head:

 Code:
...
var zForce;
...
action player()
{
...
	vec_set(temp, my.x);
	temp.z -= 4000;
	c_scan(my.x, temp, IGNORE_ME | IGNORE_PASSABLE);

	if(result <= 32)
	{
		zForce = 0;
	}
	else
	{
		zForce += 6.7 * time_step;
		if(zForce >= 9.674)
		{
			zForce = 9.674;
		}
	}
	
	move.z += -zForce;
	c_move(me, move, nullvector, GLIDE | USE_AABB);

	vec_set(temp, my.x);
	temp.z -= 4000;
	c_scan(my.x, temp, IGNORE_ME | IGNORE_PASSABLE | GLIDE);

	if(result >= 0)
	{
		my.z += result*time_step;
	}
...
}


I'd be surprised if it works, but basically it goes somewhat like that.


"Yesterday was once today's tomorrow."