diff --git a/code/game/machinery/poweredfans/fan_assembly.dm b/code/game/machinery/poweredfans/fan_assembly.dm
index 21744d24..8edd275f 100644
--- a/code/game/machinery/poweredfans/fan_assembly.dm
+++ b/code/game/machinery/poweredfans/fan_assembly.dm
@@ -1,9 +1,18 @@
-/obj/structure/fan_assembly
+/obj/machinery/fan_assembly
name = "fan assembly"
desc = "A basic microfan assembly."
icon = 'icons/obj/poweredfans.dmi'
icon_state = "mfan_assembly"
max_integrity = 150
+ use_power = NO_POWER_USE
+ power_channel = ENVIRON
+ idle_power_usage = 0
+ active_power_usage = 0
+ max_integrity = 150
+ layer = ABOVE_NORMAL_TURF_LAYER
+ anchored = FALSE
+ density = FALSE
+ CanAtmosPass = ATMOS_PASS_YES
var/state = 1
var/buildstacktype = /obj/item/stack/sheet/metal
var/buildstackamount = 10
@@ -13,15 +22,15 @@
3 = Wires attached to it
*/
-/obj/structure/fan_assembly/Initialize(mapload, ndir, building)
+/obj/machinery/fan_assembly/Initialize(mapload, ndir, building)
. = ..()
if(building)
setDir(ndir)
-/obj/structure/fan_assembly/Destroy()
+/obj/machinery/fan_assembly/Destroy()
return ..()
-/obj/structure/fan_assembly/attackby(obj/item/W, mob/living/user, params)
+/obj/machinery/fan_assembly/attackby(obj/item/W, mob/living/user, params)
switch(state)
if(1)
// State 1
@@ -55,18 +64,7 @@
return
return ..()
-/obj/structure/fan_assembly/wirecutter_act(mob/user, obj/item/I)
- if(state != 3)
- return FALSE
-
- new /obj/item/stack/cable_coil(drop_location(), 2)
- I.play_tool_sound(src)
- to_chat(user, "You cut the wires from the circuits.")
- state = 2
- update_icon()
- return TRUE
-
-/obj/structure/fan_assembly/wrench_act(mob/user, obj/item/I)
+/obj/machinery/fan_assembly/wrench_act(mob/user, obj/item/I)
if(state != 1)
return FALSE
user.visible_message("[user] disassembles [src].",
@@ -75,7 +73,7 @@
deconstruct()
return TRUE
-/obj/structure/fan_assembly/proc/weld(obj/item/weldingtool/W, mob/living/user)
+/obj/machinery/fan_assembly/proc/weld(obj/item/weldingtool/W, mob/living/user)
if(!W.tool_start_check(user, amount=0))
return FALSE
switch(state)
@@ -87,16 +85,16 @@
return TRUE
return FALSE
-/obj/structure/fan_assembly/deconstruct(disassembled = TRUE)
+/obj/machinery/fan_assembly/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
new buildstacktype(loc,buildstackamount)
qdel(src)
-/obj/structure/fan_assembly/examine(mob/user)
+/obj/machinery/fan_assembly/examine(mob/user)
..()
deconstruction_hints(user)
-/obj/structure/fan_assembly/proc/deconstruction_hints(mob/user)
+/obj/machinery/fan_assembly/proc/deconstruction_hints(mob/user)
switch(state)
if(1)
to_chat(user, "The fan assembly seems to be unwelded and loose.")
@@ -105,7 +103,7 @@
if(3)
to_chat(user, "The outer plating is wired firmly in place.")
-/obj/structure/fan_assembly/update_icon()
+/obj/machinery/fan_assembly/update_icon()
switch(state)
if(1)
icon_state = "mfan_assembly"
diff --git a/code/game/machinery/poweredfans/poweredfans.dm b/code/game/machinery/poweredfans/poweredfans.dm
index 80c38ec6..cb58d056 100644
--- a/code/game/machinery/poweredfans/poweredfans.dm
+++ b/code/game/machinery/poweredfans/poweredfans.dm
@@ -10,7 +10,7 @@
anchored = TRUE
density = FALSE
CanAtmosPass = ATMOS_PASS_NO
- var/obj/structure/fan_assembly/assembly = null
+ var/obj/machinery/fan_assembly/assembly = null
/obj/machinery/poweredfans/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
@@ -24,7 +24,6 @@
assembly = null
new /obj/item/stack/cable_coil(loc, 2)
else
- new /obj/structure/fan_assembly (loc)
new /obj/item/stack/cable_coil(loc, 2)
qdel(src)
@@ -35,7 +34,7 @@
deconstruct()
return TRUE
-/obj/machinery/poweredfans/Initialize(mapload, obj/structure/fan_assembly/FA)
+/obj/machinery/poweredfans/Initialize(mapload, obj/machinery/fan_assembly/FA)
. = ..()
if(FA)
assembly = FA
diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm
index c1aa1507..a3c2dee4 100644
--- a/code/game/objects/items/stacks/sheets/sheet_types.dm
+++ b/code/game/objects/items/stacks/sheets/sheet_types.dm
@@ -92,7 +92,7 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \
null, \
new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, one_per_turf = TRUE, on_floor = TRUE), \
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 Assembly", /obj/structure/fan_assembly, 10, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
+ new/datum/stack_recipe("Micro Powered Fan Assembly", /obj/machinery/fan_assembly, 10, time = 50, one_per_turf = TRUE, on_floor = TRUE), \
))
/obj/item/stack/sheet/metal