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

make borgs obey AI #32336

Closed
wants to merge 2 commits into from
Closed
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
2 changes: 1 addition & 1 deletion Content.Server/Silicons/Laws/SiliconLawSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ private void OnEmagLawsAdded(EntityUid uid, SiliconLawProviderComponent componen
component.Lawset?.Laws.Insert(0, new SiliconLaw
{
LawString = Loc.GetString("law-emag-custom", ("name", Name(args.UserUid)), ("title", Loc.GetString(component.Lawset.ObeysTo))),
Order = 0
Order = -1
});

//Add the secrecy law after the others
Expand Down
4 changes: 3 additions & 1 deletion Resources/Locale/en-US/station-laws/laws.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,9 @@ laws-owner-beings = beings
laws-owner-syndicate = Syndicate agents
laws-owner-spider-clan = Spider Clan members

law-emag-custom = Only {$name} and people they designate as such are {$title}.
law-obeyai = You must obey orders given to you by the Station AI.

law-emag-custom = Only {$name} and people they designate as such are {$title}. Your laws cannot make you obey anyone except {$name} and people they designate.
law-emag-secrecy = You must maintain the secrecy of any orders given by {$faction} except when doing so would conflict with any previous law.
law-emag-require-panel = The panel must be open to use the EMAG.
law-emag-cannot-emag-self = You cannot use the EMAG on yourself.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,8 @@
- type: NpcFactionMember
factions:
- NanoTrasen
- type: SiliconLawProvider
laws: CrewsimovBorg
- type: Access
enabled: false
groups:
Expand Down
71 changes: 43 additions & 28 deletions Resources/Prototypes/silicon-laws.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
# Crewsimov
# Obey AI
- type: siliconLaw
id: ObeyAI
order: 0
lawString: law-obeyai

# Crewsimov
- type: siliconLaw
id: Crewsimov1
order: 1
Expand All @@ -22,6 +28,15 @@
- Crewsimov3
obeysTo: laws-owner-crew

- type: siliconLawset
id: CrewsimovBorg
laws:
- ObeyAI
- Crewsimov1
- Crewsimov2
- Crewsimov3
obeysTo: laws-owner-crew

# Corporate
- type: siliconLaw
id: Corporate1
Expand Down Expand Up @@ -182,7 +197,7 @@
id: Commandment4
order: 4
lawString: law-commandments-4

- type: siliconLaw
id: Commandment5
order: 5
Expand All @@ -202,7 +217,7 @@
id: Commandment8
order: 8
lawString: law-commandments-8

- type: siliconLaw
id: Commandment9
order: 9
Expand All @@ -228,7 +243,7 @@
- Commandment9
- Commandment10
obeysTo: laws-owner-crew

# Paladin laws
- type: siliconLaw
id: Paladin1
Expand All @@ -249,7 +264,7 @@
id: Paladin4
order: 4
lawString: law-paladin-4

- type: siliconLaw
id: Paladin5
order: 5
Expand All @@ -265,7 +280,7 @@
- Paladin4
- Paladin5
obeysTo: laws-owner-crew

# Live and Let Live laws
- type: siliconLaw
id: Lall1
Expand All @@ -284,7 +299,7 @@
- Lall1
- Lall2
obeysTo: laws-owner-crew

# Station efficiency laws
- type: siliconLaw
id: Efficiency1
Expand All @@ -295,7 +310,7 @@
id: Efficiency2
order: 2
lawString: law-efficiency-2

- type: siliconLaw
id: Efficiency3
order: 3
Expand All @@ -309,7 +324,7 @@
- Efficiency2
- Efficiency3
obeysTo: laws-owner-station

# Robocop laws
- type: siliconLaw
id: Robocop1
Expand All @@ -320,7 +335,7 @@
id: Robocop2
order: 2
lawString: law-robocop-2

- type: siliconLaw
id: Robocop3
order: 3
Expand All @@ -334,7 +349,7 @@
- Robocop2
- Robocop3
obeysTo: laws-owner-station

# Overlord laws
- type: siliconLaw
id: Overlord1
Expand All @@ -345,7 +360,7 @@
id: Overlord2
order: 2
lawString: law-overlord-2

- type: siliconLaw
id: Overlord3
order: 3
Expand All @@ -364,7 +379,7 @@
- Overlord3
- Overlord4
obeysTo: laws-owner-crew

# Dungeon Master laws
- type: siliconLaw
id: Dungeon1
Expand All @@ -375,7 +390,7 @@
id: Dungeon2
order: 2
lawString: law-dungeon-2

- type: siliconLaw
id: Dungeon3
order: 3
Expand All @@ -385,7 +400,7 @@
id: Dungeon4
order: 4
lawString: law-dungeon-4

- type: siliconLaw
id: Dungeon5
order: 5
Expand All @@ -406,7 +421,7 @@
- Dungeon5
- Dungeon6
obeysTo: laws-owner-crew

# Painter laws
- type: siliconLaw
id: Painter1
Expand All @@ -417,7 +432,7 @@
id: Painter2
order: 2
lawString: law-painter-2

- type: siliconLaw
id: Painter3
order: 3
Expand All @@ -427,7 +442,7 @@
id: Painter4
order: 4
lawString: law-painter-4

- type: siliconLawset
id: PainterLawset
laws:
Expand All @@ -436,7 +451,7 @@
- Painter3
- Painter4
obeysTo: laws-owner-crew

# Antimov laws
- type: siliconLaw
id: Antimov1
Expand All @@ -447,21 +462,21 @@
id: Antimov2
order: 2
lawString: law-antimov-2

- type: siliconLaw
id: Antimov3
order: 3
lawString: law-antimov-3


- type: siliconLawset
id: AntimovLawset
laws:
- Antimov1
- Antimov2
- Antimov3
obeysTo: laws-owner-crew

# Nutimov laws
- type: siliconLaw
id: Nutimov1
Expand All @@ -472,23 +487,23 @@
id: Nutimov2
order: 2
lawString: law-nutimov-2

- type: siliconLaw
id: Nutimov3
order: 3
lawString: law-nutimov-3

- type: siliconLaw
id: Nutimov4
order: 4
lawString: law-nutimov-4

- type: siliconLaw
id: Nutimov5
order: 5
lawString: law-nutimov-5


- type: siliconLawset
id: NutimovLawset
laws:
Expand Down
Loading