Weapons: Go over them all and adjust their bullet penetration properties. Only possible thanks to Xylemon's test map.

This commit is contained in:
Marco Cawthorne 2022-04-24 17:24:01 -07:00
parent 51f4420c1e
commit e17ac08288
Signed by: eukara
GPG key ID: C196CD8BA993248A
23 changed files with 39 additions and 34 deletions

View file

@ -177,8 +177,8 @@ w_ak47_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_rifle_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.98);
TraceAttack_SetPenetrationPower(2);
TraceAttack_SetRangeModifier(2.375); /* 18 units!!! */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 36, [accuracy,accuracy], WEAPON_AK47);
Sound_Play(pl, CHAN_WEAPON, "weapon_ak47.fire");
#endif

View file

@ -143,8 +143,8 @@ w_aug_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_rifle_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.96);
TraceAttack_SetPenetrationPower(2);
TraceAttack_SetRangeModifier(2.125);
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 32, [accuracy,accuracy], WEAPON_AUG);
Sound_Play(pl, CHAN_WEAPON, "weapon_aug.fire");
#endif

View file

@ -234,8 +234,8 @@ w_awp_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_sniper_ejectshell, 0.9f);
#else
TraceAttack_SetRangeModifier(0.99);
TraceAttack_SetPenetrationPower(3);
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_FireBullets(1, pl.origin + pl.view_ofs, 115, [accuracy,accuracy], WEAPON_AWP);
Sound_Play(pl, CHAN_WEAPON, "weapon_awp.fire");

View file

@ -176,8 +176,8 @@ w_deagle_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_pistol_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.81);
TraceAttack_SetPenetrationPower(2);
TraceAttack_SetRangeModifier(1.875); /* 14 but not 15 */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 54, [accuracy,accuracy], WEAPON_DEAGLE);
Sound_Play(pl, CHAN_WEAPON, "weapon_deagle.fire");
#endif

View file

@ -248,7 +248,7 @@ w_elites_primary(player pl)
else
View_AddEvent(w_pistol_ejectshell_right, 0.0f);
#else
TraceAttack_SetRangeModifier(0.75);
TraceAttack_SetRangeModifier(1.875); /* 14 but not 15 */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 45, [accuracy,accuracy], WEAPON_ELITES);
Sound_Play(pl, CHAN_WEAPON, "weapon_elites.fire");

View file

@ -147,7 +147,7 @@ w_fiveseven_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_pistol_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.885);
TraceAttack_SetRangeModifier(1.875); /* 14 but not 15 */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 25, [accuracy,accuracy], WEAPON_FIVESEVEN);
Sound_Play(pl, CHAN_WEAPON, "weapon_fiveseven.fire");

View file

@ -138,8 +138,8 @@ w_g3sg1_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_rifle_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.98);
TraceAttack_SetPenetrationPower(3);
TraceAttack_SetRangeModifier(2.375);
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 80, [accuracy,accuracy], WEAPON_G3SG1);
Sound_Play(pl, CHAN_WEAPON, "weapon_g3sg1.fire");
#endif

View file

@ -146,7 +146,7 @@ w_glock18_primary(player pl)
float accuracy = Cstrike_CalculateAccuracy(pl, (pl.mode_glock18) ? 175 : 200);
pl.glock18_mag--;
#ifdef SERVER
TraceAttack_SetRangeModifier(0.75);
TraceAttack_SetRangeModifier(1.25); /* penetrates 9 units, but not 10 */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 25, [accuracy,accuracy], WEAPON_GLOCK18);
#endif

View file

@ -193,8 +193,7 @@ w_m3_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_m3_ejectshell, 0.6f);
#else
TraceAttack_SetRangeModifier(0.70);
TraceAttack_SetPenetrationPower(1);
TraceAttack_SetPenetrationPower(0); /* shotties can't wallbang?! */
if (self.flags & FL_CROUCHING)
Animation_PlayerTop(pl, ANIM_SHOOT_SHOTGUN, 0.45f);

View file

@ -184,8 +184,8 @@ w_m4a1_primary(player pl)
Sound_Play(pl, CHAN_WEAPON, "weapon_m4a1.fire");
}
TraceAttack_SetRangeModifier(0.97);
TraceAttack_SetPenetrationPower(2);
TraceAttack_SetRangeModifier(2.125);
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 33, [accuracy,accuracy], WEAPON_M4A1);
#endif

View file

