]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/miscfunctions.qc
Merge remote branch 'origin/master' into tzork/gm_nexball
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / miscfunctions.qc
index 4f6926c6e503f04b1d98214454b5eae1206299b2..a0cf9c06479975229edaa7299cf0191f6929f3be 100644 (file)
@@ -8,6 +8,21 @@ void crosshair_trace(entity pl)
 {
        traceline_antilag(pl, pl.cursor_trace_start, pl.cursor_trace_start + normalize(pl.cursor_trace_endpos - pl.cursor_trace_start) * MAX_SHOT_DISTANCE, MOVE_NORMAL, pl, ANTILAG_LATENCY(pl));
 }
+void crosshair_trace_plusvisibletriggers(entity pl)
+{
+       entity first;
+       entity e;
+       first = findchainfloat(solid, SOLID_TRIGGER);
+
+       for (e = first; e; e = e.chain)
+               if (e.model != "")
+                       e.solid = SOLID_BSP;
+
+       crosshair_trace(pl);
+
+       for (e = first; e; e = e.chain)
+               e.solid = SOLID_TRIGGER;
+}
 void WarpZone_traceline_antilag (entity source, vector v1, vector v2, float nomonst, entity forent, float lag);
 void WarpZone_crosshair_trace(entity pl)
 {
@@ -781,10 +796,6 @@ float want_weapon(string cvarprefix, entity weaponinfo, float allguns)
                        t |= (i == WEP_HOOK);
        }
 
-       // we cannot disable porto in Nexball, we must force it
-       if(g_nexball && i == WEP_PORTO)
-               t = 1;
-
        return t;
 }
 
@@ -990,20 +1001,6 @@ void readplayerstartcvars()
        if (g_jetpack)
                start_items |= IT_JETPACK;
 
-       if (g_weapon_stay == 2)
-       {
-               if (!start_ammo_shells) start_ammo_shells = g_pickup_shells;
-               if (!start_ammo_nails) start_ammo_nails = g_pickup_nails;
-               if (!start_ammo_cells) start_ammo_cells = g_pickup_cells;
-               if (!start_ammo_rockets) start_ammo_rockets = g_pickup_rockets;
-               if (!start_ammo_fuel) start_ammo_fuel = g_pickup_fuel;
-               if (!warmup_start_ammo_shells) warmup_start_ammo_shells = g_pickup_shells;
-               if (!warmup_start_ammo_nails) warmup_start_ammo_nails = g_pickup_nails;
-               if (!warmup_start_ammo_cells) warmup_start_ammo_cells = g_pickup_cells;
-               if (!warmup_start_ammo_rockets) warmup_start_ammo_rockets = g_pickup_rockets;
-               if (!warmup_start_ammo_fuel) warmup_start_ammo_fuel = g_pickup_fuel;
-       }
-
        MUTATOR_CALLHOOK(SetStartItems);
 
        for (i = WEP_FIRST; i <= WEP_LAST; ++i)
@@ -1072,6 +1069,10 @@ void readlevelcvars(void)
        if(cvar("g_spawn_near_teammate"))
                MUTATOR_ADD(mutator_spawn_near_teammate);
 
+       // is this a mutator? is this a mode?
+       if(cvar("g_sandbox"))
+               MUTATOR_ADD(sandbox);
+
        if(cvar("sv_allow_fullbright"))
                serverflags |= SERVERFLAG_ALLOW_FULLBRIGHT;