From c89b95d98dbc726f7015688d96ff6458f6e969a8 Mon Sep 17 00:00:00 2001 From: Marco Cawthorne Date: Wed, 1 Mar 2023 14:47:20 -0800 Subject: [PATCH] Guns now have damage values defined within skill cvars as well. --- src/shared/w_ak47.qc | 4 +- src/shared/w_aug.qc | 4 +- src/shared/w_awp.qc | 4 +- src/shared/w_deagle.qc | 4 +- src/shared/w_elites.qc | 4 +- src/shared/w_fiveseven.qc | 4 +- src/shared/w_g3sg1.qc | 4 +- src/shared/w_glock18.qc | 5 +- src/shared/w_m3.qc | 4 +- src/shared/w_m4a1.qc | 4 +- src/shared/w_mac10.qc | 4 +- src/shared/w_mp5.qc | 4 +- src/shared/w_p228.qc | 4 +- src/shared/w_p90.qc | 4 +- src/shared/w_para.qc | 4 +- src/shared/w_scout.qc | 5 +- src/shared/w_sg550.qc | 4 +- src/shared/w_sg552.qc | 4 +- src/shared/w_tmp.qc | 4 +- src/shared/w_ump45.qc | 4 +- src/shared/w_usp45.qc | 4 +- src/shared/w_xm1014.qc | 7 +- zpak001.pk3dir/skill_cstrike.cfg | 114 +++++++++++++++++++++++++++++++ 23 files changed, 182 insertions(+), 25 deletions(-) diff --git a/src/shared/w_ak47.qc b/src/shared/w_ak47.qc index 5e63ea8..2dc47a5 100644 --- a/src/shared/w_ak47.qc +++ b/src/shared/w_ak47.qc @@ -143,6 +143,7 @@ w_ak47_draw(player pl) void w_ak47_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0) { return; @@ -177,9 +178,10 @@ w_ak47_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_rifle_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_ak47_dmg", 36); TraceAttack_SetRangeModifier(2.375); /* 18 units!!! */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 36, [accuracy,accuracy], WEAPON_AK47, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_AK47, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_ak47.fire"); #endif diff --git a/src/shared/w_aug.qc b/src/shared/w_aug.qc index 4a67d7f..646e118 100644 --- a/src/shared/w_aug.qc +++ b/src/shared/w_aug.qc @@ -109,6 +109,7 @@ w_aug_draw(player pl) void w_aug_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) { return; @@ -143,9 +144,10 @@ w_aug_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_rifle_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_aug_dmg", 32); TraceAttack_SetRangeModifier(2.125); TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 32, [accuracy,accuracy], WEAPON_AUG, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_AUG, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_aug.fire"); #endif diff --git a/src/shared/w_awp.qc b/src/shared/w_awp.qc index 2bb250e..49547ef 100644 --- a/src/shared/w_awp.qc +++ b/src/shared/w_awp.qc @@ -199,6 +199,7 @@ w_awp_secondary(player pl) void w_awp_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) { w_awp_release(pl); @@ -234,9 +235,10 @@ w_awp_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_sniper_ejectshell, 0.9f); #else + dmg = Skill_GetValue("plr_awp_dmg", 115); TraceAttack_SetRangeModifier(1.375); TraceAttack_SetPenetrationPower(2); /* however, we can only penetrate one wall if the first one is 5 units thick or higher */ - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 115, [accuracy,accuracy], WEAPON_AWP, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_AWP, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_awp.fire"); #endif diff --git a/src/shared/w_deagle.qc b/src/shared/w_deagle.qc index 14fc4b0..61f1d9b 100644 --- a/src/shared/w_deagle.qc +++ b/src/shared/w_deagle.qc @@ -151,6 +151,7 @@ w_deagle_primary(player pl) Cstrike_ShotMultiplierAdd(pl, 1); float accuracy = Cstrike_CalculateAccuracy(pl, 200); + int dmg; pl.deagle_mag--; if (pl.deagle_mag <= 0) { @@ -176,9 +177,10 @@ w_deagle_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_pistol_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_deagle_dmg", 54); TraceAttack_SetRangeModifier(1.875); /* 14 but not 15 */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 54, [accuracy,accuracy], WEAPON_DEAGLE, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_DEAGLE, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_deagle.fire"); #endif diff --git a/src/shared/w_elites.qc b/src/shared/w_elites.qc index 7bbe786..0fef9af 100644 --- a/src/shared/w_elites.qc +++ b/src/shared/w_elites.qc @@ -179,6 +179,7 @@ w_elites_primary(player pl) Cstrike_ShotMultiplierAdd(pl, 1); float accuracy = Cstrike_CalculateAccuracy(pl, 200); + int dmg = 0; pl.elites_mag--; int r = (float)input_sequence % 5; @@ -248,9 +249,10 @@ w_elites_primary(player pl) else View_AddEvent(w_pistol_ejectshell_right, 0.0f); #else + dmg = Skill_GetValue("plr_elites_dmg", 45); TraceAttack_SetRangeModifier(1.875); /* 14 but not 15 */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 45, [accuracy,accuracy], WEAPON_ELITES, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_ELITES, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_elites.fire"); #endif diff --git a/src/shared/w_fiveseven.qc b/src/shared/w_fiveseven.qc index f4c7956..f06fe92 100644 --- a/src/shared/w_fiveseven.qc +++ b/src/shared/w_fiveseven.qc @@ -122,6 +122,7 @@ w_fiveseven_primary(player pl) Cstrike_ShotMultiplierAdd(pl, 1); float accuracy = Cstrike_CalculateAccuracy(pl, 200); + int dmg = 0; pl.fiveseven_mag--; if (pl.fiveseven_mag <= 0) { @@ -147,9 +148,10 @@ w_fiveseven_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_pistol_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_fiveseven_dmg", 25); TraceAttack_SetRangeModifier(1.875); /* 14 but not 15 */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 25, [accuracy,accuracy], WEAPON_FIVESEVEN, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_FIVESEVEN, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_fiveseven.fire"); #endif diff --git a/src/shared/w_g3sg1.qc b/src/shared/w_g3sg1.qc index f9534db..c6355c5 100644 --- a/src/shared/w_g3sg1.qc +++ b/src/shared/w_g3sg1.qc @@ -107,6 +107,7 @@ w_g3sg1_draw(player pl) void w_g3sg1_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) { return; @@ -138,9 +139,10 @@ w_g3sg1_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_rifle_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_g3sg1_dmg", 80); TraceAttack_SetRangeModifier(2.375); TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 80, [accuracy,accuracy], WEAPON_G3SG1, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_G3SG1, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_g3sg1.fire"); #endif diff --git a/src/shared/w_glock18.qc b/src/shared/w_glock18.qc index a29b874..39e0e0d 100644 --- a/src/shared/w_glock18.qc +++ b/src/shared/w_glock18.qc @@ -127,7 +127,6 @@ w_glock18_draw(player pl) void w_glock18_primary(player pl) { - if (pl.w_attack_next > 0.0) return; if (pl.gflags & GF_SEMI_TOGGLED) @@ -136,6 +135,7 @@ w_glock18_primary(player pl) return; int shotcount = (pl.mode_glock18) ? 3 : 1; + int dmg = 0; /* fix shotcount if we're < 3 in burst mode */ if (pl.glock18_mag < 3 && pl.mode_glock18) @@ -146,9 +146,10 @@ w_glock18_primary(player pl) float accuracy = Cstrike_CalculateAccuracy(pl, (pl.mode_glock18) ? 175 : 200); pl.glock18_mag--; #ifdef SERVER + dmg = Skill_GetValue("plr_glock18_dmg", 25); TraceAttack_SetRangeModifier(1.25); /* penetrates 9 units, but not 10 */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 25, [accuracy,accuracy], WEAPON_GLOCK18, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_GLOCK18, "Impact.BigShot"); #endif } diff --git a/src/shared/w_m3.qc b/src/shared/w_m3.qc index 91f9bd0..da96ba2 100644 --- a/src/shared/w_m3.qc +++ b/src/shared/w_m3.qc @@ -155,6 +155,7 @@ void w_m3_release(player pl); void w_m3_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) { w_m3_release(pl); @@ -193,6 +194,7 @@ w_m3_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_m3_ejectshell, 0.6f); #else + dmg = Skill_GetValue("plr_m3_dmg", 26); TraceAttack_SetPenetrationPower(0); /* shotties can't wallbang?! */ if (pl.flags & FL_CROUCHING) @@ -207,7 +209,7 @@ w_m3_primary(player pl) Cstrike_ShotMultiplierAdd(pl, 1); pl.punchangle[0] = -4 * (9 / 6); #ifdef SERVER - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 26, [random(-1,1) * 0.1,random(-1,1) * 0.05], WEAPON_M3, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [random(-1,1) * 0.1,random(-1,1) * 0.05], WEAPON_M3, "Impact.BigShot"); #endif } diff --git a/src/shared/w_m4a1.qc b/src/shared/w_m4a1.qc index a9902d2..7f4c3be 100644 --- a/src/shared/w_m4a1.qc +++ b/src/shared/w_m4a1.qc @@ -124,6 +124,7 @@ w_m4a1_draw(player pl) void w_m4a1_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) { return; @@ -184,9 +185,10 @@ w_m4a1_primary(player pl) Sound_Play(pl, CHAN_WEAPON, "weapon_m4a1.fire"); } + dmg = Skill_GetValue("plr_m4a1_dmg", 33); TraceAttack_SetRangeModifier(2.125); TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 33, [accuracy,accuracy], WEAPON_M4A1, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_M4A1, "Impact.BigShot"); #endif pl.w_attack_next = 0.0875f; diff --git a/src/shared/w_mac10.qc b/src/shared/w_mac10.qc index e2f2e5a..885cf41 100644 --- a/src/shared/w_mac10.qc +++ b/src/shared/w_mac10.qc @@ -108,6 +108,7 @@ w_mac10_draw(player pl) void w_mac10_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) { return; @@ -142,9 +143,10 @@ w_mac10_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_pistol_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_mac10_dmg", 29); TraceAttack_SetRangeModifier(1.25); /* 9, but not 10 */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 29, [accuracy,accuracy], WEAPON_MAC10, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_MAC10, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_mac10.fire"); #endif diff --git a/src/shared/w_mp5.qc b/src/shared/w_mp5.qc index aa1e7de..1a46aa6 100644 --- a/src/shared/w_mp5.qc +++ b/src/shared/w_mp5.qc @@ -108,6 +108,7 @@ w_mp5_draw(player pl) void w_mp5_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) return; @@ -140,9 +141,10 @@ w_mp5_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_pistol_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_mp5_dmg", 26); TraceAttack_SetRangeModifier(1.25); /* 9 units but not 10 */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 26, [accuracy,accuracy], WEAPON_MP5, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_MP5, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_mp5.fire"); #endif diff --git a/src/shared/w_p228.qc b/src/shared/w_p228.qc index 4fa9adf..be3fd67 100644 --- a/src/shared/w_p228.qc +++ b/src/shared/w_p228.qc @@ -119,6 +119,7 @@ w_p228_primary(player pl) Cstrike_ShotMultiplierAdd(pl, 1); float accuracy = Cstrike_CalculateAccuracy(pl, 200); + int dmg = 0; pl.p228_mag--; if (pl.p228_mag <= 0) { @@ -147,9 +148,10 @@ w_p228_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_pistol_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_p228_dmg", 40); TraceAttack_SetRangeModifier(1.5); /* penetrates 11, but not 12 units */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 40, [accuracy,accuracy], WEAPON_P228, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_P228, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_p228.fire"); #endif diff --git a/src/shared/w_p90.qc b/src/shared/w_p90.qc index b250874..ab4dcde 100644 --- a/src/shared/w_p90.qc +++ b/src/shared/w_p90.qc @@ -108,6 +108,7 @@ w_p90_draw(player pl) void w_p90_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) return; @@ -140,9 +141,10 @@ w_p90_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_pistol_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_p90_dmg", 26); TraceAttack_SetRangeModifier(1.875); /* 9 but not 10 */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 26, [accuracy,accuracy], WEAPON_P90, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_P90, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_p90.fire"); #endif diff --git a/src/shared/w_para.qc b/src/shared/w_para.qc index 1c6c7b8..64a3e10 100644 --- a/src/shared/w_para.qc +++ b/src/shared/w_para.qc @@ -107,6 +107,7 @@ w_para_draw(player pl) void w_para_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) return; @@ -136,9 +137,10 @@ w_para_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_rifle_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_para_dmg", 35); TraceAttack_SetRangeModifier(2.125); TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 35, [accuracy,accuracy], WEAPON_PARA, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_PARA, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_para.fire"); #endif diff --git a/src/shared/w_scout.qc b/src/shared/w_scout.qc index 621da95..b839aaf 100644 --- a/src/shared/w_scout.qc +++ b/src/shared/w_scout.qc @@ -164,6 +164,7 @@ w_scout_secondary(player pl) void w_scout_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) { w_scout_release(pl); @@ -192,14 +193,14 @@ w_scout_primary(player pl) else Animation_PlayerTop(pl, ANIM_CROUCH_SHOOT_RIFLE, 0.45f); - #ifdef CLIENT View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_rifle_ejectshell, 0.5f); #else + dmg = Skill_GetValue("plr_scout_dmg", 75); TraceAttack_SetRangeModifier(2.375); TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 75, [accuracy,accuracy], WEAPON_SCOUT, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_SCOUT, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_scout.fire"); #endif diff --git a/src/shared/w_sg550.qc b/src/shared/w_sg550.qc index 3840071..cce6cef 100644 --- a/src/shared/w_sg550.qc +++ b/src/shared/w_sg550.qc @@ -107,6 +107,7 @@ w_sg550_draw(player pl) void w_sg550_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) return; @@ -137,9 +138,10 @@ w_sg550_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_rifle_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_sg550_dmg", 70); TraceAttack_SetRangeModifier(2.125); TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 70, [accuracy,accuracy], WEAPON_SG550, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_SG550, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_sg550.fire"); #endif diff --git a/src/shared/w_sg552.qc b/src/shared/w_sg552.qc index b1b72d1..9b63588 100644 --- a/src/shared/w_sg552.qc +++ b/src/shared/w_sg552.qc @@ -108,6 +108,7 @@ w_sg552_draw(player pl) void w_sg552_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) return; @@ -140,9 +141,10 @@ w_sg552_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_rifle_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_sg552_dmg", 33); TraceAttack_SetRangeModifier(2.125); TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 33, [accuracy,accuracy], WEAPON_SG552, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_SG552, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_sg552.fire"); #endif diff --git a/src/shared/w_tmp.qc b/src/shared/w_tmp.qc index 5cf658c..1095550 100644 --- a/src/shared/w_tmp.qc +++ b/src/shared/w_tmp.qc @@ -108,6 +108,7 @@ w_tmp_draw(player pl) void w_tmp_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) return; @@ -140,9 +141,10 @@ w_tmp_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_pistol_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_tmp_dmg", 26); TraceAttack_SetRangeModifier(1.25); /* 9 but not 10 */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 26, [accuracy,accuracy], WEAPON_TMP, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_TMP, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_tmp.fire"); #endif diff --git a/src/shared/w_ump45.qc b/src/shared/w_ump45.qc index cb4c27b..f50f41a 100644 --- a/src/shared/w_ump45.qc +++ b/src/shared/w_ump45.qc @@ -108,6 +108,7 @@ w_ump45_draw(player pl) void w_ump45_primary(player pl) { + int dmg = 0; if (pl.w_attack_next > 0.0) return; @@ -140,9 +141,10 @@ w_ump45_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_pistol_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_ump45_dmg", 30); TraceAttack_SetRangeModifier(0.875); /* 6, but not 7 */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 30, [accuracy,accuracy], WEAPON_UMP45, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_UMP45, "Impact.BigShot"); Sound_Play(pl, CHAN_WEAPON, "weapon_ump45.fire"); #endif diff --git a/src/shared/w_usp45.qc b/src/shared/w_usp45.qc index 1d8dcab..32cb207 100644 --- a/src/shared/w_usp45.qc +++ b/src/shared/w_usp45.qc @@ -136,6 +136,7 @@ w_usp45_primary(player pl) Cstrike_ShotMultiplierAdd(pl, 1); float accuracy = Cstrike_CalculateAccuracy(pl, 200); + int dmg = 0; pl.usp45_mag--; /* this stuff is predicted */ @@ -196,9 +197,10 @@ w_usp45_primary(player pl) } /* actual firing */ + dmg = Skill_GetValue("plr_usp45_dmg", 33); TraceAttack_SetRangeModifier(0.79); /* can penetrate 6 but not 7 units */ TraceAttack_SetPenetrationPower(1); - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 33, [accuracy,accuracy], WEAPON_USP45, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [accuracy,accuracy], WEAPON_USP45, "Impact.BigShot"); #endif pl.gflags |= GF_SEMI_TOGGLED; diff --git a/src/shared/w_xm1014.qc b/src/shared/w_xm1014.qc index 3974d47..47dcaa5 100644 --- a/src/shared/w_xm1014.qc +++ b/src/shared/w_xm1014.qc @@ -155,6 +155,8 @@ void w_xm1014_release(player pl); void w_xm1014_primary(player pl) { + int dmg = 0; + int r = 0; if (pl.w_attack_next > 0.0) { w_xm1014_release(pl); @@ -179,7 +181,7 @@ w_xm1014_primary(player pl) pl.xm1014_mag--; - int r = (float)input_sequence % 3; + r = (float)input_sequence % 3; switch (r) { case 0: Weapons_ViewAnimation(pl, XM1014_SHOOT1); @@ -198,6 +200,7 @@ w_xm1014_primary(player pl) View_SetMuzzleflash(MUZZLE_RIFLE); View_AddEvent(w_xm1014_ejectshell, 0.0f); #else + dmg = Skill_GetValue("plr_xm1014_dmg", 22); TraceAttack_SetPenetrationPower(0); /* shotties can't wallbang?! */ Sound_Play(pl, CHAN_WEAPON, "weapon_xm1014.fire"); #endif @@ -206,7 +209,7 @@ w_xm1014_primary(player pl) Cstrike_ShotMultiplierAdd(pl, 1); pl.punchangle[0] = -4 * (6 / 6); #ifdef SERVER - TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, 22, [random(-1,1) * 0.1,random(-1,1) * 0.05], WEAPON_M3, "Impact.BigShot"); + TraceAttack_FireBulletsWithDecal(1, pl.origin + pl.view_ofs, dmg, [random(-1,1) * 0.1,random(-1,1) * 0.05], WEAPON_M3, "Impact.BigShot"); #endif } diff --git a/zpak001.pk3dir/skill_cstrike.cfg b/zpak001.pk3dir/skill_cstrike.cfg index 785704f..dd2a9cc 100644 --- a/zpak001.pk3dir/skill_cstrike.cfg +++ b/zpak001.pk3dir/skill_cstrike.cfg @@ -72,3 +72,117 @@ set sk_plr_knife_altdmgchest1 65 set sk_plr_knife_altdmgchest2 65 set sk_plr_knife_altdmgchest3 65 +// glock-18: bullet damage +set sk_plr_glock18_dmg1 25 +set sk_plr_glock18_dmg2 25 +set sk_plr_glock18_dmg3 25 + +// usp45: bullet damage +set sk_plr_usp45_dmg1 33 +set sk_plr_usp45_dmg2 33 +set sk_plr_usp45_dmg3 33 + +// p228: bullet damage +set sk_plr_p228_dmg1 40 +set sk_plr_p228_dmg2 40 +set sk_plr_p228_dmg3 40 + +// fiveseven: bullet damage +set sk_plr_fiveseven_dmg1 25 +set sk_plr_fiveseven_dmg2 25 +set sk_plr_fiveseven_dmg3 25 + +// elites: bullet damage +set sk_plr_elites_dmg1 45 +set sk_plr_elites_dmg2 45 +set sk_plr_elites_dmg3 45 + +// deagle: bullet damage +set sk_plr_deagle_dmg1 54 +set sk_plr_deagle_dmg2 54 +set sk_plr_deagle_dmg3 54 + +// m3: pellet damage +set sk_plr_m3_dmg1 26 +set sk_plr_m3_dmg2 26 +set sk_plr_m3_dmg3 26 + +// xm1014: pellet damage +set sk_plr_xm1014_dmg1 22 +set sk_plr_xm1014_dmg2 22 +set sk_plr_xm1014_dmg3 22 + +// tmp: bullet damage +set sk_plr_tmp_dmg1 26 +set sk_plr_tmp_dmg2 26 +set sk_plr_tmp_dmg3 26 + +// mac10: bullet damage +set sk_plr_mac10_dmg1 29 +set sk_plr_mac10_dmg2 29 +set sk_plr_mac10_dmg3 29 + +// mp5: bullet damage +set sk_plr_mp5_dmg1 26 +set sk_plr_mp5_dmg2 26 +set sk_plr_mp5_dmg3 26 + +// ump45: bullet damage +set sk_plr_ump45_dmg1 30 +set sk_plr_ump45_dmg2 30 +set sk_plr_ump45_dmg3 30 + +// p90: bullet damage +set sk_plr_p90_dmg1 26 +set sk_plr_p90_dmg2 26 +set sk_plr_p90_dmg3 26 + +// ak47: bullet damage +set sk_plr_ak47_dmg1 36 +set sk_plr_ak47_dmg2 36 +set sk_plr_ak47_dmg3 36 + +// scout: bullet damage +set sk_plr_scout_dmg1 75 +set sk_plr_scout_dmg2 75 +set sk_plr_scout_dmg3 75 + +// m4a1: bullet damage +set sk_plr_m4a1_dmg1 33 +set sk_plr_m4a1_dmg2 33 +set sk_plr_m4a1_dmg3 33 + +// sg522: bullet damage +set sk_plr_sg552_dmg1 33 +set sk_plr_sg552_dmg2 33 +set sk_plr_sg552_dmg3 33 + +// sg522: bullet damage +set sk_plr_sg552_dmg1 33 +set sk_plr_sg552_dmg2 33 +set sk_plr_sg552_dmg3 33 + +// aug: bullet damage +set sk_plr_aug_dmg1 32 +set sk_plr_aug_dmg2 32 +set sk_plr_aug_dmg3 32 + +// g3sg1: bullet damage +set sk_plr_g3sg1_dmg1 80 +set sk_plr_g3sg1_dmg2 80 +set sk_plr_g3sg1_dmg3 80 + +// sg550: bullet damage +set sk_plr_sg550_dmg1 70 +set sk_plr_sg550_dmg2 70 +set sk_plr_sg550_dmg3 70 + +// awp: bullet damage +set sk_plr_awp_dmg1 115 +set sk_plr_awp_dmg2 115 +set sk_plr_awp_dmg3 115 + +// para: bullet damage +set sk_plr_para_dmg1 35 +set sk_plr_para_dmg2 35 +set sk_plr_para_dmg3 35 \ No newline at end of file