diff --git a/code/modules/admin/ticket.dm b/code/modules/admin/ticket.dm
index f7695ca92f0..a3817228730 100644
--- a/code/modules/admin/ticket.dm
+++ b/code/modules/admin/ticket.dm
@@ -138,7 +138,7 @@ proc/get_open_ticket_by_ckey(var/owner)
var/ref_mob = ""
if(owner_client)
ref_mob = "\ref[owner_client.mob]"
- ticket_dat += " - ? - PP - VV - SM[owner_client ? "- [admin_jump_link(owner_client, src)]" : ""]"
+ ticket_dat += " - ? - PP - VV - SM[owner_client ? "- [admin_jump_link(owner_client.mob, src)]" : ""]"
if(open_ticket && open_ticket == ticket)
ticket_dat += ""
ticket_dat += ""
diff --git a/code/modules/admin/verbs/adminjump.dm b/code/modules/admin/verbs/adminjump.dm
index 81edfce98e0..1a8e2f7805b 100644
--- a/code/modules/admin/verbs/adminjump.dm
+++ b/code/modules/admin/verbs/adminjump.dm
@@ -49,7 +49,7 @@
if(src.mob)
var/mob/A = src.mob
var/turf/T = get_turf(M)
- if(T && isturf(T))
+ if(isturf(T))
feedback_add_details("admin_verb","JM") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
A.on_mob_jump()
A.loc = T
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index bfd1bcef79c..54cc0add334 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -46,9 +46,6 @@
else src << "Error: Private-Message: Client not found. They may have lost connection, so try using an adminhelp!"
return
- if (src.handle_spam_prevention(msg,MUTE_ADMINHELP))
- return
-
var/recieve_pm_type = "Player"
//mod PMs are maroon
//PMs sent from admins and mods display their rank
@@ -62,21 +59,25 @@
src << "Error: Admin-PM: Non-admin to non-admin PM communication is forbidden."
return
- if(!check_rights(R_SERVER|R_DEBUG|R_DEV, 0))
- msg = sanitize(msg)
-
//get message text, limit it's length.and clean/escape html
if(!msg)
msg = input(src,"Message:", "Private message to [key_name(C, 0, holder ? 1 : 0)]") as text|null
- if(!msg) return
+ if(!msg)
+ return
if(!C)
- if(holder) src << "Error: Admin-PM: Client not found."
- else src << "Error: Private-Message: Client not found. They may have lost connection, so try using an adminhelp!"
+ if(holder)
+ src << "Error: Admin-PM: Client not found."
+ else
+ src << "Error: Private-Message: Client not found. They may have lost connection, so try using an adminhelp!"
return
+ if(!check_rights(R_SERVER|R_DEBUG|R_DEV, 0))
msg = sanitize(msg)
+ if (handle_spam_prevention(msg, MUTE_ADMINHELP))
+ return
+
// searches for an open ticket, in case an outdated link was clicked
// I'm paranoid about the problems that could be caused by accidentally finding the wrong ticket, which is why this is strict
if(isnull(ticket))
diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm
index 7e5c5094806..18db61a671d 100644
--- a/code/modules/clothing/clothing.dm
+++ b/code/modules/clothing/clothing.dm
@@ -446,12 +446,12 @@ BLIND // can't see anything
/obj/item/clothing/gloves/dropped()
..()
- update_wearer()
+ addtimer(CALLBACK(src, .proc/update_wearer), 0)
/obj/item/clothing/gloves/mob_can_unequip()
. = ..()
if (.)
- update_wearer()
+ addtimer(CALLBACK(src, .proc/update_wearer), 0)
///////////////////////////////////////////////////////////////////////
//Head
diff --git a/code/modules/clothing/shoes/magboots.dm b/code/modules/clothing/shoes/magboots.dm
index 8cb2405abbf..9688918f302 100644
--- a/code/modules/clothing/shoes/magboots.dm
+++ b/code/modules/clothing/shoes/magboots.dm
@@ -78,12 +78,12 @@
/obj/item/clothing/shoes/magboots/dropped()
..()
- update_wearer()
+ addtimer(CALLBACK(src, .proc/update_wearer), 0)
/obj/item/clothing/shoes/magboots/mob_can_unequip()
. = ..()
if (.)
- update_wearer()
+ addtimer(CALLBACK(src, .proc/update_wearer), 0)
/obj/item/clothing/shoes/magboots/examine(mob/user)
..(user)
diff --git a/html/changelogs/skull132_magshits.yml b/html/changelogs/skull132_magshits.yml
new file mode 100644
index 00000000000..ab965ba63ce
--- /dev/null
+++ b/html/changelogs/skull132_magshits.yml
@@ -0,0 +1,5 @@
+author: Skull132
+delete-after: True
+
+changes:
+ - bugfix: "Magboots and hardsuit gloves now give you your stuff back properly."
diff --git a/maps/aurora/aurora-8_derelict.dmm b/maps/aurora/aurora-8_derelict.dmm
index dab6b4bab67..d68d5fed85f 100644
--- a/maps/aurora/aurora-8_derelict.dmm
+++ b/maps/aurora/aurora-8_derelict.dmm
@@ -1,5 +1,4 @@
//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE
-//Model dictionary trimmed on: 18-11-2017 20:57 (UTC)
"aa" = (
/turf/template_noop,
/area/template_noop)
@@ -310,9 +309,7 @@
/turf/simulated/floor/wood,
/area/derelict/hallway/northwest)
"aZ" = (
-/obj/structure/filingcabinet{
- icon_state = "chestdrawer"
- },
+/obj/structure/filingcabinet/chestdrawer,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/wood,
/area/derelict/hallway/northwest)
@@ -2905,9 +2902,7 @@
/turf/simulated/floor/tiled/white,
/area/derelict/hallway/southeast)
"jo" = (
-/obj/structure/filingcabinet{
- icon_state = "chestdrawer"
- },
+/obj/structure/filingcabinet/chestdrawer,
/turf/simulated/floor/tiled/dark,
/area/derelict/hallway/southeast)
"jp" = (
@@ -2956,9 +2951,7 @@
/turf/template_noop,
/area/derelict/hallway/southeast)
"jv" = (
-/obj/structure/filingcabinet{
- icon_state = "chestdrawer"
- },
+/obj/structure/filingcabinet/chestdrawer,
/obj/effect/decal/cleanable/dirt,
/turf/simulated/floor/tiled/white,
/area/derelict/hallway/southeast)
@@ -4893,9 +4886,7 @@
/turf/template_noop,
/area/template_noop)
"oO" = (
-/obj/structure/filingcabinet{
- icon_state = "chestdrawer"
- },
+/obj/structure/filingcabinet/chestdrawer,
/turf/simulated/floor/tiled/white,
/area/derelict/hallway/southeast)
"oP" = (