diff --git a/src/shared/w_ak47.qc b/src/shared/w_ak47.qc index b6dae24..7a37ca3 100644 --- a/src/shared/w_ak47.qc +++ b/src/shared/w_ak47.qc @@ -203,12 +203,18 @@ w_ak47_reload(player pl) Weapons_ViewAnimation(pl, AK47_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::ak47_mag, player::ammo_762mm, 30); -#endif - pl.w_attack_next = 2.4f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::ak47_mag, player::ammo_762mm, 30); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_aug.qc b/src/shared/w_aug.qc index 6e70791..6b8d3bc 100644 --- a/src/shared/w_aug.qc +++ b/src/shared/w_aug.qc @@ -186,13 +186,18 @@ w_aug_reload(player pl) return; } Weapons_ViewAnimation(pl, AUG_RELOAD); - -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::aug_mag, player::ammo_762mm, 30); -#endif - pl.w_attack_next = 3.3f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::aug_mag, player::ammo_762mm, 30); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_awp.qc b/src/shared/w_awp.qc index c9d6a06..fbfc172 100644 --- a/src/shared/w_awp.qc +++ b/src/shared/w_awp.qc @@ -258,12 +258,18 @@ w_awp_reload(player pl) Weapons_ViewAnimation(pl, AWP_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::awp_mag, player::ammo_338mag, 10); -#endif - pl.w_attack_next = 2.9f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::awp_mag, player::ammo_338mag, 10); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } float diff --git a/src/shared/w_deagle.qc b/src/shared/w_deagle.qc index ec4a966..967d6fc 100644 --- a/src/shared/w_deagle.qc +++ b/src/shared/w_deagle.qc @@ -202,12 +202,18 @@ w_deagle_reload(player pl) } Weapons_ViewAnimation(pl, DEAGLE_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::deagle_mag, player::ammo_50ae, 7); -#endif - pl.w_attack_next = 2.1f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::deagle_mag, player::ammo_50ae, 7); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_elites.qc b/src/shared/w_elites.qc index 5a14968..0495184 100644 --- a/src/shared/w_elites.qc +++ b/src/shared/w_elites.qc @@ -272,12 +272,18 @@ w_elites_reload(player pl) Weapons_ViewAnimation(pl, ELITES_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::elites_mag, player::ammo_9mm, 30); -#endif - pl.w_attack_next = 4.6f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::elites_mag, player::ammo_9mm, 30); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_fiveseven.qc b/src/shared/w_fiveseven.qc index f5bc7f6..17b6dc9 100644 --- a/src/shared/w_fiveseven.qc +++ b/src/shared/w_fiveseven.qc @@ -171,12 +171,18 @@ w_fiveseven_reload(player pl) Weapons_ViewAnimation(pl, FIVESEVEN_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::fiveseven_mag, player::ammo_57mm, 20); -#endif - pl.w_attack_next = 3.1f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::fiveseven_mag, player::ammo_57mm, 20); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_g3sg1.qc b/src/shared/w_g3sg1.qc index 9e44d91..45bc342 100644 --- a/src/shared/w_g3sg1.qc +++ b/src/shared/w_g3sg1.qc @@ -180,14 +180,18 @@ w_g3sg1_reload(player pl) return; Weapons_ViewAnimation(pl, G3SG1_RELOAD); - -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::g3sg1_mag, player::ammo_762mm, 20); - Weapons_UpdateAmmo(pl, pl.g3sg1_mag, pl.ammo_762mm, -1); -#endif - pl.w_attack_next = 4.6f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::g3sg1_mag, player::ammo_762mm, 20); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_glock18.qc b/src/shared/w_glock18.qc index 06b5063..36d95c1 100644 --- a/src/shared/w_glock18.qc +++ b/src/shared/w_glock18.qc @@ -236,13 +236,18 @@ w_glock18_reload(player pl) break; } -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::glock18_mag, player::ammo_9mm, 20); - Weapons_UpdateAmmo(pl, pl.glock18_mag, pl.ammo_9mm, -1); -#endif - pl.w_attack_next = 2.1f; pl.w_idle_next = pl.w_attack_next + 1.0f; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::glock18_mag, player::ammo_9mm, 20); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_m4a1.qc b/src/shared/w_m4a1.qc index 79b117d..6a855bf 100644 --- a/src/shared/w_m4a1.qc +++ b/src/shared/w_m4a1.qc @@ -231,12 +231,18 @@ w_m4a1_reload(player pl) else Weapons_ViewAnimation(pl, M4A1_RELOADUNSIL); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::m4a1_mag, player::ammo_556mm, 30); -#endif - pl.w_attack_next = 3.1f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::m4a1_mag, player::ammo_556mm, 30); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } float diff --git a/src/shared/w_mac10.qc b/src/shared/w_mac10.qc index e299677..ee9c060 100644 --- a/src/shared/w_mac10.qc +++ b/src/shared/w_mac10.qc @@ -165,13 +165,18 @@ w_mac10_reload(player pl) Weapons_ViewAnimation(pl, MAC10_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::mac10_mag, player::ammo_45acp, 30); - Weapons_UpdateAmmo(pl, pl.mac10_mag, pl.ammo_45acp, -1); -#endif - pl.w_attack_next = 3.2f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::mac10_mag, player::ammo_45acp, 30); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_mp5.qc b/src/shared/w_mp5.qc index d482ac8..1479d7e 100644 --- a/src/shared/w_mp5.qc +++ b/src/shared/w_mp5.qc @@ -163,13 +163,18 @@ w_mp5_reload(player pl) Weapons_ViewAnimation(pl, MP5_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::mp5_mag, player::ammo_9mm, 30); - Weapons_UpdateAmmo(pl, pl.mp5_mag, pl.ammo_9mm, -1); -#endif - pl.w_attack_next = 2.6f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::mp5_mag, player::ammo_9mm, 30); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_p228.qc b/src/shared/w_p228.qc index bdbafa6..7eeb27e 100644 --- a/src/shared/w_p228.qc +++ b/src/shared/w_p228.qc @@ -171,13 +171,18 @@ w_p228_reload(player pl) Weapons_ViewAnimation(pl, P228_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::p228_mag, player::ammo_357sig, 13); - Weapons_UpdateAmmo(pl, pl.p228_mag, pl.ammo_357sig, -1); -#endif - pl.w_attack_next = 2.7f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::p228_mag, player::ammo_357sig, 13); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_p90.qc b/src/shared/w_p90.qc index 7e5cfd8..02475a7 100644 --- a/src/shared/w_p90.qc +++ b/src/shared/w_p90.qc @@ -163,13 +163,18 @@ w_p90_reload(player pl) Weapons_ViewAnimation(pl, P90_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::p90_mag, player::ammo_57mm, 50); - Weapons_UpdateAmmo(pl, pl.p90_mag, pl.ammo_57mm, -1); -#endif - pl.w_attack_next = 3.3f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::p90_mag, player::ammo_57mm, 50); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_para.qc b/src/shared/w_para.qc index a37def8..8e95769 100644 --- a/src/shared/w_para.qc +++ b/src/shared/w_para.qc @@ -159,13 +159,18 @@ w_para_reload(player pl) Weapons_ViewAnimation(pl, PARA_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::para_mag, player::ammo_556mmbox, 100); - Weapons_UpdateAmmo(pl, pl.para_mag, pl.ammo_556mmbox, -1); -#endif - pl.w_attack_next = 3.0f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::para_mag, player::ammo_556mmbox, 100); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_scout.qc b/src/shared/w_scout.qc index ea557f5..93e84e1 100644 --- a/src/shared/w_scout.qc +++ b/src/shared/w_scout.qc @@ -220,13 +220,18 @@ w_scout_reload(player pl) Weapons_ViewAnimation(pl, SCOUT_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::scout_mag, player::ammo_762mm, 10); - Weapons_UpdateAmmo(pl, pl.scout_mag, pl.ammo_762mm, -1); -#endif - pl.w_attack_next = 2.0f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::scout_mag, player::ammo_762mm, 10); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } float diff --git a/src/shared/w_sg550.qc b/src/shared/w_sg550.qc index a13af19..cd0b393 100644 --- a/src/shared/w_sg550.qc +++ b/src/shared/w_sg550.qc @@ -182,13 +182,18 @@ w_sg550_reload(player pl) Weapons_ViewAnimation(pl, SG550_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::sg550_mag, player::ammo_556mm, 30); - Weapons_UpdateAmmo(pl, pl.sg550_mag, pl.ammo_556mm, -1); -#endif - pl.w_attack_next = 3.8f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::sg550_mag, player::ammo_556mm, 30); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_sg552.qc b/src/shared/w_sg552.qc index d11b672..2523655 100644 --- a/src/shared/w_sg552.qc +++ b/src/shared/w_sg552.qc @@ -183,13 +183,18 @@ w_sg552_reload(player pl) Weapons_ViewAnimation(pl, SG552_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::sg552_mag, player::ammo_556mm, 30); - Weapons_UpdateAmmo(pl, pl.sg552_mag, pl.ammo_556mm, -1); -#endif - pl.w_attack_next = 3.2f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::sg552_mag, player::ammo_556mm, 30); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_tmp.qc b/src/shared/w_tmp.qc index de07b80..ba20626 100644 --- a/src/shared/w_tmp.qc +++ b/src/shared/w_tmp.qc @@ -163,13 +163,18 @@ w_tmp_reload(player pl) Weapons_ViewAnimation(pl, TMP_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::tmp_mag, player::ammo_9mm, 30); - Weapons_UpdateAmmo(pl, pl.tmp_mag, pl.ammo_9mm, -1); -#endif - pl.w_attack_next = 2.1f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::tmp_mag, player::ammo_9mm, 30); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_ump45.qc b/src/shared/w_ump45.qc index e456bd9..3a8be17 100644 --- a/src/shared/w_ump45.qc +++ b/src/shared/w_ump45.qc @@ -163,13 +163,18 @@ w_ump45_reload(player pl) Weapons_ViewAnimation(pl, UMP45_RELOAD); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::ump45_mag, player::ammo_45acp, 25); - Weapons_UpdateAmmo(pl, pl.ump45_mag, pl.ammo_45acp, -1); -#endif - pl.w_attack_next = 3.5f; pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::ump45_mag, player::ammo_45acp, 25); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void diff --git a/src/shared/w_usp45.qc b/src/shared/w_usp45.qc index 5769486..0b0dc69 100644 --- a/src/shared/w_usp45.qc +++ b/src/shared/w_usp45.qc @@ -242,11 +242,18 @@ w_usp45_reload(player pl) else Weapons_ViewAnimation(pl, USP45_RELOADUNSIL); -#ifdef SERVER - Weapons_ReloadWeapon(pl, player::usp45_mag, player::ammo_45acp, 12); -#endif - pl.w_attack_next = 2.5f; + pl.w_idle_next = pl.w_attack_next; + +#ifdef SERVER + static void w_weapon_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::usp45_mag, player::ammo_45acp, 12); + } + + pl.think = w_weapon_reload_done; + pl.nextthink = time + pl.w_attack_next - 0.1f; +#endif } void