6 Send_Effect(EFFECT_ELECTRO_IMPACT, frost_target.origin,
'0 0 0', 1);
18 && (!e.revival_time || (
time - e.revival_time) >= 1.5)
51 randomp.x = randomr *
cos(randomw);
52 randomp.y = randomr *
sin(randomw);
67 for (; head; head = head.chain)
75 case 1:
if (head == this.
realowner)
continue;
83 entity fountain =
new(nade_ice_fountain);
84 fountain.owner = this.
owner;
86 fountain.origin = this.
origin;
89 setorigin(fountain, fountain.origin);
91 fountain.nextthink =
time;
93 fountain.team = this.
team;
95 fountain.projectiledeathtype = DEATH_NADE_ICE.m_id;
96 fountain.bot_dodge =
false;
97 setsize(fountain,
'-16 -16 -16',
'16 16 16');
98 fountain.nade_special_time =
time + 0.3;
99 fountain.angles = this.
angles;
103 setmodel(fountain, MDL_PROJECTILE_GRENADE);
106 setattachment(
timer, fountain,
"");
111 timer.wait = fountain.wait;
113 timer.owner = fountain;
125 PAR(_(
"The %s detonates after a short delay, freezing any enemies who walk within the explosion radius for a few seconds after the explosion. "
126 "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_Core(entity eff, vector eff_loc, vector eff_vel, int eff_cnt, vector eff_col_min, vector eff_col_max, float eff_alpha_min, float eff_alpha_max, float eff_alpha_fade, entity ignore)
void Send_Effect(entity eff, vector eff_loc, vector eff_vel, int eff_cnt)
void nade_ice_freeze(entity freezefield, entity frost_target, float freezetime)
bool nade_ice_think_cond(entity e)
float nade_current_freeze_time
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.
entity WarpZone_SearchInRadius(vector org, float rad, float nomonsters, WarpZone_FindRadius_cond_callback_t cb)
Modified findradius aware of warpzones, that only includes entities that meet the "cb" criteria.
noref entity WarpZone_SearchInRadius_otherent
Free to use in the callback.
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)