From e25e9bc788338700a91e8d6f7d61f31ab3c63973 Mon Sep 17 00:00:00 2001 From: Alexios Date: Tue, 28 Jan 2025 03:50:00 -0600 Subject: [PATCH 01/20] Reworks Curtains --- code/game/objects/items/stacks/rods.dm | 1 + code/game/objects/structures/curtains.dm | 100 ++++++++++++++++++++++- code/modules/crafting/recipes.dm | 9 -- icons/obj/curtain.dmi | Bin 422 -> 1046 bytes 4 files changed, 98 insertions(+), 12 deletions(-) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 11b9dfc1af23..092369e489ec 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -2,6 +2,7 @@ GLOBAL_LIST_INIT(rod_recipes, list ( new /datum/stack_recipe("grille", /obj/structure/grille, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor_or_lattice = TRUE), new /datum/stack_recipe("table frame", /obj/structure/table_frame, 2, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), new /datum/stack_recipe("catwalk tile", /obj/item/stack/tile/catwalk, 2, 4, 20), + new /datum/stack_recipe("curtain rod", /obj/item/mounted/curtain/curtain_fixture, 2, 1, 20), null, new /datum/stack_recipe_list("railings...", list( new /datum/stack_recipe("railing", /obj/structure/railing, 3, time = 1 SECONDS, one_per_turf = TRUE, on_floor = TRUE), diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 31262011e569..4a8fa5c59b6d 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -3,23 +3,107 @@ /obj/structure/curtain icon = 'icons/obj/curtain.dmi' - name = "curtain" + name = "\improper curtain" icon_state = "closed" face_while_pulling = FALSE layer = SHOWER_CLOSED_LAYER opacity = TRUE density = FALSE new_attack_chain = TRUE + var/assembled = FALSE /obj/structure/curtain/open icon_state = "open" layer = SHOWER_OPEN_LAYER opacity = FALSE +/obj/item/mounted/curtain/curtain_fixture + icon_state = "handheld" + icon = 'icons/obj/curtain.dmi' + name = "\improper curtain rod assembly" + new_attack_chain = TRUE + +/obj/item/mounted/curtain/curtain_fixture/interact_with_atom(atom/target, mob/living/user, list/modifiers) + . = ..() + if(!istype(target,/obj/structure/window) && !istype(target,/turf/simulated/wall/)) + return + var/on_wall = get_turf(target) + to_chat(user, "You begin attaching [src] to the [on_wall].") + playsound(get_turf(src), 'sound/machines/click.ogg', 75, 1) + if(!do_after(user, 30, target = on_wall)) + return + var/obj/structure/curtain/assembly/new_curtain = new /obj/structure/curtain/assembly(on_wall) + new_curtain.fingerprints = src.fingerprints + new_curtain.fingerprintshidden = src.fingerprintshidden + new_curtain.fingerprintslast = src.fingerprintslast + + user.visible_message("[user] attaches the [src] to the [on_wall].", \ + "You attach the [src] to the [on_wall].") + qdel(src) + +/obj/item/mounted/curtain/curtain_fixture/activate_self(mob/user) + . = ..() + to_chat(user, "You begin attaching [src] to the ceiling.") + playsound(get_turf(src), 'sound/machines/click.ogg', 75, 1) + if(!do_after(user, 30, target = get_turf(user))) + return + var/obj/structure/curtain/assembly/new_curtain = new /obj/structure/curtain/assembly(get_turf(user)) + new_curtain.fingerprints = src.fingerprints + new_curtain.fingerprintshidden = src.fingerprintshidden + new_curtain.fingerprintslast = src.fingerprintslast + + user.visible_message("[user] attaches the [src] to the ceiling.", \ + "You attach the [src] to the ceiling.") + qdel(src) + + + +/obj/structure/curtain/assembly + icon_state = "assembly0" + name = "Curtain Rod" + opacity = FALSE + density = FALSE + desc = "A curtain assembly! It needs a material." + +/obj/structure/curtain/assembly/examine(mob/user) + . = ..() + . += "Alt-Click to take it down." + +/obj/structure/curtain/assembly/AltClick(mob/user) + if(user.incapacitated()) + to_chat(user, "You can't do that right now!") + return + if(!Adjacent(user)) + return + // TODO: turn back into assembly item + new /obj/item/mounted/curtain/curtain_fixture(get_turf(user)) + playsound(loc, 'sound/effects/salute.ogg' , 75, 1) + qdel(src) + +/obj/structure/curtain/assembly/item_interaction(mob/living/user, obj/item/used, list/modifiers) + if(istype(used, /obj/item/stack/sheet/cloth)) // Are we putting the cloth onto the assembly on the wall? + var/obj/item/stack/sheet/cloth/cloth_used = used + if(!cloth_used.use(2)) + to_chat(user, " You need two sheets of cloth to hang the curtains.") + return ITEM_INTERACT_COMPLETE + + var/obj/structure/curtain/new_curtain = new /obj/structure/curtain/(loc, 1) + new_curtain.assembled = TRUE + playsound(loc, used.drop_sound, 75, 1) // Play a generic cloth sound. + qdel(src) + + return ITEM_INTERACT_COMPLETE + /obj/structure/curtain/attack_hand(mob/user) playsound(get_turf(loc), "rustle", 15, TRUE, -5) toggle() ..() +/obj/structure/curtain/attack_robot(mob/living/user) + . = ..() + playsound(get_turf(loc), "rustle", 15, TRUE, -5) + toggle() + ..() + /obj/structure/curtain/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0) switch(damage_type) @@ -68,6 +152,17 @@ . = TRUE if(!I.tool_start_check(src, user, 0)) return + if(assembled) + WIRECUTTER_ATTEMPT_DISMANTLE_MESSAGE + if(I.use_tool(src,user,50,volume = I.tool_volume)) + WIRECUTTER_DISMANTLE_SUCCESS_MESSAGE + var/obj/structure/curtain/assembly/new_assembly = new /obj/structure/curtain/assembly(loc,1) + new_assembly.assembled = TRUE + var/obj/item/stack/sheet/cloth/dropped_cloth = new /obj/item/stack/sheet/cloth(loc,2) + qdel(src) + return + return + WIRECUTTER_ATTEMPT_DISMANTLE_MESSAGE if(I.use_tool(src, user, 50, volume = I.tool_volume)) WIRECUTTER_DISMANTLE_SUCCESS_MESSAGE @@ -75,7 +170,6 @@ /obj/structure/curtain/deconstruct(disassembled = TRUE) new /obj/item/stack/sheet/cloth(loc, 2) - new /obj/item/stack/sheet/plastic(loc, 2) new /obj/item/stack/rods(loc, 1) qdel(src) @@ -90,7 +184,7 @@ /obj/structure/curtain/open/shower name = "shower curtain" - color = "#ACD1E9" + color = "#7aa6c4" alpha = 200 /obj/structure/curtain/open/shower/engineering diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index 92bd619396ca..14f5d5c6734b 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -689,15 +689,6 @@ /obj/item/stack/sheet/mineral/gold = 1) category = CAT_MISC -/datum/crafting_recipe/showercurtain - name = "Shower Curtains" - result = list(/obj/structure/curtain) - time = 20 - reqs = list(/obj/item/stack/sheet/cloth = 2, - /obj/item/stack/sheet/plastic = 2, - /obj/item/stack/rods = 1) - category = CAT_MISC - /datum/crafting_recipe/chemical_payload name = "Chemical Payload (C4)" result = list(/obj/item/bombcore/chemical) diff --git a/icons/obj/curtain.dmi b/icons/obj/curtain.dmi index 9556717d24451def0bb5f4d6dc8363f35d9d3f73..11cddfa5f7f0b1a9fb84ac04fc4f22409f41ebb5 100644 GIT binary patch delta 1038 zcmV+p1o8W(1C|Jo7k@|y1^@s6MmqDe0001vdQ@0+L}hbha%pgMX>V=-0C)j~kIf3g zFc5^#*{4|AyVM`Nd65?B!M;N@s~boY$p*!@Z`wj{rMLNp4~8l6+T7X>>w61dieiJu z3!ZirsGl{7GaL_~nCzR=2xpL_6XjSuT@W$_C}X4KVh`#Sb$?HDUbOHbzbR=E>L2c3 zZJMmTVREaxB{p3>{TTpjM?Bqe9kH_j00TowL_t(|+U=UZYZO5g$7fpw{{Rb>1f$_> z0>;MXz*dVO7zCpz3jRu=vA6@1A_{knf}Ea$QHcr?K~iX8p>UmG#DI95iCl;l{sC&P zU3mjlZPF@I~&ex@3X7-lYv2(jTK6~o8Ea&E5L=HNeseeta|NQYw%+5?jc|hy!w)ng8 zM_!f6jgols?4>w8aZFogkuFwwx+-%)DQCce(SzaLdQCdiY7Zml$;or6Y^Js}{wu97 zqSNWft5Pmq6_x63W0^%sG35;Sxb!)MlSlWDbU815TJEaTc5H(Z?O0+P)YW5MOd3Nc zXfF&827g%qyngdO92neX92?jr08umha3}AeG%-FY70OHz` z0H`tWSe*&F*+9?D3ZU6)hjD!a~~FpG^R|*%b>QN%aShdjg;W%nJaWU3~)} zt$!~7wrt%N>fllsUIL)889=W9E}lOlvMO#lw0{l26q^As00z*X0BrmdWB~mRAZ{6C z0KNgB16E6$0Mx(4eF*@S7XTVN6#&y?ab5uEQ=;v^!l?kL1NI7lZfP)qp zINU3Mq)kpWCIz6zumwQ3Ico%ZYe5V$7};g+z>Hsb(^jf9LE7j@)t2b zwtsm7Q1b`(?msf#0_d=?uqbrf%g}}Z;s$0C#-+Y%?R5cr`4m{z_W~*aH3yWz)V1lZ zmj`enG+@WT4jlzin{H~;L8Y;QaImyfXzvvOZi?cV)c6qq+7U>GZ&c7pXH%~h20n85 zPymT(JNnbaRMZCk>bYRc0)X}zMdQm`z<>2OLd9ayX@2M52Q0pN9tekW{)tTWW|;vv z1>pTH;5`7>-w1teF1rQb{W8b^7ytuc01SWuFaQR?037K~ZO-Ylh;smM-+gfUIL-k0 z7GMBw0bIUx#p!+oFM|w#0WbgtzyKHk17H9QfB`T7F9G}mLD^3`klKKk00000Ne4wv IM6N<$g6-1FUjP6A delta 409 zcmV;K0cQS|2&My&7k?lK0{{R3l|zoU0001TdQ@0+L}hbha%pgMX>V=-0C=2JR&a84 z_w-Y6@%7{?OD!tS%+FJ>RWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5DLE&< zI5kCyi!&v&s2C_<$i7o_IlQlzZl>gNKs9De{AnjNJqi}C=0001RZ*ileqqViQl(y;5()|Db|I>HkH2?qr26R$RQ~&?}0D7pC z-q(fz006T|L_t(|+U1mi3WG2V1uw}Km;e9axjInWlvOqc;_(PX;ow0D62Lm{)h-ge zB5FHSgeZADf`9F3cS>4VGEKpDv^#T{8esV~QbB^Y0#RCAMnERukicqz9TSLJh03V} zkqcs6;F-V&1vumaa0UcxgQUaX1ZoLN$Vn Date: Tue, 28 Jan 2025 15:45:58 -0600 Subject: [PATCH 02/20] Update code/game/objects/structures/curtains.dm Co-authored-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 4a8fa5c59b6d..3f42d174c092 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -3,7 +3,7 @@ /obj/structure/curtain icon = 'icons/obj/curtain.dmi' - name = "\improper curtain" + name = "curtain" icon_state = "closed" face_while_pulling = FALSE layer = SHOWER_CLOSED_LAYER From a06f2c817957b8fabe37332dfca398e103c6b3c5 Mon Sep 17 00:00:00 2001 From: Alexios Date: Tue, 28 Jan 2025 17:55:50 -0600 Subject: [PATCH 03/20] New Overlay Code --- code/game/objects/structures/curtains.dm | 46 +++++++++++++++++++---- icons/obj/curtain.dmi | Bin 1046 -> 928 bytes 2 files changed, 38 insertions(+), 8 deletions(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 3f42d174c092..1f3fb0bae087 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -9,8 +9,29 @@ layer = SHOWER_CLOSED_LAYER opacity = TRUE density = FALSE + var/image/overlay = null new_attack_chain = TRUE var/assembled = FALSE + var/overlay_color = "#ffffff" + var/overlay_alpha = 255 + + +/obj/structure/curtain/Initialize(mapload) + . = ..() + if(opacity) + icon_state = "closed" + overlay = image("closed_overlay") + overlay.color = overlay_color + overlay.alpha = overlay_alpha + add_overlay(overlay) + layer = SHOWER_CLOSED_LAYER + else + icon_state = "open" + overlay = image("open_overlay") + overlay.color = overlay_color + overlay.alpha = overlay_alpha + add_overlay(overlay) + layer = SHOWER_OPEN_LAYER /obj/structure/curtain/open icon_state = "open" @@ -117,11 +138,20 @@ /obj/structure/curtain/proc/toggle() set_opacity(!opacity) + cut_overlays() if(opacity) icon_state = "closed" + overlay = image("closed_overlay") + overlay.color = overlay_color + overlay.alpha = overlay_alpha + add_overlay(overlay) layer = SHOWER_CLOSED_LAYER else icon_state = "open" + overlay = image("open_overlay") + overlay.color = overlay_color + overlay.alpha = overlay_alpha + add_overlay(overlay) layer = SHOWER_OPEN_LAYER /obj/structure/curtain/item_interaction(mob/living/user, obj/item/used, list/modifiers) @@ -175,26 +205,26 @@ /obj/structure/curtain/black name = "black curtain" - color = "#222222" + overlay_color = "#222222" /obj/structure/curtain/medical name = "plastic curtain" - color = "#B8F5E3" - alpha = 200 + overlay_color = "#B8F5E3" + overlay_alpha = 200 /obj/structure/curtain/open/shower name = "shower curtain" - color = "#7aa6c4" - alpha = 200 + overlay_color = "#7aa6c4" + overlay_alpha = 200 /obj/structure/curtain/open/shower/engineering - color = "#FFA500" + overlay_color = "#FFA500" /obj/structure/curtain/open/shower/security - color = "#AA0000" + overlay_color = "#AA0000" /obj/structure/curtain/open/shower/centcom - color = "#000066" + overlay_color = "#000066" #undef SHOWER_OPEN_LAYER #undef SHOWER_CLOSED_LAYER diff --git a/icons/obj/curtain.dmi b/icons/obj/curtain.dmi index 11cddfa5f7f0b1a9fb84ac04fc4f22409f41ebb5..882b5aa7e436b9bc266a334a0edb28a0a2b2ab33 100644 GIT binary patch literal 928 zcmV;R17G}!P)V=-0C)j~ki8DVFbss}_$i`xN99LsET|RgKwkj`VsNB1L2(4?+mlkMtG7Gr zlYPEgpSw#x==R#f2NSy(^hqB!4XCfPnTpx(KoPnZ<=Gs8v&mRw_3)9=R-mj)Tn1ZE z&tyhi^oqqd1`#sMINtr#h$NX{3B7!GiFb?TEpH}q?;KNtYuyd)zpEerKv@TwN`?sl z00O{CL_t(|+U=anN*qBHhO4(BySzXM#3X1SGSNjgd4Vi)fsjQ&1Q%WqH-ZZ8-FO8> zSKgLB#kg^y4hkyXKzspr;(uo5s%vJtiw>&QsseHZ zzyACWKYVI$Y&btXQD!|$cx(R?*38O z{q=JYx16L6Z_nenUeg>;R7`OJ^E2z=x9^pDd1t$(UQ%9~URIr5-70B&DigYHgZBAS zd7CItYb#r!`T5M4x?gbtG#a`p9rf~F?O45}yfC{_KZvC5sm!7G^mbjoyS+&)U}$u} zDHZ|@0Xo@yzcd04Yu91a+2zF)c(cd1t?+S{1fIM8UhL?z||fCRJ=plpy%IUWARenE90nr6cn41)Z70z)yg=E;o=@(Lv0J8E8=_r00005_N= literal 1046 zcmV+x1nK*UP)V=-0C)j~kIf3gFc5^#*{4|AyVM`Nd65?B!M;N@s~boY$p*!@Z`wj{rMLNp z4~8l6+T7X>>w61dieiJu3!ZirsGl{7GaL_~nCzR=2xpL_6XjSuT@W$_C}X4KVh`#S zbx(6%wD2LnDQOYvAMRgmnykHHa;v)~HeEga831cXJl$~}v9kaG14BtfK~#9!?V7)9 z6hRcnXIlmT01K4_qv31<#>VErR*N7Q1fwVl{z{>-xC4_S3U`fyoSuSFi3$=yQfOhJ zaGhYpfOwpVT!`~KH_YrVd$XB?dEaJs-t2pC=CiXmx3e2G8V%vIg0Z6~ z!ac)<$gt9C3R<@*H8#{iF7pSa>y>b5Xdp7KuC57Mw<$F?)Il!uGXU>z0q+6qD~yD@ z_x?A2|JD?=Zc}P(sDoVQ4<=4t2%pZ^rD10Fme{d#yF5O7>bNZD=3hh(I-99Yt^fS- zOU%wpMR`E$?Y8*4@kd^j%8inE^6aHJJ#kE1W|1yddAcfdK`CdzfzgBE-Fi(r)M^hS z=gG-)scfdUH2y2CFQU`w$g5H=T@{t;ZDW~5NipRN__*{rgp)`2k90XNeOm6S({^lw z675)G8`RZfT}&E7CulDW4+dEPyngdO92neX92?jr08umha z3}AeG%-FY70OHz`0H`tWSe*&F*+9?D3ZU6)hjD!a~~FpG^R|*%b>QN%aSh zdjg;W%nJaWU3~)}t$!~7wrt%N>fllsUIL)889=W9E}lOlvMO#lv<<)%n*lHY2GE}X zZ2S{s0R0XiZW&|%z5$>ER!f@z)W5`i2>_KB02(_L0Mlb}UI6G*qV2!JsQ{=0_6mS* zX)-NWHkZN81Q7c;+$(^jO-?l?1)#>T1wgksYXqQMn$iN$ZF8A!DJosZYy(K#5HW3a zo30cb#{o$47coD!c>+-L2lwtjGTs8{u&}Twblc0&h5+IQW)jAwzH9Au0ekrrSl0If zDgZSHl)==s>8_Uta3VBd$G{F91yP%BYSTfbv4L=~v{PvB6##CE;+WL<5dhi|NQQ4z z&`D=guNDSAa`;dHiD^6f)5KKN2L9@~V9Nr4_8CRv%Ui(pH$uf?(P@6?-v=zddL9Ue za{h@-^=6p?I0fMSE#N%>*WU Date: Wed, 5 Feb 2025 18:56:18 -0600 Subject: [PATCH 04/20] THE BEGINNING OF HELL --- code/game/objects/items/mountable_frames/mountables.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items/mountable_frames/mountables.dm b/code/game/objects/items/mountable_frames/mountables.dm index 99b2a7f55d8b..79315fd1bd8d 100644 --- a/code/game/objects/items/mountable_frames/mountables.dm +++ b/code/game/objects/items/mountable_frames/mountables.dm @@ -4,7 +4,7 @@ /turf/simulated/wall ) var/allow_floor_mounting = FALSE - + new_attack_chain = TRUE /obj/item/mounted/afterattack__legacy__attackchain(atom/A, mob/user, proximity_flag) if(is_type_in_list(A, buildon_types)) From a0f56ee667baa7a270b021e284f4a0da5f87bc5d Mon Sep 17 00:00:00 2001 From: Alexios Date: Wed, 5 Feb 2025 19:10:14 -0600 Subject: [PATCH 05/20] Interact with Atom on mountable --- .../objects/items/mountable_frames/mountables.dm | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/code/game/objects/items/mountable_frames/mountables.dm b/code/game/objects/items/mountable_frames/mountables.dm index 79315fd1bd8d..e0e8bcccac15 100644 --- a/code/game/objects/items/mountable_frames/mountables.dm +++ b/code/game/objects/items/mountable_frames/mountables.dm @@ -6,17 +6,16 @@ var/allow_floor_mounting = FALSE new_attack_chain = TRUE -/obj/item/mounted/afterattack__legacy__attackchain(atom/A, mob/user, proximity_flag) - if(is_type_in_list(A, buildon_types)) - if(try_build(A, user, proximity_flag)) - return do_build(A, user) +/obj/item/mounted/interact_with_atom(atom/target, mob/living/user, list/modifiers) + . = ..() + if(is_type_in_list(target, buildon_types)) + if(try_build(target, user)) + return do_build(target, user) ..() -/obj/item/mounted/proc/try_build(turf/on_wall, mob/user, proximity_flag) //checks +/obj/item/mounted/proc/try_build(turf/on_wall, mob/user) //checks if(!on_wall || !user) return FALSE - if(!proximity_flag) //if we aren't next to the turf - return FALSE if(!allow_floor_mounting) if(!(get_dir(on_wall, user) in GLOB.cardinal)) From 4751b81faa633778305826635d5148aab082f79b Mon Sep 17 00:00:00 2001 From: Alexios Date: Wed, 5 Feb 2025 19:18:50 -0600 Subject: [PATCH 06/20] Fixes return, looks mergable. --- code/game/objects/items/mountable_frames/mountables.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/mountable_frames/mountables.dm b/code/game/objects/items/mountable_frames/mountables.dm index e0e8bcccac15..5d3d811f4051 100644 --- a/code/game/objects/items/mountable_frames/mountables.dm +++ b/code/game/objects/items/mountable_frames/mountables.dm @@ -10,7 +10,8 @@ . = ..() if(is_type_in_list(target, buildon_types)) if(try_build(target, user)) - return do_build(target, user) + do_build(target, user) + return ITEM_INTERACT_COMPLETE ..() /obj/item/mounted/proc/try_build(turf/on_wall, mob/user) //checks From f63e81c2c016ac52dcf408cfa220d32fb6a82411 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:41:53 -0600 Subject: [PATCH 07/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 1f3fb0bae087..3779cae8720b 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -50,7 +50,7 @@ return var/on_wall = get_turf(target) to_chat(user, "You begin attaching [src] to the [on_wall].") - playsound(get_turf(src), 'sound/machines/click.ogg', 75, 1) + playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE) if(!do_after(user, 30, target = on_wall)) return var/obj/structure/curtain/assembly/new_curtain = new /obj/structure/curtain/assembly(on_wall) From 31e2821d0c0ca07efb31ad321b3181fc05a4b122 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:42:00 -0600 Subject: [PATCH 08/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 3779cae8720b..9e2fbb06e5bd 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -65,7 +65,7 @@ /obj/item/mounted/curtain/curtain_fixture/activate_self(mob/user) . = ..() to_chat(user, "You begin attaching [src] to the ceiling.") - playsound(get_turf(src), 'sound/machines/click.ogg', 75, 1) + playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE) if(!do_after(user, 30, target = get_turf(user))) return var/obj/structure/curtain/assembly/new_curtain = new /obj/structure/curtain/assembly(get_turf(user)) From c18984d650de10c03cbed7bd69733a8c92f75ab9 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:42:06 -0600 Subject: [PATCH 09/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 9e2fbb06e5bd..76aa36a6b3d0 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -58,7 +58,7 @@ new_curtain.fingerprintshidden = src.fingerprintshidden new_curtain.fingerprintslast = src.fingerprintslast - user.visible_message("[user] attaches the [src] to the [on_wall].", \ + user.visible_message("[user] attaches the [src] to the [on_wall].", \ "You attach the [src] to the [on_wall].") qdel(src) From a72bf72e518a0788df084673928154d0d9d54a2f Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:42:13 -0600 Subject: [PATCH 10/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 76aa36a6b3d0..1a8db60c97a3 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -59,7 +59,7 @@ new_curtain.fingerprintslast = src.fingerprintslast user.visible_message("[user] attaches the [src] to the [on_wall].", \ - "You attach the [src] to the [on_wall].") + "You attach the [src] to the [on_wall].") qdel(src) /obj/item/mounted/curtain/curtain_fixture/activate_self(mob/user) From ebad2d5f8ecab133a6f9d94322df11baf3c5d1a1 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:42:18 -0600 Subject: [PATCH 11/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 1a8db60c97a3..49db442c1759 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -98,7 +98,7 @@ return // TODO: turn back into assembly item new /obj/item/mounted/curtain/curtain_fixture(get_turf(user)) - playsound(loc, 'sound/effects/salute.ogg' , 75, 1) + playsound(loc, 'sound/effects/salute.ogg' , 75, TRUE) qdel(src) /obj/structure/curtain/assembly/item_interaction(mob/living/user, obj/item/used, list/modifiers) From d9ab1fccc31f0374c64ef5b87570b01fe0d34d24 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:42:25 -0600 Subject: [PATCH 12/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 49db442c1759..90a2444fdcbf 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -51,7 +51,7 @@ var/on_wall = get_turf(target) to_chat(user, "You begin attaching [src] to the [on_wall].") playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE) - if(!do_after(user, 30, target = on_wall)) + if(!do_after(user, 3 SECONDS, target = on_wall)) return var/obj/structure/curtain/assembly/new_curtain = new /obj/structure/curtain/assembly(on_wall) new_curtain.fingerprints = src.fingerprints From 50cb7d250d75de6273de2ea36e566d2dcb416889 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:42:31 -0600 Subject: [PATCH 13/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 90a2444fdcbf..0629d5a88b54 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -184,11 +184,11 @@ return if(assembled) WIRECUTTER_ATTEMPT_DISMANTLE_MESSAGE - if(I.use_tool(src,user,50,volume = I.tool_volume)) + if(I.use_tool(src,user, 5 SECONDS, volume = I.tool_volume)) WIRECUTTER_DISMANTLE_SUCCESS_MESSAGE - var/obj/structure/curtain/assembly/new_assembly = new /obj/structure/curtain/assembly(loc,1) + var/obj/structure/curtain/assembly/new_assembly = new /obj/structure/curtain/assembly(loc, 1) new_assembly.assembled = TRUE - var/obj/item/stack/sheet/cloth/dropped_cloth = new /obj/item/stack/sheet/cloth(loc,2) + var/obj/item/stack/sheet/cloth/dropped_cloth = new /obj/item/stack/sheet/cloth(loc, 2) qdel(src) return return From 5c8e25e9f161e9e4975a2e6f255b2c0519245221 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:42:37 -0600 Subject: [PATCH 14/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 0629d5a88b54..3faccafdbb9e 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -194,7 +194,7 @@ return WIRECUTTER_ATTEMPT_DISMANTLE_MESSAGE - if(I.use_tool(src, user, 50, volume = I.tool_volume)) + if(I.use_tool(src, user, 5 SECONDS, volume = I.tool_volume)) WIRECUTTER_DISMANTLE_SUCCESS_MESSAGE deconstruct() From 2789ba23955aad759941d4e1d2f5f3bb14dac4c7 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:43:00 -0600 Subject: [PATCH 15/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 3faccafdbb9e..2343460dbfed 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -110,7 +110,7 @@ var/obj/structure/curtain/new_curtain = new /obj/structure/curtain/(loc, 1) new_curtain.assembled = TRUE - playsound(loc, used.drop_sound, 75, 1) // Play a generic cloth sound. + playsound(loc, used.drop_sound, 75, TRUE) // Play a generic cloth sound. qdel(src) return ITEM_INTERACT_COMPLETE From d72503f10a565b4a2223a64733434208d1528a55 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:43:06 -0600 Subject: [PATCH 16/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 2343460dbfed..83db22182076 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -49,7 +49,7 @@ if(!istype(target,/obj/structure/window) && !istype(target,/turf/simulated/wall/)) return var/on_wall = get_turf(target) - to_chat(user, "You begin attaching [src] to the [on_wall].") + to_chat(user, "You begin attaching [src] to the [on_wall].") playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE) if(!do_after(user, 3 SECONDS, target = on_wall)) return From 12b0fce2a737c07d2817f37700f453031b265331 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:43:13 -0600 Subject: [PATCH 17/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 83db22182076..d7ba5a2a5352 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -64,7 +64,7 @@ /obj/item/mounted/curtain/curtain_fixture/activate_self(mob/user) . = ..() - to_chat(user, "You begin attaching [src] to the ceiling.") + to_chat(user, "You begin attaching [src] to the ceiling.") playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE) if(!do_after(user, 30, target = get_turf(user))) return From f702ff5455c7b4ba3de2be0d9507655d5c311f78 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:43:22 -0600 Subject: [PATCH 18/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index d7ba5a2a5352..c22672bee02f 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -66,7 +66,7 @@ . = ..() to_chat(user, "You begin attaching [src] to the ceiling.") playsound(get_turf(src), 'sound/machines/click.ogg', 75, TRUE) - if(!do_after(user, 30, target = get_turf(user))) + if(!do_after(user, 3 SECONDS, target = get_turf(user))) return var/obj/structure/curtain/assembly/new_curtain = new /obj/structure/curtain/assembly(get_turf(user)) new_curtain.fingerprints = src.fingerprints From 96b7db6ff1da1bf5f76473b459185a12e2aab7e7 Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:43:30 -0600 Subject: [PATCH 19/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index c22672bee02f..55c05b9f5c7d 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -73,7 +73,7 @@ new_curtain.fingerprintshidden = src.fingerprintshidden new_curtain.fingerprintslast = src.fingerprintslast - user.visible_message("[user] attaches the [src] to the ceiling.", \ + user.visible_message("[user] attaches the [src] to the ceiling.", \ "You attach the [src] to the ceiling.") qdel(src) From 5d564bf4783e882321e4a2f5a7c98f2edff9511a Mon Sep 17 00:00:00 2001 From: Tojo <32783144+Alecksohs@users.noreply.github.com> Date: Mon, 10 Feb 2025 15:43:39 -0600 Subject: [PATCH 20/20] Update code/game/objects/structures/curtains.dm Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Tojo <32783144+Alecksohs@users.noreply.github.com> --- code/game/objects/structures/curtains.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/structures/curtains.dm b/code/game/objects/structures/curtains.dm index 55c05b9f5c7d..81adac7a93e6 100644 --- a/code/game/objects/structures/curtains.dm +++ b/code/game/objects/structures/curtains.dm @@ -74,7 +74,7 @@ new_curtain.fingerprintslast = src.fingerprintslast user.visible_message("[user] attaches the [src] to the ceiling.", \ - "You attach the [src] to the ceiling.") + "You attach the [src] to the ceiling.") qdel(src)