diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 0116232841a..37ad064b5c2 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -134,8 +134,12 @@ Proc for attack log creation, because really why not newhealthtxt = " (NEWHP: [L.health])" if(user && ismob(user)) user.attack_log += text("\[[time_stamp()]\] Has [what_done] [target ? "[target.name][(ismob(target) && target.ckey) ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition][newhealthtxt][coordinates]") + if(user.mind) + user.mind.attack_log += text("\[[time_stamp()]\] [user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"] has [what_done] [target ? "[target.name][(ismob(target) && target.ckey) ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition][newhealthtxt][coordinates]") if(target && ismob(target)) target.attack_log += text("\[[time_stamp()]\] Has been [what_done] by [user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition][newhealthtxt][coordinates]") + if(target.mind) + target.mind.attack_log += text("\[[time_stamp()]\] [target ? "[target.name][(ismob(target) && target.ckey) ? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"] has been [what_done] by [user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition][newhealthtxt][coordinates]") log_attack("[user ? "[user.name][(ismob(user) && user.ckey) ? "([user.ckey])" : ""]" : "NON-EXISTANT SUBJECT"] [what_done] [target ? "[target.name][(ismob(target) && target.ckey)? "([target.ckey])" : ""]" : "NON-EXISTANT SUBJECT"][object ? " with [object]" : " "][addition][newhealthtxt][coordinates]") diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 1ee1a3d01ea..3b51698c1cc 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -36,6 +36,7 @@ var/active = 0 var/memory + var/attack_log var/assigned_role var/special_role @@ -1576,4 +1577,4 @@ /mob/living/simple_animal/hostile/construct/mind_initialize() ..() mind.assigned_role = "[initial(name)]" - mind.special_role = "Cultist" + mind.special_role = "Cultist" diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index ff02ba635d7..a2e264f8c88 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -349,7 +349,8 @@ dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" else - dat += "Nuclear Operative not found!" + dat += "[N.name]([N.key]) Nuclear Operative Body destroyed!" + dat += "PM" dat += "
" for(var/obj/item/weapon/disk/nuclear/N in poi_list) dat += "" + dat += "" + dat += "" else dat += "" dat += "" @@ -388,7 +390,8 @@ var/turf/mob_loc = get_turf(M) dat += "" else - dat += "" + dat += "" + dat += "" dat += "
Nuclear Disk(s)
[N.name], " @@ -370,7 +371,8 @@ for(var/datum/mind/N in ticker.mode.head_revolutionaries) var/mob/M = N.current if(!M) - dat += "
Head Revolutionary not found!
[N.name]([N.key])Head Revolutionary body destroyed!PM
[M.real_name] (Leader)[M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]PM
[mob_loc.loc]
Head not found!
[N.name]([N.key])Head body destroyed!PM
" for(var/datum/gang/G in ticker.mode.gangs) @@ -396,7 +399,8 @@ for(var/datum/mind/N in G.bosses) var/mob/M = N.current if(!M) - dat += "Gang Boss not found!" + dat += "[N.name]([N.key])Gang Boss body destroyed!" + dat += "PM" else dat += "[M.real_name] (Boss)[M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" @@ -416,7 +420,8 @@ dat += "PM" dat += "Show Objective" else - dat += "Changeling not found!" + dat += "[changeling.name]([changeling.key])Changeling body destroyed!" + dat += "PM" dat += "" if(ticker.mode.wizards.len > 0) @@ -428,7 +433,8 @@ dat += "PM" dat += "Show Objective" else - dat += "Wizard not found!" + dat += "[wizard.name]([wizard.key])Wizard body destroyed!" + dat += "PM" dat += "" if(ticker.mode.apprentices.len > 0) @@ -440,7 +446,8 @@ dat += "PM" dat += "Show Objective" else - dat += "Apprentice not found!" + dat += "[apprentice.name]([apprentice.key])Apprentice body destroyed!!" + dat += "PM" dat += "" if(ticker.mode.cult.len) @@ -509,7 +516,8 @@ dat += "PM" dat += "Show Objective" else - dat += "Traitor not found!" + dat += "[traitor.name]([traitor.key])Traitor body destroyed!" + dat += "PM" dat += "" if(ticker.mode.shadows.len) @@ -519,6 +527,9 @@ if(M) dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" + else + dat += "[N.name]([N.key])Shadowling body destroyed!" + dat += "PM" dat += "" if(ticker.mode.thralls.len) @@ -539,7 +550,8 @@ dat += "PM" dat += "Show Objective" else - dat += "Abductor not found!" + dat += "[abductor.name]([abductor.key])Abductor body destroyed!" + dat += "PM" dat += "" dat += "
" for(var/obj/machinery/abductor/experiment/E in machines) @@ -550,7 +562,8 @@ dat += "" dat += "" else - dat += "" + dat += "" + dat += "" dat += "
Abductees
PMShow Objective
Abductee not found!
[abductee.name]([abductee.key])Abductee body destroyed!PM
" var/list/blob_minds = list() @@ -568,9 +581,10 @@ var/mob/M = blob.current if(M) dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" - dat += "PM" + dat += "PM" else - dat += "Blob not found!" + dat += "[blob.name]([blob.key])Blob not found!" + dat += "PM" dat += "" @@ -584,7 +598,8 @@ dat += "[M.real_name][M.client ? "" : " (ghost)"][M.stat == 2 ? " (DEAD)" : ""]" dat += "PM" else - dat += "Monkey not found!" + dat += "[eek.name]([eek.key])Monkey not found!" + dat += "PM" dat += ""