From 1ae7c3e798d317be1014e87300043f38e2593cc7 Mon Sep 17 00:00:00 2001 From: Erthilo Date: Fri, 24 Aug 2012 00:00:19 +0100 Subject: [PATCH] Merged collapsible roller beds. --- code/game/objects/stool.dm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/code/game/objects/stool.dm b/code/game/objects/stool.dm index 2ede6de660f..448c4829abe 100644 --- a/code/game/objects/stool.dm +++ b/code/game/objects/stool.dm @@ -19,6 +19,13 @@ del(src) /obj/structure/stool/attackby(obj/item/weapon/W as obj, mob/user as mob) + if(istype(W, /obj/item/weapon/screwdriver)) + if (src.anchored) + src.anchored = 0 + user << "\blue You unfasten [src] from the floor." + else + src.anchored = 1 + user << "\blue You fasten [src] to the floor." if(istype(W, /obj/item/weapon/wrench)) playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) new /obj/item/stack/sheet/metal(src.loc) @@ -73,7 +80,7 @@ "You hear metal clanking") else buckled_mob.visible_message(\ - "\blue [buckled_mob.name] unbuckled himself!",\ + "\blue [buckled_mob.name] unbuckles!",\ "You unbuckle yourself from [src].",\ "You hear metal clanking") unbuckle() @@ -108,6 +115,9 @@ /obj/structure/stool/bed/MouseDrop_T(mob/M as mob, mob/user as mob) if(!istype(M)) return + if(issimpleanimal(user)) + user << "\red You are unable to work the complex mechanisms of a buckle!" + return buckle_mob(M, user) return @@ -164,6 +174,18 @@ icon_state = "down" anchored = 0 +/obj/item/roller + name = "roller bed" + desc = "A collapsed roller bed that can be carried around." + icon = 'rollerbed.dmi' + icon_state = "folded" + w_class = 4.0 // Can't be put in backpacks. Oh well. + + attack_self(mob/user) + var/obj/structure/stool/bed/roller/R = new /obj/structure/stool/bed/roller(user.loc) + R.add_fingerprint(user) + del(src) + /obj/structure/stool/bed/roller/Move() ..() if(buckled_mob) @@ -191,3 +213,15 @@ icon_state = "down" ..() return + +/obj/structure/stool/bed/roller/MouseDrop(over_object, src_location, over_location) + ..() + if((over_object == usr && (in_range(src, usr) || usr.contents.Find(src)))) + if(!ishuman(usr)) return + if(buckled_mob) return 0 + visible_message("\The [usr] collapses \the [src.name]") + new/obj/item/roller(get_turf(src)) + spawn(0) + del(src) + return +