14 if (
toucher.(weaponentity).clip_size)
17 ?
toucher.(weaponentity).clip_size
33 #define GIVE_AMMO_RESOURCE(res_resource, max_resource) \
34 if (GetResource(toucher, res_resource) < max_resource) \
36 GiveResourceWithLimit(toucher, res_resource, ammo_factor, max_resource); \
44 #undef GIVE_AMMO_RESOURCE
49 else if (ammo_factor < 0)
52 #define DROP_AMMO_RESOURCE(res_resource) \
53 amresource = GetResource(toucher, res_resource); \
55 SetResource(toucher, res_resource, max(0, amresource + ammo_factor));
61 #undef DROP_AMMO_RESOURCE
80 PAR(_(
"The %s detonates after a short delay, temporarily creating an orb around the point where it detonated for several seconds. "
81 "If your team members enter the orb they will recover ammo, and if enemies enter the sphere they will lose ammo."),
COLORED_NAME(
this));
82 PAR(_(
"Similar to the %s buff, your weapon magazines remain full while you are inside the orb, so you don't need to reload."),
COLORED_NAME(BUFF_AMMO));
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
#define COLORED_NAME(this)
int autocvar_g_pickup_rockets_max
int autocvar_g_pickup_shells_max
int autocvar_g_pickup_cells_max
int autocvar_g_pickup_nails_max
#define DROP_AMMO_RESOURCE(res_resource)
void nade_ammo_touch(entity this, entity toucher)
void nade_ammo_boom(entity this)
#define GIVE_AMMO_RESOURCE(res_resource, max_resource)
float autocvar_g_nades_ammo_rate
float autocvar_g_nades_ammo_radius
float autocvar_g_nades_ammo_time
float autocvar_g_nades_ammo_clip_empty_rate
float autocvar_g_nades_ammo_foe
float autocvar_g_nades_ammo_friend
void Send_Effect(entity eff, vector eff_loc, vector eff_vel, int eff_cnt)
#define METHOD(cname, name, prototype)
#define PAR(...)
Adds an individually translatable paragraph to PAGE_TEXT without having to deal with strcat and sprin...
entity nades_spawn_orb(entity this, float orb_lifetime, float orb_rad)
Spawns an orb for some nade types.
const int MAX_WEAPONSLOTS
entity weaponentities[MAX_WEAPONSLOTS]