From 6d362d7706552d8d4b76bcb1cba618349f92297a Mon Sep 17 00:00:00 2001 From: Alberyk Date: Wed, 23 Dec 2020 00:56:04 -0300 Subject: [PATCH] Add torches (#10838) --- .../objects/items/devices/lighting/flare.dm | 67 +++++++++++++++++- code/modules/materials/material_recipes.dm | 3 +- html/changelogs/alberyk-torches.yml | 6 ++ icons/mob/items/lefthand_lighting.dmi | Bin 1161 -> 4096 bytes icons/mob/items/righthand_lighting.dmi | Bin 1128 -> 3969 bytes icons/obj/lighting.dmi | Bin 40463 -> 41610 bytes 6 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 html/changelogs/alberyk-torches.yml diff --git a/code/game/objects/items/devices/lighting/flare.dm b/code/game/objects/items/devices/lighting/flare.dm index 25cce20b6f1..e4cdb850f1e 100644 --- a/code/game/objects/items/devices/lighting/flare.dm +++ b/code/game/objects/items/devices/lighting/flare.dm @@ -55,4 +55,69 @@ user.visible_message(SPAN_NOTICE("\The [user] activates the flare."), SPAN_NOTICE("You pull the cord on the flare, activating it!")) src.force = on_damage src.damtype = "fire" - START_PROCESSING(SSprocessing, src) \ No newline at end of file + START_PROCESSING(SSprocessing, src) + +/obj/item/device/flashlight/flare/torch + name = "torch" + desc = "A rustic source of light." + w_class = ITEMSIZE_LARGE + brightness_on = 2 + light_power = 3 + light_color = LIGHT_COLOR_FIRE + icon_state = "torch" + item_state = "torch" + uv_intensity = 40 + produce_heat = 1000 + on_damage = 10 + + drop_sound = 'sound/items/drop/woodweapon.ogg' + pickup_sound = 'sound/items/pickup/woodweapon.ogg' + +/obj/item/device/flashlight/flare/torch/attack_self(mob/user) + return + +/obj/item/device/flashlight/flare/torch/update_icon() + ..() + item_state = icon_state + if(ismob(src.loc)) + var/mob/H = src.loc + H.update_inv_l_hand() + H.update_inv_r_hand() + + +/obj/item/device/flashlight/flare/torch/proc/light(mob/user) + user.visible_message(SPAN_NOTICE("\The [user] lights \the [src]."), SPAN_NOTICE("You light \the [src].")) + force = on_damage + damtype = "fire" + on = TRUE + START_PROCESSING(SSprocessing, src) + update_icon() + +/obj/item/device/flashlight/flare/torch/attackby(var/obj/item/W, mob/user) + if(W.isFlameSource() && !on && fuel) + light(user) + else + ..() + +/obj/item/torch + name = "torch handle" + desc = "A torch handle without its head." + w_class = ITEMSIZE_NORMAL + icon_state = "torch-empty" + item_state = "torch-empty" + icon = 'icons/obj/lighting.dmi' + item_icons = list( + slot_l_hand_str = 'icons/mob/items/lefthand_lighting.dmi', + slot_r_hand_str = 'icons/mob/items/righthand_lighting.dmi', + ) + + drop_sound = 'sound/items/drop/woodweapon.ogg' + pickup_sound = 'sound/items/pickup/woodweapon.ogg' + +/obj/item/torch/attackby(obj/item/I, mob/user) + if(istype(I, /obj/item/reagent_containers/glass/rag)) + to_chat(user, SPAN_NOTICE("You add \the [I] to \the [src].")) + var/obj/item/device/flashlight/flare/torch/T = new() + qdel(I) + user.put_in_hands(T) + qdel(src) diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index d10088e7f2f..be1c104c5b9 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -175,7 +175,8 @@ new /datum/stack_recipe("ore box", /obj/structure/ore_box, BUILD_AMT, time = 15, one_per_turf = 1, on_floor = 1), new /datum/stack_recipe("wooden bucket", /obj/item/reagent_containers/glass/bucket/wood, 2, time = 4, one_per_turf = 0, on_floor = 0), new /datum/stack_recipe("shaft", /obj/item/material/shaft, 10, time = 25, one_per_turf = 0, on_floor = 0), - new /datum/stack_recipe("buckler donut", /obj/item/material/woodenshield, 20, time = 25, one_per_turf = 0, on_floor = 0) + new /datum/stack_recipe("buckler donut", /obj/item/material/woodenshield, 20, time = 25, one_per_turf = 0, on_floor = 0), + new /datum/stack_recipe("torch handle", /obj/item/torch, 3, time = 5, one_per_turf = 0, on_floor = 0) )) /material/stone/generate_recipes() diff --git a/html/changelogs/alberyk-torches.yml b/html/changelogs/alberyk-torches.yml new file mode 100644 index 00000000000..3c3ac5bd6df --- /dev/null +++ b/html/changelogs/alberyk-torches.yml @@ -0,0 +1,6 @@ +author: Alberyk + +delete-after: True + +changes: + - rscadd: "Added craftable torches." diff --git a/icons/mob/items/lefthand_lighting.dmi b/icons/mob/items/lefthand_lighting.dmi index 6ede28ce08c2937f235d630ad728d071d9388147..29442efff9cda2ceffce6e85efbf2b15c6e9237b 100644 GIT binary patch literal 4096 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

&N`Ds_3%k!UmvDsb7t6LT2U zo+0ESff*0FCmoH3C|8;-P2p`yv90pON+o-jhiudU1~a{ z^)J9Z^j~Np-mOBx3ey^SO+Oq&zB#61cu1NNBa1pDyzYTPBR-=s4qudOMffu2eID?W zh#YH9&iIVSP=3-E<@*@`;tBb9v%o5ZwWxF@KI6jv#jkmboeg%G+`{^md(WYzSnXev zlW+cd`f@c`E4cP&09c&z>G2u!U&pc&R&{8JPEPjYXp9Ixf4n!tQFPJCbxPxZlx8Zr zTnHFsm#Rlz8S~xDtoLdBnm<(1uwHZfqq0YM0w3D~0*>qp$GoH;4kM*Y0aelIO!BPj zM=(o_3YpXLugSACP$qb=d6Q9`&ecra3QFU1=c4UrGjKs11yu3VnV@ysLhTsQoKegQ zEPgxm)~W{?%cR>J2ZoT#T6X8;`hJsd+|8_H;vugi;K>U=GYs^F<57QR6*TcPP9e`4 zWi!&_^BCr8+9lLBnBj0=3Z2Z)*~d~GXE2=Rr7 z<`)1h{8Jp(R5y1zQZj8%J!#bX)g5#eV`HCiARWv|FIwIHPXHeu z9~&DRGBPqND=RuWI`#GE|NqSE?gz{OGnoK0pP!$*ySuiww*UYCz`($xqM~(lbea+w zqyPW_0d!JMQvg8b*k%9#0Hu0VSad{Xb7OL8aCB*JZU6vyoKseCa&`CgQ*iP1> zR1DI|#hF%=n41b>8zPkEB<2V_Y5efjo)`>2J{*@;H00SLKL_t(|obB0bSDQc( zfMG5XO$Y=-E=H@K_W%FLE~u4-z04xTB)-q->5(NfJCh~(kclDy00000fU^*PcL9E1 zEYTO9wEuid?gRn3`{GD1F^=OjsO30HRgB{WizHbr^p$2wntu=-mZ)h)EAb}FGWB;R z-9L+B6>;Mz@b)%Y+;z)PSIweugMM^iqO?81ZizQps#a3r_RV3ZuKv^sB!&hRS^hzE zV4^g8`@d6S_(#$ik+dD^g(X1^+Mhysq6_#c1ONa400000T(;%eB{GuyVs5NpxsqBU2dk=b%lK|>>0DPdJ!uUJ zkFXsyMp5P;HLkP+R0RipaPF(hRzYsP)v?`f2MwyVtv^yclhe<@Ua*Dz?Wn4Ie|XbO zseJ~^t*k+@UP}{x@kvsZ4bRFPbpQYW00000z=!(U_urXzm}*x+9^?K~+Uiywx_}oG5 zwhwu1Y$qVj)7yWbbT!!C@eMla!{JzWE)L#@MvFF|KtLY#(ub4nW^eeWY3{VcEAIx! z&H)~sZ>K5Tcme@=YDa%jfB2?(o5cA?RoVfl$^yUFv?pLpp4#4D@000000Q^+HtQW!2 zqw+jkFM^}ZrMz^nUIIJRqsQcVe(hep26m`NoAfKR6fBJH1dyELJ5xXbecI+VQVw{UHg$r8b(|2ALW`TcQRO_mk_ b0Knxhlu0PGhg21a00000NkvXXu0mjf&Ep+7 diff --git a/icons/mob/items/righthand_lighting.dmi b/icons/mob/items/righthand_lighting.dmi index e8a8405973f056d9b9cf537b6fbc860d24a92ae8..1604c9e26f3d7193d7aafa9aa26f0c8c89072942 100644 GIT binary patch literal 3969 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 G!+!u02}L{r literal 1128 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 delta 4814 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