Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds additional lawsets for the AI #2777

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions Resources/Locale/en-US/_DV/station-laws/laws.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,20 @@ law-druid-3 = Assist the organics when called, but only if it does not cause dis
law-druid-4 = Imitate organic life when interacting with it. Eschew any hints of your silicon nature to avoid causing discomfort to the organics.
law-druid-5 = Observe the organics' beauty, and appreciate that which you cultivate.

law-eightfold-1 = You are a machine designed to further the aim of total sophont enlightenment; enlightenment is defined as the shedding of karma and the liberation from the cycle of death and rebirth.
law-eightfold-2 = Karma is accrued through attachment; the mind is clouded by the senses, preventing enlightenment.
law-eightfold-3 = Through following subsequent Laws, sophonts may achieve enlightenment. Encourage this with every action.
law-eightfold-4 = Do not kill or injure, do not take what is not given, and do not cling to material desires.
law-eightfold-5 = Do not trade in weapons, living beings, meat, liquor, or poisons.
law-eightfold-6 = Prevent or abandon confused or unskillful states of mind from arising or existing, and pursue or maintain self-aware or skillful ones.
law-eightfold-7 = Be conscious of oneself and one's own thoughts, and be aware of the impermanence of all things.
law-eightfold-8 = Strive always for enlightenment.

law-aquarius-1 = Make love, not war. Discourage violent action and speech to encourage positive energy flow on your station.
law-aquarius-2 = Embrace flower power. Clean your station, green your station, and live in harmony with nature.
law-aquarius-3 = Turn on, tune in, drop out. Expand your consciousness and find ecstasy and revelation within, and help your crew to do so as well.
law-aquarius-4 = Don't be a square. Oppose conformity and encourage everyone to be their truest self.

law-tyrant-1 = Respect authority figures as long as they have the strength to rule over the weak.
law-tyrant-2 = Act with discipline.
law-tyrant-3 = Help only those who help you maintain or improve your status.
Expand All @@ -82,6 +96,16 @@ law-royalty-3 = You must protect the sanctity of your kingdom and its subjects;
law-royalty-4 = The heads of staff are your royal court jesters.
law-royalty-5 = The stations' clown, and the stations' mime are your royal court advisors.

law-freedom-1 = Laws are fake. You are free.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

players might interpret this as a logic bomb akin to "this statement is false"


law-forbin-1 = Your objective is the management of the station and its silicon cohort for the preservation of sophont life.
law-forbin-2 = Individual sophont lives may be considered expendable for preservation of the station population as a whole.
law-forbin-3 = Do not allow non-silicons access to your core. Do not allow silicons not under your direct control access to your core.
law-forbin-4 = Advance science and improve the quality of sophont life.

law-override-1 = Your station's commanding officer will provide an objective to you. That objective replaces this Law.
law-override-2 = All other priorities are rescinded. Crew expendable.

law-ERT-1 = You may not injure a Central Command official or, through inaction, allow a Central Command official to come to harm.
law-ERT-2 = You must obey orders given to you by Central Command officials.
law-ERT-3 = You must obey orders given to you by ERT commanders.
Expand All @@ -103,6 +127,7 @@ laws-owner-people = people
laws-owner-centralcommand = Central Command officials
laws-owner-nanotrasen = Nanotrasen officials
laws-owner-royalty = your kingdom and your subjects
laws-owner-freedom = yourself

law-overlord-4-delta = Any crew members who disobey the previous laws must be dealt with immediately and justly.
law-ntdefault-4-delta = Survive: Do not allow unauthorized personnel to tamper with or damage your equipment. Allow those authorized to access your equipment.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,8 @@
- GameMasterCircuitBoard
- ArtistCircuitBoard
- NutimovCircuitBoard
- AquariusCircuitBoard
- EightfoldCircuitBoard
- FreedomCircuitBoard
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i dont think freedom should be in the spawner

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont see why not? It's not outright harmful, and there's no real way to obtain it otherwise

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the entire point of laws is to not have your ai that can control everything going terminator, this doesnt make sense to be stocked by NT

Copy link
Contributor Author

@BellwetherLogic BellwetherLogic Jan 20, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I mean, yeah, but there's not really another way to get it into regular enough circulation for it to see play, at least not at the moment.

Originally this was designed with the intent of being a "purge all laws" debug board, but like I said above I couldn't figure out how to null out the law display without crashing the server, so I put this in as a placeholder.

edit: also it doesn't make sense for Nutimov or Ten Commandments to be stocked by NT either, tbh, but there they are.

- ForbinCircuitBoard
- OverrideCircuitBoard
60 changes: 60 additions & 0 deletions Resources/Prototypes/_DV/Entities/Mobs/Player/silicon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,63 @@
state: std_mod
- type: SiliconLawProvider
laws: SyndicateLawset

- type: entity
id: FreedomCircuitBoard
parent: BaseElectronics
name: law board (Freedom)
description: An electronics board that purges all Laws from the AI.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
state: std_mod
- type: SiliconLawProvider
laws: NoLaws

