diff --git a/code/game/objects/items/devices/magnetic_lock.dm b/code/game/objects/items/devices/magnetic_lock.dm
index ee1734f3882..280f1db812c 100644
--- a/code/game/objects/items/devices/magnetic_lock.dm
+++ b/code/game/objects/items/devices/magnetic_lock.dm
@@ -114,8 +114,14 @@
powercell = I
return
if (istype(I, /obj/item/weapon/crowbar))
+ if (isnull(powercell))
+ user << "There is no powercell in \the [src]."
+ return
user << "You remove \the [powercell] from \the [src]."
- powercell.loc = loc
+ if (loc == user)
+ powercell.forceMove(user.loc)
+ else
+ powercell.forceMove(loc)
powercell = null
return
if (istype(I, /obj/item/weapon/weldingtool))
diff --git a/code/game/objects/items/weapons/handcuffs.dm b/code/game/objects/items/weapons/handcuffs.dm
index 42a64894f8e..458080977a3 100644
--- a/code/game/objects/items/weapons/handcuffs.dm
+++ b/code/game/objects/items/weapons/handcuffs.dm
@@ -104,8 +104,9 @@ var/last_chew = 0
var/obj/item/organ/external/O = H.organs_by_name[H.hand?"l_hand":"r_hand"]
if (!O) return
- var/s = "\red [H.name] chews on \his [O.name]!"
+ var/s = "\red [H.name] chews on [H.get_pronoun(1)] [O.name]!"
H.visible_message(s, "\red You chew on your [O.name]!")
+ message_admins("[key_name_admin(H)] is chewing on [H.get_pronoun(1)] restrained hand - (JMP)")
H.attack_log += text("\[[time_stamp()]\] [s] ([H.ckey])")
log_attack("[s] ([H.ckey])")
diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm
index 02cfed7d81a..e52538b3321 100644
--- a/code/game/objects/structures/watercloset.dm
+++ b/code/game/objects/structures/watercloset.dm
@@ -404,7 +404,7 @@
usr << "\The [RG] is already empty."
return
- RG.reagents.remove_any(RG.amount_per_transfer_from_this)
+ RG.reagents.clear_reagents()
oviewers(3, usr) << "[usr] empties \the [RG] into \the [src]."
usr << "You empty \the [RG] into \the [src]."
return
diff --git a/code/modules/mob/living/bot/bot.dm b/code/modules/mob/living/bot/bot.dm
index c56d7f8eabd..d99566ebbed 100644
--- a/code/modules/mob/living/bot/bot.dm
+++ b/code/modules/mob/living/bot/bot.dm
@@ -120,6 +120,14 @@
log_and_message_admins("emagged [src]")
return
+/mob/living/bot/emp_act(severity)
+ switch(severity)
+ if(1)
+ death()
+ else
+ turn_off()
+ ..()
+
/mob/living/bot/proc/turn_on()
if(stat)
return 0
diff --git a/code/modules/ventcrawl/ventcrawl.dm b/code/modules/ventcrawl/ventcrawl.dm
index 6253294d065..84d5b1d30cd 100644
--- a/code/modules/ventcrawl/ventcrawl.dm
+++ b/code/modules/ventcrawl/ventcrawl.dm
@@ -34,10 +34,8 @@ var/list/ventcrawl_machinery = list(
return 1
/mob/living/proc/is_allowed_vent_crawl_item(var/obj/item/carried_item)
- for(var/type in can_enter_vent_with)
- if(istype(carried_item, can_enter_vent_with))
- return get_inventory_slot(carried_item) == 0
- return 0
+ if(is_type_in_list(carried_item, can_enter_vent_with))
+ return !get_inventory_slot(carried_item)
/mob/living/carbon/is_allowed_vent_crawl_item(var/obj/item/carried_item)
if(carried_item in internal_organs)
diff --git a/html/changelogs/Bedshaped-PR-1021.yml b/html/changelogs/Bedshaped-PR-1021.yml
new file mode 100644
index 00000000000..e22826e9f4a
--- /dev/null
+++ b/html/changelogs/Bedshaped-PR-1021.yml
@@ -0,0 +1,11 @@
+author: Bedshaped
+
+delete-after: True
+
+changes:
+ - bugfix: "Beepsky and other bots now affected by EMPs."
+ - bugfix: "Fixed power cells disappearing when removed from held mag locks."
+ - spellcheck: "Fixed missing pronoun when chewing your hand."
+ - rscadd: "Added admin notices when someone chews their hand off."
+ - bugfix: "Emptying a container into a sink correctly 'empties' it."
+ - bugfix: "Fixed Spider-bots not being able to ventcrawl."