diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm index 799169bad5e..ca2d76d9f2a 100644 --- a/code/game/objects/items/weapons/storage/storage.dm +++ b/code/game/objects/items/weapons/storage/storage.dm @@ -354,12 +354,10 @@ //such as when picking up all the items on a tile with one click. /obj/item/weapon/storage/proc/handle_item_insertion(obj/item/W as obj, prevent_warning = 0) if(!istype(W)) return 0 + if(usr) - usr.remove_from_mob(W) - usr.update_icons() //update our overlays - W.forceMove(src) - W.on_enter_storage(src) - if(usr) + usr.remove_from_mob(W,target = src) //If given a target, handles forceMove() + W.on_enter_storage(src) if (usr.client && usr.s_active != src) usr.client.screen -= W W.dropped(usr) @@ -377,6 +375,10 @@ src.orient2hud(usr) if(usr.s_active) usr.s_active.show_to(usr) + else + W.forceMove(src) + W.on_enter_storage(src) + update_icon() return 1 diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm index 6e420a74a85..b265536c431 100644 --- a/code/modules/mob/living/carbon/human/update_icons.dm +++ b/code/modules/mob/living/carbon/human/update_icons.dm @@ -94,6 +94,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() // Regular stuff again. var/matrix/M = matrix() + var/anim_time = 3 + + //Due to some involuntary means, you're laying now + if(lying && !resting && !sleeping) + anim_time = 1 //Thud + if(lying && !species.prone_icon) //Only rotate them if we're not drawing a specific icon for being prone. M.Turn(90) M.Scale(desired_scale) @@ -104,7 +110,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon() M.Translate(0, 16*(desired_scale-1)) layer = MOB_LAYER // Fix for a byond bug where turf entry order no longer matters - animate(src, transform = M, time = 3) + animate(src, transform = M, time = anim_time) update_icon_special() //May contain transform-altering things //DAMAGE OVERLAYS