mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Added a list that tracks changes to AI/cyborg laws, similar to the list that tracks signaler use
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@890 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -103,6 +103,7 @@ var
|
|||||||
list/bombers = list( )
|
list/bombers = list( )
|
||||||
list/admin_log = list ( )
|
list/admin_log = list ( )
|
||||||
list/lastsignalers = list( ) //keeps last 100 signals here in format: "[src] used \ref[src] @ location [src.loc]: [freq]/[code]"
|
list/lastsignalers = list( ) //keeps last 100 signals here in format: "[src] used \ref[src] @ location [src.loc]: [freq]/[code]"
|
||||||
|
list/lawchanges = list( ) //Stores who uploaded laws to which silicon-based lifeform, and what the law was
|
||||||
list/admins = list( )
|
list/admins = list( )
|
||||||
list/shuttles = list( )
|
list/shuttles = list( )
|
||||||
list/reg_dna = list( )
|
list/reg_dna = list( )
|
||||||
|
|||||||
@@ -114,6 +114,9 @@ AI MODULES
|
|||||||
|
|
||||||
/obj/item/weapon/aiModule/proc/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
/obj/item/weapon/aiModule/proc/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||||
target << "[sender] has uploaded a change to the laws you must follow, using a [name]. From now on: "
|
target << "[sender] has uploaded a change to the laws you must follow, using a [name]. From now on: "
|
||||||
|
var/time = time2text(world.realtime,"hh:mm:ss")
|
||||||
|
lawchanges.Add("[time] <B>:</B> [sender.name]([sender.key]) used [src.name] on [target.name]([target.key])")
|
||||||
|
|
||||||
|
|
||||||
/******************** Modules ********************/
|
/******************** Modules ********************/
|
||||||
|
|
||||||
@@ -135,6 +138,8 @@ AI MODULES
|
|||||||
var/law = text("Safeguard [], and you may overrule rules 1-3 if necessary to safeguard them.", targetName)
|
var/law = text("Safeguard [], and you may overrule rules 1-3 if necessary to safeguard them.", targetName)
|
||||||
target << law
|
target << law
|
||||||
target.add_supplied_law(4, law)
|
target.add_supplied_law(4, law)
|
||||||
|
lawchanges.Add("The law specified [targetName]")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/******************** OneHuman ********************/
|
/******************** OneHuman ********************/
|
||||||
@@ -156,9 +161,11 @@ AI MODULES
|
|||||||
if (!checktraitor(target)) // Makes sure the AI isn't a traitor before changing their law 0. --NeoFite
|
if (!checktraitor(target)) // Makes sure the AI isn't a traitor before changing their law 0. --NeoFite
|
||||||
target << law
|
target << law
|
||||||
target.set_zeroth_law(law)
|
target.set_zeroth_law(law)
|
||||||
|
lawchanges.Add("The law specified [targetName]")
|
||||||
else
|
else
|
||||||
target << "[sender.real_name] attempted to modify your zeroth law." // And lets them know that someone tried. --NeoFite
|
target << "[sender.real_name] attempted to modify your zeroth law." // And lets them know that someone tried. --NeoFite
|
||||||
target << "It would be in your best interest to play along with [sender.real_name] that [law]"
|
target << "It would be in your best interest to play along with [sender.real_name] that [law]"
|
||||||
|
lawchanges.Add("The law specified [targetName], but the AI's existing law 0 cannot be overriden.")
|
||||||
|
|
||||||
/******************** ProtectStation ********************/
|
/******************** ProtectStation ********************/
|
||||||
|
|
||||||
@@ -282,6 +289,7 @@ AI MODULES
|
|||||||
if(!lawpos || lawpos < 15)
|
if(!lawpos || lawpos < 15)
|
||||||
lawpos = 15
|
lawpos = 15
|
||||||
target.add_supplied_law(lawpos, law)
|
target.add_supplied_law(lawpos, law)
|
||||||
|
lawchanges.Add("The law was '[newFreeFormLaw]'")
|
||||||
|
|
||||||
|
|
||||||
/******************** Reset ********************/
|
/******************** Reset ********************/
|
||||||
@@ -380,6 +388,7 @@ AI MODULES
|
|||||||
..()
|
..()
|
||||||
var/law = "[newFreeFormLaw]"
|
var/law = "[newFreeFormLaw]"
|
||||||
target.add_inherent_law(law)
|
target.add_inherent_law(law)
|
||||||
|
lawchanges.Add("The law is '[newFreeFormLaw]'")
|
||||||
|
|
||||||
/******************** Robocop ********************/
|
/******************** Robocop ********************/
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -1255,6 +1255,11 @@ var/showadminmessages = 1
|
|||||||
for(var/sig in lastsignalers)
|
for(var/sig in lastsignalers)
|
||||||
dat += "[sig]<BR>"
|
dat += "[sig]<BR>"
|
||||||
usr << browse(dat, "window=lastsignalers;size=800x500")
|
usr << browse(dat, "window=lastsignalers;size=800x500")
|
||||||
|
if("list_lawchanges")
|
||||||
|
var/dat = "<B>Showing last [length(lawchanges)] law changes.</B><HR>"
|
||||||
|
for(var/sig in lawchanges)
|
||||||
|
dat += "[sig]<BR>"
|
||||||
|
usr << browse(dat, "window=lawchanges;size=800x500")
|
||||||
if("check_antagonist")
|
if("check_antagonist")
|
||||||
if (ticker && ticker.current_state >= GAME_STATE_PLAYING)
|
if (ticker && ticker.current_state >= GAME_STATE_PLAYING)
|
||||||
var/dat = "<html><head><title>Round Status</title></head><body><h1><B>Round Status</B></h1>"
|
var/dat = "<html><head><title>Round Status</title></head><body><h1><B>Round Status</B></h1>"
|
||||||
@@ -1611,6 +1616,7 @@ var/showadminmessages = 1
|
|||||||
<A href='?src=\ref[src];secretsadmin=list_bombers'>Bombing List</A><BR>
|
<A href='?src=\ref[src];secretsadmin=list_bombers'>Bombing List</A><BR>
|
||||||
<A href='?src=\ref[src];secretsadmin=check_antagonist'>Show current traitors and objectives</A><BR>
|
<A href='?src=\ref[src];secretsadmin=check_antagonist'>Show current traitors and objectives</A><BR>
|
||||||
<A href='?src=\ref[src];secretsadmin=list_signalers'>Show last [length(lastsignalers)] signalers</A><BR>
|
<A href='?src=\ref[src];secretsadmin=list_signalers'>Show last [length(lastsignalers)] signalers</A><BR>
|
||||||
|
<A href='?src=\ref[src];secretsadmin=list_lawchanges'>Show last [length(lawchanges)] law changes</A><BR>
|
||||||
<A href='?src=\ref[src];secretsadmin=showailaws'>Show AI Laws</A><BR>
|
<A href='?src=\ref[src];secretsadmin=showailaws'>Show AI Laws</A><BR>
|
||||||
<A href='?src=\ref[src];secretsadmin=showgm'>Show Game Mode</A><BR>
|
<A href='?src=\ref[src];secretsadmin=showgm'>Show Game Mode</A><BR>
|
||||||
<A href='?src=\ref[src];secretsadmin=manifest'>Show Crew Manifest</A><BR>
|
<A href='?src=\ref[src];secretsadmin=manifest'>Show Crew Manifest</A><BR>
|
||||||
|
|||||||
@@ -109,6 +109,8 @@
|
|||||||
if (!checktraitor(src))
|
if (!checktraitor(src))
|
||||||
src.set_zeroth_law("")
|
src.set_zeroth_law("")
|
||||||
src.clear_supplied_laws()
|
src.clear_supplied_laws()
|
||||||
|
var/time = time2text(world.realtime,"hh:mm:ss")
|
||||||
|
lawchanges.Add("[time] <b>:</b> [src.name]'s noncore laws have been reset due to power failure")
|
||||||
spawn(50)
|
spawn(50)
|
||||||
while ((src:aiRestorePowerRoutine!=0) && stat!=2)
|
while ((src:aiRestorePowerRoutine!=0) && stat!=2)
|
||||||
src.oxyloss += 2
|
src.oxyloss += 2
|
||||||
|
|||||||
@@ -438,6 +438,8 @@
|
|||||||
clear_supplied_laws()
|
clear_supplied_laws()
|
||||||
clear_inherent_laws()
|
clear_inherent_laws()
|
||||||
src.laws = new /datum/ai_laws/syndicate_override
|
src.laws = new /datum/ai_laws/syndicate_override
|
||||||
|
var/time = time2text(world.realtime,"hh:mm:ss")
|
||||||
|
lawchanges.Add("[time] <B>:</B> [user.name]([user.key]) emagged [src.name]([src.key])")
|
||||||
set_zeroth_law("Only [usr] is a syndicate operative.")
|
set_zeroth_law("Only [usr] is a syndicate operative.")
|
||||||
src << "\red ALERT: Foreign software detected."
|
src << "\red ALERT: Foreign software detected."
|
||||||
sleep(5)
|
sleep(5)
|
||||||
|
|||||||
Reference in New Issue
Block a user