diff --git a/cstrike/data.pk3dir/sound/weapons_cstrike.sndshd b/cstrike/data.pk3dir/sound/weapons_cstrike.sndshd index 91641e2c..8295170c 100644 --- a/cstrike/data.pk3dir/sound/weapons_cstrike.sndshd +++ b/cstrike/data.pk3dir/sound/weapons_cstrike.sndshd @@ -3,18 +3,192 @@ weapon_ak47.fire sample weapons/ak47-1.wav sample weapons/ak47-2.wav } + weapon_aug.fire { sample weapons/aug-1.wav sample weapons/aug-2.wav } + weapon_awp.fire { sample weapons/awp-1.wav sample weapons/awp-2.wav } + +weapon_c4bomb.disarm +{ + sample weapons/c4_disarm.wav +} + +weapon_c4bomb.disarmed +{ + sample weapons/c4_disarmed.wav +} + +weapon_c4bomb.explode +{ + sample weapons/c4_explode1.wav +} + +weapon_c4bomb.plant +{ + sample weapons/c4_plant.wav +} + weapon_deagle.fire { sample weapons/deagle-1.wav sample weapons/deagle-2.wav } + +weapon_elites.fire +{ + sample weapons/elites-1.wav + sample weapons/elites-2.wav +} + +weapon_fiveseven.fire +{ + sample weapons/fiveseven-1.wav + sample weapons/fiveseven-2.wav +} + +weapon_flashbang.explode +{ + sample weapons/flashbang-1.wav +} + +weapon_g3sg1.fire +{ + sample weapons/g3sg1-1.wav + sample weapons/g3sg1-2.wav +} + +weapon_glock.fire +{ + sample weapons/glock18-1.wav + sample weapons/glock18-2.wav +} + +weapon_grenade.bounce +{ + sample weapons/he_bounce-1.wav +} + +weapon_hegrenade.explode +{ +} + +weapon_knife.hit +{ + sample weapons/knife_hitwall1.wav +} + +weapon_knife.hitbody +{ + sample weapons/knife_hit1.wav + sample weapons/knife_hit2.wav + sample weapons/knife_hit3.wav + sample weapons/knife_hit4.wav +} + +weapon_knife.hithard +{ + sample weapons/knife_stab.wav +} + +weapon_knife.miss +{ + sample weapons/knife_slash1.wav +} + +weapon_m3.fire +{ + sample weapons/m3-1.wav +} + +weapon_m4a1.fire +{ + sample weapons/m4a1_unsil-1.wav + sample weapons/m4a1_unsil-2.wav +} + +weapon_m4a1.silenced +{ + sample weapons/m4a1-1.wav +} + +weapon_mac10.fire +{ + sample weapons/mac10-1.wav +} + +weapon_mp5.fire +{ + sample weapons/mp5-1.wav +} + +weapon_p228.fire +{ + sample weapons/p228-1.wav +} + +weapon_p90.fire +{ + sample weapons/p90-1.wav +} + + +weapon_para.fire +{ + sample weapons/m249-1.wav + sample weapons/m249-2.wav +} + +weapon_scout.fire +{ + sample weapons/scout_fire-1.wav +} + +weapon_sg550.fire +{ + sample weapons/sg550-1.wav +} + +weapon_sg552.fire +{ + sample weapons/sg552-1.wav +} + +weapon_smokegrenade.explode +{ + sample weapons/sg_explode.wav +} + +weapon_tmp.fire +{ + sample weapons/tmp-1.wav + sample weapons/tmp-2.wav +} + +weapon_ump45.fire +{ + sample weapons/ump45-1.wav +} + +weapon_usp45.fire +{ + sample weapons/usp_unsil-1.wav +} + +weapon_usp45.silencer +{ + sample weapons/usp1.wav + sample weapons/usp2.wav +} + +weapon_xm1014.fire +{ + sample weapons/xm1014-1.wav +} diff --git a/hunger/data.pk3dir/sound/items_hunger.sndshd b/hunger/data.pk3dir/sound/items_hunger.sndshd index 5dbd089f..9b4d78bc 100644 --- a/hunger/data.pk3dir/sound/items_hunger.sndshd +++ b/hunger/data.pk3dir/sound/items_hunger.sndshd @@ -1,4 +1,4 @@ -ammo_gass.pickup +ammo_gas.pickup { sample player/pl_slosh1.wav } diff --git a/scihunt.fmf b/scihunt.fmf index 527a8650..d018b9db 100644 --- a/scihunt.fmf +++ b/scihunt.fmf @@ -25,7 +25,7 @@ BASEGAME scihunt -seta gameinfo_menutrack "sound/Hondo2/pca.wav" // download/update packaging information -PACKAGE scihunt/pak0.pk3 0xc1cbd5c1 "http://www.frag-net.com/files/scihunt_pak0.pk3" +PACKAGE scihunt/pak0.pk3 0xc1cbd5c1 "http://www.frag-net.com/dl/c1cbd5c1/pak0.pk3" // do we want this? I don't want to automatically update it // UPDATEURL http://www.frag-net.com/mods/scihunt.fmf diff --git a/src/client/cstrike/progs.src b/src/client/cstrike/progs.src index ad6528f9..0f085df0 100644 --- a/src/client/cstrike/progs.src +++ b/src/client/cstrike/progs.src @@ -47,10 +47,11 @@ ../../shared/cstrike/items.h ../../shared/valve/weapon_common.h ../../shared/cstrike/weapons.h +../../shared/cstrike/w_ak47.c +../../shared/cstrike/w_deagle.c ../../shared/cstrike/w_knife.c ../../shared/cstrike/w_usp45.c ../../shared/cstrike/w_glock18.c -../../shared/cstrike/w_deagle.c ../../shared/cstrike/w_p228.c ../../shared/cstrike/w_elites.c ../../shared/cstrike/w_fiveseven.c @@ -61,7 +62,6 @@ ../../shared/cstrike/w_ump45.c ../../shared/cstrike/w_mac10.c ../../shared/cstrike/w_tmp.c -../../shared/cstrike/w_ak47.c ../../shared/cstrike/w_sg552.c ../../shared/cstrike/w_m4a1.c ../../shared/cstrike/w_aug.c diff --git a/src/menu-fn/m_customgame.cpp b/src/menu-fn/m_customgame.cpp index 0344ea4e..fae9f4f5 100644 --- a/src/menu-fn/m_customgame.cpp +++ b/src/menu-fn/m_customgame.cpp @@ -196,7 +196,7 @@ void customgame_btninstall_start(void) { int gid = customgame_lbMods.GetSelected(); print(sprintf("Requesting download for http://www.frag-net.com/mods/%s.fmf...\n", games[gid].gamedir)); - localcmd(sprintf("fs_changegame http://www.frag-net.com/mods/%s.fmf\n", games[gid].game)); + localcmd(sprintf("fs_changegame %s http://www.frag-net.com/mods/%s.fmf\n", games[gid].gamedir, games[gid].gamedir)); } void customgame_btndeactivate_start(void) { diff --git a/src/server/cstrike/progs.src b/src/server/cstrike/progs.src index be7dc019..5e8f8f98 100755 --- a/src/server/cstrike/progs.src +++ b/src/server/cstrike/progs.src @@ -34,10 +34,11 @@ ../../shared/cstrike/items.h ../../shared/valve/weapon_common.h ../../shared/cstrike/weapons.h +../../shared/cstrike/w_ak47.c +../../shared/cstrike/w_deagle.c ../../shared/cstrike/w_knife.c ../../shared/cstrike/w_usp45.c ../../shared/cstrike/w_glock18.c -../../shared/cstrike/w_deagle.c ../../shared/cstrike/w_p228.c ../../shared/cstrike/w_elites.c ../../shared/cstrike/w_fiveseven.c @@ -48,7 +49,6 @@ ../../shared/cstrike/w_ump45.c ../../shared/cstrike/w_mac10.c ../../shared/cstrike/w_tmp.c -../../shared/cstrike/w_ak47.c ../../shared/cstrike/w_sg552.c ../../shared/cstrike/w_m4a1.c ../../shared/cstrike/w_aug.c diff --git a/src/shared/cstrike/w_ak47.c b/src/shared/cstrike/w_ak47.c index 1d7cf9f7..df218ee7 100644 --- a/src/shared/cstrike/w_ak47.c +++ b/src/shared/cstrike/w_ak47.c @@ -93,7 +93,7 @@ w_ak47_primary(void) { player pl = (player)self; - if (pl.w_attack_next > 0.0) { + if (pl.w_attack_next > 0) { return; } @@ -105,7 +105,7 @@ w_ak47_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(AK47_SHOOT1); @@ -122,7 +122,7 @@ w_ak47_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_AK47); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 36, [0.35,0,1.25], WEAPON_AK47); pl.ak47_mag--; @@ -220,27 +220,27 @@ w_ak47_hudpic(int selected, vector pos, float a) weapon_t w_ak47 = { - ITEM_AK47, - 0, - 7, - "sprites/640hud1.spr_0.tga", - [32,16], - [192,16], - w_ak47_draw, - __NULL__, - w_ak47_primary, - __NULL__, - w_ak47_reload, - __NULL__, - w_ak47_hud, - w_ak47_precache, - w_ak47_pickup, - w_ak47_updateammo, - w_ak47_wmodel, - w_ak47_pmodel, - w_ak47_deathmsg, - w_ak47_aimanim, - w_ak47_hudpic + .id = ITEM_AK47, + .slot = 0, + .slot_pos = 7, + .ki_spr = "sprites/640hud1.spr_0.tga", + .ki_size = [32,16], + .ki_xy = [192,16], + .draw = w_ak47_draw, + .holster = __NULL__, + .primary = w_ak47_primary, + .secondary = __NULL__, + .reload = w_ak47_reload, + .release = __NULL__, + .crosshair = w_ak47_hud, + .precache = w_ak47_precache, + .pickup = w_ak47_pickup, + .updateammo = w_ak47_updateammo, + .wmodel = w_ak47_wmodel, + .pmodel = w_ak47_pmodel, + .deathmsg = w_ak47_deathmsg, + .aimanim = w_ak47_aimanim, + .hudpic = w_ak47_hudpic }; #ifdef SSQC diff --git a/src/shared/cstrike/w_aug.c b/src/shared/cstrike/w_aug.c index 01d71ebd..92e8cf05 100644 --- a/src/shared/cstrike/w_aug.c +++ b/src/shared/cstrike/w_aug.c @@ -105,7 +105,7 @@ w_aug_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(AUG_SHOOT1); @@ -122,7 +122,7 @@ w_aug_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_AUG); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 32, [0.01,0,01], WEAPON_AUG); pl.aug_mag--; @@ -134,7 +134,7 @@ w_aug_primary(void) Sound_Play(pl, CHAN_WEAPON, "weapon_aug.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.0825f; } void @@ -172,7 +172,7 @@ w_aug_reload(void) float w_aug_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_awp.c b/src/shared/cstrike/w_awp.c index f7105842..a133a0b0 100644 --- a/src/shared/cstrike/w_awp.c +++ b/src/shared/cstrike/w_awp.c @@ -67,10 +67,10 @@ w_awp_pickup(int new) player pl = (player)self; if (new) { - pl.awp_mag = 30; + pl.awp_mag = 10; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_762mm < 20) { + pl.ammo_762mm = bound(0, pl.ammo_762mm + 10, 20); } else { return FALSE; } @@ -105,7 +105,7 @@ w_awp_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(AWP_SHOOT1); @@ -122,7 +122,7 @@ w_awp_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_AWP); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 115, [0.01,0,01], WEAPON_AWP); pl.awp_mag--; @@ -134,7 +134,7 @@ w_awp_primary(void) Sound_Play(pl, CHAN_WEAPON, "weapon_awp.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 1.2f; } void @@ -147,21 +147,21 @@ w_awp_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 10) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.awp_mag >= 30) { + if (pl.awp_mag >= 10) { return; } if (!pl.ammo_762mm) { return; } - Weapons_ReloadWeapon(pl, player::awp_mag, player::ammo_762mm, 30); + Weapons_ReloadWeapon(pl, player::awp_mag, player::ammo_762mm, 10); Weapons_UpdateAmmo(pl, pl.awp_mag, pl.ammo_762mm, -1); #endif @@ -172,7 +172,7 @@ w_awp_reload(void) float w_awp_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_c4bomb.c b/src/shared/cstrike/w_c4bomb.c index 1f80a52c..1c2065fe 100644 --- a/src/shared/cstrike/w_c4bomb.c +++ b/src/shared/cstrike/w_c4bomb.c @@ -26,6 +26,12 @@ enum { void w_c4bomb_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_c4bomb.disarm"); + Sound_Precache("weapon_c4bomb.disarmed"); + Sound_Precache("weapon_c4bomb.explode"); + Sound_Precache("weapon_c4bomb.plant"); +#endif precache_model("models/v_c4bomb.mdl"); precache_model("models/w_c4bomb.mdl"); precache_model("models/p_c4bomb.mdl"); @@ -79,7 +85,7 @@ w_c4bomb_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(C4BOMB_SHOOT1); diff --git a/src/shared/cstrike/w_deagle.c b/src/shared/cstrike/w_deagle.c index cc933386..27caa2a1 100644 --- a/src/shared/cstrike/w_deagle.c +++ b/src/shared/cstrike/w_deagle.c @@ -38,7 +38,7 @@ void w_deagle_updateammo(player pl) { #ifdef SSQC - Weapons_UpdateAmmo(pl, pl.deagle_mag, pl.ammo_762mm, -1); + Weapons_UpdateAmmo(pl, pl.deagle_mag, pl.ammo_50ae, -1); #endif } @@ -67,10 +67,10 @@ w_deagle_pickup(int new) player pl = (player)self; if (new) { - pl.deagle_mag = 30; + pl.deagle_mag = 7; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_50ae < AMMO_MAX_50AE) { + pl.ammo_50ae = bound(0, pl.ammo_50ae + 7, AMMO_MAX_50AE); } else { return FALSE; } @@ -82,10 +82,8 @@ w_deagle_pickup(int new) void w_deagle_draw(void) { -#ifdef CSQC Weapons_SetModel("models/v_deagle.mdl"); Weapons_ViewAnimation(DEAGLE_DRAW); -#endif } void @@ -105,7 +103,7 @@ w_deagle_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(DEAGLE_SHOOT1); @@ -122,7 +120,7 @@ w_deagle_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_DEAGLE); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 54, [0.01,0,01], WEAPON_DEAGLE); pl.deagle_mag--; @@ -134,7 +132,7 @@ w_deagle_primary(void) Sound_Play(pl, CHAN_WEAPON, "weapon_deagle.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.15f; } void @@ -147,22 +145,22 @@ w_deagle_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 7) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.deagle_mag >= 30) { + if (pl.deagle_mag >= 7) { return; } - if (!pl.ammo_762mm) { + if (!pl.ammo_50ae) { return; } - Weapons_ReloadWeapon(pl, player::deagle_mag, player::ammo_762mm, 30); - Weapons_UpdateAmmo(pl, pl.deagle_mag, pl.ammo_762mm, -1); + Weapons_ReloadWeapon(pl, player::deagle_mag, player::ammo_50ae, 7); + Weapons_UpdateAmmo(pl, pl.deagle_mag, pl.ammo_50ae, -1); #endif Weapons_ViewAnimation(DEAGLE_RELOAD); @@ -179,7 +177,6 @@ void w_deagle_hud(void) { #ifdef CSQC - HUD_DrawAmmo1(); HUD_DrawAmmo2(); vector aicon_pos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42]; diff --git a/src/shared/cstrike/w_elites.c b/src/shared/cstrike/w_elites.c index 894efdb1..1cb907dc 100644 --- a/src/shared/cstrike/w_elites.c +++ b/src/shared/cstrike/w_elites.c @@ -26,11 +26,12 @@ enum { void w_elites_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_elites.fire"); +#endif precache_model("models/v_elites.mdl"); precache_model("models/w_elites.mdl"); precache_model("models/p_elites.mdl"); - precache_sound("weapons/elites-1.wav"); - precache_sound("weapons/elites-2.wav"); } void @@ -104,7 +105,7 @@ w_elites_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(ELITES_SHOOT1); @@ -121,7 +122,7 @@ w_elites_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_ELITES); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 45, [0.01,0,01], WEAPON_ELITES); pl.elites_mag--; @@ -130,14 +131,10 @@ w_elites_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/elites-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/elites-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_elites.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.15f; } void diff --git a/src/shared/cstrike/w_fiveseven.c b/src/shared/cstrike/w_fiveseven.c index 9beb0c96..f35706f4 100644 --- a/src/shared/cstrike/w_fiveseven.c +++ b/src/shared/cstrike/w_fiveseven.c @@ -26,11 +26,12 @@ enum { void w_fiveseven_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_fiveseven.fire"); +#endif precache_model("models/v_fiveseven.mdl"); precache_model("models/w_fiveseven.mdl"); precache_model("models/p_fiveseven.mdl"); - precache_sound("weapons/fiveseven-1.wav"); - precache_sound("weapons/fiveseven-2.wav"); } void @@ -66,10 +67,10 @@ w_fiveseven_pickup(int new) player pl = (player)self; if (new) { - pl.fiveseven_mag = 30; + pl.fiveseven_mag = 20; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_762mm < 40) { + pl.ammo_762mm = bound(0, pl.ammo_762mm + 20, 40); } else { return FALSE; } @@ -104,7 +105,7 @@ w_fiveseven_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(FIVESEVEN_SHOOT1); @@ -121,7 +122,7 @@ w_fiveseven_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_FIVESEVEN); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 25, [0.01,0,01], WEAPON_FIVESEVEN); pl.fiveseven_mag--; @@ -130,14 +131,10 @@ w_fiveseven_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/fiveseven-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/fiveseven-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_fiveseven.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.15f; } void @@ -150,21 +147,21 @@ w_fiveseven_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 20) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.fiveseven_mag >= 30) { + if (pl.fiveseven_mag >= 20) { return; } if (!pl.ammo_762mm) { return; } - Weapons_ReloadWeapon(pl, player::fiveseven_mag, player::ammo_762mm, 30); + Weapons_ReloadWeapon(pl, player::fiveseven_mag, player::ammo_762mm, 20); Weapons_UpdateAmmo(pl, pl.fiveseven_mag, pl.ammo_762mm, -1); #endif @@ -175,7 +172,7 @@ w_fiveseven_reload(void) float w_fiveseven_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_deagle_aimanim(); } void diff --git a/src/shared/cstrike/w_flashbang.c b/src/shared/cstrike/w_flashbang.c index 4ae1fcad..5b521342 100644 --- a/src/shared/cstrike/w_flashbang.c +++ b/src/shared/cstrike/w_flashbang.c @@ -26,6 +26,9 @@ enum { void w_flashbang_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_flashbang.explode"); +#endif precache_model("models/v_flashbang.mdl"); precache_model("models/w_flashbang.mdl"); precache_model("models/p_flashbang.mdl"); @@ -79,7 +82,7 @@ w_flashbang_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(FLASHBANG_SHOOT1); diff --git a/src/shared/cstrike/w_g3sg1.c b/src/shared/cstrike/w_g3sg1.c index 6a2f39d9..ecfcbfc6 100644 --- a/src/shared/cstrike/w_g3sg1.c +++ b/src/shared/cstrike/w_g3sg1.c @@ -26,6 +26,9 @@ enum { void w_g3sg1_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_g3sg1.fire"); +#endif precache_model("models/v_g3sg1.mdl"); precache_model("models/w_g3sg1.mdl"); precache_model("models/p_g3sg1.mdl"); @@ -64,10 +67,10 @@ w_g3sg1_pickup(int new) player pl = (player)self; if (new) { - pl.g3sg1_mag = 30; + pl.g3sg1_mag = 20; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_762mm < 60) { + pl.ammo_762mm = bound(0, pl.ammo_762mm + 20, 60); } else { return FALSE; } @@ -102,7 +105,7 @@ w_g3sg1_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(G3SG1_SHOOT1); @@ -119,7 +122,7 @@ w_g3sg1_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_G3SG1); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 80, [0.01,0,01], WEAPON_G3SG1); pl.g3sg1_mag--; @@ -128,14 +131,10 @@ w_g3sg1_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/g3sg1-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/g3sg1-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_g3sg1.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.25f; } void @@ -148,21 +147,21 @@ w_g3sg1_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 20) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.g3sg1_mag >= 30) { + if (pl.g3sg1_mag >= 20) { return; } if (!pl.ammo_762mm) { return; } - Weapons_ReloadWeapon(pl, player::g3sg1_mag, player::ammo_762mm, 30); + Weapons_ReloadWeapon(pl, player::g3sg1_mag, player::ammo_762mm, 20); Weapons_UpdateAmmo(pl, pl.g3sg1_mag, pl.ammo_762mm, -1); #endif @@ -173,7 +172,7 @@ w_g3sg1_reload(void) float w_g3sg1_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_glock18.c b/src/shared/cstrike/w_glock18.c index bc71df00..da237446 100644 --- a/src/shared/cstrike/w_glock18.c +++ b/src/shared/cstrike/w_glock18.c @@ -26,11 +26,12 @@ enum { void w_glock18_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_glock18.fire"); +#endif precache_model("models/v_glock18.mdl"); precache_model("models/w_glock18.mdl"); precache_model("models/p_glock18.mdl"); - precache_sound("weapons/glock18-1.wav"); - precache_sound("weapons/glock18-2.wav"); } void @@ -66,10 +67,10 @@ w_glock18_pickup(int new) player pl = (player)self; if (new) { - pl.glock18_mag = 30; + pl.glock18_mag = 20; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_762mm < 40) { + pl.ammo_762mm = bound(0, pl.ammo_762mm + 20, 40); } else { return FALSE; } @@ -104,7 +105,7 @@ w_glock18_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(GLOCK18_SHOOT1); @@ -121,7 +122,7 @@ w_glock18_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_GLOCK18); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 25, [0.01,0,01], WEAPON_GLOCK18); pl.glock18_mag--; @@ -130,14 +131,10 @@ w_glock18_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/glock18-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/glock18-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_glock18.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.15f; } void @@ -150,32 +147,32 @@ w_glock18_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 20) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.glock18_mag >= 30) { + if (pl.glock18_mag >= 20) { return; } if (!pl.ammo_762mm) { return; } - Weapons_ReloadWeapon(pl, player::glock18_mag, player::ammo_762mm, 30); + Weapons_ReloadWeapon(pl, player::glock18_mag, player::ammo_762mm, 20); Weapons_UpdateAmmo(pl, pl.glock18_mag, pl.ammo_762mm, -1); #endif Weapons_ViewAnimation(GLOCK18_RELOAD); - pl.w_attack_next = 2.0f; + pl.w_attack_next = 2.1f; } float w_glock18_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_deagle_aimanim(); } void diff --git a/src/shared/cstrike/w_hegrenade.c b/src/shared/cstrike/w_hegrenade.c index f486da37..cdeb042c 100644 --- a/src/shared/cstrike/w_hegrenade.c +++ b/src/shared/cstrike/w_hegrenade.c @@ -79,7 +79,7 @@ w_hegrenade_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(HEGRENADE_SHOOT1); @@ -99,7 +99,7 @@ w_hegrenade_primary(void) float w_hegrenade_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_flashbang_aimanim(); } void diff --git a/src/shared/cstrike/w_knife.c b/src/shared/cstrike/w_knife.c index cfcdbe8d..2c1c168a 100644 --- a/src/shared/cstrike/w_knife.c +++ b/src/shared/cstrike/w_knife.c @@ -26,6 +26,12 @@ enum { void w_knife_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_knife.hit"); + Sound_Precache("weapon_knife.hitbody"); + Sound_Precache("weapon_knife.hithard"); + Sound_Precache("weapon_knife.miss"); +#endif precache_model("models/v_knife.mdl"); precache_model("models/w_knife.mdl"); precache_model("models/p_knife.mdl"); @@ -79,7 +85,7 @@ w_knife_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(KNIFE_SHOOT1); @@ -93,7 +99,7 @@ w_knife_primary(void) } #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.7f; } float diff --git a/src/shared/cstrike/w_m3.c b/src/shared/cstrike/w_m3.c index 7fe9485b..43a8c0cb 100644 --- a/src/shared/cstrike/w_m3.c +++ b/src/shared/cstrike/w_m3.c @@ -26,6 +26,9 @@ enum { void w_m3_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_m3.fire"); +#endif precache_model("models/v_m3.mdl"); precache_model("models/w_m3.mdl"); precache_model("models/p_m3.mdl"); @@ -35,7 +38,7 @@ void w_m3_updateammo(player pl) { #ifdef SSQC - Weapons_UpdateAmmo(pl, pl.m3_mag, pl.ammo_762mm, -1); + Weapons_UpdateAmmo(pl, pl.m3_mag, pl.ammo_buckshot, -1); #endif } @@ -64,10 +67,10 @@ w_m3_pickup(int new) player pl = (player)self; if (new) { - pl.m3_mag = 30; + pl.m3_mag = 8; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_buckshot < AMMO_MAX_BUCKSHOT) { + pl.ammo_buckshot = bound(0, pl.ammo_buckshot + 8, AMMO_MAX_BUCKSHOT); } else { return FALSE; } @@ -102,7 +105,7 @@ w_m3_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(M3_SHOOT1); @@ -119,7 +122,7 @@ w_m3_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_M3); + TraceAttack_FireBullets(8, pl.origin + pl.view_ofs, 26, [0.01,0,01], WEAPON_M3); pl.m3_mag--; @@ -128,14 +131,10 @@ w_m3_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/m3-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/m3-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_m3.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 1.0f; } void @@ -148,22 +147,22 @@ w_m3_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 8) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.m3_mag >= 30) { + if (pl.m3_mag >= 8) { return; } - if (!pl.ammo_762mm) { + if (!pl.ammo_buckshot) { return; } - Weapons_ReloadWeapon(pl, player::m3_mag, player::ammo_762mm, 30); - Weapons_UpdateAmmo(pl, pl.m3_mag, pl.ammo_762mm, -1); + Weapons_ReloadWeapon(pl, player::m3_mag, player::ammo_buckshot, 8); + Weapons_UpdateAmmo(pl, pl.m3_mag, pl.ammo_buckshot, -1); #endif Weapons_ViewAnimation(M3_RELOAD); @@ -173,7 +172,7 @@ w_m3_reload(void) float w_m3_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_m4a1.c b/src/shared/cstrike/w_m4a1.c index 9cc7aeea..f3efb837 100644 --- a/src/shared/cstrike/w_m4a1.c +++ b/src/shared/cstrike/w_m4a1.c @@ -16,16 +16,28 @@ enum { M4A1_IDLE, - M4A1_RELOAD, - M4A1_DRAW, M4A1_SHOOT1, M4A1_SHOOT2, - M4A1_SHOOT3 + M4A1_SHOOT3, + M4A1_RELOAD, + M4A1_DRAW, + M4A1_ADDSIL, + M4A1_IDLEUNSIL, + M4A1_SHOOT1UNSIL, + M4A1_SHOOT2UNSIL, + M4A1_SHOOT3UNSIL, + M4A1_RELOADUNSIL, + M4A1_DRAWUNSIL, + M4A1_DETACHSIL }; void w_m4a1_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_m4a1.fire"); + Sound_Precache("weapon_m4a1.silenced"); +#endif precache_model("models/v_m4a1.mdl"); precache_model("models/w_m4a1.mdl"); precache_model("models/p_m4a1.mdl"); @@ -79,10 +91,8 @@ w_m4a1_pickup(int new) void w_m4a1_draw(void) { -#ifdef CSQC Weapons_SetModel("models/v_m4a1.mdl"); Weapons_ViewAnimation(M4A1_DRAW); -#endif } void @@ -94,48 +104,100 @@ w_m4a1_primary(void) return; } + /* ammo check */ #ifdef CSQC if (!pl.a_ammo1) { return; } - - View_SetMuzzleflash(MUZZLE_RIFLE); - Weapons_ViewPunchAngle([-2,0,0]); - - int r = floor(random(0,3)); - switch (r) { - case 0: - Weapons_ViewAnimation(M4A1_SHOOT1); - break; - case 1: - Weapons_ViewAnimation(M4A1_SHOOT2); - break; - default: - Weapons_ViewAnimation(M4A1_SHOOT3); - break; - } #else if (!pl.m4a1_mag) { return; } +#endif - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_M4A1); + /* actual firing */ +#ifdef CSQC + if (pl.a_ammo3 == 1) { + View_SetMuzzleflash(0); + } else { + View_SetMuzzleflash(MUZZLE_RIFLE); + } + pl.a_ammo1--; + View_SetMuzzleflash(MUZZLE_RIFLE); + Weapons_ViewPunchAngle([-2,0,0]); +#else pl.m4a1_mag--; + /* Different sounds without silencer */ + if (pl.a_ammo3 == 1) { + Sound_Play(pl, CHAN_WEAPON, "weapon_m4a1.silenced"); + } else { + Sound_Play(pl, CHAN_WEAPON, "weapon_m4a1.fire"); + } + + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 33, [0.1,0.1], WEAPON_M4A1); + if (self.flags & FL_CROUCHING) Animation_PlayerTopTemp(ANIM_SHOOT1HAND, 0.45f); else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/m4a1-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/m4a1-2.wav", 1.0f, ATTN_NORM); - } #endif - pl.w_attack_next = 0.0955f; + /* this stuff is predicted */ + int r = (float)input_sequence % 3; + if (pl.a_ammo3 == 1) { + switch (r) { + case 0: + Weapons_ViewAnimation(M4A1_SHOOT1); + break; + case 1: + Weapons_ViewAnimation(M4A1_SHOOT2); + break; + default: + Weapons_ViewAnimation(M4A1_SHOOT3); + break; + } + } else { + switch (r) { + case 0: + Weapons_ViewAnimation(M4A1_SHOOT1UNSIL); + break; + case 1: + Weapons_ViewAnimation(M4A1_SHOOT2UNSIL); + break; + default: + Weapons_ViewAnimation(M4A1_SHOOT3UNSIL); + break; + } + } + Weapons_ViewPunchAngle([-2,0,0]); + + pl.w_attack_next = 0.0875f; + pl.w_idle_next = 5.0f; +} + +void +w_m4a1_secondary(void) +{ + player pl = (player)self; + + if (pl.w_attack_next > 0) { + return; + } + + /* toggle silencer */ + pl.a_ammo3 = 1 - pl.a_ammo3; + + /* play the animation */ + if (pl.a_ammo3) { + Weapons_ViewAnimation(M4A1_ADDSIL); + } else { + Weapons_ViewAnimation(M4A1_DETACHSIL); + } + + pl.w_attack_next = 2.0f; + pl.w_idle_next = pl.w_attack_next; } void @@ -163,7 +225,6 @@ w_m4a1_reload(void) } Weapons_ReloadWeapon(pl, player::m4a1_mag, player::ammo_762mm, 30); - Weapons_UpdateAmmo(pl, pl.m4a1_mag, pl.ammo_762mm, -1); #endif Weapons_ViewAnimation(M4A1_RELOAD); @@ -173,14 +234,13 @@ w_m4a1_reload(void) float w_m4a1_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void w_m4a1_hud(void) { #ifdef CSQC - HUD_DrawAmmo1(); HUD_DrawAmmo2(); vector aicon_pos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42]; @@ -188,6 +248,23 @@ w_m4a1_hud(void) #endif } +void +w_m4a1_release(void) +{ + player pl = (player)self; + + if (pl.w_idle_next > 0.0) { + return; + } + + if (pl.a_ammo3) { + Weapons_ViewAnimation(M4A1_IDLE); + } else { + Weapons_ViewAnimation(M4A1_IDLEUNSIL); + } + pl.w_idle_next = 5.0f; +} + void w_m4a1_hudpic(int selected, vector pos, float a) { @@ -220,27 +297,27 @@ w_m4a1_hudpic(int selected, vector pos, float a) weapon_t w_m4a1 = { - ITEM_M4A1, - 0, - 9, - "sprites/640hud1.spr_0.tga", - [32,16], - [192,16], - w_m4a1_draw, - __NULL__, - w_m4a1_primary, - __NULL__, - w_m4a1_reload, - __NULL__, - w_m4a1_hud, - w_m4a1_precache, - w_m4a1_pickup, - w_m4a1_updateammo, - w_m4a1_wmodel, - w_m4a1_pmodel, - w_m4a1_deathmsg, - w_m4a1_aimanim, - w_m4a1_hudpic + .id = ITEM_M4A1, + .slot = 0, + .slot_pos = 9, + .ki_spr = "sprites/640hud1.spr_0.tga", + .ki_size = [32,16], + .ki_xy = [192,16], + .draw = w_m4a1_draw, + .holster = __NULL__, + .primary = w_m4a1_primary, + .secondary = w_m4a1_secondary, + .reload = w_m4a1_reload, + .release = w_m4a1_release, + .crosshair = w_m4a1_hud, + .precache = w_m4a1_precache, + .pickup = w_m4a1_pickup, + .updateammo = w_m4a1_updateammo, + .wmodel = w_m4a1_wmodel, + .pmodel = w_m4a1_pmodel, + .deathmsg = w_m4a1_deathmsg, + .aimanim = w_m4a1_aimanim, + .hudpic = w_m4a1_hudpic }; #ifdef SSQC diff --git a/src/shared/cstrike/w_mac10.c b/src/shared/cstrike/w_mac10.c index cb83cf17..725e9988 100644 --- a/src/shared/cstrike/w_mac10.c +++ b/src/shared/cstrike/w_mac10.c @@ -26,6 +26,9 @@ enum { void w_mac10_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_mac10.fire"); +#endif precache_model("models/v_mac10.mdl"); precache_model("models/w_mac10.mdl"); precache_model("models/p_mac10.mdl"); @@ -102,7 +105,7 @@ w_mac10_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(MAC10_SHOOT1); @@ -119,7 +122,7 @@ w_mac10_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_MAC10); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 29, [0.01,0,01], WEAPON_MAC10); pl.mac10_mag--; @@ -128,14 +131,10 @@ w_mac10_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/mac10-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/mac10-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_mac10.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.07f; } void @@ -173,7 +172,7 @@ w_mac10_reload(void) float w_mac10_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_deagle_aimanim(); } void diff --git a/src/shared/cstrike/w_mp5.c b/src/shared/cstrike/w_mp5.c index 53062497..80c1fdc7 100644 --- a/src/shared/cstrike/w_mp5.c +++ b/src/shared/cstrike/w_mp5.c @@ -26,6 +26,9 @@ enum { void w_mp5_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_mp5.fire"); +#endif precache_model("models/v_mp5.mdl"); precache_model("models/w_mp5.mdl"); precache_model("models/p_mp5.mdl"); @@ -35,7 +38,7 @@ void w_mp5_updateammo(player pl) { #ifdef SSQC - Weapons_UpdateAmmo(pl, pl.mp5_mag, pl.ammo_762mm, -1); + Weapons_UpdateAmmo(pl, pl.mp5_mag, pl.ammo_9mm, -1); #endif } @@ -66,8 +69,8 @@ w_mp5_pickup(int new) if (new) { pl.mp5_mag = 30; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_9mm < AMMO_MAX_9MM) { + pl.ammo_9mm = bound(0, pl.ammo_9mm + 30, AMMO_MAX_9MM); } else { return FALSE; } @@ -79,10 +82,8 @@ w_mp5_pickup(int new) void w_mp5_draw(void) { -#ifdef CSQC Weapons_SetModel("models/v_mp5.mdl"); Weapons_ViewAnimation(MP5_DRAW); -#endif } void @@ -102,7 +103,7 @@ w_mp5_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(MP5_SHOOT1); @@ -119,7 +120,7 @@ w_mp5_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_MP5); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 26, [0.01,0,01], WEAPON_MP5); pl.mp5_mag--; @@ -128,14 +129,10 @@ w_mp5_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/mp5-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/mp5-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_mp5.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.08f; } void @@ -158,12 +155,12 @@ w_mp5_reload(void) if (pl.mp5_mag >= 30) { return; } - if (!pl.ammo_762mm) { + if (!pl.ammo_9mm) { return; } - Weapons_ReloadWeapon(pl, player::mp5_mag, player::ammo_762mm, 30); - Weapons_UpdateAmmo(pl, pl.mp5_mag, pl.ammo_762mm, -1); + Weapons_ReloadWeapon(pl, player::mp5_mag, player::ammo_9mm, 30); + Weapons_UpdateAmmo(pl, pl.mp5_mag, pl.ammo_9mm, -1); #endif Weapons_ViewAnimation(MP5_RELOAD); @@ -173,14 +170,13 @@ w_mp5_reload(void) float w_mp5_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void w_mp5_hud(void) { #ifdef CSQC - HUD_DrawAmmo1(); HUD_DrawAmmo2(); vector aicon_pos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42]; diff --git a/src/shared/cstrike/w_p228.c b/src/shared/cstrike/w_p228.c index b2b43b96..c7d2405c 100644 --- a/src/shared/cstrike/w_p228.c +++ b/src/shared/cstrike/w_p228.c @@ -26,6 +26,9 @@ enum { void w_p228_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_p228.fire"); +#endif precache_model("models/v_p228.mdl"); precache_model("models/w_p228.mdl"); precache_model("models/p_p228.mdl"); @@ -66,10 +69,10 @@ w_p228_pickup(int new) player pl = (player)self; if (new) { - pl.p228_mag = 30; + pl.p228_mag = 13; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_762mm < 26) { + pl.ammo_762mm = bound(0, pl.ammo_762mm + 13, 26); } else { return FALSE; } @@ -104,7 +107,7 @@ w_p228_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(P228_SHOOT1); @@ -121,7 +124,7 @@ w_p228_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_P228); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 40, [0.01,0,01], WEAPON_P228); pl.p228_mag--; @@ -130,14 +133,10 @@ w_p228_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/p228-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/p228-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_p228.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.15f; } void @@ -175,7 +174,7 @@ w_p228_reload(void) float w_p228_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_deagle_aimanim(); } void diff --git a/src/shared/cstrike/w_p90.c b/src/shared/cstrike/w_p90.c index 26787790..406e06b4 100644 --- a/src/shared/cstrike/w_p90.c +++ b/src/shared/cstrike/w_p90.c @@ -26,6 +26,9 @@ enum { void w_p90_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_p90.fire"); +#endif precache_model("models/v_p90.mdl"); precache_model("models/w_p90.mdl"); precache_model("models/p_p90.mdl"); @@ -64,10 +67,10 @@ w_p90_pickup(int new) player pl = (player)self; if (new) { - pl.p90_mag = 30; + pl.p90_mag = 50; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_762mm < 100) { + pl.ammo_762mm = bound(0, pl.ammo_762mm + 50, 100); } else { return FALSE; } @@ -102,7 +105,7 @@ w_p90_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(P90_SHOOT1); @@ -119,7 +122,7 @@ w_p90_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_P90); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 26, [0.01,0,01], WEAPON_P90); pl.p90_mag--; @@ -128,14 +131,10 @@ w_p90_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/p90-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/p90-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_p90.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.07f; } void @@ -148,21 +147,21 @@ w_p90_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 50) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.p90_mag >= 30) { + if (pl.p90_mag >= 50) { return; } if (!pl.ammo_762mm) { return; } - Weapons_ReloadWeapon(pl, player::p90_mag, player::ammo_762mm, 30); + Weapons_ReloadWeapon(pl, player::p90_mag, player::ammo_762mm, 50); Weapons_UpdateAmmo(pl, pl.p90_mag, pl.ammo_762mm, -1); #endif @@ -173,7 +172,7 @@ w_p90_reload(void) float w_p90_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_para.c b/src/shared/cstrike/w_para.c index 1517d8eb..fa5e694a 100644 --- a/src/shared/cstrike/w_para.c +++ b/src/shared/cstrike/w_para.c @@ -26,9 +26,12 @@ enum { void w_para_precache(void) { - precache_model("models/v_para.mdl"); - precache_model("models/w_para.mdl"); - precache_model("models/p_para.mdl"); +#ifdef SSQC + Sound_Precache("weapon_para.fire"); +#endif + precache_model("models/v_m249.mdl"); + precache_model("models/w_m249.mdl"); + precache_model("models/p_m249.mdl"); } void @@ -42,13 +45,13 @@ w_para_updateammo(player pl) string w_para_wmodel(void) { - return "models/w_para.mdl"; + return "models/w_m249.mdl"; } string w_para_pmodel(void) { - return "models/p_para.mdl"; + return "models/p_m249.mdl"; } string @@ -64,10 +67,10 @@ w_para_pickup(int new) player pl = (player)self; if (new) { - pl.para_mag = 30; + pl.para_mag = 100; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_762mm < 200) { + pl.ammo_762mm = bound(0, pl.ammo_762mm + 100, 200); } else { return FALSE; } @@ -80,7 +83,7 @@ void w_para_draw(void) { #ifdef CSQC - Weapons_SetModel("models/v_para.mdl"); + Weapons_SetModel("models/v_m249.mdl"); Weapons_ViewAnimation(PARA_DRAW); #endif } @@ -102,7 +105,7 @@ w_para_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(PARA_SHOOT1); @@ -119,7 +122,7 @@ w_para_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_PARA); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 35, [0.01,0,01], WEAPON_PARA); pl.para_mag--; @@ -128,14 +131,10 @@ w_para_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/para-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/para-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_para.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.1f; } void @@ -148,21 +147,21 @@ w_para_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 100) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.para_mag >= 30) { + if (pl.para_mag >= 100) { return; } if (!pl.ammo_762mm) { return; } - Weapons_ReloadWeapon(pl, player::para_mag, player::ammo_762mm, 30); + Weapons_ReloadWeapon(pl, player::para_mag, player::ammo_762mm, 100); Weapons_UpdateAmmo(pl, pl.para_mag, pl.ammo_762mm, -1); #endif @@ -173,7 +172,7 @@ w_para_reload(void) float w_para_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_scout.c b/src/shared/cstrike/w_scout.c index 8d37d9ef..acfffd06 100644 --- a/src/shared/cstrike/w_scout.c +++ b/src/shared/cstrike/w_scout.c @@ -26,6 +26,9 @@ enum { void w_scout_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_scout.fire"); +#endif precache_model("models/v_scout.mdl"); precache_model("models/w_scout.mdl"); precache_model("models/p_scout.mdl"); @@ -64,10 +67,10 @@ w_scout_pickup(int new) player pl = (player)self; if (new) { - pl.scout_mag = 30; + pl.scout_mag = 10; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_762mm < 30) { + pl.ammo_762mm = bound(0, pl.ammo_762mm + 10, 30); } else { return FALSE; } @@ -102,7 +105,7 @@ w_scout_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(SCOUT_SHOOT1); @@ -119,7 +122,7 @@ w_scout_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_SCOUT); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 75, [0.01,0,01], WEAPON_SCOUT); pl.scout_mag--; @@ -128,14 +131,10 @@ w_scout_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/scout-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/scout-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_scout.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 1.25f; } void @@ -148,21 +147,21 @@ w_scout_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 10) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.scout_mag >= 30) { + if (pl.scout_mag >= 10) { return; } if (!pl.ammo_762mm) { return; } - Weapons_ReloadWeapon(pl, player::scout_mag, player::ammo_762mm, 30); + Weapons_ReloadWeapon(pl, player::scout_mag, player::ammo_762mm, 10); Weapons_UpdateAmmo(pl, pl.scout_mag, pl.ammo_762mm, -1); #endif @@ -173,7 +172,7 @@ w_scout_reload(void) float w_scout_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_sg550.c b/src/shared/cstrike/w_sg550.c index 3869a413..f4fb42ac 100644 --- a/src/shared/cstrike/w_sg550.c +++ b/src/shared/cstrike/w_sg550.c @@ -26,6 +26,9 @@ enum { void w_sg550_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_sg550.fire"); +#endif precache_model("models/v_sg550.mdl"); precache_model("models/w_sg550.mdl"); precache_model("models/p_sg550.mdl"); @@ -102,7 +105,7 @@ w_sg550_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(SG550_SHOOT1); @@ -119,7 +122,7 @@ w_sg550_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_SG550); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 70, [0.01,0,01], WEAPON_SG550); pl.sg550_mag--; @@ -128,14 +131,10 @@ w_sg550_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/sg550-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/sg550-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_sg550.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.25f; } void @@ -173,7 +172,7 @@ w_sg550_reload(void) float w_sg550_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_sg552.c b/src/shared/cstrike/w_sg552.c index 4d059fff..fcc0fb89 100644 --- a/src/shared/cstrike/w_sg552.c +++ b/src/shared/cstrike/w_sg552.c @@ -26,6 +26,9 @@ enum { void w_sg552_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_sg552.fire"); +#endif precache_model("models/v_sg552.mdl"); precache_model("models/w_sg552.mdl"); precache_model("models/p_sg552.mdl"); @@ -102,7 +105,7 @@ w_sg552_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(SG552_SHOOT1); @@ -119,7 +122,7 @@ w_sg552_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_SG552); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 33, [0.01,0,01], WEAPON_SG552); pl.sg552_mag--; @@ -128,14 +131,10 @@ w_sg552_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/sg552-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/sg552-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_sg552.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.0825f; } void @@ -173,7 +172,7 @@ w_sg552_reload(void) float w_sg552_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_smokegrenade.c b/src/shared/cstrike/w_smokegrenade.c index 0f225686..0a00092e 100644 --- a/src/shared/cstrike/w_smokegrenade.c +++ b/src/shared/cstrike/w_smokegrenade.c @@ -26,6 +26,9 @@ enum { void w_smokegrenade_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_smokegrenade.explode"); +#endif precache_model("models/v_smokegrenade.mdl"); precache_model("models/w_smokegrenade.mdl"); precache_model("models/p_smokegrenade.mdl"); @@ -79,7 +82,7 @@ w_smokegrenade_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(SMOKEGRENADE_SHOOT1); @@ -99,7 +102,7 @@ w_smokegrenade_primary(void) float w_smokegrenade_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_flashbang_aimanim(); } void diff --git a/src/shared/cstrike/w_tmp.c b/src/shared/cstrike/w_tmp.c index e857ab21..26c973b7 100644 --- a/src/shared/cstrike/w_tmp.c +++ b/src/shared/cstrike/w_tmp.c @@ -26,6 +26,9 @@ enum { void w_tmp_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_tmp.fire"); +#endif precache_model("models/v_tmp.mdl"); precache_model("models/w_tmp.mdl"); precache_model("models/p_tmp.mdl"); @@ -102,7 +105,7 @@ w_tmp_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(TMP_SHOOT1); @@ -119,7 +122,7 @@ w_tmp_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_TMP); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 26, [0.01,0,01], WEAPON_TMP); pl.tmp_mag--; @@ -128,14 +131,10 @@ w_tmp_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/tmp-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/tmp-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_tmp.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.07f; } void @@ -173,7 +172,7 @@ w_tmp_reload(void) float w_tmp_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/w_ump45.c b/src/shared/cstrike/w_ump45.c index 98838824..1e9fc4a5 100644 --- a/src/shared/cstrike/w_ump45.c +++ b/src/shared/cstrike/w_ump45.c @@ -26,6 +26,9 @@ enum { void w_ump45_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_ump45.fire"); +#endif precache_model("models/v_ump45.mdl"); precache_model("models/w_ump45.mdl"); precache_model("models/p_ump45.mdl"); @@ -35,7 +38,7 @@ void w_ump45_updateammo(player pl) { #ifdef SSQC - Weapons_UpdateAmmo(pl, pl.ump45_mag, pl.ammo_762mm, -1); + Weapons_UpdateAmmo(pl, pl.ump45_mag, pl.ammo_45acp, -1); #endif } @@ -64,10 +67,10 @@ w_ump45_pickup(int new) player pl = (player)self; if (new) { - pl.ump45_mag = 30; + pl.ump45_mag = 25; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_45acp < AMMO_MAX_45ACP) { + pl.ammo_45acp = bound(0, pl.ammo_45acp + 25, AMMO_MAX_45ACP); } else { return FALSE; } @@ -102,7 +105,7 @@ w_ump45_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(UMP45_SHOOT1); @@ -119,7 +122,7 @@ w_ump45_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_UMP45); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 30, [0.01,0,01], WEAPON_UMP45); pl.ump45_mag--; @@ -128,14 +131,10 @@ w_ump45_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/ump45-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/ump45-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_ump45.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.105f; } void @@ -148,22 +147,22 @@ w_ump45_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 25) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.ump45_mag >= 30) { + if (pl.ump45_mag >= 25) { return; } - if (!pl.ammo_762mm) { + if (!pl.ammo_45acp) { return; } - Weapons_ReloadWeapon(pl, player::ump45_mag, player::ammo_762mm, 30); - Weapons_UpdateAmmo(pl, pl.ump45_mag, pl.ammo_762mm, -1); + Weapons_ReloadWeapon(pl, player::ump45_mag, player::ammo_45acp, 25); + Weapons_UpdateAmmo(pl, pl.ump45_mag, pl.ammo_45acp, -1); #endif Weapons_ViewAnimation(UMP45_RELOAD); @@ -173,14 +172,13 @@ w_ump45_reload(void) float w_ump45_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void w_ump45_hud(void) { #ifdef CSQC - HUD_DrawAmmo1(); HUD_DrawAmmo2(); vector aicon_pos = g_hudmins + [g_hudres[0] - 48, g_hudres[1] - 42]; diff --git a/src/shared/cstrike/w_usp45.c b/src/shared/cstrike/w_usp45.c index b87d5d2c..b80b8aa3 100644 --- a/src/shared/cstrike/w_usp45.c +++ b/src/shared/cstrike/w_usp45.c @@ -26,6 +26,10 @@ enum { void w_usp45_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_usp45.fire"); + Sound_Precache("weapon_usp45.silencer"); +#endif precache_model("models/v_usp45.mdl"); precache_model("models/w_usp45.mdl"); precache_model("models/p_usp45.mdl"); @@ -37,7 +41,7 @@ void w_usp45_updateammo(player pl) { #ifdef SSQC - Weapons_UpdateAmmo(pl, pl.usp45_mag, pl.ammo_762mm, -1); + Weapons_UpdateAmmo(pl, pl.usp45_mag, pl.ammo_45acp, -1); #endif } @@ -66,10 +70,10 @@ w_usp45_pickup(int new) player pl = (player)self; if (new) { - pl.usp45_mag = 30; + pl.usp45_mag = 12; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_45acp < AMMO_MAX_45ACP) { + pl.ammo_45acp = bound(0, pl.ammo_45acp + 12, AMMO_MAX_45ACP); } else { return FALSE; } @@ -104,7 +108,7 @@ w_usp45_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(USP45_SHOOT1); @@ -121,7 +125,7 @@ w_usp45_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_USP45); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 34, [0.01,0,01], WEAPON_USP45); pl.usp45_mag--; @@ -130,14 +134,10 @@ w_usp45_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/usp45-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/usp45-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_usp45.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.15f; } void @@ -150,22 +150,22 @@ w_usp45_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 12) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.usp45_mag >= 30) { + if (pl.usp45_mag >= 12) { return; } - if (!pl.ammo_762mm) { + if (!pl.ammo_45acp) { return; } - Weapons_ReloadWeapon(pl, player::usp45_mag, player::ammo_762mm, 30); - Weapons_UpdateAmmo(pl, pl.usp45_mag, pl.ammo_762mm, -1); + Weapons_ReloadWeapon(pl, player::usp45_mag, player::ammo_45acp, 12); + Weapons_UpdateAmmo(pl, pl.usp45_mag, pl.ammo_45acp, -1); #endif Weapons_ViewAnimation(USP45_RELOAD); @@ -175,7 +175,7 @@ w_usp45_reload(void) float w_usp45_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_deagle_aimanim(); } void diff --git a/src/shared/cstrike/w_xm1014.c b/src/shared/cstrike/w_xm1014.c index 38ec8cc0..71a932b6 100644 --- a/src/shared/cstrike/w_xm1014.c +++ b/src/shared/cstrike/w_xm1014.c @@ -26,6 +26,9 @@ enum { void w_xm1014_precache(void) { +#ifdef SSQC + Sound_Precache("weapon_xm1014.fire"); +#endif precache_model("models/v_xm1014.mdl"); precache_model("models/w_xm1014.mdl"); precache_model("models/p_xm1014.mdl"); @@ -35,7 +38,7 @@ void w_xm1014_updateammo(player pl) { #ifdef SSQC - Weapons_UpdateAmmo(pl, pl.xm1014_mag, pl.ammo_762mm, -1); + Weapons_UpdateAmmo(pl, pl.xm1014_mag, pl.ammo_buckshot, -1); #endif } @@ -64,10 +67,10 @@ w_xm1014_pickup(int new) player pl = (player)self; if (new) { - pl.xm1014_mag = 30; + pl.xm1014_mag = 7; } else { - if (pl.ammo_762mm < 90) { - pl.ammo_762mm = bound(0, pl.ammo_762mm + 30, 90); + if (pl.ammo_buckshot < AMMO_MAX_BUCKSHOT) { + pl.ammo_buckshot = bound(0, pl.ammo_buckshot + 7, AMMO_MAX_BUCKSHOT); } else { return FALSE; } @@ -79,10 +82,8 @@ w_xm1014_pickup(int new) void w_xm1014_draw(void) { -#ifdef CSQC Weapons_SetModel("models/v_xm1014.mdl"); Weapons_ViewAnimation(XM1014_DRAW); -#endif } void @@ -102,7 +103,7 @@ w_xm1014_primary(void) View_SetMuzzleflash(MUZZLE_RIFLE); Weapons_ViewPunchAngle([-2,0,0]); - int r = floor(random(0,3)); + int r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(XM1014_SHOOT1); @@ -119,7 +120,7 @@ w_xm1014_primary(void) return; } - TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 8, [0.01,0,01], WEAPON_XM1014); + TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 22, [0.01,0,01], WEAPON_XM1014); pl.xm1014_mag--; @@ -128,14 +129,10 @@ w_xm1014_primary(void) else Animation_PlayerTopTemp(ANIM_CR_SHOOT1HAND, 0.45f); - if (random() < 0.5) { - sound(pl, CHAN_WEAPON, "weapons/xm1014-1.wav", 1.0f, ATTN_NORM); - } else { - sound(pl, CHAN_WEAPON, "weapons/xm1014-2.wav", 1.0f, ATTN_NORM); - } + Sound_Play(pl, CHAN_WEAPON, "weapon_xm1014.fire"); #endif - pl.w_attack_next = 0.0955f; + pl.w_attack_next = 0.25f; } void @@ -148,22 +145,21 @@ w_xm1014_reload(void) } #ifdef CSQC - if (pl.a_ammo1 >= 30) { + if (pl.a_ammo1 >= 7) { return; } if (!pl.a_ammo2) { return; } #else - if (pl.xm1014_mag >= 30) { + if (pl.xm1014_mag >= 7) { return; } - if (!pl.ammo_762mm) { + if (!pl.ammo_buckshot) { return; } - Weapons_ReloadWeapon(pl, player::xm1014_mag, player::ammo_762mm, 30); - Weapons_UpdateAmmo(pl, pl.xm1014_mag, pl.ammo_762mm, -1); + Weapons_ReloadWeapon(pl, player::xm1014_mag, player::ammo_buckshot, 7); #endif Weapons_ViewAnimation(XM1014_RELOAD); @@ -173,7 +169,7 @@ w_xm1014_reload(void) float w_xm1014_aimanim(void) { - return self.flags & FL_CROUCHING ? ANIM_CR_AIM1HAND : ANIM_AIM1HAND; + return w_ak47_aimanim(); } void diff --git a/src/shared/cstrike/weapons.h b/src/shared/cstrike/weapons.h index ee24704d..ab08b588 100644 --- a/src/shared/cstrike/weapons.h +++ b/src/shared/cstrike/weapons.h @@ -46,3 +46,14 @@ enum WEAPON_SMOKEGRENADE, WEAPON_C4BOMB }; + +#define AMMO_MAX_50AE 35 +#define AMMO_MAX_762MM 90 +#define AMMO_MAX_556MM 90 +#define AMMO_MAX_556MMBOX 200 +#define AMMO_MAX_338MAG 30 +#define AMMO_MAX_9MM 150 +#define AMMO_MAX_BUCKSHOT 32 +#define AMMO_MAX_45ACP 100 +#define AMMO_MAX_357SIG 52 +#define AMMO_MAX_57MM 100