From e0d9a3b3548a7c8f7a16cc0514e65b0663ef4632 Mon Sep 17 00:00:00 2001 From: Lin Date: Thu, 19 Dec 2019 23:00:52 +0000 Subject: [PATCH] Merge pull request #10160 from Ghommie/Ghommie-cit453 Ports improved and simplier fire alarms. --- .../map_files/Deltastation/DeltaStation2.dmm | 156 +++++++++--------- code/game/machinery/firealarm.dm | 115 ++++++------- .../traitor/equipment/Malf_Modules.dm | 1 + icons/obj/monitors.dmi | Bin 14730 -> 14235 bytes .../code/game/machinery/firealarm.dm | 10 -- tgstation.dme | 1 - tgui/src/interfaces/firealarm.ract | 29 ---- 7 files changed, 129 insertions(+), 183 deletions(-) delete mode 100644 modular_citadel/code/game/machinery/firealarm.dm delete mode 100644 tgui/src/interfaces/firealarm.ract 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 e38760b84d452f033296b4bf0c3eaac7d4e2578c..93a1908fba705a0acf81abc1c74517109da7a7ae 100644 GIT binary patch literal 14235 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 literal 14730 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 Zlqj(bc30K|{>KvZkGif}jfz#o{{Y#zbKC#` 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}} -