diff --git a/code/modules/projectiles/guns/projectile_gun.dm b/code/modules/projectiles/guns/projectile_gun.dm index e5907f1632f..c49be4a00f7 100644 --- a/code/modules/projectiles/guns/projectile_gun.dm +++ b/code/modules/projectiles/guns/projectile_gun.dm @@ -78,15 +78,22 @@ /obj/item/gun/projectile/proc/can_reload() return !magazine -/obj/item/gun/projectile/proc/reload(obj/item/ammo_box/magazine/AM, mob/user as mob) - user.remove_from_mob(AM) - magazine = AM - magazine.loc = src - playsound(src, magin_sound, 50, 1) - chamber_round() - AM.update_icon() - update_icon() +/obj/item/gun/projectile/proc/reload(obj/item/ammo_box/magazine/AM, mob/user) + user.remove_from_mob(AM) + magazine = AM + magazine.forceMove(src) + playsound(src, magin_sound, 50, 1) + chamber_round() + AM.update_icon() + update_icon() + if(!user) return + // Update the hand opposite of the one holding ammo (the current one) + if(user.hand) + user.update_inv_r_hand() + else + user.update_inv_l_hand() + return /obj/item/gun/projectile/attackby(obj/item/A as obj, mob/user as mob, params) if(istype(A, /obj/item/ammo_box/magazine))