\r
\r
\r
-// used in qcsrc/server/g_grabber.qc: pointparticles(particleeffectnum("grapple_muzzleflash"), org, '0 0 0', 1)\r
-effect grapple_muzzleflash\r
+// used in qcsrc/server/g_grabber.qc: pointparticles(particleeffectnum("grabber_muzzleflash"), org, '0 0 0', 1)\r
+effect grabber_muzzleflash\r
lightradius 160\r
lightradiusfade 600\r
-lightcolor 1 0.2 0.1\r
+lightcolor 0 0.8 1\r
+effect grabber_muzzleflash\r
+count 30\r
+type spark\r
+tex 31 31\r
+color 0xD9FDFF 0xD9FDFF\r
+size 3 3\r
+alpha 0 128 512\r
+originjitter 1 1 1\r
+velocityjitter 300 300 300\r
+velocitymultiplier 0.5\r
+airfriction 12\r
+effect grabber_muzzleflash\r
+countabsolute 5\r
+type alphastatic\r
+tex 0 8\r
+size 1 3\r
+sizeincrease 5\r
+alpha 50 128 50\r
+gravity -0.02\r
+color 0x000000 0x44ccff\r
+originjitter 5 5 5\r
\r
// used in qcsrc/server/g_grabber.qc: pointparticles(particleeffectnum("grabber_impact"), self.origin, '0 0 0', 1)\r
// decal\r
gravity -0.01\r
color 0x000000 0x886666\r
originjitter 20 20 5\r
-// sparls\r
+// sparks\r
effect ground_metal\r
count 10\r
type spark\r
// UGLY WORKAROUND: play this on CHAN_WEAPON2 so it can't cut off fire sounds\r
sound (self, CHAN_WEAPON2, "weapons/grabber_fire.wav", VOL_BASE, ATTN_NORM);\r
org = self.origin + self.view_ofs + v_forward * grabber_shotorigin_x + v_right * grabber_shotorigin_y + v_up * grabber_shotorigin_z;\r
- pointparticles(particleeffectnum("grapple_muzzleflash"), org, '0 0 0', 1);\r
+ pointparticles(particleeffectnum("grabber_muzzleflash"), org, '0 0 0', 1);\r
\r
missile = WarpZone_RefSys_SpawnSameRefSys(self);\r
missile.owner = self;\r
return;\r
\r
W_SetupShot (self, TRUE, 0, "weapons/grabber_altfire.wav", cvar("g_balance_grabber_secondary_damage"));\r
+ pointparticles(particleeffectnum("grabber_muzzleflash"), w_shotorg, '0 0 0', 1);\r
W_Grabber_UpdateStats(self, TRUE, FALSE); // the hit is recorded below\r
\r
WarpZone_traceline_antilag(self, w_shotorg, w_shotorg + w_shotdir * cvar("g_balance_grabber_secondary_radius"), FALSE, self, ANTILAG_LATENCY(self));\r