]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/sv_main.qc
Require at least half bot's body is inside teleport waypoint before heading to telepo...
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / sv_main.qc
index 5633a06b550d7aafc21cded419a04aa8fd3e7cd0..986dbce155213d5d2fa3403aa02d7b8d4d7a5432 100644 (file)
@@ -376,6 +376,9 @@ LABEL(cvar_fail)
 
        set_movetype(this, this.movetype);
 
+       if(this.monster_attack)
+               IL_PUSH(g_monster_targets, this);
+
        // support special -1 and -2 angle from radiant
        if (this.angles == '0 -1 0')
                this.angles = '-90 0 0';
@@ -408,6 +411,9 @@ LABEL(cvar_fail)
 void WarpZone_PostInitialize_Callback()
 {
        // create waypoint links for warpzones
+       entity tracetest_ent = spawn();
+       setsize(tracetest_ent, PL_MIN_CONST, PL_MAX_CONST);
+       tracetest_ent.dphitcontentsmask = DPCONTENTS_SOLID | DPCONTENTS_BODY | DPCONTENTS_PLAYERCLIP | DPCONTENTS_BOTCLIP;
        //for(entity e = warpzone_first; e; e = e.warpzone_next)
        for(entity e = NULL; (e = find(e, classname, "trigger_warpzone")); )
        {
@@ -418,6 +424,7 @@ void WarpZone_PostInitialize_Callback()
                dst = (e.enemy.absmin + e.enemy.absmax) * 0.5;
                makevectors(e.enemy.warpzone_angles);
                dst = dst + ((e.enemy.warpzone_origin - dst) * v_forward) * v_forward - 16 * v_right;
-               waypoint_spawnforteleporter_v(e, src, dst, 0);
+               waypoint_spawnforteleporter_wz(e, src, dst, 0, tracetest_ent);
        }
+       delete(tracetest_ent);
 }