diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index fc007a5cef..3f4e4f5ba4 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -1000,7 +1000,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/hos) "act" = ( -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "acu" = ( @@ -3552,7 +3552,7 @@ /turf/open/floor/plasteel, /area/security/brig) "agU" = ( -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) "agV" = ( @@ -19907,7 +19907,6 @@ /turf/open/floor/plasteel, /area/bridge) "aVk" = ( -/obj/machinery/holopad, /obj/structure/cable{ icon_state = "4-8" }, @@ -19917,6 +19916,7 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/machinery/holopad, /turf/open/floor/plasteel, /area/bridge) "aVl" = ( @@ -22731,10 +22731,10 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "bcf" = ( -/obj/machinery/holopad, /obj/structure/cable{ icon_state = "1-2" }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "bcg" = ( @@ -23327,10 +23327,10 @@ /turf/open/floor/mineral/titanium/blue, /area/crew_quarters/toilet/locker) "bdK" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/machinery/holopad/secure, /turf/open/floor/carpet, /area/bridge/meeting_room) "bdL" = ( @@ -24563,10 +24563,10 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/holopad, /obj/structure/cable{ icon_state = "2-8" }, +/obj/machinery/holopad/secure, /turf/open/floor/wood, /area/crew_quarters/heads/captain) "bgX" = ( @@ -28671,7 +28671,7 @@ /turf/open/floor/plasteel, /area/crew_quarters/heads/hop) "bqB" = ( -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/carpet, /area/crew_quarters/heads/hop) "bqC" = ( @@ -32055,7 +32055,7 @@ /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/heads/hor) "byr" = ( -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/hor) "bys" = ( @@ -32145,13 +32145,13 @@ /turf/open/floor/plasteel, /area/quartermaster/qm) "byC" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/tile/brown{ dir = 1 }, /obj/effect/turf_decal/tile/brown{ dir = 4 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel, /area/quartermaster/qm) "byD" = ( @@ -35886,13 +35886,13 @@ /turf/open/floor/engine, /area/science/storage) "bGZ" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/heads/cmo) "bHa" = ( @@ -40820,8 +40820,8 @@ /turf/open/floor/plasteel, /area/security/checkpoint/engineering) "bTI" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel, /area/tcommsat/computer) "bTJ" = ( @@ -45398,7 +45398,6 @@ name = "Privacy Shutters Control"; pixel_y = 26 }, -/obj/machinery/holopad, /obj/machinery/light{ dir = 1 }, @@ -45412,6 +45411,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/chief) "cfI" = ( @@ -49642,12 +49642,12 @@ /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) "ctJ" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ icon_state = "2-8" }, /obj/effect/landmark/start/cyborg, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/grimy, /area/ai_monitored/turret_protected/aisat_interior) "ctK" = ( @@ -50032,9 +50032,9 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat/atmos) "cuC" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/effect/landmark/start/cyborg, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat/atmos) "cuD" = ( @@ -50089,12 +50089,12 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/landmark/start/cyborg, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "cuH" = ( @@ -50120,10 +50120,10 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat/service) "cuJ" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat/service) "cuK" = ( @@ -50690,8 +50690,8 @@ /obj/structure/cable{ icon_state = "1-2" }, -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat/hallway) "cvU" = ( @@ -50946,10 +50946,10 @@ /obj/structure/cable{ icon_state = "2-8" }, -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai) "cwB" = ( diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 8c03b77f67..ad82e25555 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -25905,7 +25905,6 @@ /turf/open/floor/plasteel, /area/quartermaster/qm) "aVU" = ( -/obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -25913,6 +25912,7 @@ icon_state = "1-8" }, /obj/effect/turf_decal/bot, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel, /area/quartermaster/qm) "aVV" = ( @@ -36427,7 +36427,6 @@ /turf/open/floor/plasteel/dark, /area/aisat) "boh" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -36438,6 +36437,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/aisat) "boi" = ( @@ -37174,13 +37174,13 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) "bpv" = ( -/obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" }, /obj/structure/disposalpipe/segment{ dir = 4 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hos) "bpw" = ( @@ -46891,7 +46891,6 @@ /turf/open/floor/circuit/green, /area/ai_monitored/turret_protected/ai) "bEg" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -46902,6 +46901,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai) "bEh" = ( @@ -48322,12 +48322,12 @@ /turf/open/floor/plasteel, /area/engine/gravity_generator) "bFZ" = ( -/obj/machinery/holopad, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/bot, /obj/structure/cable/white{ icon_state = "4-8" }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel, /area/engine/gravity_generator) "bGa" = ( @@ -54066,10 +54066,10 @@ /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "2-8" }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) "bOL" = ( @@ -54128,7 +54128,6 @@ /turf/open/floor/wood, /area/crew_quarters/heads/captain) "bOR" = ( -/obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-4" }, @@ -54137,6 +54136,7 @@ }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/disposalpipe/segment, +/obj/machinery/holopad/secure, /turf/open/floor/wood, /area/crew_quarters/heads/captain) "bOS" = ( @@ -56083,8 +56083,8 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/chief) "bRZ" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/bot, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) "bSa" = ( @@ -58465,7 +58465,6 @@ /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/machinery/holopad, /obj/effect/landmark/start/cyborg, /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -58477,6 +58476,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "bVy" = ( @@ -58809,7 +58809,6 @@ /obj/structure/cable/white{ icon_state = "4-8" }, -/obj/machinery/holopad, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -58820,6 +58819,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/aisat) "bVT" = ( @@ -64590,7 +64590,6 @@ /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) "ceH" = ( -/obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" }, @@ -64601,6 +64600,7 @@ /obj/structure/disposalpipe/segment{ dir = 10 }, +/obj/machinery/holopad/secure, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) "ceI" = ( @@ -66136,11 +66136,11 @@ /turf/open/floor/plasteel, /area/security/brig) "chd" = ( -/obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "4-8" }, /obj/effect/turf_decal/bot, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel, /area/security/brig) "che" = ( @@ -66314,7 +66314,6 @@ /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -66328,6 +66327,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "cho" = ( @@ -67674,10 +67674,10 @@ /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) "cjC" = ( -/obj/machinery/holopad, /obj/structure/cable/white{ icon_state = "1-2" }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/grimy, /area/crew_quarters/heads/hop) "cjD" = ( @@ -102509,10 +102509,10 @@ /turf/open/floor/plasteel, /area/crew_quarters/heads/hor) "drY" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/tile/purple{ dir = 1 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/hor) "drZ" = ( @@ -107085,7 +107085,6 @@ /obj/structure/cable/white{ icon_state = "1-2" }, -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /obj/effect/turf_decal/tile/blue{ dir = 4 @@ -107093,6 +107092,7 @@ /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/white, /area/crew_quarters/heads/cmo) "dAd" = ( diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 94c26c2a2b..5f751fff7f 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -3710,7 +3710,6 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) "agS" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -3721,6 +3720,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) "agT" = ( @@ -3795,11 +3795,11 @@ /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "agZ" = ( -/obj/machinery/holopad, /obj/structure/chair{ dir = 1 }, /obj/effect/landmark/start/head_of_security, +/obj/machinery/holopad/secure, /turf/open/floor/carpet, /area/crew_quarters/heads/hos) "aha" = ( @@ -9617,8 +9617,8 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 9 }, -/obj/machinery/holopad, /obj/effect/turf_decal/stripes/line, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel, /area/engine/gravity_generator) "arR" = ( @@ -20565,7 +20565,7 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "aOc" = ( -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai_upload) "aOd" = ( @@ -21690,7 +21690,7 @@ /area/quartermaster/qm) "aQs" = ( /obj/structure/disposalpipe/segment, -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel, /area/quartermaster/qm) "aQt" = ( @@ -25568,7 +25568,7 @@ dir = 1; pixel_y = 1 }, -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/aisat) "aYe" = ( @@ -27493,7 +27493,6 @@ /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) "bbv" = ( -/obj/machinery/holopad, /obj/effect/turf_decal/tile/neutral{ dir = 1 }, @@ -27504,6 +27503,7 @@ /obj/effect/turf_decal/tile/neutral{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel, /area/crew_quarters/heads/chief) "bbw" = ( @@ -30688,7 +30688,6 @@ /obj/structure/window/reinforced{ dir = 8 }, -/obj/machinery/holopad, /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) "bhz" = ( @@ -31151,8 +31150,8 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai) "bip" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/ai) "biq" = ( @@ -33889,12 +33888,12 @@ /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "bnC" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, /obj/effect/landmark/start/cyborg, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "bnD" = ( @@ -34877,11 +34876,11 @@ /turf/open/floor/plasteel/dark, /area/aisat) "bpF" = ( -/obj/machinery/holopad, /obj/structure/cable/yellow{ icon_state = "4-8" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/aisat) "bpG" = ( @@ -34927,8 +34926,8 @@ /obj/structure/cable/yellow{ icon_state = "4-8" }, -/obj/machinery/holopad, /obj/item/beacon, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat/foyer) "bpL" = ( @@ -37469,9 +37468,9 @@ /turf/open/floor/wood, /area/crew_quarters/heads/captain/private) "buG" = ( -/obj/machinery/holopad{ - pixel_x = 9; - pixel_y = -9 +/obj/machinery/holopad/secure{ + pixel_x = 15; + pixel_y = -15 }, /turf/open/floor/carpet, /area/crew_quarters/heads/captain/private) @@ -39635,7 +39634,6 @@ /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) "bzq" = ( -/obj/machinery/holopad, /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, @@ -39646,6 +39644,7 @@ icon_state = "1-2" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/grimy, /area/tcommsat/computer) "bzr" = ( @@ -43400,13 +43399,13 @@ /turf/open/floor/plasteel/dark/telecomms, /area/tcommsat/server) "bHE" = ( -/obj/machinery/holopad, /obj/structure/cable/yellow{ icon_state = "1-4" }, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 5 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark/telecomms, /area/tcommsat/server) "bHF" = ( @@ -58731,7 +58730,7 @@ /area/science/explab) "cmX" = ( /obj/structure/window/reinforced, -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/aisat) "cmY" = ( @@ -61195,13 +61194,13 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ dir = 4 }, -/obj/machinery/holopad, /obj/effect/turf_decal/tile/blue{ dir = 4 }, /obj/effect/turf_decal/tile/blue{ dir = 8 }, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/cafeteria, /area/crew_quarters/heads/cmo) "crA" = ( @@ -63582,7 +63581,7 @@ }, /area/crew_quarters/heads/hor) "cvU" = ( -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/cafeteria{ dir = 5 }, diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index 502e722f47..d9c9774a06 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -3,9 +3,9 @@ /turf/open/space/basic, /area/space) "aab" = ( -/obj/machinery/holopad, /obj/effect/landmark/start/cyborg, /mob/living/simple_animal/bot/secbot/pingsky, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/ai_monitored/turret_protected/aisat_interior) "aac" = ( @@ -999,7 +999,7 @@ /obj/machinery/power/terminal{ dir = 1 }, -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/white, /area/ai_monitored/turret_protected/ai) "acs" = ( @@ -11793,7 +11793,7 @@ /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) "aBn" = ( -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/plasteel/dark, /area/crew_quarters/heads/captain) "aBo" = ( @@ -12592,7 +12592,7 @@ /turf/open/floor/wood, /area/crew_quarters/heads/hop) "aCR" = ( -/obj/machinery/holopad, +/obj/machinery/holopad/secure, /turf/open/floor/wood, /area/crew_quarters/heads/hop) "aCS" = ( @@ -12995,7 +12995,6 @@ /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) "aDM" = ( -/obj/machinery/holopad, /obj/machinery/camera/motion{ c_tag = "AI Upload Center"; dir = 1; @@ -13008,6 +13007,7 @@ name = "Station Intercom (AI Private)"; pixel_y = -28 }, +/obj/machinery/holopad/secure, /turf/open/floor/circuit, /area/ai_monitored/turret_protected/ai_upload) "aDN" = ( diff --git a/code/__DEFINES/say.dm b/code/__DEFINES/say.dm index 0a17fa013e..ad4088442d 100644 --- a/code/__DEFINES/say.dm +++ b/code/__DEFINES/say.dm @@ -90,12 +90,15 @@ //Don't set this very much higher then 1024 unless you like inviting people in to dos your server with message spam #define MAX_MESSAGE_LEN 4096 //Citadel edit: What's the WORST that could happen? -#define MAX_FLAVOR_LEN 4096 +#define MAX_FLAVOR_LEN 4096 #define MAX_TASTE_LEN 40 //lick... vore... ew... #define MAX_NAME_LEN 42 #define MAX_BROADCAST_LEN 512 #define MAX_CHARTER_LEN 80 +// Is something in the IC chat filter? This is config dependent. +#define CHAT_FILTER_CHECK(T) (config.ic_filter_regex && findtext(T, config.ic_filter_regex)) + // Audio/Visual Flags. Used to determine what sense are required to notice a message. #define MSG_VISUAL (1<<0) #define MSG_AUDIBLE (1<<1) diff --git a/code/controllers/configuration/configuration.dm b/code/controllers/configuration/configuration.dm index 32da3b5938..5d7de05598 100644 --- a/code/controllers/configuration/configuration.dm +++ b/code/controllers/configuration/configuration.dm @@ -22,7 +22,7 @@ var/motd // var/policy - // var/static/regex/ic_filter_regex + var/static/regex/ic_filter_regex /datum/controller/configuration/proc/admin_reload() if(IsAdminAdvancedProcCall()) @@ -53,7 +53,7 @@ loadmaplist(CONFIG_MAPS_FILE) LoadMOTD() // LoadPolicy() - // LoadChatFilter() + LoadChatFilter() if (Master) Master.OnConfigLoad() @@ -486,7 +486,7 @@ Example config: continue runnable_modes[M] = probabilities[M.config_tag] return runnable_modes -/* + /datum/controller/configuration/proc/LoadChatFilter() var/list/in_character_filter = list() if(!fexists("[directory]/in_character_filter.txt")) @@ -499,7 +499,7 @@ Example config: continue in_character_filter += REGEX_QUOTE(line) ic_filter_regex = in_character_filter.len ? regex("\\b([jointext(in_character_filter, "|")])\\b", "i") : null -*/ + //Message admins when you can. /datum/controller/configuration/proc/DelayedMessageAdmins(text) addtimer(CALLBACK(GLOBAL_PROC, /proc/message_admins, text), 0) diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm index 4a576c5a6e..853bd73eac 100644 --- a/code/game/machinery/hologram.dm +++ b/code/game/machinery/hologram.dm @@ -79,7 +79,7 @@ GLOBAL_LIST_EMPTY(network_holopads) var/secure = FALSE /// If we are currently calling another holopad var/calling = FALSE -/* + /obj/machinery/holopad/secure name = "secure holopad" desc = "It's a floor-mounted device for projecting holographic images. This one will refuse to auto-connect incoming calls." @@ -90,7 +90,7 @@ GLOBAL_LIST_EMPTY(network_holopads) var/obj/item/circuitboard/machine/holopad/board = circuit board.secure = TRUE board.build_path = /obj/machinery/holopad/secure -*/ + /obj/machinery/holopad/tutorial resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF flags_1 = NODECONSTRUCT_1 @@ -372,7 +372,7 @@ GLOBAL_LIST_EMPTY(network_holopads) if(force_answer_call && world.time > (HC.call_start_time + (HOLOPAD_MAX_DIAL_TIME / 2))) HC.Answer(src) break - if(!secure) //HC.head_call && + if(HC.head_call && !secure) HC.Answer(src) break if(outgoing_call) diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index dcd0cda233..286506a7d1 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -472,7 +472,7 @@ build_path = /obj/machinery/holopad secure = FALSE else - build_path = /obj/machinery/holopad //secure + build_path = /obj/machinery/holopad/secure //secure secure = TRUE to_chat(user, "You [secure? "en" : "dis"]able the security on the [src]") . = ..() diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index fadf33cb85..b8d14a6555 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -676,7 +676,6 @@ ADD_TRAIT(new_spawn, TRAIT_SIXTHSENSE, GHOSTROLE_TRAIT) ADD_TRAIT(new_spawn, TRAIT_EXEMPT_HEALTH_EVENTS, GHOSTROLE_TRAIT) ADD_TRAIT(new_spawn, TRAIT_NO_MIDROUND_ANTAG, GHOSTROLE_TRAIT) //The mob can't be made into a random antag, they are still eligible for ghost roles popups. - ADD_TRAIT(new_spawn, TRAIT_PACIFISM, GHOSTROLE_TRAIT) to_chat(new_spawn,"Ghosting is free!") var/datum/action/toggle_dead_chat_mob/D = new(new_spawn) D.Grant(new_spawn) diff --git a/code/modules/events/supermatter_surge.dm b/code/modules/events/supermatter_surge.dm index d54fc4dcd2..6b0a093440 100644 --- a/code/modules/events/supermatter_surge.dm +++ b/code/modules/events/supermatter_surge.dm @@ -13,11 +13,27 @@ var/power = 2000 /datum/round_event/supermatter_surge/setup() - power = rand(200,4000) + if(prob(70)) + power = rand(200,100000) + else + power = rand(200,200000) /datum/round_event/supermatter_surge/announce() - if(power > 800 || prob(round(power/8))) - priority_announce("Class [round(power/500) + 1] supermatter surge detected. Intervention may be required.", "Anomaly Alert") + var/severity = "" + switch(power) + if(-INFINITY to 100000) + var/low_threat_perc = 100-round(100*((power-200)/(100000-200))) + if(prob(low_threat_perc)) + if(prob(low_threat_perc)) + severity = "low; the supermatter should return to normal operation shortly." + else + severity = "medium; the supermatter should return to normal operation, but check NT CIMS to ensure this." + else + severity = "high; if the supermatter's cooling is not fortified, coolant may need to be added." + if(100000 to INFINITY) + severity = "extreme; emergency action is likely to be required even if coolant loop is fine." + if(power > 20000 || prob(round(power/200))) + priority_announce("Supermatter surge detected. Estimated severity is [severity]", "Anomaly Alert") /datum/round_event/supermatter_surge/start() GLOB.main_supermatter_engine.matter_power += power diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index efab64fe3a..470c5368a5 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -1291,8 +1291,8 @@ if(isliving(target) && chaser_timer <= world.time) //living and chasers off cooldown? fire one! chaser_timer = world.time + chaser_cooldown var/obj/effect/temp_visual/hierophant/chaser/C = new(get_turf(user), user, target, chaser_speed, friendly_fire_check) - C.damage = 30 - C.monster_damage_boost = FALSE + C.damage = 15 + C.monster_damage_boost = TRUE log_combat(user, target, "fired a chaser at", src) else INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) //otherwise, just do cardinal blast @@ -1408,10 +1408,10 @@ new /obj/effect/temp_visual/hierophant/telegraph/teleport(source, user) for(var/t in RANGE_TURFS(1, T)) var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, user, TRUE) //blasts produced will not hurt allies - B.damage = 30 + B.damage = 15 for(var/t in RANGE_TURFS(1, source)) var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, user, TRUE) //but absolutely will hurt enemies - B.damage = 30 + B.damage = 15 for(var/mob/living/L in range(1, source)) INVOKE_ASYNC(src, .proc/teleport_mob, source, L, T, user) //regardless, take all mobs near us along sleep(6) //at this point the blasts detonate @@ -1472,8 +1472,8 @@ if(!J) return var/obj/effect/temp_visual/hierophant/blast/B = new(J, user, friendly_fire_check) - B.damage = 30 - B.monster_damage_boost = FALSE + B.damage = 15 + B.monster_damage_boost = TRUE previousturf = J J = get_step(previousturf, dir) @@ -1485,7 +1485,7 @@ sleep(2) for(var/t in RANGE_TURFS(1, T)) var/obj/effect/temp_visual/hierophant/blast/B = new(t, user, friendly_fire_check) - B.damage = 15 //keeps monster damage boost due to lower damage + B.damage = 15 //keeps monster damage boost due to lower damage (now added to all damage due to reduction to 15, 30dmg 50AP isn't cool) //Just some minor stuff diff --git a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm index ed3c7e21d4..1aac2fd02e 100644 --- a/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm +++ b/code/modules/mob/living/carbon/human/innate_abilities/blobform.dm @@ -37,11 +37,11 @@ to_chat(owner, "There's something stuck to your hand, stopping you from transforming!") return if(IsAvailable()) - transforming = TRUE UpdateButtonIcon() var/mutcolor = owner.get_ability_property(INNATE_ABILITY_SLIME_BLOBFORM, PROPERTY_BLOBFORM_COLOR) || ("#" + H.dna.features["mcolor"]) if(!is_puddle) if(CHECK_MOBILITY(H, MOBILITY_USE)) //if we can use items, we can turn into a puddle + transforming = TRUE is_puddle = TRUE //so we know which transformation to use when its used ADD_TRAIT(H, TRAIT_HUMAN_NO_RENDER, SLIMEPUDDLE_TRAIT) owner.cut_overlays() //we dont show our normal sprite, we show a puddle sprite diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 89b3d603ea..5dc33c3778 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -3,7 +3,7 @@ id = SPECIES_VAMPIRE default_color = "FFFFFF" species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,DRINKSBLOOD,HAS_FLESH,HAS_BONE) - inherent_traits = list(TRAIT_NOHUNGER,TRAIT_NOBREATH) + inherent_traits = list(TRAIT_NOHUNGER,TRAIT_NOBREATH,TRAIT_NOMARROW) inherent_biotypes = MOB_UNDEAD|MOB_HUMANOID mutant_bodyparts = list("mcolor" = "FFFFFF", "tail_human" = "None", "ears" = "None", "deco_wings" = "None") exotic_bloodtype = "U" @@ -53,10 +53,11 @@ C.adjustOxyLoss(-4) C.adjustCloneLoss(-4) return - C.blood_volume -= 0.75 //Will take roughly 19.5 minutes to die from standard blood volume, roughly 83 minutes to die from max blood volume. - if(C.blood_volume <= (BLOOD_VOLUME_SURVIVE*C.blood_ratio)) - to_chat(C, "You ran out of blood!") - C.dust() + if(C.blood_volume > 0.5) + C.blood_volume -= 0.5 //Will take roughly 19.5 minutes to die from standard blood volume, roughly 83 minutes to die from max blood volume. + else + C.dust(FALSE, TRUE) + var/area/A = get_area(C) if(istype(A, /area/chapel) && C.mind?.assigned_role != "Chaplain") to_chat(C, "You don't belong here!") @@ -125,7 +126,7 @@ . = ..() var/obj/item/organ/heart/vampire/darkheart = getorgan(/obj/item/organ/heart/vampire) if(darkheart) - . += "Current blood level: [blood_volume]/[BLOOD_VOLUME_MAXIMUM]." + . += "Current blood level: [blood_volume]/[BLOOD_VOLUME_MAXIMUM]." /obj/item/organ/heart/vampire diff --git a/code/modules/mob/living/say.dm b/code/modules/mob/living/say.dm index 7b05de2203..12654858a5 100644 --- a/code/modules/mob/living/say.dm +++ b/code/modules/mob/living/say.dm @@ -90,11 +90,11 @@ GLOBAL_LIST_INIT(department_radio_keys, list( var/static/list/one_character_prefix = list(MODE_HEADSET = TRUE, MODE_ROBOT = TRUE, MODE_WHISPER = TRUE, MODE_SING = TRUE) var/ic_blocked = FALSE - /* - if(client && !forced && config.ic_filter_regex && findtext(message, config.ic_filter_regex)) + + if(client && !forced && CHAT_FILTER_CHECK(message)) //The filter doesn't act on the sanitized message, but the raw message. ic_blocked = TRUE - */ + if(sanitize) message = trim(copytext_char(sanitize(message), 1, MAX_MESSAGE_LEN)) if(!message || message == "") @@ -103,6 +103,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(ic_blocked) //The filter warning message shows the sanitized message though. to_chat(src, "That message contained a word prohibited in IC chat! Consider reviewing the server rules.\n\"[message]\"") + SSblackbox.record_feedback("tally", "ic_blocked_words", 1, lowertext(config.ic_filter_regex.match)) return var/datum/saymode/saymode = SSradio.saymodes[talk_key] @@ -344,7 +345,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( var/obj/item/bodypart/rightarm = get_bodypart(BODY_ZONE_R_ARM) if(HAS_TRAIT(src, TRAIT_MUTE) && get_selected_language() != /datum/language/signlanguage) return 0 - + if (get_selected_language() == /datum/language/signlanguage) var/left_disabled = FALSE var/right_disabled = FALSE diff --git a/html/changelogs/AutoChangeLog-pr-14323.yml b/html/changelogs/AutoChangeLog-pr-14323.yml new file mode 100644 index 0000000000..4a1fbcb14b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14323.yml @@ -0,0 +1,4 @@ +author: "dzahlus" +delete-after: True +changes: + - balance: "rebalanced hierophant STAFF to do 15 damage on all attacks" diff --git a/html/changelogs/AutoChangeLog-pr-14405.yml b/html/changelogs/AutoChangeLog-pr-14405.yml new file mode 100644 index 0000000000..e7b92bdce5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14405.yml @@ -0,0 +1,4 @@ +author: "Arturlang" +delete-after: True +changes: + - bugfix: "Vampire statpanel no longer shows spans unnecesary" diff --git a/html/changelogs/AutoChangeLog-pr-14436.yml b/html/changelogs/AutoChangeLog-pr-14436.yml new file mode 100644 index 0000000000..5768d8dc16 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14436.yml @@ -0,0 +1,4 @@ +author: "Putnam3145" +delete-after: True +changes: + - balance: "Buffed supermatter surge massively." diff --git a/html/changelogs/AutoChangeLog-pr-14457.yml b/html/changelogs/AutoChangeLog-pr-14457.yml new file mode 100644 index 0000000000..fce2e15ce2 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14457.yml @@ -0,0 +1,5 @@ +author: "GrayRachnid" +delete-after: True +changes: + - bugfix: "fixed the holopad autocall bug" + - bugfix: "properly incorporated the secure holopad that was commented out in the code." diff --git a/html/changelogs/AutoChangeLog-pr-14458.yml b/html/changelogs/AutoChangeLog-pr-14458.yml new file mode 100644 index 0000000000..79810f22e0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14458.yml @@ -0,0 +1,5 @@ +author: "GrayRachnid" +delete-after: True +changes: + - balance: "buffed particle defender disabler shots from 13->15 stamina (15*6=90)" + - balance: "buffed particle defender laser ammo to 4 shots" diff --git a/html/changelogs/AutoChangeLog-pr-14461.yml b/html/changelogs/AutoChangeLog-pr-14461.yml new file mode 100644 index 0000000000..29f326d24c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14461.yml @@ -0,0 +1,4 @@ +author: "Hatterhat" +delete-after: True +changes: + - rscdel: "removes pacifism from ghost cafe. have fun beating up your coworkers" diff --git a/html/changelogs/AutoChangeLog-pr-14464.yml b/html/changelogs/AutoChangeLog-pr-14464.yml new file mode 100644 index 0000000000..a6f9fe668b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14464.yml @@ -0,0 +1,6 @@ +author: "GrayRachnid" +delete-after: True +changes: + - config: "the in_character_filter.txt is now usable" + - admin: "headmins should edit the in_character_filter.txt" + - server: "someone with box access should delete racism with the in_character_filter.txt" diff --git a/html/changelogs/AutoChangeLog-pr-14469.yml b/html/changelogs/AutoChangeLog-pr-14469.yml new file mode 100644 index 0000000000..71d16a17ee --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-14469.yml @@ -0,0 +1,4 @@ +author: "timothyteakettle" +delete-after: True +changes: + - bugfix: "using the puddle ability when stunned wont break it" diff --git a/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm b/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm index d7212f61d2..e5b81806e6 100644 --- a/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm +++ b/modular_citadel/code/modules/projectiles/guns/pumpenergy.dm @@ -153,7 +153,7 @@ /obj/item/ammo_casing/energy/laser/pump projectile_type = /obj/item/projectile/beam/pump - e_cost = 350 + e_cost = 300 select_name = "kill" pellets = 6 variance = 15 @@ -189,5 +189,5 @@ name = "disabling blast" icon_state = "disablerslug" color = null - stamina = 13 + stamina = 15 range = 6