string unquote(string s)
{
- float i, j, l;
- l = strlen(s);
- j = -1;
- for(i = 0; i < l; ++i)
+ float l = strlen(s);
+ for(float i = 0; i < l; ++i)
{
- string ch;
- ch = substring(s, i, 1);
- if(ch != " ") if(ch != "\"")
+ string ch = substring(s, i, 1);
+ if((ch != " ") && (ch != "\""))
{
- for(j = strlen(s) - i - 1; j > 0; --j)
+ for(float j = l - i - 1; j > 0; --j)
{
ch = substring(s, i+j, 1);
if(ch != " ") if(ch != "\"")
string MapInfo_ListAllowedMaps(Gametype type, float pRequiredFlags, float pForbiddenFlags)
{
string out;
- float i;
// to make absolutely sure:
MapInfo_Enumerate();
MapInfo_FilterGametype(type, MapInfo_CurrentFeatures(), pRequiredFlags, pForbiddenFlags, 0);
out = "";
- for(i = 0; i < MapInfo_count; ++i)
+ for(float i = 0; i < MapInfo_count; ++i)
out = strcat(out, " ", _MapInfo_GlobItem(MapInfo_FilterList_Lookup(i)));
return substring(out, 1, strlen(out) - 1);
}
string MapInfo_ListAllAllowedMaps(float pRequiredFlags, float pForbiddenFlags)
{
string out;
- float i;
// to make absolutely sure:
MapInfo_Enumerate();
_MapInfo_FilterGametype(MAPINFO_TYPE_ALL, 0, pRequiredFlags, pForbiddenFlags, 0);
out = "";
- for(i = 0; i < MapInfo_count; ++i)
+ for(float i = 0; i < MapInfo_count; ++i)
out = strcat(out, " ", _MapInfo_GlobItem(MapInfo_FilterList_Lookup(i)));
MapInfo_FilterGametype(MapInfo_CurrentGametype(), MapInfo_CurrentFeatures(), pRequiredFlags, pForbiddenFlags, 0);
this.alpha = -1;
}
- if(!veh_hud)
- if(this.ItemStatus & ITS_STAYWEP)
+ if((!veh_hud) && (this.ItemStatus & ITS_STAYWEP))
{
this.colormod = this.glowmod = autocvar_cl_weapon_stay_color;
this.alpha = autocvar_cl_weapon_stay_alpha;
e.spawnshieldtime = 1;
e.ItemStatus &= ~ITS_AVAILABLE;
}
- else {
- bool nostay = def.instanceOfWeaponPickup ? !!(def.m_weapon.weapons & WEPSET_SUPERWEAPONS) : false // no weapon-stay on superweapons
- || e.team // weapon stay isn't supported for teamed weapons
- ;
- if(def.instanceOfWeaponPickup && !nostay && g_weapon_stay)
- {
- // make the item translucent and not touchable
- e.model = e.mdl;
- e.solid = SOLID_TRIGGER; // can STILL be picked up!
- e.effects |= EF_STARDUST;
- e.spawnshieldtime = 0; // field indicates whether picking it up may give you anything other than the weapon
- e.ItemStatus |= (ITS_AVAILABLE | ITS_STAYWEP);
- }
else
{
- //setmodel(e, "null");
- e.solid = SOLID_NOT;
- e.colormod = '0 0 0';
- //e.glowmod = e.colormod;
- e.spawnshieldtime = 1;
- e.ItemStatus &= ~ITS_AVAILABLE;
- }}
+ bool nostay = def.instanceOfWeaponPickup ? !!(def.m_weapon.weapons & WEPSET_SUPERWEAPONS) : false // no weapon-stay on superweapons
+ || e.team // weapon stay isn't supported for teamed weapons
+ ;
+ if(def.instanceOfWeaponPickup && !nostay && g_weapon_stay)
+ {
+ // make the item translucent and not touchable
+ e.model = e.mdl;
+ e.solid = SOLID_TRIGGER; // can STILL be picked up!
+ e.effects |= EF_STARDUST;
+ e.spawnshieldtime = 0; // field indicates whether picking it up may give you anything other than the weapon
+ e.ItemStatus |= (ITS_AVAILABLE | ITS_STAYWEP);
+ }
+ else
+ {
+ //setmodel(e, "null");
+ e.solid = SOLID_NOT;
+ e.colormod = '0 0 0';
+ //e.glowmod = e.colormod;
+ e.spawnshieldtime = 1;
+ e.ItemStatus &= ~ITS_AVAILABLE;
+ }
+ }
if (def.m_glow)
e.ItemStatus |= ITS_GLOW;
switch(it.ammo_field)
{
- case ammo_shells: need_shells = true; break;
case ammo_shells: need_shells = true; break;
case ammo_nails: need_nails = true; break;
case ammo_rockets: need_rockets = true; break;
rating = item.bot_pickupbasevalue;
}
- if (need_shells)
- if (item.ammo_shells)
- if (player.ammo_shells < g_pickup_shells_max)
+ if ((need_shells) && (item.ammo_shells) && (player.ammo_shells < g_pickup_shells_max))
c = item.ammo_shells / player.ammo_shells;
- if (need_nails)
- if (item.ammo_nails)
- if (player.ammo_nails < g_pickup_nails_max)
+
+ if ((need_nails) && (item.ammo_nails) && (player.ammo_nails < g_pickup_nails_max))
c = item.ammo_nails / player.ammo_nails;
- if (need_rockets)
- if (item.ammo_rockets)
- if (player.ammo_rockets < g_pickup_rockets_max)
+
+ if ((need_rockets) && (item.ammo_rockets) && (player.ammo_rockets < g_pickup_rockets_max))
c = item.ammo_rockets / player.ammo_rockets;
- if (need_cells)
- if (item.ammo_cells)
- if (player.ammo_cells < g_pickup_cells_max)
+
+ if ((need_cells) && (item.ammo_cells) && (player.ammo_cells < g_pickup_cells_max))
c = item.ammo_cells / player.ammo_cells;
- if (need_plasma)
- if (item.ammo_plasma)
- if (player.ammo_plasma < g_pickup_plasma_max)
+
+ if ((need_plasma) && (item.ammo_plasma) && (player.ammo_plasma < g_pickup_plasma_max))
c = item.ammo_plasma / player.ammo_plasma;
- if (need_fuel)
- if (item.ammo_fuel)
- if (player.ammo_fuel < g_pickup_fuel_max)
+
+ if ((need_fuel) && (item.ammo_fuel) && (player.ammo_fuel < g_pickup_fuel_max))
c = item.ammo_fuel / player.ammo_fuel;
rating *= min(2, c);
float itemarmor = item.armorvalue;
float itemhealth = item.health;
+
if(item.item_group)
{
itemarmor *= min(4, item.item_group_count);
itemhealth *= min(4, item.item_group_count);
}
- if (itemarmor)
- if (player.armorvalue < item.max_armorvalue)
+
+ if (itemarmor && (player.armorvalue < item.max_armorvalue))
c = itemarmor / max(1, player.armorvalue * 2/3 + player.health * 1/3);
- if (itemhealth)
- if (player.health < item.max_health)
+
+ if (itemhealth && (player.health < item.max_health))
c = itemhealth / max(1, player.health);
rating *= min(2, c);
spawnfunc(item_bullets)
{
- if(!weaponswapping)
- if(autocvar_sv_q3acompat_machineshotgunswap)
- if(this.classname != "droppedweapon")
+ if(!weaponswapping && autocvar_sv_q3acompat_machineshotgunswap &&
+ (this.classname != "droppedweapon"))
{
weaponswapping = true;
spawnfunc_item_shells(this);
spawnfunc(item_shells)
{
- if(!weaponswapping)
- if(autocvar_sv_q3acompat_machineshotgunswap)
- if(this.classname != "droppedweapon")
+ if(!weaponswapping && autocvar_sv_q3acompat_machineshotgunswap &&
+ (this.classname != "droppedweapon"))
{
weaponswapping = true;
spawnfunc_item_bullets(this);
return;
}
- if (!IS_PLAYER(actor))
- return;
- if(IS_DEAD(actor))
+ if (!IS_PLAYER(actor) || IS_DEAD(actor))
return;
+
if(trigger.solid == SOLID_TRIGGER)
{
EXACTTRIGGER_TOUCH(this, trigger);
spawnfunc(target_items)
{
- int n, j;
+ int n;
string s;
this.use = target_items_use;
}
else
{
- for(j = 0; j < n; ++j)
+ for(int j = 0; j < n; ++j)
{
if (argv(j) == "unlimited_ammo") this.items |= IT_UNLIMITED_AMMO;
else if(argv(j) == "unlimited_weapon_ammo") this.items |= IT_UNLIMITED_WEAPON_AMMO;
//print(this.netname, "\n");
n = tokenize_console(this.netname);
- for(j = 0; j < n; ++j)
+ for(int j = 0; j < n; ++j)
{
FOREACH(Weapons, it != WEP_Null && W_UndeprecateName(argv(j)) == it.netname, {
it.wr_init(it);
*/
vector real_origin(entity ent)
{
- entity e;
vector v = ((ent.absmin + ent.absmax) * 0.5);
+ entity e = ent.tag_entity;
- e = ent.tag_entity;
while(e)
{
v = v + ((e.absmin + e.absmax) * 0.5);
string mapPriorityList(string order, string(string) mapfunc)
{
string neworder;
- float i, n;
+ float n;
n = tokenize_console(order);
neworder = "";
- for(i = 0; i < n; ++i)
+ for(float i = 0; i < n; ++i)
neworder = strcat(neworder, mapfunc(argv(i)), " ");
return substring(neworder, 0, strlen(neworder) - 1);
string swapInPriorityList(string order, float i, float j)
{
- string s;
- float w, n;
-
- n = tokenize_console(order);
+ float n = tokenize_console(order);
if(i >= 0 && i < n && j >= 0 && j < n && i != j)
{
- s = "";
- for(w = 0; w < n; ++w)
+ string s = "";
+ for(float w = 0; w < n; ++w)
{
if(w == i)
s = strcat(s, argv(j), " ");
int skipIncompleteTag(string theText, float pos, int len)
{
- int i = 0, ch = 0;
int tag_start = -1;
if(substring(theText, pos - 1, 1) == "^")
if(isCaretEscaped(theText, pos - 1) || pos >= len)
return 0;
- ch = str2chr(theText, pos);
+ int ch = str2chr(theText, pos);
if(ch >= '0' && ch <= '9')
return 1; // ^[0-9] color code found
else if (ch == 'x')
}
else
{
- for(i = 2; pos - i >= 0 && i <= 4; ++i)
+ for(int i = 2; pos - i >= 0 && i <= 4; ++i)
{
if(substring(theText, pos - i, 2) == "^x")
{
if (start == -1) // no caret found
return "";
int len = strlen(s)-1;
- int i;
- for(i = len; i >= start; --i)
+ for(int i = len; i >= start; --i)
{
if(substring(s, i, 1) != "^")
continue;