]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/triggers/misc/follow.qc
Merge branch 'TimePath/issues/1971' into 'master'
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / triggers / misc / follow.qc
index dbe1cb7d8c0013aee51a65788547def7624610b3..87619ca711097ff116907c36dc1a34acf0f3ddbd 100644 (file)
@@ -1,19 +1,20 @@
+#include "follow.qh"
 // the way this entity works makes it no use to CSQC, as it removes itself instantly
 
 #ifdef SVQC
 void follow_init(entity this)
 {
        entity src, dst;
-       src = world;
-       dst = world;
+       src = NULL;
+       dst = NULL;
        if(this.killtarget != "")
-               src = find(world, targetname, this.killtarget);
+               src = find(NULL, targetname, this.killtarget);
        if(this.target != "")
-               dst = find(world, targetname, 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;
        }
 
@@ -25,13 +26,13 @@ void follow_init(entity this)
        }
        else if(!src || !dst)
        {
-               objerror("follow: could not find target/killtarget");
+               objerror(this, "follow: could not find target/killtarget");
                return;
        }
-       else if(this.spawnflags & 1)
+       else if(this.spawnflags & FOLLOW_ATTACH)
        {
                // attach
-               if(this.spawnflags & 2)
+               if(this.spawnflags & FOLLOW_LOCAL)
                {
                        setattachment(dst, src, this.message);
                }
@@ -41,13 +42,13 @@ void follow_init(entity this)
                }
 
                dst.solid = SOLID_NOT; // solid doesn't work with attachment
-               remove(this);
+               delete(this);
        }
        else
        {
-               if(this.spawnflags & 2)
+               if(this.spawnflags & FOLLOW_LOCAL)
                {
-                       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,7 +59,7 @@ void follow_init(entity this)
                        follow_sameorigin(dst, src);
                }
 
-               remove(this);
+               delete(this);
        }
 }