constructible showers, loom, sinks & barrels now deconstruct

Deconstruction:
Loom - Screwdriver
Wooden Barrel - Screwdriver
Sink - Wrench
Shower - Screwdriver > Wrench

Securing:
Loom - Wrench
Wooden Barrel - Wrench
Shower - Screwdriver

Adds showers as craftable objects when using metal sheets. Also organizes some things in the metal sheet crafting menu
This commit is contained in:
DragonTrance
2020-12-25 13:22:21 -07:00
parent e6a7a295d2
commit 162ae674c6
4 changed files with 213 additions and 69 deletions
+41 -10
View File
@@ -8,14 +8,45 @@
density = TRUE
anchored = TRUE
/obj/structure/loom/attackby(obj/item/stack/sheet/W, mob/user)
if(W.is_fabric && W.amount > 1)
user.show_message("<span class='notice'>You start weaving the [W.name] through the loom..</span>", 1)
if(W.use_tool(src, user, W.pull_effort))
new W.loom_result(drop_location())
user.show_message("<span class='notice'>You weave the [W.name] into a workable fabric.</span>", 1)
W.amount = (W.amount - 2)
if(W.amount < 1)
qdel(W)
/obj/structure/loom/attackby(obj/item/I, mob/user)
if (user.a_intent != INTENT_HELP)
return ..()
if (istype(I, /obj/item/stack/sheet))
if (!anchored)
return to_chat(user, "<span class='notice'>You have to anchor [src] first!</span>")
var/obj/item/stack/sheet/W = I
if(W.is_fabric && W.amount > 1)
user.visible_message("<span class='notice'[user] starts weaving [W.name] through the loom.</span>",
"<span class='notice'>You start weaving the [W.name] through the loom.</span>")
if(W.use_tool(src, user, W.pull_effort))
new W.loom_result(drop_location())
to_chat(user, "<span class='notice'>You weave the [W.name] into a workable fabric.</span>")
W.amount = (W.amount - 2)
if(W.amount < 1)
qdel(W)
else
to_chat("<span class='notice'>You need at least 2 [W.name] to loom into fabric!</span>")
else
user.show_message("<span class='notice'>You need a valid fabric and at least 2 of said fabric before using this.</span>", 1)
switch (I.tool_behaviour)
if (TOOL_SCREWDRIVER)
user.visible_message("<span class='info'>[user] starts disassembling [src]...</span>",
"<span class='info'>You start disassembling [src]...</span>")
I.play_tool_sound(src)
if(I.use_tool(src, user, 60))
playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE)
deconstruct(TRUE)
if (TOOL_WRENCH)
if (anchored)
to_chat(user, "<span class='notice'>You unsecure the [src].</span>")
I.play_tool_sound(src)
anchored = FALSE
else
to_chat(user, "<span class='notice'>You secure the [src].</span>")
I.play_tool_sound(src)
anchored = TRUE
/obj/structure/loom/deconstruct(disassembled = TRUE)
new /obj/item/stack/sheet/mineral/wood (get_turf(src), 10)
qdel(src)