From 394d383746e6f469ee4542e1b808c496c4829efa Mon Sep 17 00:00:00 2001 From: Dip Date: Tue, 15 Sep 2020 19:27:58 -0300 Subject: [PATCH] Clone Microfans --- code/game/machinery/poweredfans.dm | 59 ++++++++++++++++++ .../items/stacks/sheets/sheet_types.dm | 1 + icons/obj/poweredfans.dmi | Bin 0 -> 479 bytes tgstation.dme | 1 + 4 files changed, 61 insertions(+) create mode 100644 code/game/machinery/poweredfans.dm create mode 100644 icons/obj/poweredfans.dmi diff --git a/code/game/machinery/poweredfans.dm b/code/game/machinery/poweredfans.dm new file mode 100644 index 0000000000..f10c7cb32a --- /dev/null +++ b/code/game/machinery/poweredfans.dm @@ -0,0 +1,59 @@ +/obj/machinery/poweredfans + icon = 'icons/obj/poweredfans.dmi' + icon_state = "mfan_powered" + name = "placeholder big fan" + desc = "A large machine releasing a constant gust of air." + anchored = TRUE + density = TRUE + var/buildstacktype = /obj/item/stack/sheet/metal + var/buildstackamount = 5 + CanAtmosPass = ATMOS_PASS_NO + +/obj/machinery/poweredfans/mpfan + name = "micro powered fan" + desc = "A handmade fan, releasing a thin gust of air." + layer = ABOVE_NORMAL_TURF_LAYER + density = FALSE + icon_state = "mfan_powered" + buildstackamount = 2 + use_power = ACTIVE_POWER_USE + idle_power_usage = 1 + active_power_usage = 3 + CanAtmosPass = ATMOS_PASS_NO + +/obj/machinery/poweredfans/deconstruct() + if(!(flags_1 & NODECONSTRUCT_1)) + if(buildstacktype) + new buildstacktype(loc,buildstackamount) + qdel(src) + +/obj/machinery/poweredfans/wrench_act(mob/living/user, obj/item/I) + if(flags_1 & NODECONSTRUCT_1) + return TRUE + + user.visible_message("[user] disassembles [src].", + "You start to disassemble [src]...", "You hear clanking and banging noises.") + if(I.use_tool(src, user, 20, volume=50)) + deconstruct() + return TRUE + +/obj/machinery/poweredfans/Initialize(mapload) + . = ..() + air_update_turf(1) + +/obj/machinery/poweredfans/power_change() + ..() + update_icon() + +/obj/machinery/poweredfans/update_icon() + //if(state & NOPOWER) + if(powered()) + icon_state = "mfan_powered" + CanAtmosPass = ATMOS_PASS_NO + air_update_turf(1) + return + else + icon_state = "mfan_unpowered" + CanAtmosPass = ATMOS_PASS_YES + air_update_turf(1) + return diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index c3028c2fd5..bbd417d682 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -121,6 +121,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("pestle", /obj/item/pestle, 1, time = 50), \ new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, one_per_turf = TRUE, on_floor = TRUE), \ + new/datum/stack_recipe("micro powered fan", /obj/machinery/poweredfans/mpfan, 2, time = 35, one_per_turf = TRUE, on_floor = TRUE), \ new/datum/stack_recipe("iron ingot", /obj/item/ingot/iron, 6, time = 100), \ )) diff --git a/icons/obj/poweredfans.dmi b/icons/obj/poweredfans.dmi new file mode 100644 index 0000000000000000000000000000000000000000..9e80ce43941d3af990fc48044a6e4976f1e6c0b7 GIT binary patch literal 479 zcmV<50U-W~P)(O;F)=d{5fc9Z07nD_=cj2500001bW%=J06^y0W&i*H zhk8_4bVOxyV{&P5bZKvH004NLQ&w zn*c>qa}q0oOanbb9W;z)QfVGuvkbYE6E%^H+dEY-K*k*!zZ_bgnIYppR4#V9E5WaJDfu3fZ#t97Y@FmNfph2lW}eIM z>&>LA7hgQq3d}48Ul`1^24C0$^a1$77NBv!7Y5@r@Pz@bSueg=?NahRWFKVy=L0j3 VN}#qu7Y_gc002ovPDHLkV1gnBzB>Q_ literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index c3e51d49cc..bece0b1c07 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -806,6 +806,7 @@ #include "code\game\machinery\mass_driver.dm" #include "code\game\machinery\navbeacon.dm" #include "code\game\machinery\PDApainter.dm" +#include "code\game\machinery\poweredfans.dm" #include "code\game\machinery\quantum_pad.dm" #include "code\game\machinery\recharger.dm" #include "code\game\machinery\rechargestation.dm"