lightradiusfade 600\r
lightcolor 1 0.2 0.1\r
\r
-\r
-\r
// used in qcsrc/server/g_grabber.qc: pointparticles(particleeffectnum("grabber_impact"), self.origin, '0 0 0', 1)\r
// decal\r
effect grabber_impact\r
airfriction 2\r
gravity 1\r
\r
+// used in qcsrc/server/cl_weaponsystem.qc: pointparticles(particleeffectnum("grabber_reload"), org, '0 0 0', 1);\r
+effect grabber_reload\r
+count 10\r
+type blood\r
+tex 24 32\r
+size 2 4\r
+alpha 512 512 128\r
+color 0xFF9900 0x994400\r
+bounce -1\r
+airfriction 1\r
+liquidfriction 4\r
+velocityjitter 128 128 32\r
+velocitymultiplier 5\r
+color 0xFF9900 0x994400\r
+staintex 16 24\r
+//blood mist\r
+effect grabber_reload\r
+countabsolute 5\r
+type alphastatic\r
+tex 0 8\r
+size 4 5\r
+alpha 100 256 400\r
+color 0xFF9900 0x994400\r
+originjitter 4 4 4\r
+// small sparks\r
+effect grabber_reload\r
+count 10\r
+type spark\r
+tex 41 41\r
+color 0xFF9900 0xFF0000\r
+size 1 1\r
+alpha 255 255 192\r
+bounce 1.6\r
+stretchfactor 0.7\r
+velocityjitter 100 100 250\r
+velocitymultiplier 2.5\r
+airfriction 2\r
+gravity 1\r
+\r
\r
\r
// used nowhere in code\r
\r
// now begin the reloading process\r
\r
+ // weapon reload effects\r
+ if(self.weapon == WEP_GRABBER)\r
+ {\r
+ vector org;\r
+ org = self.origin + self.view_ofs + self.weaponentity.spawnorigin_x * v_forward - self.weaponentity.spawnorigin_y * v_right + self.weaponentity.spawnorigin_z * v_up;\r
+ SpawnCasing (org, ((random () * 50 + 50) * v_right) - (v_forward * (random () * 25 + 25)) - ((random () * 5 - 30) * v_up), 2, vectoangles(v_forward),'0 250 0', 100, 1, self);\r
+ pointparticles(particleeffectnum("grabber_reload"), org, '0 0 0', 1);\r
+ }\r
sound (self, CHAN_WEAPON2, self.reload_sound, VOL_BASE, ATTN_NORM);\r
- if(self.weapon == WEP_GRABBER) // spawn grabber casting\r
- SpawnCasing (((random () * 50 + 50) * v_right) - (v_forward * (random () * 25 + 25)) - ((random () * 5 - 30) * v_up), 2, vectoangles(v_forward),'0 250 0', 100, 1, self);\r
\r
// do not set ATTACK_FINISHED in reload code any more. This causes annoying delays if eg: You start reloading a weapon,\r
// then quickly switch to another weapon and back. Reloading is canceled, but the reload delay is still there,\r
return TRUE;\r
}\r
\r
-void SpawnCasing(vector vel, float randomvel, vector ang, vector avel, float randomavel, float casingtype, entity casingowner)\r
+void SpawnCasing(vector org, vector vel, float randomvel, vector ang, vector avel, float randomavel, float casingtype, entity casingowner)\r
{\r
entity e;\r
- vector org;\r
-\r
- org = self.origin + self.view_ofs + self.weaponentity.spawnorigin_x * v_forward - self.weaponentity.spawnorigin_y * v_right + self.weaponentity.spawnorigin_z * v_up;\r
\r
if(!sound_allowed(MSG_BROADCAST, casingowner))\r
casingtype |= 0x80;\r