@ -142,7 +142,7 @@ w_mac10_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_pistol_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.82);
TraceAttack_SetRangeModifier(1.25); /* 9, but not 10 */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 29, [accuracy,accuracy], WEAPON_MAC10);
Sound_Play(pl, CHAN_WEAPON, "weapon_mac10.fire");

View file

@ -140,7 +140,7 @@ w_mp5_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_pistol_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.84);
TraceAttack_SetRangeModifier(1.25); /* 9 units but not 10 */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 26, [accuracy,accuracy], WEAPON_MP5);
Sound_Play(pl, CHAN_WEAPON, "weapon_mp5.fire");

View file

@ -147,7 +147,7 @@ w_p228_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_pistol_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.80);
TraceAttack_SetRangeModifier(1.5); /* penetrates 11, but not 12 units */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 40, [accuracy,accuracy], WEAPON_P228);
Sound_Play(pl, CHAN_WEAPON, "weapon_p228.fire");

View file

@ -140,7 +140,7 @@ w_p90_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_pistol_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.84);
TraceAttack_SetRangeModifier(1.875); /* 9 but not 10 */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 26, [accuracy,accuracy], WEAPON_P90);
Sound_Play(pl, CHAN_WEAPON, "weapon_p90.fire");

View file

@ -136,8 +136,8 @@ w_para_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_rifle_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.97);
TraceAttack_SetPenetrationPower(2);
TraceAttack_SetRangeModifier(2.125);
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 35, [accuracy,accuracy], WEAPON_PARA);
Sound_Play(pl, CHAN_WEAPON, "weapon_para.fire");
#endif

View file

@ -197,8 +197,8 @@ w_scout_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_rifle_ejectshell, 0.5f);
#else
TraceAttack_SetRangeModifier(0.98);
TraceAttack_SetPenetrationPower(3);
TraceAttack_SetRangeModifier(2.375);
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 75, [accuracy,accuracy], WEAPON_SCOUT);
Sound_Play(pl, CHAN_WEAPON, "weapon_scout.fire");
#endif

View file

@ -137,8 +137,8 @@ w_sg550_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_rifle_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.98);
TraceAttack_SetPenetrationPower(2);
TraceAttack_SetRangeModifier(2.125);
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 70, [accuracy,accuracy], WEAPON_SG550);
Sound_Play(pl, CHAN_WEAPON, "weapon_sg550.fire");
#endif

View file

@ -140,8 +140,8 @@ w_sg552_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_rifle_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.955);
TraceAttack_SetPenetrationPower(2);
TraceAttack_SetRangeModifier(2.125);
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 33, [accuracy,accuracy], WEAPON_SG552);
Sound_Play(pl, CHAN_WEAPON, "weapon_sg552.fire");
#endif

View file

@ -140,7 +140,7 @@ w_tmp_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_pistol_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.84);
TraceAttack_SetRangeModifier(1.25); /* 9 but not 10 */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 26, [accuracy,accuracy], WEAPON_TMP);
Sound_Play(pl, CHAN_WEAPON, "weapon_tmp.fire");

View file

@ -140,7 +140,7 @@ w_ump45_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_pistol_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.02);
TraceAttack_SetRangeModifier(0.875); /* 6, but not 7 */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 30, [accuracy,accuracy], WEAPON_UMP45);
Sound_Play(pl, CHAN_WEAPON, "weapon_ump45.fire");

View file

@ -196,7 +196,7 @@ w_usp45_primary(player pl)
}
/* actual firing */
TraceAttack_SetRangeModifier(0.79);
TraceAttack_SetRangeModifier(0.79); /* can penetrate 6 but not 7 units */
TraceAttack_SetPenetrationPower(1);
TraceAttack_FireBullets(1, pl.origin + pl.view_ofs, 33, [accuracy,accuracy], WEAPON_USP45);
#endif

View file

@ -198,8 +198,7 @@ w_xm1014_primary(player pl)
View_SetMuzzleflash(MUZZLE_RIFLE);
View_AddEvent(w_xm1014_ejectshell, 0.0f);
#else
TraceAttack_SetRangeModifier(0.70);
TraceAttack_SetPenetrationPower(1);
TraceAttack_SetPenetrationPower(0); /* shotties can't wallbang?! */
Sound_Play(pl, CHAN_WEAPON, "weapon_xm1014.fire");
#endif

View file

@ -75,3 +75,10 @@ seta sv_airaccelerate 10
seta sv_wateraccelerate 8
seta sv_accelerate 4
seta sv_maxspeed 250
// disable some nuclide niceties
seta v_muzzledlight 0
// config compat
alias mp_timelimit timelimit
alias mp_fraglimit fraglimit