diff --git a/code/game/objects/structures/loom.dm b/code/game/objects/structures/loom.dm index 290f16f778..1b4cac9d1f 100644 --- a/code/game/objects/structures/loom.dm +++ b/code/game/objects/structures/loom.dm @@ -21,21 +21,21 @@ return TRUE ///Handles the weaving. -/obj/structure/loom/proc/weave(obj/item/stack/I, mob/user) - if(!istype(I)) +/obj/structure/loom/proc/weave(obj/item/stack/sheet/S, mob/user) + if(!istype(S) || !S.is_fabric) return FALSE if(!anchored) user.show_message("The loom needs to be wrenched down.", 1) return FALSE - if(I.amount < FABRIC_PER_SHEET) + if(S.amount < FABRIC_PER_SHEET) user.show_message("You need at least [FABRIC_PER_SHEET] units of fabric before using this.", 1) return FALSE - user.show_message("You start weaving \the [I.name] through the loom..", 1) - if(I.use_tool(src, user, I.pull_effort)) - if(I.amount >= FABRIC_PER_SHEET) - new I.loom_result(drop_location()) - I.use(FABRIC_PER_SHEET) - user.show_message("You weave \the [I.name] into a workable fabric.", 1) + user.show_message("You start weaving \the [S.name] through the loom..", 1) + if(S.use_tool(src, user, S.pull_effort)) + if(S.amount >= FABRIC_PER_SHEET) + new S.loom_result(drop_location()) + S.use(FABRIC_PER_SHEET) + user.show_message("You weave \the [S.name] into a workable fabric.", 1) return TRUE /obj/structure/loom/unanchored