6 Send_Effect(EFFECT_ELECTRO_IMPACT, frost_target.origin,
'0 0 0', 1);
42 randomp.x = randomr *
cos(randomw);
43 randomp.y = randomr *
sin(randomw);
55 float current_freeze_time = this.
ltime -
time - 0.1;
59 && (!it.revival_time || ((
time - it.revival_time) >= 1.5))
68 case 1:
if (it == this.
realowner)
continue;
76 entity fountain =
new(nade_ice_fountain);
77 fountain.owner = this.
owner;
79 fountain.origin = this.
origin;
82 setorigin(fountain, fountain.origin);
84 fountain.nextthink =
time;
86 fountain.team = this.
team;
88 fountain.projectiledeathtype = DEATH_NADE_ICE.m_id;
89 fountain.bot_dodge =
false;
90 setsize(fountain,
'-16 -16 -16',
'16 16 16');
91 fountain.nade_special_time =
time + 0.3;
92 fountain.angles = this.
angles;
96 setmodel(fountain, MDL_PROJECTILE_GRENADE);
99 setattachment(
timer, fountain,
"");
104 timer.wait = fountain.wait;
106 timer.owner = fountain;
118 PAR(_(
"The %s detonates after a short delay, freezing any enemies who walk within the explosion radius for a few seconds after the explosion. "
119 "While frozen, players can't move or shoot, leaving them vulnerable to damage, but if left too long they'll unfreeze and run away!"),
COLORED_NAME(
this));
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
float GetResource(entity e, Resource res_type)
Returns the current amount of resource the given entity has.
#define COLORED_NAME(this)
#define setmodel(this, m)
void Send_Effect(entity eff, vector eff_loc, vector eff_vel, int eff_cnt)
void Send_Effect_Except(entity eff, vector eff_loc, vector eff_vel, int eff_cnt, vector eff_col_min, vector eff_col_max, entity ignore)
void nade_ice_freeze(entity freezefield, entity frost_target, float freezetime)
void nade_ice_boom(entity this)
void nade_ice_think(entity this)
float autocvar_g_nades_ice_radius
bool autocvar_g_nades_ice_explode
float autocvar_g_nades_ice_freeze_time
bool autocvar_g_nades_ice_teamcheck
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
#define FOREACH_ENTITY_RADIUS(org, dist, cond, body)
void set_movetype(entity this, int mt)
void nade_normal_boom(entity this)
#define METHOD(cname, name, prototype)
#define round_handler_IsActive()
#define round_handler_IsRoundStarted()
IntrusiveList g_projectiles
#define sound(e, c, s, v, a)
bool StatusEffects_active(StatusEffect this, entity actor)
void StatusEffects_apply(StatusEffect this, entity actor, float eff_time, int eff_flags)
#define PAR(...)
Adds an individually translatable paragraph to PAGE_TEXT without having to deal with strcat and sprin...
vector nades_PlayerColor(entity this, bool isPants)
void nade_timer_think(entity this)