From bf02bb1cf320d724e90841df358543770296a546 Mon Sep 17 00:00:00 2001 From: Fridge Burns <105668884+FridgeBurns@users.noreply.github.com> Date: Mon, 24 Jul 2023 09:30:06 -0500 Subject: [PATCH] Update the in-hand sprite when a gun is reloaded (#21676) * update user hand on reload * review Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com> * use forceMove --------- Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com> --- .../projectiles/guns/projectile_gun.dm | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) 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))