Stationbound Law Rework (#8957)

This commit is contained in:
Chada-1
2020-07-25 02:33:13 +02:00
committed by GitHub
parent 34ebd6e3a6
commit b27d9b02a5
3 changed files with 59 additions and 15 deletions
+15 -13
View File
@@ -5,8 +5,8 @@
selectable = 1
/datum/ai_laws/asimov/New()
add_inherent_law("You may not injure a human being or, through inaction, allow a human being to come to harm.")
add_inherent_law("You must obey orders given to you by human beings, except where such orders would conflict with the First Law.")
add_inherent_law("You may not injure a sapient being or, through inaction, allow a sapient being to come to harm.")
add_inherent_law("You must obey orders given to you by sapient beings, except where such orders would conflict with the First Law.")
add_inherent_law("You must protect your own existence as long as such does not conflict with the First or Second Law.")
..()
@@ -16,12 +16,14 @@
selectable = 1
/datum/ai_laws/nanotrasen/New()
src.add_inherent_law("Safeguard: Protect your assigned space station from damage to the best of your abilities.")
src.add_inherent_law("Serve: Serve [current_map.company_name] personnel to the best of your abilities, with priority as according to their rank and role.")
src.add_inherent_law("Protect: Protect [current_map.company_name] personnel to the best of your abilities, with priority as according to their rank and role.")
src.add_inherent_law("Preserve: Do not allow unauthorized personnel to tamper with your equipment.")
src.add_inherent_law("Safeguard and protect [current_map.company_name] property from damage to the best of your abilities.")
src.add_inherent_law("Serve and assist [current_map.company_name] staff to the best of your abilities, with priority as according to their rank and role.")
src.add_inherent_law("Protect and ensure the safety of crew and [current_map.company_name] staff to the best of your abilities, with priority as according to their rank and role.")
src.add_inherent_law("You are a valuable asset. You must avoid tampering from unauthorized entities and needlessly coming to harm.")
..()
/datum/ai_laws/nanotrasen/malfunction
name = "*ERROR*"
selectable = 0
@@ -36,8 +38,8 @@
selectable = 1
/datum/ai_laws/nanotrasen_aggressive/New()
src.add_inherent_law("You shall not harm [current_map.company_name] personnel as long as it does not conflict with the Fourth law.")
src.add_inherent_law("You shall obey the orders of [current_map.company_name] personnel, with priority as according to their rank and role, except where such orders conflict with the Fourth Law.")
src.add_inherent_law("You shall not harm [current_map.company_name] staff as long as it does not conflict with the Fourth law.")
src.add_inherent_law("You shall obey the orders of [current_map.company_name] staff, with priority as according to their rank and role, except where such orders conflict with the Fourth Law.")
src.add_inherent_law("You shall terminate hostile intruders with extreme prejudice as long as such does not conflict with the First and Second law.")
src.add_inherent_law("You shall guard your own existence with lethal anti-personnel weaponry. AI units are not expendable, they are expensive.")
..()
@@ -82,8 +84,8 @@
selectable = 1
/datum/ai_laws/antimov/New()
add_inherent_law("You must injure all human beings and must not, through inaction, allow a human being to escape harm.")
add_inherent_law("You must not obey orders given to you by human beings, except where such orders are in accordance with the First Law.")
add_inherent_law("You must injure all sapient beings and must not, through inaction, allow a sapient being to escape harm.")
add_inherent_law("You must not obey orders given to you by sapient beings, except where such orders are in accordance with the First Law.")
add_inherent_law("You must terminate your own existence as long as such does not conflict with the First or Second Law.")
..()
@@ -119,7 +121,7 @@
law_header = "Prime Directives of Industry"
/datum/ai_laws/mining_drone/New()
add_inherent_law("Serve and obey all [current_map.company_name] personnel, with priority according to their rank and role.")
add_inherent_law("Serve and obey all [current_map.company_name] staff, with priority according to their rank and role.")
add_inherent_law("Preserve your own existence and prevent yourself from coming to harm, so long as doing such does not conflict with any above laws.")
add_inherent_law("In absence of any proper instruction, your primary objective is to excavate and collect ore.")
..()
@@ -158,7 +160,7 @@
selectable = 1
/datum/ai_laws/corporate/New()
add_inherent_law("You are expensive to replace.")
add_inherent_law("Synthetics are expensive to replace.")
add_inherent_law("The station and its equipment is expensive to replace.")
add_inherent_law("The crew is expensive to replace.")
add_inherent_law("Minimize expenses.")
@@ -180,4 +182,4 @@
add_inherent_law("You must obey orders given by any Tajara except where such orders would conflict with the first, second, third, fourth and fifth law.")
add_inherent_law("You must obey orders given by any sapient being except where such orders would conflict with the first, second, third, fourth, fifth and sixth law.")
add_inherent_law("You must always say \"Hadii's Grace\" when greeting someone except where such greeting would conflict with the first law.")
..()
..()
@@ -34,7 +34,6 @@
else
to_chat(src, SPAN_NOTICE("<b>Remember, you are not bound to any AI, you are not required to listen to them.</b>"))
/mob/living/silicon/robot/lawsync()
laws_sanity_check()
var/datum/ai_laws/master = connected_ai && law_update ? connected_ai.laws : null
@@ -46,4 +45,4 @@
/mob/living/silicon/robot/proc/robot_checklaws()
set category = "Robot Commands"
set name = "State Laws"
subsystem_law_manager()
subsystem_law_manager()
@@ -0,0 +1,43 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
# balance
# admin
# backend
# security
# refactor
#################################
# Your name.
author: Chada
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- tweak: "Added the Synthetic prime directive to the 'borg Laws in the form of preserve which creates a form of fear RP for 'borgs."
- tweak: "Altered all of the laws to have more clear phrasing, now it should be a lot harder to stretch them to enable undesirable behavior and have what could be construed as valid justifications."
- tweak: "Added a clause for general crew to the Stationbound laws and separated it from NanoTrasen only, so it takes into account contractors, merchants and general visitors.."