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."