From 0f4f32188c28ec2713f357c072b9083eecf6112a Mon Sep 17 00:00:00 2001 From: viktorljung Date: Sun, 13 Mar 2016 14:55:29 +0100 Subject: [PATCH] assault weapon now reloading correctly --- src/Game/Systems/Weapon/AssaultWeaponBehaviour.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Game/Systems/Weapon/AssaultWeaponBehaviour.cpp b/src/Game/Systems/Weapon/AssaultWeaponBehaviour.cpp index ca53ce0f..089443a3 100644 --- a/src/Game/Systems/Weapon/AssaultWeaponBehaviour.cpp +++ b/src/Game/Systems/Weapon/AssaultWeaponBehaviour.cpp @@ -36,8 +36,11 @@ void AssaultWeaponBehaviour::UpdateWeapon(ComponentWrapper cWeapon, WeaponInfo& int& magSize = cWeapon["MagazineSize"]; int& ammo = cWeapon["Ammo"]; - ammo = glm::max(0, ammo - (magSize - magAmmo)); - magAmmo = glm::min(magSize, ammo); + int usedAmmo = glm::max(0, magSize - magAmmo); + magAmmo = glm::clamp(ammo + magAmmo, 0, magSize); + ammo = glm::max(0, ammo - usedAmmo); + + isReloading = false; if (wi.FirstPersonEntity.Valid()) { wi.FirstPersonEntity.FirstChildByName("ViewModel")["Model"]["Visible"] = true;