case "l": replacement = NearestLocation(self.origin); break;
case "y": replacement = NearestLocation(cursor); break;
case "d": replacement = NearestLocation(self.death_origin); break;
- case "w": replacement = WEP_NAME(((!self.weapon) ? (!self.switchweapon ? self.cnt : self.switchweapon) : self.weapon)); break;
+ case "w": replacement = WEP_NAME(((!self.weapon) ? (!PS(self).m_switchweapon.m_id ? self.cnt : PS(self).m_switchweapon.m_id) : self.weapon)); break;
case "W": replacement = ammoitems; break;
case "x": replacement = ((cursor_ent.netname == "" || !cursor_ent) ? "nothing" : cursor_ent.netname); break;
case "s": replacement = ftos(vlen(self.velocity - self.velocity_z * '0 0 1')); break;
self.weaponorder_byimpulse = strzone(W_FixWeaponOrder_BuildImpulseList(o));
return o;
}
-void GetCvars(float f)
+
+/**
+ * @param f -1: cleanup, 0: request, 1: receive
+ */
+void GetCvars(int f)
{SELFPARAM();
string s = string_null;
if (f > 0)
{
if (s == "cl_weaponpriority")
- self.switchweapon = w_getbestweapon(self);
+ if (PS(self)) PS(self).m_switchweapon = w_getbestweapon(self);
if (s == "cl_allow_uidtracking")
PlayerStats_GameReport_AddPlayer(self);
}
g_weaponarena_list = "All Weapons";
for (j = WEP_FIRST; j <= WEP_LAST; ++j)
{
- e = get_weaponinfo(j);
+ e = Weapons_from(j);
if (!(e.spawnflags & WEP_FLAG_MUTATORBLOCKED))
- g_weaponarena_weapons |= WepSet_FromWeapon(j);
+ g_weaponarena_weapons |= (e.m_wepset);
}
}
else if (s == "most")
g_weaponarena_list = "Most Weapons";
for (j = WEP_FIRST; j <= WEP_LAST; ++j)
{
- e = get_weaponinfo(j);
+ e = Weapons_from(j);
if (!(e.spawnflags & WEP_FLAG_MUTATORBLOCKED))
if (e.spawnflags & WEP_FLAG_NORMAL)
- g_weaponarena_weapons |= WepSet_FromWeapon(j);
+ g_weaponarena_weapons |= (e.m_wepset);
}
}
else if (s == "none")
s = argv(i);
for (j = WEP_FIRST; j <= WEP_LAST; ++j)
{
- e = get_weaponinfo(j);
+ e = Weapons_from(j);
if (e.netname == s)
{
- g_weaponarena_weapons |= WepSet_FromWeapon(j);
+ g_weaponarena_weapons |= (e.m_wepset);
g_weaponarena_list = strcat(g_weaponarena_list, e.m_name, " & ");
break;
}
{
for (i = WEP_FIRST; i <= WEP_LAST; ++i)
{
- e = get_weaponinfo(i);
+ e = Weapons_from(i);
int w = want_weapon(e, false);
+ WepSet s = e.m_wepset;
if(w & 1)
- start_weapons |= WepSet_FromWeapon(i);
+ start_weapons |= s;
if(w & 2)
- start_weapons_default |= WepSet_FromWeapon(i);
+ start_weapons_default |= s;
if(w & 4)
- start_weapons_defaultmask |= WepSet_FromWeapon(i);
+ start_weapons_defaultmask |= s;
}
}
warmup_start_weapons_defaultmask = '0 0 0';
for (i = WEP_FIRST; i <= WEP_LAST; ++i)
{
- e = get_weaponinfo(i);
+ e = Weapons_from(i);
int w = want_weapon(e, g_warmup_allguns);
+ WepSet s = (e.m_wepset);
if(w & 1)
- warmup_start_weapons |= WepSet_FromWeapon(i);
+ warmup_start_weapons |= s;
if(w & 2)
- warmup_start_weapons_default |= WepSet_FromWeapon(i);
+ warmup_start_weapons_default |= s;
if(w & 4)
- warmup_start_weapons_defaultmask |= WepSet_FromWeapon(i);
+ warmup_start_weapons_defaultmask |= s;
}
}
}
precache_weapons |= warmup_start_weapons;
for (i = WEP_FIRST; i <= WEP_LAST; ++i)
{
- e = get_weaponinfo(i);
- if(precache_weapons & WepSet_FromWeapon(i)) {
- Weapon w = get_weaponinfo(i);
- w.wr_init(w);
+ e = Weapons_from(i);
+ if(precache_weapons & (e.m_wepset)) {
+ e.wr_init(e);
}
}
warmup_start_ammo_fuel = max(0, warmup_start_ammo_fuel);
}
-void PrecachePlayerSounds(string f);
void precache_playermodel(string m)
{
float globhandle, i, n;
}
void precache_all_playermodels(string pattern)
{
- float globhandle, i, n;
- string f;
-
- globhandle = search_begin(pattern, true, false);
- if (globhandle < 0)
- return;
- n = search_getsize(globhandle);
- for (i = 0; i < n; ++i)
+ int globhandle = search_begin(pattern, true, false);
+ if (globhandle < 0) return;
+ int n = search_getsize(globhandle);
+ for (int i = 0; i < n; ++i)
{
- //print(search_getfilename(globhandle, i), "\n");
- f = search_getfilename(globhandle, i);
- precache_playermodel(f);
+ string s = search_getfilename(globhandle, i);
+ precache_playermodel(s);
}
search_end(globhandle);
}
void precache_playermodels(string s)
{
- if(s != "")
- {
- int n = tokenize_console(s);
- precache_playermodel(argv(0));
-
- for (int i = 1; i < n; ++i)
- precache_model(argv(i));
- }
+ FOREACH_WORD(s, true, LAMBDA(precache_playermodel(it)));
}
void precache()