diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql
index 36381013065..750e15488b5 100644
--- a/SQL/paradise_schema.sql
+++ b/SQL/paradise_schema.sql
@@ -247,6 +247,7 @@ CREATE TABLE `player` (
`randomslot` tinyint(1) DEFAULT '0',
`volume` smallint(4) DEFAULT '100',
`nanoui_fancy` smallint(4) DEFAULT '1',
+ `show_ghostitem_attack` smallint(4) DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `ckey` (`ckey`)
) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1;
diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql
index e599326ba8e..8af09a45737 100644
--- a/SQL/paradise_schema_prefixed.sql
+++ b/SQL/paradise_schema_prefixed.sql
@@ -247,6 +247,7 @@ CREATE TABLE `SS13_player` (
`randomslot` tinyint(1) DEFAULT '0',
`volume` smallint(4) DEFAULT '100',
`nanoui_fancy` smallint(4) DEFAULT '1',
+ `show_ghostitem_attack` smallint(4) DEFAULT '1',
PRIMARY KEY (`id`),
UNIQUE KEY `ckey` (`ckey`)
) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=latin1;
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index e458ebb7a14..37bf206b6ca 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -84,6 +84,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
var/nanoui_fancy = TRUE
var/toggles = TOGGLES_DEFAULT
var/sound = SOUND_DEFAULT
+ var/show_ghostitem_attack = TRUE
var/UI_style_color = "#ffffff"
var/UI_style_alpha = 255
@@ -397,6 +398,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
dat += "
General Settings
"
dat += "UI Style: [UI_style]
"
dat += "Fancy NanoUI: [(nanoui_fancy) ? "Yes" : "No"]
"
+ dat += "Ghost-Item Attack Animation: [(show_ghostitem_attack) ? "Yes" : "No"]
"
dat += "Custom UI settings:
"
dat += "Color: [UI_style_color]
"
dat += "Alpha (transparency): [UI_style_alpha]
"
@@ -1568,6 +1570,9 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if("nanoui")
nanoui_fancy = !nanoui_fancy
+ if("ghost_att_anim")
+ show_ghostitem_attack = !show_ghostitem_attack
+
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/preferences_mysql.dm b/code/modules/client/preferences_mysql.dm
index 9b873baec73..cb2e3116526 100644
--- a/code/modules/client/preferences_mysql.dm
+++ b/code/modules/client/preferences_mysql.dm
@@ -11,7 +11,8 @@
sound,
randomslot,
volume,
- nanoui_fancy
+ nanoui_fancy,
+ show_ghostitem_attack
FROM [format_table_name("player")]
WHERE ckey='[C.ckey]'"}
)
@@ -36,6 +37,7 @@
randomslot = text2num(query.item[9])
volume = text2num(query.item[10])
nanoui_fancy = text2num(query.item[11])
+ show_ghostitem_attack = text2num(query.item[12])
//Sanitize
ooccolor = sanitize_hexcolor(ooccolor, initial(ooccolor))
@@ -49,6 +51,7 @@
randomslot = sanitize_integer(randomslot, 0, 1, initial(randomslot))
volume = sanitize_integer(volume, 0, 100, initial(volume))
nanoui_fancy = sanitize_integer(nanoui_fancy, 0, 1, initial(nanoui_fancy))
+ show_ghostitem_attack = sanitize_integer(show_ghostitem_attack, 0, 1, initial(show_ghostitem_attack))
return 1
/datum/preferences/proc/save_preferences(client/C)
@@ -71,7 +74,8 @@
sound='[sound]',
randomslot='[randomslot]',
volume='[volume]',
- nanoui_fancy='[nanoui_fancy]'
+ nanoui_fancy='[nanoui_fancy]',
+ show_ghostitem_attack='[show_ghostitem_attack]'
WHERE ckey='[C.ckey]'"}
)
diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm
index 78df1f7a424..37b326dc4c5 100644
--- a/code/modules/mob/living/living.dm
+++ b/code/modules/mob/living/living.dm
@@ -724,7 +724,7 @@
// Who can see the attack?
var/list/viewing = list()
for(var/mob/M in viewers(A))
- if(M.client)
+ if(M.client && M.client.prefs.show_ghostitem_attack)
viewing |= M.client
flick_overlay(I, viewing, 5) // 5 ticks/half a second