]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/miscfunctions.qc
Merge branch 'master' into terencehill/min_spec_time
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / miscfunctions.qc
index ef69905bdcfbdcbc561ad7e782acb06923b2574e..ff762e9046fd51d89046dbb196a258d3ef02acec 100644 (file)
@@ -368,12 +368,12 @@ string W_FixWeaponOrder_ForceComplete_AndBuildImpulseList(entity this, string wo
 {
        string o;
        o = W_FixWeaponOrder_ForceComplete(wo);
-       if(this.weaponorder_byimpulse)
+       if(CS(this).weaponorder_byimpulse)
        {
-               strunzone(this.weaponorder_byimpulse);
-               this.weaponorder_byimpulse = string_null;
+               strunzone(CS(this).weaponorder_byimpulse);
+               CS(this).weaponorder_byimpulse = string_null;
        }
-       this.weaponorder_byimpulse = strzone(W_FixWeaponOrder_BuildImpulseList(o));
+       CS(this).weaponorder_byimpulse = strzone(W_FixWeaponOrder_BuildImpulseList(o));
        return o;
 }
 
@@ -1244,6 +1244,7 @@ float MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundma
     });
        if(!sp)
        {
+               int items_checked = 0;
                IL_EACH(g_items, checkpvs(mstart, it),
                {
                        if((traceline(mstart, it.origin + (it.mins + it.maxs) * 0.5, MOVE_NORMAL, e), trace_fraction) >= 1)
@@ -1251,6 +1252,10 @@ float MoveToRandomLocationWithinBounds(entity e, vector boundmin, vector boundma
                                sp = it;
                                break;
                        }
+
+                       ++items_checked;
+                       if(items_checked >= attempts)
+                               break; // sanity
                });
 
                if(!sp)