Grabber reload particles
authorMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Tue, 12 Jul 2011 17:31:43 +0000 (20:31 +0300)
committerMirceaKitsune <sonichedgehog_hyperblast00@yahoo.com>
Tue, 12 Jul 2011 17:31:43 +0000 (20:31 +0300)
data/effectinfo.txt
data/qcsrc/server/cl_weaponsystem.qc
data/qcsrc/server/g_casings.qc

index 499832f..b3ba20d 100644 (file)
@@ -2060,8 +2060,6 @@ lightradius 160
 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
@@ -2238,6 +2236,45 @@ velocitymultiplier 2.5
 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
index 465eeaf..eed6d74 100644 (file)
@@ -1690,9 +1690,15 @@ void W_Reload(float sent_ammo_min, float sent_ammo_amount, float sent_time, stri
 \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
index 0deac26..9726c18 100644 (file)
@@ -12,12 +12,9 @@ float Casing_SendEntity(entity to, float sf)
        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