- if(fexists(sprintf("%s%s.md3", _fn2, autocvr_cl_simpleitems_postfix)))
- self.mdl = strzone(sprintf("%s%s.md3", _fn2, autocvr_cl_simpleitems_postfix));
- else if(fexists(sprintf("%s%s.dpm", _fn2, autocvr_cl_simpleitems_postfix)))
- self.mdl = strzone(sprintf("%s%s.dpm", _fn2, autocvr_cl_simpleitems_postfix));
- else if(fexists(sprintf("%s%s.iqm", _fn2, autocvr_cl_simpleitems_postfix)))
- self.mdl = strzone(sprintf("%s%s.iqm", _fn2, autocvr_cl_simpleitems_postfix));
- else if(fexists(sprintf("%s%s.obj", _fn2, autocvr_cl_simpleitems_postfix)))
- self.mdl = strzone(sprintf("%s%s.obj", _fn2, autocvr_cl_simpleitems_postfix));
+ if(fexists(sprintf("%s%s.md3", _fn2, autocvar_cl_simpleitems_postfix)))
+ self.mdl = strzone(sprintf("%s%s.md3", _fn2, autocvar_cl_simpleitems_postfix));
+ else if(fexists(sprintf("%s%s.dpm", _fn2, autocvar_cl_simpleitems_postfix)))
+ self.mdl = strzone(sprintf("%s%s.dpm", _fn2, autocvar_cl_simpleitems_postfix));
+ else if(fexists(sprintf("%s%s.iqm", _fn2, autocvar_cl_simpleitems_postfix)))
+ self.mdl = strzone(sprintf("%s%s.iqm", _fn2, autocvar_cl_simpleitems_postfix));
+ else if(fexists(sprintf("%s%s.obj", _fn2, autocvar_cl_simpleitems_postfix)))
+ self.mdl = strzone(sprintf("%s%s.obj", _fn2, autocvar_cl_simpleitems_postfix));
else
{
self.draw = ItemDraw;
if(autocvar_g_pickup_items == 0)
return FALSE;
if(g_weaponarena)
- if(self.weapons || (self.items & IT_AMMO))
+ if(self.weapons || (self.items & IT_AMMO)) // no item or ammo pickups in weaponarena
return FALSE;
}
return TRUE;
}
-floatfield Item_CounterField(float it)
-{
- switch(it)
- {
- case IT_SHELLS: return ammo_shells;
- case IT_NAILS: return ammo_nails;
- case IT_ROCKETS: return ammo_rockets;
- case IT_CELLS: return ammo_cells;
- case IT_FUEL: return ammo_fuel;
- case IT_5HP: return health;
- case IT_25HP: return health;
- case IT_HEALTH: return health;
- case IT_ARMOR_SHARD: return armorvalue;
- case IT_ARMOR: return armorvalue;
- // add more things here (health, armor)
- default: error("requested item has no counter field");
- }
-#ifdef GMQCC
- // should never happen
- return health;
-#endif
-}
-
-string Item_CounterFieldName(float it)
-{
- switch(it)
- {
- case IT_SHELLS: return "shells";
- case IT_NAILS: return "nails";
- case IT_ROCKETS: return "rockets";
- case IT_CELLS: return "cells";
- case IT_FUEL: return "fuel";
-
- // add more things here (health, armor)
- default: error("requested item has no counter field name");
- }
-#ifdef GMQCC
- // should never happen
- return string_null;
-#endif
-}
-
/*
float Item_Customize()
{
Item_ScheduleRespawnIn(e, game_starttime - time + ITEM_RESPAWNTIME_INITIAL(e));
}
-float Item_GiveAmmoTo(entity item, entity player, .float ammofield, float ammomax, float mode)
+float Item_GiveAmmoTo(entity item, entity player, .float ammotype, float ammomax, float mode)
{
- if (!item.ammofield)
+ if (!item.ammotype)
return FALSE;
if (item.spawnshieldtime)
{
- if ((player.ammofield < ammomax) || item.pickup_anyway)
+ if ((player.ammotype < ammomax) || item.pickup_anyway)
{
- player.ammofield = bound(player.ammofield, ammomax, player.ammofield + item.ammofield);
+ player.ammotype = bound(player.ammotype, ammomax, player.ammotype + item.ammotype);
goto YEAH;
}
}
else if(g_weapon_stay == 2)
{
- float mi = min(item.ammofield, ammomax);
- if (player.ammofield < mi)
+ float mi = min(item.ammotype, ammomax);
+ if (player.ammotype < mi)
{
- player.ammofield = mi;
+ player.ammotype = mi;
goto YEAH;
}
}
return;
if (self.owner == other)
return;
+ if (time < self.item_spawnshieldtime)
+ return;
switch(MUTATOR_CALLHOOK(ItemTouch))
{