From 48e4b9a6986919a7146bada42f628cf8c6623834 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 30 Jan 2014 21:35:38 +1300 Subject: [PATCH 1/2] Fix handcuff resist - layer bug Fixes #4324 Resisting out of handcuffs was leaving the handcuffs layer set to 20 (over top of the UI). Changed it to use the drop_from_inventory() proc so it handles the drop event correctly. --- code/modules/mob/living/living.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 29b06d14a93..a111125c269 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -626,9 +626,10 @@ for(var/mob/O in viewers(CM))// lags so hard that 40s isn't lenient enough - Quarxink O.show_message("\red [CM] manages to remove the handcuffs!", 1) CM << "\blue You successfully remove \the [CM.handcuffed]." - CM.handcuffed.loc = usr.loc + CM.drop_from_inventory(CM.handcuffed) CM.handcuffed = null CM.update_inv_handcuffed() + else if(CM.legcuffed && CM.canmove && (CM.last_special <= world.time)) CM.next_move = world.time + 100 CM.last_special = world.time + 100 @@ -664,7 +665,7 @@ for(var/mob/O in viewers(CM))// lags so hard that 40s isn't lenient enough - Quarxink O.show_message("\red [CM] manages to remove the legcuffs!", 1) CM << "\blue You successfully remove \the [CM.legcuffed]." - CM.legcuffed.loc = usr.loc + CM.drop_from_inventory(CM.legcuffed) CM.legcuffed = null CM.update_inv_legcuffed() From cbd73c9845bf94f5901e8b5b95de1ceb63e002a3 Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Thu, 30 Jan 2014 23:42:21 +1300 Subject: [PATCH 2/2] Fix item drop layer bug Similar to the handcuff resisting layer bug. When removing an item from your inventory that has associated inventory slots, items that were dropped from the extra inventory slots would be dropped with incorrect layer variables (set to 20 so they were rendered over the UI). Now when the extra items are dropped, it calls the drop_from_inventory() proc, which correctly changes their layer back. --- code/modules/mob/living/carbon/human/inventory.dm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 2ccf4f37406..64d1ff64ef3 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -81,20 +81,20 @@ if (W == wear_suit) if(s_store) - u_equip(s_store) + drop_from_inventory(s_store) if(W) success = 1 wear_suit = null update_inv_wear_suit() else if (W == w_uniform) if (r_store) - u_equip(r_store) + drop_from_inventory(r_store) if (l_store) - u_equip(l_store) + drop_from_inventory(l_store) if (wear_id) - u_equip(wear_id) + drop_from_inventory(wear_id) if (belt) - u_equip(belt) + drop_from_inventory(belt) w_uniform = null success = 1 update_inv_w_uniform()