diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index faf10759c2c..964fe964353 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -226,6 +226,7 @@
user.attack_log += "\[[time_stamp()]\] Attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(src.damtype)])"
M.attack_log += "\[[time_stamp()]\] Attacked by [user.name] ([user.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(src.damtype)])"
log_attack("[user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)]) (DAMTYE: [uppertext(src.damtype)])" )
+ msg_admin_attack("ATTACK: [user.name] ([user.ckey]) attacked [M.name] ([M.ckey]) with [src.name] (INTENT: [uppertext(user.a_intent)])") //BS12 EDIT ALG
//spawn(1800) // this wont work right
// M.lastattacker = null
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 9cf11ef187f..ab92cafbad4 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -7,18 +7,19 @@ var/global/floorIsLava = 0
/proc/message_admins(var/msg)
msg = "ADMIN LOG: [msg]"
log_adminwarn(msg)
- admins << msg
+ for(var/client/C in admins)
+ if(R_ADMIN & C.holder.rights)
+ C << msg
-/*
/proc/msg_admin_attack(var/text) //Toggleable Attack Messages
var/rendered = "ADMIN LOG: [text]"
log_adminwarn(rendered)
for(var/client/C in admins)
- if (C.holder.level >= 1)
- if(!C.STFU_atklog)
+ if(R_ADMIN & C.holder.rights)
+ if(C.prefs.toggles & CHAT_ATTACKLOGS)
var/msg = rendered
C << msg
-*/
+
///////////////////////////////////////////////////////////////////////////////////////////////Panels
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index a6bd72654db..c5389d6b01f 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -62,7 +62,8 @@ var/list/admin_verbs_admin = list(
/datum/admins/proc/show_player_info,
/client/proc/free_slot, /*frees slot for chosen job*/
/client/proc/cmd_admin_change_custom_event,
- /client/proc/cmd_admin_rejuvenate
+ /client/proc/cmd_admin_rejuvenate,
+ /client/proc/toggleattacklogs
)
var/list/admin_verbs_ban = list(
/client/proc/unban_panel,
@@ -707,3 +708,13 @@ var/list/admin_verbs_mod = list(
if (job)
job_master.FreeRole(job)
return
+
+/client/proc/toggleattacklogs()
+ set name = "Toggle Attack Log Messages"
+ set category = "Preferences"
+
+ prefs.toggles ^= CHAT_ATTACKLOGS
+ if (prefs.toggles & CHAT_ATTACKLOGS)
+ usr << "You now will get attack log messages"
+ else
+ usr << "You now won't get attack log messages"
\ No newline at end of file
diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm
index 801d50fdd2b..cbeb12baaef 100644
--- a/code/modules/projectiles/projectile.dm
+++ b/code/modules/projectiles/projectile.dm
@@ -95,10 +95,11 @@
M.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]"
firer.attack_log += "\[[time_stamp()]\] [firer]/[firer.ckey] shot [M]/[M.ckey] with a [src.type]"
log_attack("[firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src.type]")
-
+ msg_admin_attack("ATTACK: [firer] ([firer.ckey]) shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG
else
M.attack_log += "\[[time_stamp()]\] UNKNOWN SUBJECT (No longer exists) shot [M]/[M.ckey] with a [src]"
log_attack("UNKNOWN shot [M] ([M.ckey]) with a [src.type]")
+ msg_admin_attack("ATTACK: UNKNOWN shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG
spawn(0)
if(A)
diff --git a/code/setup.dm b/code/setup.dm
index 91937331af8..afc08bd9892 100644
--- a/code/setup.dm
+++ b/code/setup.dm
@@ -620,8 +620,9 @@ var/list/TAGGERLOCATIONS = list("Disposals",
#define CHAT_GHOSTSIGHT 128
#define CHAT_PRAYER 256
#define CHAT_RADIO 512
+#define CHAT_ATTACKLOGS 1024
-#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO)
+#define TOGGLES_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|CHAT_OOC|CHAT_DEAD|CHAT_GHOSTEARS|CHAT_GHOSTSIGHT|CHAT_PRAYER|CHAT_RADIO|CHAT_ATTACKLOGS)
#define BE_TRAITOR 1
#define BE_OPERATIVE 2