]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/common/weapons/w_minelayer.qc
Add a function to control weapon sound paths with hooks
[xonotic/xonotic-data.pk3dir.git] / qcsrc / common / weapons / w_minelayer.qc
index 25ac30e4bd9b1a9bc1df5123da0d2f1e68d6786e..61ae5362ab49262eb924f6cbc1e2e1192348f829 100644 (file)
@@ -61,7 +61,7 @@ void spawnfunc_weapon_minelayer(void) { weapon_defaultspawnfunc(WEP_MINE_LAYER.m
 
 void W_MineLayer_Stick(entity to)
 {
-       spamsound(self, CH_SHOTS, "weapons/mine_stick.wav", VOL_BASE, ATTN_NORM);
+       spamsound(self, CH_SHOTS, W_Sound("mine_stick"), VOL_BASE, ATTN_NORM);
 
        // in order for mines to face properly when sticking to the ground, they must be a server side entity rather than a csqc projectile
 
@@ -225,7 +225,7 @@ void W_MineLayer_Think(void)
        if((time > self.cnt) && (!self.mine_time) && (self.cnt > 0))
        {
                if(WEP_CVAR(minelayer, lifetime_countdown) > 0)
-                       spamsound(self, CH_SHOTS, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM);
+                       spamsound(self, CH_SHOTS, W_Sound("mine_trigger"), VOL_BASE, ATTN_NORM);
                self.mine_time = time + WEP_CVAR(minelayer, lifetime_countdown);
                self.mine_explodeanyway = 1; // make the mine super aggressive -- Samual: Rather, make it not care if a team mate is near.
        }
@@ -248,7 +248,7 @@ void W_MineLayer_Think(void)
                if(head != self.realowner && DIFF_TEAM(head, self.realowner)) // don't trigger for team mates
                if(!self.mine_time)
                {
-                       spamsound(self, CH_SHOTS, "weapons/mine_trigger.wav", VOL_BASE, ATTN_NORM);
+                       spamsound(self, CH_SHOTS, W_Sound("mine_trigger"), VOL_BASE, ATTN_NORM);
                        self.mine_time = time + WEP_CVAR(minelayer, time);
                }
                head = head.chain;
@@ -320,14 +320,14 @@ void W_MineLayer_Attack(void)
                {
                        // the refire delay keeps this message from being spammed
                        Send_Notification(NOTIF_ONE, self, MSG_MULTI, WEAPON_MINELAYER_LIMIT, WEP_CVAR(minelayer, limit));
-                       play2(self, "weapons/unavailable.wav");
+                       play2(self, W_Sound("unavailable"));
                        return;
                }
        }
 
        W_DecreaseAmmo(WEP_CVAR(minelayer, ammo));
 
-       W_SetupShot_ProjectileSize(self, '-4 -4 -4', '4 4 4', false, 5, "weapons/mine_fire.wav", CH_WEAPON_A, WEP_CVAR(minelayer, damage));
+       W_SetupShot_ProjectileSize(self, '-4 -4 -4', '4 4 4', false, 5, W_Sound("mine_fire"), CH_WEAPON_A, WEP_CVAR(minelayer, damage));
        Send_Effect("rocketlauncher_muzzleflash", w_shotorg, w_shotdir * 1000, 1);
 
        mine = WarpZone_RefSys_SpawnSameRefSys(self);
@@ -527,7 +527,7 @@ bool W_MineLayer(int req)
                        if(self.BUTTON_ATCK2)
                        {
                                if(W_MineLayer_PlacedMines(true))
-                                       sound(self, CH_WEAPON_B, "weapons/mine_det.wav", VOL_BASE, ATTN_NORM);
+                                       sound(self, CH_WEAPON_B, W_Sound("mine_det"), VOL_BASE, ATTN_NORM);
                        }
 
                        return true;
@@ -536,13 +536,13 @@ bool W_MineLayer(int req)
                {
                        precache_model("models/flash.md3");
                        precache_model("models/mine.md3");
-                       precache_model("models/weapons/g_minelayer.md3");
-                       precache_model("models/weapons/v_minelayer.md3");
-                       precache_model("models/weapons/h_minelayer.iqm");
-                       precache_sound("weapons/mine_det.wav");
-                       precache_sound("weapons/mine_fire.wav");
-                       precache_sound("weapons/mine_stick.wav");
-                       precache_sound("weapons/mine_trigger.wav");
+                       precache_model(W_Model("g_minelayer.md3"));
+                       precache_model(W_Model("v_minelayer.md3"));
+                       precache_model(W_Model("h_minelayer.iqm"));
+                       precache_sound(W_Sound("mine_det"));
+                       precache_sound(W_Sound("mine_fire"));
+                       precache_sound(W_Sound("mine_stick"));
+                       precache_sound(W_Sound("mine_trigger"));
                        MINELAYER_SETTINGS(WEP_SKIP_CVAR, WEP_SET_PROP);
                        return true;
                }
@@ -576,7 +576,7 @@ bool W_MineLayer(int req)
                }
                case WR_RELOAD:
                {
-                       W_Reload(WEP_CVAR(minelayer, ammo), "weapons/reload.wav");
+                       W_Reload(WEP_CVAR(minelayer, ammo), W_Sound("reload"));
                        return true;
                }
                case WR_SUICIDEMESSAGE: