if(!trace_ent)
{
//dprint("_Movetype_FlyMove: !trace_ent\n");
- trace_ent = world;
+ trace_ent = NULL;
}
this.move_flags |= FL_ONGROUND;
{
entity oldother = other;
- if(this.move_touch)
+ if(gettouch(this))
{
other = oth;
- WITHSELF(this, this.move_touch());
+ gettouch(this)(this);
other = oldother;
}
- if(oth.move_touch)
+ if(gettouch(oth))
{
other = this;
- WITHSELF(oth, oth.move_touch());
+ gettouch(oth)(oth);
other = oldother;
}
FOREACH_ENTITY_RADIUS(0.5 * (this.absmin + this.absmax), 0.5 * vlen(this.absmax - this.absmin), true, {
if (it.solid == SOLID_TRIGGER && it != this)
if (it.move_nomonsters != MOVE_NOMONSTERS && it.move_nomonsters != MOVE_WORLDONLY)
- if (it.move_touch && boxesoverlap(it.absmin, it.absmax, this.absmin, this.absmax))
+ if (gettouch(it) && boxesoverlap(it.absmin, it.absmax, this.absmin, this.absmax))
{
other = this;
trace_plane_dist = 0;
trace_ent = this;
- WITHSELF(it, it.move_touch());
+ gettouch(it)(it);
}
});