X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fcommon%2Ftriggers%2Fmisc%2Ffollow.qc;h=d19d9da0853c856dd5132dff40fa42d22945c042;hb=0a980f57412cf2253cfd73c8c01a26fb04c87189;hp=bfeb865c1df47187ecd458688c297af5da7a3a28;hpb=9c09a961b8674e3a808889d3f34d71855018d3bc;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/common/triggers/misc/follow.qc b/qcsrc/common/triggers/misc/follow.qc index bfeb865c1..d19d9da08 100644 --- a/qcsrc/common/triggers/misc/follow.qc +++ b/qcsrc/common/triggers/misc/follow.qc @@ -1,53 +1,53 @@ // the way this entity works makes it no use to CSQC, as it removes itself instantly #ifdef SVQC -void follow_init() +void follow_init(entity this) { entity src, dst; - src = world; - dst = world; - if(self.killtarget != "") - src = find(world, targetname, self.killtarget); - if(self.target != "") - dst = find(world, targetname, self.target); + src = NULL; + dst = NULL; + if(this.killtarget != "") + src = find(NULL, targetname, this.killtarget); + if(this.target != "") + dst = find(NULL, targetname, this.target); if(!src && !dst) { - objerror("follow: could not find target/killtarget"); + objerror(this, "follow: could not find target/killtarget"); return; } - if(self.jointtype) + if(this.jointtype) { // already done :P entity must stay - self.aiment = src; - self.enemy = dst; + this.aiment = src; + this.enemy = dst; } else if(!src || !dst) { - objerror("follow: could not find target/killtarget"); + objerror(this, "follow: could not find target/killtarget"); return; } - else if(self.spawnflags & 1) + else if(this.spawnflags & 1) { // attach - if(self.spawnflags & 2) + if(this.spawnflags & 2) { - setattachment(dst, src, self.message); + setattachment(dst, src, this.message); } else { - attach_sameorigin(dst, src, self.message); + attach_sameorigin(dst, src, this.message); } dst.solid = SOLID_NOT; // solid doesn't work with attachment - remove(self); + delete(this); } else { - if(self.spawnflags & 2) + if(this.spawnflags & 2) { - dst.movetype = MOVETYPE_FOLLOW; + set_movetype(dst, MOVETYPE_FOLLOW); dst.aiment = src; // dst.punchangle = '0 0 0'; // keep unchanged dst.view_ofs = dst.origin; @@ -58,12 +58,12 @@ void follow_init() follow_sameorigin(dst, src); } - remove(self); + delete(this); } } -void spawnfunc_misc_follow() +spawnfunc(misc_follow) { - InitializeEntity(self, follow_init, INITPRIO_FINDTARGET); + InitializeEntity(this, follow_init, INITPRIO_FINDTARGET); } #endif