string W_Apply_Weaponreplace(string in)
{
float n = tokenize_console(in);
- string out = "";
- float i;
+ string out = "", s, replacement;
+ float i, j;
+ entity e;
for(i = 0; i < n; ++i)
{
- string s = argv(i);
- string r = cvar_string(strcat("g_weaponreplace_", s));
- if(r == "")
+ replacement = "";
+ s = argv(i);
+
+ for(j = WEP_FIRST; j <= WEP_LAST; ++j)
+ {
+ e = get_weaponinfo(j);
+ if(e.netname == s)
+ {
+ replacement = e.weaponreplace;
+ }
+ }
+
+ if(replacement == "")
out = strcat(out, " ", s);
- else if(r != "0")
- out = strcat(out, " ", r);
+ else if(replacement != "0")
+ out = strcat(out, " ", replacement);
}
return substring(out, 1, -1);
}
{
entity e;
float t;
- var .float ammofield;
string s;
entity oldself;
float i, j;
if(!self.superweapons_finished)
self.superweapons_finished = autocvar_g_balance_superweapons_time;
+ // if we don't already have ammo, give us some ammo
+ if(!self.(e.ammo_field))
+ {
+ switch(e.ammo_field)
+ {
+ case ammo_shells: self.ammo_shells = cvar("g_pickup_shells_weapon"); break;
+ case ammo_nails: self.ammo_nails = cvar("g_pickup_nails_weapon"); break;
+ case ammo_rockets: self.ammo_rockets = cvar("g_pickup_rockets_weapon"); break;
+ case ammo_cells: self.ammo_cells = cvar("g_pickup_cells_weapon"); break;
+ case ammo_plasma: self.ammo_plasma = cvar("g_pickup_plasma_weapon"); break;
+ case ammo_fuel: self.ammo_fuel = cvar("g_pickup_fuel_weapon"); break;
+ }
+ }
+
+ #if 0 // WEAPONTODO
if(e.items)
{
for(i = 0, j = 1; i < 24; ++i, j *= 2)
{
if(e.items & j)
{
- ammofield = Item_CounterField(j);
- if(!self.ammofield)
- self.ammofield = cvar(strcat("g_pickup_", Item_CounterFieldName(j), "_weapon"));
+ ammotype = Item_CounterField(j);
+ if(!self.ammotype)
+ self.ammotype = cvar(strcat("g_pickup_", Item_CounterFieldName(j), "_weapon"));
}
}
}
+ #endif
// pickup anyway
if(g_pickup_weapons_anyway)
f |= FL_NO_WEAPON_STAY;
StartItem(e.model, "weapons/weaponpickup.wav", self.respawntime, self.respawntimejitter, e.message, 0, e.weapon, f, weapon_pickupevalfunc, e.bot_pickupbasevalue);
+ #if 0 // WEAPONTODO
if (self.modelindex) // don't precache if self was removed
WEP_ACTION(e.weapon, WR_INIT);
+ #endif
}