Randomized lawset system + config options

This commit is contained in:
ZomgPonies
2014-01-05 17:50:13 -05:00
parent 6d4f209e78
commit aa8fcc9b15
14 changed files with 11128 additions and 11133 deletions
+1 -1
View File
@@ -80,7 +80,7 @@ var/list/ai_list = list()
if (istype(L, /datum/ai_laws))
laws = L
else
laws = new base_law_type
make_laws()
verbs += /mob/living/silicon/ai/proc/show_laws_verb
+1 -1
View File
@@ -18,7 +18,7 @@
/mob/living/silicon/ai/proc/laws_sanity_check()
if (!src.laws)
src.laws = new base_law_type
make_laws()
/mob/living/silicon/ai/proc/set_zeroth_law(var/law, var/law_borg)
src.laws_sanity_check()
+10 -2
View File
@@ -70,7 +70,7 @@
/mob/living/silicon/robot/proc/laws_sanity_check()
if (!laws)
laws = new base_law_type
make_laws()
/mob/living/silicon/robot/proc/set_zeroth_law(var/law)
laws_sanity_check()
@@ -98,4 +98,12 @@
/mob/living/silicon/robot/proc/clear_ion_laws()
laws_sanity_check()
laws.clear_ion_laws()
laws.clear_ion_laws()
/mob/living/silicon/proc/make_laws()
switch(config.default_laws)
if(0) laws = new /datum/ai_laws/default/asimov()
if(1) laws = new /datum/ai_laws/custom()
if(2)
var/datum/ai_laws/lawtype = pick(typesof(/datum/ai_laws/default) - /datum/ai_laws/default)
laws = new lawtype()
@@ -95,7 +95,7 @@
connected_ai = select_active_alien_ai()
scrambledcodes = 1
else
laws = new /datum/ai_laws/nanotrasen()
make_laws()
connected_ai = select_active_ai_with_fewest_borgs()
if(connected_ai)
connected_ai.connected_robots += src
+1 -1
View File
@@ -77,7 +77,7 @@
/mob/proc/AIize()
if(client)
src << sound(null, repeat = 0, wait = 0, volume = 85, channel = 1) // stop the jams for AIs
var/mob/living/silicon/ai/O = new (loc, base_law_type,,1)//No MMI but safety is in effect.
var/mob/living/silicon/ai/O = new (loc,,,1)//No MMI but safety is in effect.
O.invisibility = 0
O.aiRestorePowerRoutine = 0