54{
55 float dd = range + 1;
58 {
59 float r = turret_validate_target(actor, it, actor.target_validate_flags);
60 if (r > 0)
61 {
62 traceline(from.origin, 0.5 * (it.absmin + it.absmax), MOVE_WORLDONLY, from);
63 if (trace_fraction == 1.0)
64 {
65 float d = vlen(it.origin - from.origin);
66 if (d < dd)
67 {
68 dd = d;
69 etarget = it;
70 }
71 }
72 }
73 });
74
75 if (etarget)
76 {
78 if (etarget != actor.realowner)
79 Damage(etarget, actor, actor,
80 damage,
81 DEATH_TURRET_TESLA.m_id,
83 etarget.origin,
84 '0 0 0'
85 );
86 etarget.railgunhit = true;
88 }
89
90 return etarget;
91}
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
void Damage(entity targ, entity inflictor, entity attacker, float damage, int deathtype,.entity weaponentity, vector hitloc, vector force)
ERASEABLE entity IL_PUSH(IntrusiveList this, entity it)
Push to tail.
#define FOREACH_ENTITY_RADIUS(org, dist, cond, body)
void te_csqc_lightningarc(vector from, vector to)
IntrusiveList g_railgunhit