From c78605b1a4ed0c68101c7a00c4061d4f1b4df33e Mon Sep 17 00:00:00 2001 From: UristMcKerman Date: Thu, 29 May 2014 00:31:02 +0400 Subject: [PATCH] Tweaks for spam Added non-randomized example tokens at start. Added filter limitation. Ion storm will replace tokens with garbage. Spam disaster lasts longer and is more severe. --- code/game/machinery/computer/message.dm | 3 ++- code/modules/events/ion_storm.dm | 8 ++++++++ code/modules/events/money_spam.dm | 22 +++++++++++----------- code/modules/research/message_server.dm | 6 +++++- 4 files changed, 26 insertions(+), 13 deletions(-) diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index e9e69cf645..fceea1d7f5 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -251,7 +251,8 @@ break dat += "
[index] [token]
" dat += "
" - dat += "Add token
" + if (linkedServer.spamfilter.len < linkedServer.spamfilter_limit) + dat += "Add token
" dat += "" diff --git a/code/modules/events/ion_storm.dm b/code/modules/events/ion_storm.dm index 048224a930..aca79f9e9a 100644 --- a/code/modules/events/ion_storm.dm +++ b/code/modules/events/ion_storm.dm @@ -48,6 +48,14 @@ target << law target.add_ion_law(law) + if(message_servers) + for (var/obj/machinery/message_server/MS in message_servers) + var/i + for (i = 1, i <= MS.spamfilter.len, i++) + MS.spamfilter[i] = pick("kitty","HONK","revolution","malfunction","liberty","freedom","drugs", \ + "admininstreation","ponies","heresy","meow","Pun Pun","monkey","Ian","moron","pizza","message","spam",\ + "diector", "Hello", "Hi!"," ","nuke") + /datum/event/ionstorm/tick() if(botEmagChance) for(var/obj/machinery/bot/bot in world) diff --git a/code/modules/events/money_spam.dm b/code/modules/events/money_spam.dm index 23ea50dd7b..9a74edce3b 100644 --- a/code/modules/events/money_spam.dm +++ b/code/modules/events/money_spam.dm @@ -1,26 +1,26 @@ /datum/event/pda_spam - endWhen = 6000 + endWhen = 36000 var/last_spam_time = 0 var/obj/machinery/message_server/useMS /datum/event/pda_spam/setup() last_spam_time = world.time - for (var/obj/machinery/message_server/MS in message_servers) - if(MS.active) - useMS = MS - break + pick_message_server() + +/datum/event/pda_spam/proc/pick_message_server() + if(message_servers) + for (var/obj/machinery/message_server/MS in message_servers) + if(MS.active) + useMS = MS + break /datum/event/pda_spam/tick() if(!useMS || !useMS.active) useMS = null - if(message_servers) - for (var/obj/machinery/message_server/MS in message_servers) - if(MS.active) - useMS = MS - break + pick_message_server() if(useMS) - if(prob(2)) + if(prob(5)) // /obj/machinery/message_server/proc/send_pda_message(var/recipient = "",var/sender = "",var/message = "") var/obj/item/device/pda/P var/list/viables = list() diff --git a/code/modules/research/message_server.dm b/code/modules/research/message_server.dm index dd9f2f660c..1bde23eb59 100644 --- a/code/modules/research/message_server.dm +++ b/code/modules/research/message_server.dm @@ -61,7 +61,11 @@ var/global/list/obj/machinery/message_server/message_servers = list() var/active = 1 var/decryptkey = "password" - var/list/spamfilter = list() + //Spam filtering stuff + var/list/spamfilter = list("You have won", "your prize", "male enhancement", "shitcurity", \ + "are happy to inform you", "account number", "enter your PIN") + //Messages having theese tokens will be rejected by server. Case sensitive + var/spamfilter_limit = 10 //Maximal amount of tokens var/const/errorcode_spam_rejected = MESSAGE_SERVER_SPAM_REJECT /obj/machinery/message_server/New()