diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 88565dff40..d2324aa56c 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -9,6 +9,7 @@ GLOBAL_LIST_EMPTY(PDAs)
#define PDA_SCANNER_REAGENT 3
#define PDA_SCANNER_HALOGEN 4
#define PDA_SCANNER_GAS 5
+#define PDA_SPAM_DELAY 2 MINUTES
/obj/item/pda
name = "\improper PDA"
@@ -52,6 +53,7 @@ GLOBAL_LIST_EMPTY(PDAs)
var/toff = FALSE //If TRUE, messenger disabled
var/tnote = null //Current Texts
var/last_text //No text spamming
+ var/last_everyone //No text for everyone spamming
var/last_noise //Also no honk spamming that's bad too
var/ttone = "beep" //The ringtone!
var/lock_code = "" // Lockcode to unlock uplink
@@ -609,11 +611,11 @@ GLOBAL_LIST_EMPTY(PDAs)
t = Gibberish(t, 100)
return t
-/obj/item/pda/proc/send_message(mob/living/user, list/obj/item/pda/targets)
+/obj/item/pda/proc/send_message(mob/living/user, list/obj/item/pda/targets, everyone)
var/message = msg_input(user)
if(!message || !targets.len)
return
- if(last_text && world.time < last_text + 5)
+ if((last_text && world.time < last_text + 10) || (everyone && last_everyone && world.time < last_everyone + PDA_SPAM_DELAY))
return
// Send the signal
@@ -658,6 +660,9 @@ GLOBAL_LIST_EMPTY(PDAs)
to_chat(user, "Message sent to [target_text]: \"[message]\"")
// Reset the photo
photo = null
+ last_text = world.time
+ if (everyone)
+ last_everyone = world.time
/obj/item/pda/proc/receive_message(datum/signal/subspace/pda/signal)
tnote += "← From [signal.data["name"]] ([signal.data["job"]]):
[signal.format_message()]
"
@@ -686,7 +691,10 @@ GLOBAL_LIST_EMPTY(PDAs)
add_overlay(icon_alert)
/obj/item/pda/proc/send_to_all(mob/living/U)
- send_message(U,get_viewable_pdas())
+ if (last_everyone && world.time < last_everyone + PDA_SPAM_DELAY)
+ to_chat(U,"Send To All function is still on cooldown.")
+ return
+ send_message(U,get_viewable_pdas(), TRUE)
/obj/item/pda/proc/create_message(mob/living/U, obj/item/pda/P)
send_message(U,list(P))
@@ -1009,3 +1017,4 @@ GLOBAL_LIST_EMPTY(PDAs)
#undef PDA_SCANNER_REAGENT
#undef PDA_SCANNER_HALOGEN
#undef PDA_SCANNER_GAS
+#undef PDA_SPAM_DELAY
\ No newline at end of file