44 randomp.x = randomr *
cos(randomw);
45 randomp.y = randomr *
sin(randomw);
58 for (; head; head = head.chain)
66 case 1:
if (head == this.
realowner)
continue;
68 STAT(NADE_DARKNESS_TIME, head) = this.nextthink;
74 entity fountain =
new(nade_darkness_fountain);
75 fountain.owner = this.
owner;
77 fountain.origin = this.
origin;
80 setorigin(fountain, fountain.origin);
82 fountain.nextthink =
time;
84 fountain.team = this.
team;
86 fountain.projectiledeathtype = DEATH_NADE_DARKNESS.m_id;
87 fountain.bot_dodge =
false;
88 setsize(fountain,
'-16 -16 -16',
'16 16 16');
89 fountain.nade_special_time =
time + 0.3;
90 fountain.angles = this.
angles;
94 setmodel(fountain, MDL_PROJECTILE_GRENADE);
97 setattachment(
timer, fountain,
"");
102 timer.wait = fountain.wait;
104 timer.owner = fountain;
123 if (
STAT(NADE_DARKNESS_TIME) >
time)
148 PAR(_(
"The %s detonates after a short delay, creating a dark field which temporarily blinds enemies who enter it."),
COLORED_NAME(
this));
149 PAR(_(
"This is sort of the opposite of the %s."),
COLORED_NAME(NADE_TYPE_VEIL));
#define MUTATOR_HOOKFUNCTION(...)
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 drawfill(position, size, rgb, alpha, flag)
#define COLORED_NAME(this)
#define setmodel(this, m)
const float DRAWFLAG_NORMAL
float nade_current_dark_time
void nade_darkness_boom(entity this)
bool nade_darkness_think_cond(entity e)
void nade_darkness_think(entity this)
float autocvar_g_nades_darkness_radius
bool autocvar_g_nades_darkness_teamcheck
bool autocvar_g_nades_darkness_explode
float autocvar_g_nades_darkness_time
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)
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
noref float vid_conheight
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)
#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)
#define IS_REAL_CLIENT(v)