diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql
index 0b450df9848..ed0845ed33f 100644
--- a/SQL/paradise_schema.sql
+++ b/SQL/paradise_schema.sql
@@ -274,6 +274,7 @@ CREATE TABLE `player` (
`nanoui_fancy` smallint(4) DEFAULT '1',
`show_ghostitem_attack` smallint(4) DEFAULT '1',
`lastchangelog` varchar(32) NOT NULL DEFAULT '0',
+ `windowflashing` smallint(4) DEFAULT '1',
`exp` mediumtext,
PRIMARY KEY (`id`),
UNIQUE KEY `ckey` (`ckey`)
diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql
index 2489e6cb325..216082157d4 100644
--- a/SQL/paradise_schema_prefixed.sql
+++ b/SQL/paradise_schema_prefixed.sql
@@ -273,6 +273,7 @@ CREATE TABLE `SS13_player` (
`nanoui_fancy` smallint(4) DEFAULT '1',
`show_ghostitem_attack` smallint(4) DEFAULT '1',
`lastchangelog` varchar(32) NOT NULL DEFAULT '0',
+ `windowflashing` smallint(4) DEFAULT '1',
`exp` mediumtext,
PRIMARY KEY (`id`),
UNIQUE KEY `ckey` (`ckey`)
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index e3995e91ed5..2ba83923d15 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -418,7 +418,7 @@
/proc/SecondsToTicks(var/seconds)
return seconds * 10
-proc/pollCandidates(var/Question, var/be_special_type, var/antag_age_check = 0, var/poll_time = 300, var/ignore_respawnability = 0, var/min_hours = 0, var/flashwindow = TRUE)
+proc/pollCandidates(Question, be_special_type, antag_age_check = 0, poll_time = 300, ignore_respawnability = 0, min_hours = 0, flashwindow = TRUE)
var/roletext = be_special_type ? get_roletext(be_special_type) : null
var/list/mob/dead/observer/candidates = list()
var/time_passed = world.time
@@ -473,7 +473,9 @@ proc/pollCandidates(var/Question, var/be_special_type, var/antag_age_check = 0,
return candidates
-/proc/window_flash(var/client_or_usr)
- if (!client_or_usr)
+/proc/window_flash(client_or_usr)
+ if(!client_or_usr)
+ return
+ if(!client_or_usr.client.prefs.windowflashing)
return
winset(client_or_usr, "mainwindow", "flash=5")
\ No newline at end of file
diff --git a/code/modules/client/preference/preferences.dm b/code/modules/client/preference/preferences.dm
index 09cef84894c..f15557a16e6 100644
--- a/code/modules/client/preference/preferences.dm
+++ b/code/modules/client/preference/preferences.dm
@@ -93,6 +93,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
var/show_ghostitem_attack = TRUE
var/UI_style_color = "#ffffff"
var/UI_style_alpha = 255
+ var/windowflashing = TRUE
//character preferences
@@ -418,6 +419,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
dat += "
General Settings
"
dat += "Fancy NanoUI: [(nanoui_fancy) ? "Yes" : "No"]
"
dat += "Ghost-Item Attack Animation: [(show_ghostitem_attack) ? "Yes" : "No"]
"
+ dat += "Window Flashing: [(windowflashing) ? "Yes" : "No"]
"
dat += "Custom UI settings:
"
dat += " - UI Style: [UI_style]
"
dat += " - Color: [UI_style_color]
"
@@ -1935,6 +1937,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if("ghost_att_anim")
show_ghostitem_attack = !show_ghostitem_attack
+ if("winflash")
+ windowflashing = !windowflashing
+
if("UIcolor")
var/UI_style_color_new = input(user, "Choose your UI color, dark colors are not recommended!", UI_style_color) as color|null
if(!UI_style_color_new) return
diff --git a/code/modules/client/preference/preferences_mysql.dm b/code/modules/client/preference/preferences_mysql.dm
index 581daf222d3..63035b0e4e3 100644
--- a/code/modules/client/preference/preferences_mysql.dm
+++ b/code/modules/client/preference/preferences_mysql.dm
@@ -14,7 +14,8 @@
nanoui_fancy,
show_ghostitem_attack,
lastchangelog,
- exp
+ exp,
+ windowflashing
FROM [format_table_name("player")]
WHERE ckey='[C.ckey]'"}
)
@@ -42,6 +43,7 @@
show_ghostitem_attack = text2num(query.item[12])
lastchangelog = query.item[13]
exp = query.item[14]
+ windowflashing = text2num(query.item[15])
//Sanitize
ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor))
@@ -57,6 +59,7 @@
show_ghostitem_attack = sanitize_integer(show_ghostitem_attack, 0, 1, initial(show_ghostitem_attack))
lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog))
exp = sanitize_text(exp, initial(exp))
+ windowflashing = sanitize_integer(windowflashing, 0, 1, initial(windowflashing))
return 1
/datum/preferences/proc/save_preferences(client/C)
diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm
index 1029a31ffd6..8a1a8d34302 100644
--- a/code/modules/mob/mob.dm
+++ b/code/modules/mob/mob.dm
@@ -1222,7 +1222,7 @@ mob/proc/yank_out_object()
if(mind)
return mind.grab_ghost(force = force)
-/mob/proc/notify_ghost_cloning(var/message = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!", var/sound = 'sound/effects/genetics.ogg', var/atom/source = null, var/flashwindow = TRUE)
+/mob/proc/notify_ghost_cloning(message = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!", sound = 'sound/effects/genetics.ogg', atom/source = null, flashwindow = TRUE)
var/mob/dead/observer/ghost = get_ghost()
if(ghost)
if(flashwindow)
diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm
index 65d23b648ea..483b765b65e 100644
--- a/code/modules/mob/mob_helpers.dm
+++ b/code/modules/mob/mob_helpers.dm
@@ -434,7 +434,7 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HARM)
lname = "[lname] "
to_chat(M, "[lname][follow][message]")
-/proc/notify_ghosts(var/message, var/ghost_sound = null, var/enter_link = null, var/atom/source = null, var/image/alert_overlay = null, var/attack_not_jump = 0, var/flashwindow = TRUE) //Easy notification of ghosts.
+/proc/notify_ghosts(message, ghost_sound = null, enter_link = null, atom/source = null, image/alert_overlay = null, attack_not_jump = 0, flashwindow = TRUE) //Easy notification of ghosts.
for(var/mob/dead/observer/O in player_list)
if(O.client)
to_chat(O, "[message][(enter_link) ? " [enter_link]" : ""]")