From c12fa7af2bce32a6cbbc9a328d83de2c537ae312 Mon Sep 17 00:00:00 2001 From: datlo Date: Fri, 28 Dec 2018 07:07:38 +0000 Subject: [PATCH] add mech maintenance alert --- code/_onclick/hud/alert.dm | 5 +++++ code/game/mecha/mecha.dm | 3 +++ code/game/mecha/mecha_topic.dm | 6 +++++- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index b7aea886903..3081880394f 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -427,6 +427,11 @@ so as to remain in compliance with the most up-to-date laws." desc = "Mech is running out of power." icon_state = "lowcell" +/obj/screen/alert/mech_maintenance + name = "Maintenance Protocols" + desc = "Maintenance protocols are currently in effect, most actions disabled." + icon_state = "locked" + //GUARDIANS /obj/screen/alert/cancharge name = "Charge Ready" diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 9d7b8b9ff6a..32ee1c19cde 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -1179,6 +1179,8 @@ activated = TRUE else if(!hasInternalDamage()) occupant << sound(nominalsound, volume = 50) + if(state) + H.throw_alert("locked", /obj/screen/alert/mech_maintenance) return 1 else return 0 @@ -1261,6 +1263,7 @@ return var/atom/movable/mob_container occupant.clear_alert("charge") + occupant.clear_alert("locked") occupant.clear_alert("mech damage") occupant.clear_alert("mechaport") occupant.clear_alert("mechaport_d") diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm index 41d4c3aa540..36269a11303 100644 --- a/code/game/mecha/mecha_topic.dm +++ b/code/game/mecha/mecha_topic.dm @@ -195,7 +195,7 @@ [add_req_access?"Edit operation keycodes":null] - [maint_access?"Initiate maintenance protocol":null] + [maint_access?"Initiate/Stop maintenance protocol":null] [(state>0) ?"Set Cabin Air Pressure":null] "} @@ -317,9 +317,13 @@ if(state==0) state = 1 to_chat(user, "The securing bolts are now exposed.") + if(occupant) + occupant.throw_alert("locked", /obj/screen/alert/mech_maintenance) else if(state==1) state = 0 to_chat(user, "The securing bolts are now hidden.") + if(occupant) + occupant.clear_alert("locked") output_maintenance_dialog(afilter.getObj("id_card"),user) return if(href_list["set_internal_tank_valve"] && state >=1)