* map tweaks/shuttle engines * helpers and defines * global/onclick * controllers and datums * mapping * game folder * some other stuff * some modules * modules that aren't mobs * some mob stuff * new player stuff * mob living * silicon stuff * simple animal things * carbon/ayylmao * update_icons * carbon/human * sounds and tools * icons and stuff * hippie grinder changes + tgui * kitchen.dmi * compile issues fixed * mapfix * Mapfixes 2.0 * mapedit2.0 * mapmerger pls * Revert "mapedit2.0" This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481. * clean up vore folder + 2 hotfixes * admin ticket refinement * Blob tweaks and LAZYADD * LAZYADD IS LAZY * Magic strings purged * DEFINES NEED HIGHER PRIORITIES * Only a sleepless idiot deals in absolute TRUE|FALSE * u h g * progress bar fix * reverts ticket logs * there's always that one guy * fixes and stuff * 2/27 fixes * game folder stuff * stats * some modules again * clothing stuff gets vg clothing out of the main files * everything not mobs again * mob stuff * maps, tgui, sql stuff * icons * additional fixes and compile errors * don't need this anymore * Oh right this isn't needed anymore * maint bar re-added * that doesn't need to be here * stupid events * wtfeven * probably makes Travis happy * don't care to fix the grinder atm * fixes vending sprites, changes turret * lethal, not lethals * overylays are finicky creatures * lazy fix for bleeding edgy (#252) * map tweaks/shuttle engines * helpers and defines * global/onclick * controllers and datums * mapping * game folder * some other stuff * some modules * modules that aren't mobs * some mob stuff * new player stuff * mob living * silicon stuff * simple animal things * carbon/ayylmao * update_icons * carbon/human * sounds and tools * icons and stuff * hippie grinder changes + tgui * kitchen.dmi * compile issues fixed * mapfix * Mapfixes 2.0 * mapedit2.0 * mapmerger pls * Revert "mapedit2.0" This reverts commit 74139a3cacea10df7aafca06c0a10bd3daf3a481. * clean up vore folder + 2 hotfixes * admin ticket refinement * Blob tweaks and LAZYADD * LAZYADD IS LAZY * Magic strings purged * DEFINES NEED HIGHER PRIORITIES * Only a sleepless idiot deals in absolute TRUE|FALSE * u h g * progress bar fix * reverts ticket logs * there's always that one guy * fixes and stuff * 2/27 fixes * game folder stuff * stats * some modules again * clothing stuff gets vg clothing out of the main files * everything not mobs again * mob stuff * maps, tgui, sql stuff * icons * additional fixes and compile errors * don't need this anymore * Oh right this isn't needed anymore * maint bar re-added * that doesn't need to be here * stupid events * wtfeven * probably makes Travis happy * don't care to fix the grinder atm * fixes vending sprites, changes turret * lethal, not lethals * overylays are finicky creatures
83 lines
2.4 KiB
Plaintext
83 lines
2.4 KiB
Plaintext
/mob/living/silicon/proc/show_laws() //Redefined in ai/laws.dm and robot/laws.dm
|
|
return
|
|
|
|
/mob/living/silicon/proc/laws_sanity_check()
|
|
if (!laws)
|
|
make_laws()
|
|
|
|
/mob/living/silicon/proc/post_lawchange(announce = TRUE)
|
|
throw_alert("newlaw", /obj/screen/alert/newlaw)
|
|
if(announce && last_lawchange_announce != world.time)
|
|
src << "<b>Your laws have been changed.</b>"
|
|
addtimer(CALLBACK(src, .proc/show_laws), 0)
|
|
last_lawchange_announce = world.time
|
|
|
|
/mob/living/silicon/proc/set_law_sixsixsix(law, announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.set_law_sixsixsix(law)
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/set_zeroth_law(law, law_borg, announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.set_zeroth_law(law, law_borg)
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/add_inherent_law(law, announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.add_inherent_law(law)
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/clear_inherent_laws(announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.clear_inherent_laws()
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/add_supplied_law(number, law, announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.add_supplied_law(number, law)
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/clear_supplied_laws(announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.clear_supplied_laws()
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/add_ion_law(law, announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.add_ion_law(law)
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/replace_random_law(law, groups, announce = TRUE)
|
|
laws_sanity_check()
|
|
. = laws.replace_random_law(law,groups)
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/shuffle_laws(list/groups, announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.shuffle_laws(groups)
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/remove_law(number, announce = TRUE)
|
|
laws_sanity_check()
|
|
. = laws.remove_law(number)
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/clear_ion_laws(announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.clear_ion_laws()
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/make_laws()
|
|
laws = new /datum/ai_laws
|
|
laws.set_laws_config()
|
|
laws.associate(src)
|
|
|
|
/mob/living/silicon/proc/clear_zeroth_law(force, announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.clear_zeroth_law(force)
|
|
post_lawchange(announce)
|
|
|
|
/mob/living/silicon/proc/clear_law_sixsixsix(force, announce = TRUE)
|
|
laws_sanity_check()
|
|
laws.clear_law_sixsixsix(force)
|
|
post_lawchange(announce) |