diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm
index 54c686964e..048ec3c54c 100644
--- a/code/controllers/subsystem/shuttle.dm
+++ b/code/controllers/subsystem/shuttle.dm
@@ -249,6 +249,7 @@ SUBSYSTEM_DEF(shuttle)
emergency.request(null, signal_origin, html_decode(emergency_reason), 0)
log_game("[key_name(user)] has called the shuttle.")
+ deadchat_broadcast("[user.name] has called the shuttle.", user)
if(call_reason)
SSblackbox.record_feedback("text", "shuttle_reason", 1, "[call_reason]")
log_game("Shuttle call reason: [call_reason]")
@@ -286,6 +287,7 @@ SUBSYSTEM_DEF(shuttle)
emergency.cancel(get_area(user))
log_game("[key_name(user)] has recalled the shuttle.")
message_admins("[key_name_admin(user)] has recalled the shuttle.")
+ deadchat_broadcast("[user.name] has recalled the shuttle.", user)
return 1
/datum/controller/subsystem/shuttle/proc/canRecall()
diff --git a/code/datums/explosion.dm b/code/datums/explosion.dm
index af1c0ff0d9..9b5cd18774 100644
--- a/code/datums/explosion.dm
+++ b/code/datums/explosion.dm
@@ -118,7 +118,9 @@ GLOBAL_LIST_EMPTY(explosions)
var/turf/M_turf = get_turf(M)
if(M_turf && M_turf.z == z0)
var/dist = get_dist(M_turf, epicenter)
- var/baseshakeamount = sqrt((orig_max_distance - dist)*0.1)
+ var/baseshakeamount
+ if(orig_max_distance - dist > 0)
+ baseshakeamount = sqrt((orig_max_distance - dist)*0.1)
// If inside the blast radius + world.view - 2
if(dist <= round(max_range + world.view - 2, 1))
M.playsound_local(epicenter, null, 100, 1, frequency, falloff = 5, S = explosion_sound)
diff --git a/code/game/gamemodes/brother/traitor_bro.dm b/code/game/gamemodes/brother/traitor_bro.dm
index 609f5bb6ab..5052fa0cf5 100644
--- a/code/game/gamemodes/brother/traitor_bro.dm
+++ b/code/game/gamemodes/brother/traitor_bro.dm
@@ -43,6 +43,7 @@
possible_brothers -= bro
antag_candidates -= bro
team.add_member(bro)
+ bro.special_role = "brother"
bro.restricted_roles = restricted_jobs
log_game("[bro.key] (ckey) has been selected as a Brother")
pre_brother_teams += team
diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm
index 0707ca0427..689c702840 100755
--- a/code/game/machinery/computer/communications.dm
+++ b/code/game/machinery/computer/communications.dm
@@ -111,9 +111,11 @@
if(GLOB.security_level != old_level)
to_chat(usr, "Authorization confirmed. Modifying security level.")
playsound(src, 'sound/machines/terminal_prompt_confirm.ogg', 50, 0)
- //Only notify the admins if an actual change happened
- log_game("[key_name(usr)] has changed the security level to [get_security_level()].")
- message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].")
+ //Only notify people if an actual change happened
+ var/security_level = get_security_level()
+ log_game("[key_name(usr)] has changed the security level to [security_level].")
+ message_admins("[key_name_admin(usr)] has changed the security level to [security_level].")
+ deadchat_broadcast("[usr.name] has changed the security level to [security_level].", usr)
tmp_alertlevel = 0
else
to_chat(usr, "You are not authorized to do this!")
@@ -128,6 +130,7 @@
if(authenticated==2)
playsound(src, 'sound/machines/terminal_prompt.ogg', 50, 0)
make_announcement(usr)
+ deadchat_broadcast("[usr.name] made an priority announcement.", usr)
if("crossserver")
if(authenticated==2)
@@ -144,6 +147,7 @@
minor_announce(input, title = "Outgoing message to allied station")
log_talk(usr,"[key_name(usr)] has sent a message to the other server: [input]",LOGSAY)
message_admins("[key_name_admin(usr)] has sent a message to the other server.")
+ deadchat_broadcast("[usr.name] has sent an outgoing message to the other station(s).", usr)
CM.lastTimeUsed = world.time
if("purchase_menu")
@@ -246,11 +250,13 @@
make_maint_all_access()
log_game("[key_name(usr)] enabled emergency maintenance access.")
message_admins("[key_name_admin(usr)] enabled emergency maintenance access.")
+ deadchat_broadcast("[usr.name] enabled emergency maintenance access.", usr)
state = STATE_DEFAULT
if("disableemergency")
revoke_maint_all_access()
log_game("[key_name(usr)] disabled emergency maintenance access.")
message_admins("[key_name_admin(usr)] disabled emergency maintenance access.")
+ deadchat_broadcast("[usr.name] disabled emergency maintenance access.", usr)
state = STATE_DEFAULT
// Status display stuff
@@ -284,9 +290,9 @@
CentCom_announce(input, usr)
to_chat(usr, "Message transmitted to Central Command.")
log_talk(usr,"[key_name(usr)] has made a CentCom announcement: [input]",LOGSAY)
+ deadchat_broadcast("[usr.name] has messaged CentComm: [input]", usr)
CM.lastTimeUsed = world.time
-
// OMG SYNDICATE ...LETTERHEAD
if("MessageSyndicate")
if((authenticated==2) && (emagged))
@@ -301,6 +307,7 @@
Syndicate_announce(input, usr)
to_chat(usr, "SYSERR @l(19833)of(transmit.dm): !@$ MESSAGE TRANSMITTED TO SYNDICATE COMMAND.")
log_talk(usr,"[key_name(usr)] has made a Syndicate announcement: [input]",LOGSAY)
+ deadchat_broadcast("[usr.name] has messaged the Syndicate: [input]", usr)
CM.lastTimeUsed = world.time
if("RestoreBackup")
@@ -379,9 +386,11 @@
tmp_alertlevel = SEC_LEVEL_BLUE //Cannot engage delta with this
set_security_level(tmp_alertlevel)
if(GLOB.security_level != old_level)
- //Only notify the admins if an actual change happened
- log_game("[key_name(usr)] has changed the security level to [get_security_level()].")
- message_admins("[key_name_admin(usr)] has changed the security level to [get_security_level()].")
+ //Only notify people if an actual change happened
+ var/security_level = get_security_level()
+ log_game("[key_name(usr)] has changed the security level to [security_level].")
+ message_admins("[key_name_admin(usr)] has changed the security level to [security_level].")
+ deadchat_broadcast("[usr.name] has changed the security level to [security_level].", usr)
tmp_alertlevel = 0
aistate = STATE_DEFAULT
if("ai-changeseclevel")
@@ -392,11 +401,13 @@
make_maint_all_access()
log_game("[key_name(usr)] enabled emergency maintenance access.")
message_admins("[key_name_admin(usr)] enabled emergency maintenance access.")
+ deadchat_broadcast("[usr.name] enabled emergency maintenance access.", usr)
aistate = STATE_DEFAULT
if("ai-disableemergency")
revoke_maint_all_access()
log_game("[key_name(usr)] disabled emergency maintenance access.")
message_admins("[key_name_admin(usr)] disabled emergency maintenance access.")
+ deadchat_broadcast("[usr.name] disabled emergency maintenance access.", usr)
aistate = STATE_DEFAULT
updateUsrDialog()
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 5a91028261..b4434a20e2 100644
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -96,6 +96,7 @@ GLOBAL_LIST_EMPTY(PDAs)
/obj/item/device/pda/equipped(mob/user, slot)
if(!equipped)
if(user.client)
+ background_color = user.client.prefs.pda_color
switch(user.client.prefs.pda_style)
if(MONO)
font_index = MODE_MONO
@@ -112,7 +113,7 @@ GLOBAL_LIST_EMPTY(PDAs)
else
font_index = MODE_MONO
font_mode = FONT_MONO
- equipped = TRUE
+ equipped = TRUE
/obj/item/device/pda/proc/update_label()
name = "PDA-[owner] ([ownjob])" //Name generalisation
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 8a9a959dab..7c45a77814 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -47,6 +47,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/allow_midround_antag = 1
var/preferred_map = null
var/pda_style = MONO
+ var/pda_color = "#808000"
var/uses_glasses_colour = 0
@@ -292,7 +293,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "Keybindings: [(hotkeys) ? "Hotkeys" : "Default"]
"
dat += "Action Buttons: [(buttons_locked) ? "Locked In Place" : "Unlocked"]
"
dat += "tgui Style: [(tgui_fancy) ? "Fancy" : "No Frills"]
"
- dat += "PDA Style: [pda_style]
"
+ dat += "PDA Style: [pda_style]
"
+ dat += "PDA Color: Change
"
dat += "tgui Monitors: [(tgui_lock) ? "Primary" : "All"]
"
dat += "Window Flashing: [(windowflashing) ? "Yes" : "No"]
"
dat += "Play admin midis: [(toggles & SOUND_MIDI) ? "Yes" : "No"]
"
@@ -1280,10 +1282,14 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/pickedui = input(user, "Choose your UI style.", "Character Preference") as null|anything in list("Midnight", "Plasmafire", "Retro", "Slimecore", "Operative", "Clockwork")
if(pickedui)
UI_style = pickedui
- if("PDA")
- var/pickedPDA = input(user, "Choose your PDA style.", "Character Preference") as null|anything in list(MONO, SHARE, ORBITRON, VT)
- if(pickedPDA)
- pda_style = pickedPDA
+ if("pda_style")
+ var/pickedPDAStyle = input(user, "Choose your PDA style.", "Character Preference") as null|anything in list(MONO, SHARE, ORBITRON, VT)
+ if(pickedPDAStyle)
+ pda_style = pickedPDAStyle
+ if("pda_color")
+ var/pickedPDAColor = input(user, "Choose your PDA Interface color.", "Character Preference") as null|color
+ if(pickedPDAColor)
+ pda_color = pickedPDAColor
//citadel code
if("cock_color")
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 6081b45d34..f79ec86dd6 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -141,6 +141,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
features["has_womb"] = sanitize_integer(features["has_womb"], 0, 1, 0)
if(current_version < 19)
pda_style = "mono"
+ if(current_version < 20)
+ pda_color = "#808000"
/datum/preferences/proc/load_path(ckey,filename="preferences.sav")
@@ -192,6 +194,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["enable_tips"] >> enable_tips
S["tip_delay"] >> tip_delay
S["pda_style"] >> pda_style
+ S["pda_color"] >> pda_color
+
//citadel code
S["arousable"] >> arousable
S["screenshake"] >> screenshake
@@ -221,6 +225,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
menuoptions = SANITIZE_LIST(menuoptions)
be_special = SANITIZE_LIST(be_special)
pda_style = sanitize_inlist(MONO, VT, SHARE, ORBITRON)
+ pda_color = sanitize_hexcolor(pda_color, 6, 1, initial(pda_color))
+
screenshake = sanitize_integer(screenshake, 0, 800, initial(screenshake))
damagescreenshake = sanitize_integer(damagescreenshake, 0, 2, initial(damagescreenshake))
@@ -263,6 +269,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["enable_tips"], enable_tips)
WRITE_FILE(S["tip_delay"], tip_delay)
WRITE_FILE(S["pda_style"], pda_style)
+ WRITE_FILE(S["pda_color"], pda_color)
+
//citadel code
WRITE_FILE(S["screenshake"], screenshake)
WRITE_FILE(S["damagescreenshake"], damagescreenshake)
diff --git a/html/changelogs/AutoChangeLog-pr-4659.yml b/html/changelogs/AutoChangeLog-pr-4659.yml
new file mode 100644
index 0000000000..a43de59ed1
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-4659.yml
@@ -0,0 +1,5 @@
+author: "Dax Dupont"
+delete-after: True
+changes:
+ - rscadd: "PDA Interface color is now a preference."
+ - bugfix: "Fixed PDA font style not applying at round start."
diff --git a/html/changelogs/AutoChangeLog-pr-4661.yml b/html/changelogs/AutoChangeLog-pr-4661.yml
new file mode 100644
index 0000000000..400f44fac5
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-4661.yml
@@ -0,0 +1,4 @@
+author: "Dax Dupont"
+delete-after: True
+changes:
+ - rscadd: "The following messages have been added to dead chat: Security level change, (re)calling, Emergency Access, CentComm/Syndicate console messages, outgoing server messages and announcements,"
diff --git a/html/changelogs/AutoChangeLog-pr-4666.yml b/html/changelogs/AutoChangeLog-pr-4666.yml
new file mode 100644
index 0000000000..2885f929b1
--- /dev/null
+++ b/html/changelogs/AutoChangeLog-pr-4666.yml
@@ -0,0 +1,4 @@
+author: "deathride58"
+delete-after: True
+changes:
+ - bugfix: "Explosions now function properly again!"