From 9344e224ba727e998121faf694c8e0a2966ea60c Mon Sep 17 00:00:00 2001
From: Casper3667 <8396443+Casper3667@users.noreply.github.com>
Date: Sun, 21 Nov 2021 21:03:54 +0100
Subject: [PATCH] fixes runtime errors and let bodybags be placed adjacent
(#12774)
---
code/game/objects/buckling.dm | 28 ++++++++++++++++++----------
code/game/objects/items/bodybag.dm | 13 ++++++++++++-
html/changelogs/BodyBagFix.yml | 7 +++++++
3 files changed, 37 insertions(+), 11 deletions(-)
create mode 100644 html/changelogs/BodyBagFix.yml
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index fba3febd6d3..9e69bf5e221 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -94,26 +94,34 @@
if(MA == user)
MA.visible_message(\
"[MA.name] buckles themselves to [src].",\
- "You buckle yourself to [src].",\
- "You hear metal clanking.")
+ SPAN_NOTICE("You buckle yourself to [src]."),\
+ SPAN_NOTICE("You hear metal clanking."))
+ else if(isliving(MA))
+ MA.visible_message(\
+ SPAN_DANGER("[MA.name] is buckled to [src] by [user.name]!"),\
+ SPAN_DANGER("You are buckled to [src] by [user.name]!"),\
+ SPAN_NOTICE("You hear metal clanking."))
else
MA.visible_message(\
- "[MA.name] is buckled to [src] by [user.name]!",\
- "You are buckled to [src] by [user.name]!",\
- "You hear metal clanking.")
+ SPAN_DANGER("\The [MA] is buckled to [src] by [user.name]!"),\
+ SPAN_NOTICE("You hear metal clanking."))
/obj/proc/user_unbuckle(mob/user)
var/atom/movable/MA = unbuckle()
if(MA)
- if(MA != user)
+ if(MA == user)
+ MA.visible_message(\
+ "[MA.name] unbuckles themselves.",\
+ SPAN_NOTICE("You unbuckle yourself from [src]."),\
+ SPAN_NOTICE("You hear metal clanking."))
+ else if(isliving(MA))
MA.visible_message(\
"[user.name] unbuckles [MA.name].", \
- "You were unbuckled from [src] by [user.name].",\
- "You hear metal clanking.")
+ SPAN_NOTICE("You were unbuckled from [src] by [user.name]."),\
+ SPAN_NOTICE("You hear metal clanking."))
else
MA.visible_message(\
"[MA.name] unbuckles themselves.",\
- "You unbuckle yourself from [src].",\
- "You hear metal clanking.")
+ SPAN_NOTICE("You hear metal clanking."))
add_fingerprint(user)
return MA
diff --git a/code/game/objects/items/bodybag.dm b/code/game/objects/items/bodybag.dm
index ba60b2f0b66..f8129588b2c 100644
--- a/code/game/objects/items/bodybag.dm
+++ b/code/game/objects/items/bodybag.dm
@@ -10,7 +10,18 @@
pickup_sound = 'sound/items/pickup/cloth.ogg'
/obj/item/bodybag/attack_self(mob/user)
- var/obj/structure/closet/body_bag/R = new /obj/structure/closet/body_bag(user.loc)
+ deploy_bag(user, user.loc)
+
+/obj/item/bodybag/afterattack(obj/target, mob/user, proximity)
+ if(!proximity)
+ return
+ if(isturf(target))
+ var/turf/T = target
+ if(!T.density)
+ deploy_bag(user, target)
+
+/obj/item/bodybag/proc/deploy_bag(mob/user, atom/location)
+ var/obj/structure/closet/body_bag/R = new /obj/structure/closet/body_bag(location)
R.add_fingerprint(user)
playsound(src, 'sound/items/drop/cloth.ogg', 30)
qdel(src)
diff --git a/html/changelogs/BodyBagFix.yml b/html/changelogs/BodyBagFix.yml
new file mode 100644
index 00000000000..d6f756c6887
--- /dev/null
+++ b/html/changelogs/BodyBagFix.yml
@@ -0,0 +1,7 @@
+author: TheGreyWolf
+
+delete-after: True
+
+changes:
+ - rscadd: "Bodybags can now be placed adjacent to the user."
+ - bugfix: "Rollerbeds now display a message when bodybags are buckled to them."