diff --git a/src/shared/w_crossbow.qc b/src/shared/w_crossbow.qc index bb2b195..698a6ce 100644 --- a/src/shared/w_crossbow.qc +++ b/src/shared/w_crossbow.qc @@ -243,7 +243,13 @@ w_crossbow_reload(void) } #ifdef SERVER - Weapons_ReloadWeapon(pl, player::crossbow_mag, player::ammo_bolt, 5); + static void w_crossbow_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::crossbow_mag, player::ammo_bolt, 5); + } + + pl.think = w_crossbow_reload_done; + pl.nextthink = time + 4.5f; Sound_Play(pl, CHAN_ITEM, "weapon_crossbow.reload"); #endif diff --git a/src/shared/w_glock.qc b/src/shared/w_glock.qc index d75451b..9221096 100644 --- a/src/shared/w_glock.qc +++ b/src/shared/w_glock.qc @@ -256,7 +256,13 @@ w_glock_reload(void) } #ifdef SERVER - Weapons_ReloadWeapon(pl, player::glock_mag, player::ammo_9mm, 18); + static void w_glock_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::glock_mag, player::ammo_9mm, 18); + } + + pl.think = w_glock_reload_done; + pl.nextthink = time + 2.0f; #endif pl.w_attack_next = 2.0f; diff --git a/src/shared/w_mp5.qc b/src/shared/w_mp5.qc index 6f7447e..7507c3c 100644 --- a/src/shared/w_mp5.qc +++ b/src/shared/w_mp5.qc @@ -247,7 +247,13 @@ w_mp5_reload(void) Weapons_ViewAnimation(MP5_RELOAD); #ifdef SERVER - Weapons_ReloadWeapon(pl, player::mp5_mag, player::ammo_9mm, 50); + static void w_mp5_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::mp5_mag, player::ammo_9mm, 50); + } + + pl.think = w_mp5_reload_done; + pl.nextthink = time + 1.5f; #endif pl.w_attack_next = 1.5f; diff --git a/src/shared/w_python.qc b/src/shared/w_python.qc index 6f3ae25..720fd31 100644 --- a/src/shared/w_python.qc +++ b/src/shared/w_python.qc @@ -204,8 +204,14 @@ w_python_reload(void) Weapons_ViewAnimation(PYTHON_RELOAD); #ifdef SERVER + static void w_python_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::python_mag, player::ammo_357, 6); + } + + pl.think = w_python_reload_done; + pl.nextthink = time + 3.25f; Sound_Play(pl, CHAN_WEAPON, "weapon_357.reload"); - Weapons_ReloadWeapon(pl, player::python_mag, player::ammo_357, 6); #endif pl.w_attack_next = 3.25f; diff --git a/src/shared/w_rpg.qc b/src/shared/w_rpg.qc index fed73a2..379bb4f 100644 --- a/src/shared/w_rpg.qc +++ b/src/shared/w_rpg.qc @@ -189,7 +189,13 @@ void w_rpg_reload(void) /* Audio-Visual Bit */ #ifdef SERVER - Weapons_ReloadWeapon(pl, player::rpg_mag, player::ammo_rocket, 1); + static void w_rpg_reload_done(void) { + player pl = (player)self; + Weapons_ReloadWeapon(pl, player::rpg_mag, player::ammo_rocket, 1); + } + + pl.think = w_rpg_reload_done; + pl.nextthink = time + 2.25f; #endif pl.w_attack_next = 2.25f;