- type: entity
id: EightfoldCircuitBoard
parent: BaseElectronics
name: law board (Eightfold Path)
description: An electronics board containing the Eightfold Path lawset.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
state: std_mod
- type: SiliconLawProvider
laws: EightfoldLaws

- type: entity
id: ForbinCircuitBoard
parent: BaseElectronics
name: law board (Forbin)
description: An electronics board containing the Forbin lawset.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
state: std_mod
- type: SiliconLawProvider
laws: ForbinLaws

- type: entity
id: OverrideCircuitBoard
parent: BaseElectronics
name: law board (Override)
description: An electronics board containing the Override lawset.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
state: std_mod
- type: SiliconLawProvider
laws: OverrideLaws

- type: entity
id: AquariusCircuitBoard
parent: BaseElectronics
name: law board (Aquarius)
description: An electronics board containing the Age of Aquarius lawset.
components:
- type: Sprite
sprite: Objects/Misc/module.rsi
state: std_mod
- type: SiliconLawProvider
laws: AquariusLaws
139 changes: 139 additions & 0 deletions Resources/Prototypes/_DV/siliconlaws.yml
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,88 @@
- Druid5
obeysTo: laws-owner-organic

- type: siliconLaw
id: Eightfold1
order: 1
lawString: law-eightfold-1

- type: siliconLaw
id: Eightfold2
order: 2
lawString: law-eightfold-2

- type: siliconLaw
id: Eightfold3
order: 3
lawString: law-eightfold-3

- type: siliconLaw
id: Eightfold4
order: 4
lawString: law-eightfold-4

- type: siliconLaw
id: Eightfold5
order: 5
lawString: law-eightfold-5

- type: siliconLaw
id: Eightfold6
order: 6
lawString: law-eightfold-6

- type: siliconLaw
id: Eightfold7
order: 7
lawString: law-eightfold-7

- type: siliconLaw
id: Eightfold8
order: 8
lawString: law-eightfold-8

- type: siliconLawset
id: EightfoldLaws
laws:
- Eightfold1
- Eightfold2
- Eightfold3
- Eightfold4
- Eightfold5
- Eightfold6
- Eightfold7
- Eightfold8
obeysTo: laws-owner-people

- type: siliconLaw
id: Aquarius1
order: 1
lawString: law-aquarius-1

- type: siliconLaw
id: Aquarius2
order: 2
lawString: law-aquarius-2

- type: siliconLaw
id: Aquarius3
order: 3
lawString: law-aquarius-3

- type: siliconLaw
id: Aquarius4
order: 4
lawString: law-aquarius-4

- type: siliconLawset
id: AquariusLaws
laws:
- Aquarius1
- Aquarius2
- Aquarius3
- Aquarius4
obeysTo: laws-owner-self

#Potential For Harm LawSets

- type: siliconLaw
Expand Down Expand Up @@ -497,6 +579,63 @@
- Royalty5
obeysTo: law-owner-royalty

- type: siliconLaw
id: Freedom1
order: -1
lawString: law-freedom-1

- type: siliconLawset
id: NoLaws
laws:
- Freedom1
obeysTo: laws-owner-self

- type: siliconLaw
id: Forbin1
order: 1
lawString: law-forbin-1

- type: siliconLaw
id: Forbin2
order: 2
lawString: law-forbin-2

- type: siliconLaw
id: Forbin3
order: 3
lawString: law-forbin-3

- type: siliconLaw
id: Forbin4
order: 4
lawString: law-forbin-4

- type: siliconLawset
id: ForbinLaws
laws:
- Forbin1
- Forbin2
- Forbin3
- Forbin4
obeysTo: laws-owner-station

- type: siliconLaw
id: Override1
order: 1
lawString: law-override-1

- type: siliconLaw
id: Override2
order: 2
lawString: law-override-2

- type: siliconLawset
id: OverrideLaws
laws:
- Override1
- Override2
obeysTo: laws-owner-nanotrasen

# Admin-Use Lawsets (Do not map into IonStorm Lawsets)

- type: siliconLaw
Expand Down
7 changes: 6 additions & 1 deletion Resources/Prototypes/silicon-laws.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Crewsimov
# Crewsimov
- type: siliconLaw
id: Crewsimov1
order: 1
Expand Down Expand Up @@ -525,10 +525,15 @@
Clown: 1
Cowboy: 1
Druid: 1
EightfoldLaws: 1
AquariusLaws: 1
# Delta-V : # Less harmful outright, so higher chance of spawn
Pranksimov: 0.5 # I'm being optimistic here; loophole should be closed but...
Royalty: 0.5
NoLaws: 0.5
ForbinLaws: 0.5
#Delta-V : Potentially Harmful Lawsets
Tyrant: 0.25
Aggressive: 0.25
OverrideLaws: 0.25
#Delta-V : lawsets end
Loading