diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index e17f714a..d402846b 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -1687,7 +1687,7 @@
pixel_y = -32
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/twohanded/required/kirbyplants/random,
@@ -15027,7 +15027,7 @@
/area/crew_quarters/bar)
"aGc" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = 32
},
@@ -15298,7 +15298,7 @@
pixel_y = 32
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -16677,7 +16677,7 @@
/area/maintenance/disposal/incinerator)
"aIy" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -17632,7 +17632,7 @@
},
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -21324,7 +21324,7 @@
"aQl" = (
/obj/structure/table/wood,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/camera,
@@ -23444,7 +23444,7 @@
/area/crew_quarters/theatre)
"aTy" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -27176,7 +27176,7 @@
/area/crew_quarters/bar/atrium)
"aYF" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -27352,7 +27352,7 @@
"aYR" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -27478,7 +27478,7 @@
"aZb" = (
/obj/machinery/photocopier,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -29173,7 +29173,7 @@
pixel_y = 22
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/chem_master/condimaster{
@@ -29437,7 +29437,7 @@
/obj/item/clipboard,
/obj/item/toy/figure/miner,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -30653,7 +30653,7 @@
/obj/effect/decal/cleanable/dirt,
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -30888,7 +30888,7 @@
"beY" = (
/obj/structure/kitchenspike,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -32458,7 +32458,7 @@
/area/crew_quarters/kitchen)
"bhL" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = 32
},
@@ -39930,7 +39930,7 @@
/area/crew_quarters/heads/hos)
"bty" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -40617,7 +40617,7 @@
/area/security/main)
"buM" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -41679,7 +41679,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -43048,7 +43048,7 @@
"byI" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/red{
@@ -43062,7 +43062,7 @@
/area/security/execution/transfer)
"byJ" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -48587,7 +48587,7 @@
/area/engine/gravity_generator)
"bGg" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/twohanded/required/kirbyplants/random,
@@ -48626,7 +48626,7 @@
/area/engine/break_room)
"bGk" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/airalarm{
@@ -48767,7 +48767,7 @@
"bGt" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -49722,7 +49722,7 @@
/area/engine/gravity_generator)
"bHS" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -50238,7 +50238,7 @@
"bIG" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral,
@@ -51713,7 +51713,7 @@
"bKU" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -52277,7 +52277,7 @@
"bLK" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/button/door{
@@ -55206,7 +55206,7 @@
"bQh" = (
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/yellow{
@@ -56841,7 +56841,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/red{
@@ -56985,7 +56985,7 @@
pixel_y = -3
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/neutral{
@@ -57080,7 +57080,7 @@
layer = 2.9
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light/small{
@@ -60629,7 +60629,7 @@
"bXY" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -60731,7 +60731,7 @@
"bYh" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -60752,7 +60752,7 @@
"bYi" = (
/obj/structure/window/reinforced,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden{
@@ -62112,7 +62112,7 @@
/area/ai_monitored/turret_protected/aisat_interior)
"caj" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/porta_turret/ai,
@@ -63869,7 +63869,7 @@
"cdk" = (
/obj/machinery/vending/wardrobe/law_wardrobe,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/wood,
@@ -63908,7 +63908,7 @@
/area/security/brig)
"cdn" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -66862,7 +66862,7 @@
/area/engine/engineering)
"chF" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -67193,7 +67193,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral,
@@ -69161,7 +69161,7 @@
pixel_x = -26
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = 32
},
@@ -70545,7 +70545,7 @@
},
/obj/item/camera_film,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel/grimy,
@@ -76434,7 +76434,7 @@
},
/obj/item/crowbar,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/table/reinforced,
@@ -77434,7 +77434,7 @@
"czP" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral{
@@ -77720,7 +77720,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/cable/white{
@@ -78626,7 +78626,7 @@
"cBL" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/twohanded/required/kirbyplants/random,
@@ -80630,7 +80630,7 @@
/obj/item/radio,
/obj/item/radio,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/decal/cleanable/dirt,
@@ -81274,7 +81274,7 @@
/obj/item/clothing/head/welding,
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24;
pixel_y = -32
},
@@ -82492,7 +82492,7 @@
/area/crew_quarters/dorms)
"cIk" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
@@ -87334,7 +87334,7 @@
"cQE" = (
/obj/structure/closet/secure_closet/security/science,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/status_display{
@@ -88689,7 +88689,7 @@
pixel_y = 32
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light_switch{
@@ -95466,7 +95466,7 @@
/obj/item/paper_bin,
/obj/item/pen,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/storage/bag/bio,
@@ -96402,7 +96402,7 @@
/obj/item/reagent_containers/glass/bottle/epinephrine,
/obj/item/reagent_containers/dropper,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/light{
@@ -100107,7 +100107,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/door/firedoor,
@@ -100471,7 +100471,7 @@
/area/science/explab)
"dmJ" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/bot,
@@ -100482,7 +100482,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -103126,7 +103126,7 @@
pixel_x = 36
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/vending/assist,
@@ -103293,7 +103293,7 @@
pixel_y = 6
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -103903,7 +103903,7 @@
"dti" = (
/obj/structure/closet/bombcloset,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/stripes/line{
@@ -104237,7 +104237,7 @@
/area/medical/surgery)
"dtQ" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/tile/blue{
@@ -104850,7 +104850,7 @@
"duZ" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24;
pixel_y = -26
},
@@ -104881,7 +104881,7 @@
"dvd" = (
/obj/item/twohanded/required/kirbyplants/random,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -107029,7 +107029,7 @@
"dyD" = (
/obj/structure/table,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/status_display/ai{
@@ -108246,7 +108246,7 @@
/obj/item/clothing/glasses/welding,
/obj/structure/table/reinforced,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/effect/turf_decal/bot,
@@ -111340,7 +111340,7 @@
dir = 5
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/turf/open/floor/plasteel,
@@ -111734,7 +111734,7 @@
pixel_y = 26
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24;
pixel_y = -26
},
@@ -112430,7 +112430,7 @@
/area/science/robotics/lab)
"dHC" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/disposalpipe/segment,
@@ -113831,7 +113831,7 @@
"dJO" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
@@ -114092,7 +114092,7 @@
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
/obj/structure/disposalpipe/segment,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/neutral,
@@ -116595,7 +116595,7 @@
"dOC" = (
/obj/structure/filingcabinet/medical,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/effect/turf_decal/tile/blue{
@@ -117475,7 +117475,7 @@
name = "emergency shower"
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/atmospherics/components/unary/vent_pump/on{
@@ -118674,7 +118674,7 @@
/area/medical/virology)
"dSd" = (
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light{
@@ -119507,7 +119507,7 @@
dir = 8
},
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/structure/sign/poster/official/work_for_a_future{
@@ -119718,7 +119718,7 @@
dir = 4
},
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,
@@ -121473,7 +121473,7 @@
"dXI" = (
/obj/structure/chair/wood,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/camera{
@@ -121999,7 +121999,7 @@
/area/medical/virology)
"dYV" = (
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/structure/closet/secure_closet/medical1,
@@ -125028,7 +125028,7 @@
},
/obj/item/camera_film,
/obj/machinery/firealarm{
- dir = 4;
+ dir = 8;
pixel_x = 24
},
/obj/machinery/status_display{
@@ -125124,7 +125124,7 @@
"eeH" = (
/obj/structure/filingcabinet/security,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/machinery/light_switch{
@@ -125833,7 +125833,7 @@
"egb" = (
/obj/structure/table/wood,
/obj/machinery/firealarm{
- dir = 8;
+ dir = 4;
pixel_x = -24
},
/obj/item/clipboard,
diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm
index dcc78f06..9f3a5904 100644
--- a/code/game/machinery/firealarm.dm
+++ b/code/game/machinery/firealarm.dm
@@ -58,8 +58,6 @@
/obj/machinery/firealarm/update_icon()
cut_overlays()
SSvis_overlays.remove_vis_overlay(src, managed_vis_overlays)
- var/area/A = src.loc
- A = A.loc
if(panel_open)
icon_state = "fire_b[buildstage]"
@@ -69,23 +67,32 @@
icon_state = "firex"
return
+ icon_state = "fire0"
+
if(stat & NOPOWER)
- icon_state = "fire0"
return
- if(is_station_level(z))
- add_overlay("overlay_[GLOB.security_level]")
- SSvis_overlays.add_vis_overlay(src, icon, "overlay_[GLOB.security_level]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
- else
- add_overlay("overlay_[SEC_LEVEL_GREEN]")
- SSvis_overlays.add_vis_overlay(src, icon, "overlay_[SEC_LEVEL_GREEN]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ add_overlay("fire_overlay")
- if(detecting)
- add_overlay("overlay_[A.fire ? "fire" : "clear"]")
- SSvis_overlays.add_vis_overlay(src, icon, "overlay_[A.fire ? "fire" : "clear"]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ if(is_station_level(z))
+ add_overlay("fire_[GLOB.security_level]")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_[GLOB.security_level]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
else
- add_overlay("overlay_fire")
- SSvis_overlays.add_vis_overlay(src, icon, "overlay_fire", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ add_overlay("fire_[SEC_LEVEL_GREEN]")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_[SEC_LEVEL_GREEN]", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+
+ var/area/A = src.loc
+ A = A.loc
+
+ if(!detecting || !A.fire)
+ add_overlay("fire_off")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_off", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ else if(obj_flags & EMAGGED)
+ add_overlay("fire_emagged")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_emagged", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
+ else
+ add_overlay("fire_on")
+ SSvis_overlays.add_vis_overlay(src, icon, "fire_on", ABOVE_LIGHTING_LAYER, ABOVE_LIGHTING_PLANE, dir)
/obj/machinery/firealarm/emp_act(severity)
. = ..()
@@ -97,64 +104,55 @@
alarm()
/obj/machinery/firealarm/emag_act(mob/user)
+ . = ..()
if(obj_flags & EMAGGED)
return
obj_flags |= EMAGGED
+ update_icon()
if(user)
user.visible_message("Sparks fly out of [src]!",
"You emag [src], disabling its thermal sensors.")
playsound(src, "sparks", 50, 1)
+ return TRUE
/obj/machinery/firealarm/temperature_expose(datum/gas_mixture/air, temperature, volume)
if((temperature > T0C + 200 || temperature < BODYTEMP_COLD_DAMAGE_LIMIT) && (last_alarm+FIREALARM_COOLDOWN < world.time) && !(obj_flags & EMAGGED) && detecting && !stat)
alarm()
..()
-/obj/machinery/firealarm/proc/alarm()
- if(!is_operational() && (last_alarm+FIREALARM_COOLDOWN < world.time))
+/obj/machinery/firealarm/proc/alarm(mob/user)
+ if(!is_operational() || (last_alarm+FIREALARM_COOLDOWN > world.time))
return
last_alarm = world.time
var/area/A = get_area(src)
A.firealert(src)
- playsound(src.loc, 'goon/sound/machinery/FireAlarm.ogg', 75)
+ playsound(loc, 'goon/sound/machinery/FireAlarm.ogg', 75)
+ if(user)
+ log_game("[user] triggered a fire alarm at [COORD(src)]")
-/obj/machinery/firealarm/proc/reset()
+/obj/machinery/firealarm/proc/reset(mob/user)
if(!is_operational())
return
var/area/A = get_area(src)
A.firereset(src)
+ if(user)
+ log_game("[user] reset a fire alarm at [COORD(src)]")
-/obj/machinery/firealarm/ui_interact(mob/user, ui_key = "main", datum/tgui/ui = null, force_open = FALSE, \
- datum/tgui/master_ui = null, datum/ui_state/state = GLOB.default_state)
- ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open)
- if(!ui)
- ui = new(user, src, ui_key, "firealarm", name, 300, 150, master_ui, state)
- ui.open()
-
-/obj/machinery/firealarm/ui_data(mob/user)
- var/list/data = list()
- data["emagged"] = obj_flags & EMAGGED ? 1 : 0
-
- if(is_station_level(z))
- data["seclevel"] = get_security_level()
- else
- data["seclevel"] = "green"
-
+/obj/machinery/firealarm/attack_hand(mob/user)
+ if(buildstage != 2)
+ return ..()
+ add_fingerprint(user)
var/area/A = get_area(src)
- data["alarm"] = A.fire
+ if(A.fire)
+ reset(user)
+ else
+ alarm(user)
- return data
+/obj/machinery/firealarm/attack_ai(mob/user)
+ return attack_hand(user)
-/obj/machinery/firealarm/ui_act(action, params)
- if(..() || buildstage != 2)
- return
- switch(action)
- if("reset")
- reset()
- . = TRUE
- if("alarm")
- alarm()
- . = TRUE
+/obj/machinery/firealarm/attack_robot(mob/user)
+ return attack_hand(user)
/obj/machinery/firealarm/attackby(obj/item/W, mob/user, params)
add_fingerprint(user)
@@ -198,6 +196,12 @@
to_chat(user, "You cut the wires from \the [src].")
update_icon()
return
+ else if(W.force) //hit and turn it on
+ ..()
+ var/area/A = get_area(src)
+ if(!A.fire)
+ alarm()
+ return
if(1)
if(istype(W, /obj/item/stack/cable_coil))
var/obj/item/stack/cable_coil/coil = W
@@ -252,20 +256,6 @@
return
return ..()
-/obj/machinery/firealarm/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
- if((buildstage == 0) && (the_rcd.upgrade & RCD_UPGRADE_SIMPLE_CIRCUITS))
- return list("mode" = RCD_UPGRADE_SIMPLE_CIRCUITS, "delay" = 20, "cost" = 1)
- return FALSE
-
-/obj/machinery/firealarm/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
- switch(passed_mode)
- if(RCD_UPGRADE_SIMPLE_CIRCUITS)
- user.visible_message("[user] fabricates a circuit and places it into [src].", \
- "You adapt a fire alarm circuit and slot it into the assembly.")
- buildstage = 1
- update_icon()
- return TRUE
- return FALSE
/obj/machinery/firealarm/take_damage(damage_amount, damage_type = BRUTE, damage_flag = 0, sound_effect = 1, attack_dir)
. = ..()
@@ -334,8 +324,3 @@
if (!party_overlay)
party_overlay = iconstate2appearance('icons/turf/areas.dmi', "party")
A.add_overlay(party_overlay)
-
-/obj/machinery/firealarm/partyalarm/ui_data(mob/user)
- . = ..()
- var/area/A = get_area(src)
- .["alarm"] = A && A.party
diff --git a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
index ff4f7276..19105a80 100644
--- a/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
+++ b/code/modules/antagonists/traitor/equipment/Malf_Modules.dm
@@ -505,6 +505,7 @@ GLOBAL_LIST_INIT(blacklisted_malf_machines, typecacheof(list(
if(!is_station_level(F.z))
continue
F.obj_flags |= EMAGGED
+ F.update_icon()
to_chat(owner, "All thermal sensors on the station have been disabled. Fire alerts will no longer be recognized.")
owner.playsound_local(owner, 'sound/machines/terminal_off.ogg', 50, 0)
diff --git a/icons/obj/monitors.dmi b/icons/obj/monitors.dmi
index e38760b8..93a1908f 100644
Binary files a/icons/obj/monitors.dmi and b/icons/obj/monitors.dmi differ
diff --git a/modular_citadel/code/game/machinery/firealarm.dm b/modular_citadel/code/game/machinery/firealarm.dm
deleted file mode 100644
index 7c136f4e..00000000
--- a/modular_citadel/code/game/machinery/firealarm.dm
+++ /dev/null
@@ -1,10 +0,0 @@
-/obj/machinery/firealarm/alt_attack_hand(mob/user)
- if(can_interact(usr))
- var/area/A = get_area(src)
- if(istype(A))
- if(A.fire)
- reset()
- else
- alarm()
- return TRUE
- return FALSE
diff --git a/tgstation.dme b/tgstation.dme
index d0c88f2b..1410d12b 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3014,7 +3014,6 @@
#include "modular_citadel\code\game\gamemodes\revolution\revolution.dm"
#include "modular_citadel\code\game\machinery\cryopod.dm"
#include "modular_citadel\code\game\machinery\displaycases.dm"
-#include "modular_citadel\code\game\machinery\firealarm.dm"
#include "modular_citadel\code\game\machinery\Sleeper.dm"
#include "modular_citadel\code\game\machinery\toylathe.dm"
#include "modular_citadel\code\game\machinery\vending.dm"
diff --git a/tgui/src/interfaces/firealarm.ract b/tgui/src/interfaces/firealarm.ract
deleted file mode 100644
index 52f43d5b..00000000
--- a/tgui/src/interfaces/firealarm.ract
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
- {{text.titleCase(data.seclevel)}}
-
-
-
- {{data.alarm ? "Reset" : "Activate"}}
-
- {{#if data.emagged}}
-
- Safety measures offline. Device may exhibit abnormal behavior.
-
- {{/if}}
-