diff --git a/code/game/objects/devices/PDA/PDA.dm b/code/game/objects/devices/PDA/PDA.dm
index 749a5783cc8..bfbb7e84425 100644
--- a/code/game/objects/devices/PDA/PDA.dm
+++ b/code/game/objects/devices/PDA/PDA.dm
@@ -499,8 +499,15 @@
last_text = world.time
+
+ var/AnsweringMS = 0
for (var/obj/machinery/message_server/MS in world)
MS.send_pda_message("[P.owner]","[owner]","[t]")
+ if(MS.active)
+ AnsweringMS++
+
+ if(!AnsweringMS)
+ return
tnote += "→ To [P.owner]:
[t]
"
P.tnote += "← From [owner]:
[t]
"
@@ -523,13 +530,20 @@
// pAI Message
else
+ var/AnsweringMS = 0
+ for (var/obj/machinery/message_server/MS in world)
+ MS.send_pda_message("[P]","[src]","[t]")
+ if(MS.active)
+ AnsweringMS++
+
+ if(!AnsweringMS)
+ return
+
+
tnote += "→ To [P]:
[t]
"
P.tnote += "← From [src]:
[t]
"
- for (var/obj/machinery/message_server/MS in world)
- MS.send_pda_message("[P]","[src]","[t]")
-
if (prob(15)) //Give the AI a chance of intercepting the message
var/who = src
if(prob(50))
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 97ac9aaf1dc..b53867a6574 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -506,6 +506,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
M.radiation = 0
//M.health = 100
M.nutrition = 400
+ M.bodytemperature = 310
M.heal_overall_damage(1000, 1000)
//M.updatehealth()
M.buckled = initial(M.buckled)
diff --git a/code/modules/mob/living/silicon/pai/software.dm b/code/modules/mob/living/silicon/pai/software.dm
index 15ef10914c6..138be7efa5c 100644
--- a/code/modules/mob/living/silicon/pai/software.dm
+++ b/code/modules/mob/living/silicon/pai/software.dm
@@ -170,8 +170,14 @@
if(isnull(P)||P.toff)
return
+ var/AnsweringMS = 0
for (var/obj/machinery/message_server/MS in world)
MS.send_pda_message("[P.owner]","[src]","[t]")
+ if(MS.active)
+ AnsweringMS++
+
+ if(!AnsweringMS)
+ return
tnote += "→ To [P.owner]:
[t]
"
P.tnote += "← From [src]:
[t]
"
@@ -195,12 +201,18 @@
else
var/mob/living/silicon/pai/P = target
- tnote += "→ To [P]:
[t]
"
- P.tnote += "← From [src]:
[t]
"
-
-
+ var/AnsweringMS = 0
for (var/obj/machinery/message_server/MS in world)
MS.send_pda_message("[P]","[src]","[t]")
+ if(MS.active)
+ AnsweringMS++
+
+ if(!AnsweringMS)
+ return
+
+
+ tnote += "→ To [P]:
[t]
"
+ P.tnote += "← From [src]:
[t]
"
if (prob(15)) //Give the AI a chance of intercepting the message
var/who = src
diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm
index d7acdbc71e9..f8cc0dc42f4 100644
--- a/code/modules/research/message_server.dm
+++ b/code/modules/research/message_server.dm
@@ -54,6 +54,16 @@
var/list/datum/data_pda_msg/pda_msgs = list()
var/list/datum/data_rc_msg/rc_msgs = list()
+ var/active = 1
+
+/obj/machinery/message_server/process()
+ if((stat & (BROKEN|NOPOWER)) && active)
+ active = 0
+ return
+
+ update_icon()
+ return
+
/obj/machinery/message_server/proc/send_pda_message(var/recipient = "",var/sender = "",var/message = "")
pda_msgs += new/datum/data_pda_msg(recipient,sender,message)
@@ -61,8 +71,22 @@
rc_msgs += new/datum/data_rc_msg(recipient,sender,message,stamp,id_auth)
/obj/machinery/message_server/attack_hand(user as mob)
- user << "\blue There seem to be some parts missing from this server. They should arrive on the station in a few days, give or take a few CentCom delays."
+// user << "\blue There seem to be some parts missing from this server. They should arrive on the station in a few days, give or take a few CentCom delays."
+ user << "You toggle PDA message passing from [active ? "On" : "Off"] to [active ? "Off" : "On"]"
+ active = !active
+ update_icon()
+ return
+
+/obj/machinery/message_server/update_icon()
+ if((stat & (BROKEN|NOPOWER)))
+ icon_state = "server-nopower"
+ else if (!active)
+ icon_state = "server-off"
+ else
+ icon_state = "server-on"
+
+ return
/datum/feedback_variable
diff --git a/html/changelog.html b/html/changelog.html
index 7d208d9d910..4a0ad1c7f0d 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -92,6 +92,15 @@ should be listed in the changelog upon commit tho. Thanks. -->
+