5{
7 return;
8
11 {
15 for (; head; head = head.chain)
17 if (!
IS_DEAD(head) && !
STAT(FROZEN, head) && !head.vehicle)
18 {
19 head_dist2 =
vlen2(head.WarpZone_findradius_dist);
20 if (head_dist2 < best_dist2)
21 {
22 best_dist2 = head_dist2;
23 closest = head;
24 }
25 }
26
27 if (closest)
28 {
29 vector my_org = player.origin;
30 vector my_vel = player.velocity;
31 vector my_ang = player.angles;
32 vector their_org = closest.origin;
33 vector their_vel = closest.velocity;
34 vector their_ang = closest.angles;
35
37
39
40 setorigin(player, their_org);
41 setorigin(closest, my_org);
42
43 closest.velocity = my_vel;
44 closest.angles = my_ang;
46 {
47 closest.v_angle = closest.angles;
49 }
50 closest.fixangle = true;
51 closest.oldorigin = my_org;
52 closest.oldvelocity = my_vel;
53 player.velocity = their_vel;
54 player.angles = their_ang;
56 {
57 player.v_angle = player.angles;
59 }
60 player.fixangle = true;
61 player.oldorigin = their_org;
62 player.oldvelocity = their_vel;
63
64
65 closest.pusher = player;
68
69 Send_Effect(EFFECT_ELECTRO_COMBO, their_org,
'0 0 0', 1);
70 Send_Effect(EFFECT_ELECTRO_COMBO, my_org,
'0 0 0', 1);
71
74
75
77 return true;
78 }
79 }
80}
void bot_aim_reset(entity this)
#define MUTATOR_CALLHOOK(id,...)
#define MUTATOR_RETURNVALUE
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
#define PHYS_INPUT_BUTTON_CHAT(s)
float autocvar_g_maxpushtime
void Send_Effect(entity eff, vector eff_loc, vector eff_vel, int eff_cnt)
entity WarpZone_FindRadius(vector org, float rad, bool needlineofsight)
@ STATUSEFFECT_REMOVE_NORMAL
Effect is being removed by a function, calls regular removal mechanics.
void Drop_Special_Items(entity player)
#define sound(e, c, s, v, a)
bool StatusEffects_active(StatusEffect this, entity actor)
void buff_RemoveAll(entity actor, int removal_type)
float autocvar_g_buffs_swapper_range
#define IS_BOT_CLIENT(v)
want: (IS_CLIENT(v) && !IS_REAL_CLIENT(v))