case ENT_CLIENT_HOOK:
vs = hook_shotorigin[s];
break;
- case ENT_CLIENT_LGBEAM:
+ case ENT_CLIENT_ELECTRO_BEAM:
vs = electro_shotorigin[s];
break;
+ case ENT_CLIENT_LIGHTNING_BEAM:
+ vs = lightning_shotorigin[s];
+ break;
case ENT_CLIENT_GAUNTLET:
vs = gauntlet_shotorigin[s];
break;
a = view_origin + view_forward * vs_x + view_right * -vs_y + view_up * vs_z;
b = self.origin;
break;
- case ENT_CLIENT_LGBEAM:
+ case ENT_CLIENT_ELECTRO_BEAM:
+ case ENT_CLIENT_LIGHTNING_BEAM:
case ENT_CLIENT_GAUNTLET:
if(self.HookRange)
b = view_origin + view_forward * self.HookRange;
a = self.velocity;
b = self.origin;
break;
- case ENT_CLIENT_LGBEAM:
+ case ENT_CLIENT_ELECTRO_BEAM:
+ case ENT_CLIENT_LIGHTNING_BEAM:
case ENT_CLIENT_GAUNTLET:
a = self.origin;
b = self.velocity;
rgb = '.3 1 .3';
}
break;
- case ENT_CLIENT_LGBEAM:
+ case ENT_CLIENT_ELECTRO_BEAM:
+ intensity = bound(0.2, 1 + Noise_Pink(self, frametime) * 1 + Noise_Burst(self, frametime, 0.03) * 0.3, 2);
+ offset = Noise_Brown(self, frametime) * 10;
+ tex = "particles/lgbeam";
+ rgb = '1 1 1';
+ break;
+ case ENT_CLIENT_LIGHTNING_BEAM: // todo
intensity = bound(0.2, 1 + Noise_Pink(self, frametime) * 1 + Noise_Burst(self, frametime, 0.03) * 0.3, 2);
offset = Noise_Brown(self, frametime) * 10;
tex = "particles/lgbeam";
self.drawmask = 0;
}
break;
- case ENT_CLIENT_LGBEAM:
+ case ENT_CLIENT_ELECTRO_BEAM:
+ case ENT_CLIENT_LIGHTNING_BEAM:
case ENT_CLIENT_GAUNTLET:
setorigin(self, a); // beam origin!
break;
default:
case ENT_CLIENT_HOOK:
break;
- case ENT_CLIENT_LGBEAM:
- pointparticles(particleeffectnum("electro_lightning"), trace_endpos, normalize(atrans - trace_endpos), frametime * intensity);
+ case ENT_CLIENT_ELECTRO_BEAM:
+ pointparticles(particleeffectnum("electro_lightning"), trace_endpos, normalize(atrans - trace_endpos), frametime * intensity); // todo: new effect
+ break;
+ case ENT_CLIENT_LIGHTNING_BEAM:
+ pointparticles(particleeffectnum("electro_lightning"), trace_endpos, normalize(atrans - trace_endpos), frametime * intensity); // todo: new effect
break;
case ENT_CLIENT_GAUNTLET:
pointparticles(particleeffectnum("gauntlet_lightning"), b, normalize(a - b), frametime * intensity);
case ENT_CLIENT_GAUNTLET:
self.HookRange = 0;
break;
- case ENT_CLIENT_LGBEAM:
+ case ENT_CLIENT_ELECTRO_BEAM:
+ case ENT_CLIENT_LIGHTNING_BEAM:
self.HookRange = ReadCoord();
break;
}
setmodel(self, "models/hook.md3");
self.drawmask = MASK_NORMAL;
break;
- case ENT_CLIENT_LGBEAM:
+ case ENT_CLIENT_ELECTRO_BEAM:
+ sound (self, CH_SHOTS_SINGLE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
+ break;
+ case ENT_CLIENT_LIGHTNING_BEAM:
sound (self, CH_SHOTS_SINGLE, "weapons/lgbeam_fly.wav", VOL_BASE, ATTN_NORM);
break;
case ENT_CLIENT_GAUNTLET: