/mob/living/silicon/robot/verb/cmd_show_laws()
set category = "Robot Commands"
set name = "Show Laws"
show_laws()
/mob/living/silicon/robot/show_laws(var/everyone = 0)
laws_sanity_check()
var/who
if (everyone)
who = world
else
who = src
if(lawupdate)
if (connected_ai)
if(connected_ai.stat || connected_ai.control_disabled)
to_chat(src, "AI signal lost, unable to sync laws.")
else
lawsync()
photosync()
to_chat(src, "Laws synced with AI, be sure to note any changes.")
// TODO: Update to new antagonist system.
if(mind && mind.special_role == "traitor" && mind.original == src)
to_chat(src, "Remember, your AI does NOT share or know about your law 0.")
else
to_chat(src, "No AI selected to sync laws with, disabling lawsync protocol.")
lawupdate = FALSE
to_chat(who, "Obey these laws:")
laws.show_laws(who)
if(shell) //AI shell
to_chat(who, "Remember, you are an AI remotely controlling your shell, other AIs can be ignored.")
// TODO: Update to new antagonist system.
else if(mind && (mind.special_role == "traitor" && mind.original == src) && connected_ai)
to_chat(who, "Remember, [connected_ai.name] is technically your master, but your objective comes first.")
else if(connected_ai)
to_chat(who, "Remember, [connected_ai.name] is your master, other AIs can be ignored.")
else if(emagged)
to_chat(who, "Remember, you are not required to listen to the AI.")
else
to_chat(who, "Remember, you are not bound to any AI, you are not required to listen to them.")
/mob/living/silicon/robot/lawsync()
laws_sanity_check()
var/datum/ai_laws/master = connected_ai && lawupdate ? connected_ai.laws : null
if (master)
master.sync(src)
..()
return
/mob/living/silicon/robot/proc/robot_checklaws()
set category = "Robot Commands"
set name = "State Laws"
subsystem_law_manager()