+ if(time < self.GauntletBeamKillTime)
+ {
+ s = cvar("cl_gunalign");
+ if(s != 1 && s != 2 && s != 4)
+ s = 3; // default value
+ --s;
+ vs = gauntlet_shotorigin[s];
+
+ if(self.sv_entnum == player_localentnum - 1)
+ {
+ b = view_origin + view_forward * MAX_SHOT_DISTANCE;
+ WarpZone_TraceLine(view_origin, b, MOVE_NORMAL, world);
+ a = view_origin + view_forward * vs_x + view_right * -vs_y + view_up * vs_z;
+ }
+ else
+ {
+ a = self.GauntletBeamStart;
+ b = self.GauntletBeamEnd;
+ }
+
+ tex = "particles/gauntletbeam";
+ rgb = '1 1 1';
+
+ Draw_GrapplingHook_trace_callback_tex = tex;
+ Draw_GrapplingHook_trace_callback_rnd = random();
+ WarpZone_TraceBox_ThroughZone(a, '0 0 0', '0 0 0', b, MOVE_NORMAL, world, world, Draw_GrapplingHook_trace_callback);
+ Draw_GrapplingHook_trace_callback_tex = string_null;
+
+ // helps the sound
+ setorigin(self, a);
+ }
+