]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/w_campingrifle.qc
nicer lightningun. Need beam to work in third person too, however :(
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / w_campingrifle.qc
index 8f6a9104946ce3f6dc263191d5520853f1065e57..8fc8d839da6ca97b686bc86079c7c52cccbdf2f7 100644 (file)
@@ -1,6 +1,7 @@
 #ifdef REGISTER_WEAPON
 REGISTER_WEAPON(CAMPINGRIFLE, w_campingrifle, IT_NAILS, 3, WEP_FLAG_NORMAL | WEP_TYPE_HITSCAN, BOT_PICKUP_RATING_MID, "campingrifle", "campingrifle", "Rifle");
 #else
+#ifdef SVQC
 //Camping rifle Primary mode: manually operated bolt*, Secondary: full automatic**
 //* Manually operating the bolt means that all the power of the gas is used to propell the bullet. In this mode the bolt is prevented from moving backwards in response to the firing of the bullet.
 //** In fully automatic mode some of the gas is used to extract and reload the next cartrige, thus there is less power and range.
@@ -249,6 +250,43 @@ float w_campingrifle(float req)
                return self.ammo_nails >= cvar("g_balance_campingrifle_primary_ammo");
        else if (req == WR_CHECKAMMO2)
                return self.ammo_nails >= cvar("g_balance_campingrifle_secondary_ammo");
+       else if (req == WR_RELOAD)
+       {
+               W_CampingRifle_Reload();
+       }
+       else if (req == WR_RESETPLAYER)
+       {
+               self.campingrifle_accumulator = time - cvar("g_balance_campingrifle_bursttime");
+               self.campingrifle_bulletcounter = cvar("g_balance_campingrifle_magazinecapacity");
+               W_CampingRifle_CheckMaxBullets(FALSE);
+       }
+       return TRUE;
+};
+#endif
+#ifdef CSQC
+float w_campingrifle(float req)
+{
+       if(req == WR_IMPACTEFFECT)
+       {
+               vector org2;
+               org2 = w_org + w_backoff * 2;
+               pointparticles(particleeffectnum("machinegun_impact"), org2, w_backoff * 1000, 1);
+               if(!w_issilent)
+               {
+                       if(w_random < 0.2)
+                               sound(self, CHAN_PROJECTILE, "weapons/ric1.wav", VOL_BASE, ATTN_NORM);
+                       else if(w_random < 0.4)
+                               sound(self, CHAN_PROJECTILE, "weapons/ric2.wav", VOL_BASE, ATTN_NORM);
+                       else if(w_random < 0.5)
+                               sound(self, CHAN_PROJECTILE, "weapons/ric3.wav", VOL_BASE, ATTN_NORM);
+               }
+       }
+       else if(req == WR_PRECACHE)
+       {
+               precache_sound("weapons/ric1.wav");
+               precache_sound("weapons/ric2.wav");
+               precache_sound("weapons/ric3.wav");
+       }
        else if (req == WR_SUICIDEMESSAGE)
        {
                if(w_deathtype & HITTYPE_SECONDARY)
@@ -281,16 +319,7 @@ float w_campingrifle(float req)
                        }
                }
        }
-       else if (req == WR_RELOAD)
-       {
-               W_CampingRifle_Reload();
-       }
-       else if (req == WR_RESETPLAYER)
-       {
-               self.campingrifle_accumulator = time - cvar("g_balance_campingrifle_bursttime");
-               self.campingrifle_bulletcounter = cvar("g_balance_campingrifle_magazinecapacity");
-               W_CampingRifle_CheckMaxBullets(FALSE);
-       }
        return TRUE;
-};
+}
+#endif
 #endif