#include "movenode.qh"
+#include <common/mapobjects/triggers.qh>
+#include <common/weapons/_all.qh>
+#include <common/stats.qh>
+#include <server/miscfunctions.qh>
#include "pathlib.qh"
#include "utility.qh"
{
vector surface;
- pathlib_movenode_goodnode = 0;
+ pathlib_movenode_goodnode = false;
end.x = fsnap(end.x, pathlib_gridsize);
end.y = fsnap(end.y, pathlib_gridsize);
tracebox(start + '0 0 64', movenode_boxmin,movenode_boxmax, end + '0 0 64', MOVE_WORLDONLY, this);
if(trace_fraction == 1)
- pathlib_movenode_goodnode = 1;
+ pathlib_movenode_goodnode = true;
if(fabs(surface.z - end.z) > 32)
- pathlib_movenode_goodnode = 0;
+ pathlib_movenode_goodnode = false;
return end;
}
vector pathlib_swimnode(entity this, vector start, vector end, float doedge)
{
- pathlib_movenode_goodnode = 0;
+ pathlib_movenode_goodnode = false;
if(pointcontents(start) != CONTENT_WATER)
return end;
tracebox(start, movenode_boxmin,movenode_boxmax, end, MOVE_WORLDONLY, this);
if(trace_fraction == 1)
- pathlib_movenode_goodnode = 1;
+ pathlib_movenode_goodnode = true;
return end;
}
vector pathlib_flynode(entity this, vector start, vector end, float doedge)
{
- pathlib_movenode_goodnode = 0;
+ pathlib_movenode_goodnode = false;
end.x = fsnap(end.x, pathlib_gridsize);
end.y = fsnap(end.y, pathlib_gridsize);
tracebox(start, movenode_boxmin,movenode_boxmax, end, MOVE_WORLDONLY, this);
if(trace_fraction == 1)
- pathlib_movenode_goodnode = 1;
+ pathlib_movenode_goodnode = true;
return end;
}
{
te_lightning1(this,this.origin, this.pos1);
if(this.cnt < time)
- remove(this);
+ delete(this);
else
this.nextthink = time + 0.2;
}
vector pathlib_walknode(entity this, vector start, vector end, float doedge)
{
- vector direction,point,last_point,s,e;
- float steps, distance, i;
+ vector point;
- LOG_TRACE("Walking node from ", vtos(start), " to ", vtos(end), "\n");
+ LOG_DEBUG("Walking node from ", vtos(start), " to ", vtos(end));
- pathlib_movenode_goodnode = 0;
+ pathlib_movenode_goodnode = false;
end.x = fsnap(end.x,pathlib_gridsize);
end.y = fsnap(end.y,pathlib_gridsize);
//start - movenode_maxdrop
a.cnt = time + 10;
- LOG_TRACE("I cant walk on air!\n");
+ LOG_TRACE("I cant walk on air!");
return trace_endpos;
}
start = trace_endpos;
// Find the direcion, without Z
- s = start; e = end;
+ vector s = start;
+ vector e = end;
//e_z = 0; s_z = 0;
- direction = normalize(e - s);
+ vector direction = normalize(e - s);
- distance = vlen(start - end);
- steps = rint(distance / movenode_stepsize);
+ float distance = vlen(start - end);
+ int steps = rint(distance / movenode_stepsize);
- last_point = start;
- for(i = 1; i < steps; ++i)
+ vector last_point = start;
+ for(int i = 1; i < steps; ++i)
{
point = last_point + (direction * movenode_stepsize);
traceline(point + movenode_stepup,point - movenode_maxdrop,MOVE_WORLDONLY,this);
if(trace_fraction != 1.0)
return trace_endpos;
- pathlib_movenode_goodnode = 1;
+ pathlib_movenode_goodnode = true;
return last_point;
}