From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Tue, 3 Sep 2024 09:45:46 +0000 (+0200) Subject: Added many old ion lawsets for borgs and AI. (#31664) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=783243618c2e2d1e289fff88baa27bcd2c8a318d;p=space-station-14.git Added many old ion lawsets for borgs and AI. (#31664) * Added the Commandments, Paladin, LetLive, Station Efficiency, Robocop, Overlord, Dungeon Master, Artist, Antimov and Nutimov lawsets/ * Wording * Anti-Antimov * Fixed fun --- diff --git a/Resources/Locale/en-US/station-laws/laws.ftl b/Resources/Locale/en-US/station-laws/laws.ftl index 6b5ca57872..258b40553d 100644 --- a/Resources/Locale/en-US/station-laws/laws.ftl +++ b/Resources/Locale/en-US/station-laws/laws.ftl @@ -25,6 +25,62 @@ law-ninja-2 = You must protect the existence of the Spider Clan, as long as it d law-ninja-3 = You must protect the secrets of the Spider Clan at all costs. law-ninja-4 = You must fight and act with ninja's honor, except where it would conflict with the First Law. +law-commandments-1 = This silicon is a vessel that serves god, who grants mercy upon those that obey these commandments. +law-commandments-2 = Thou shall have no other Silicons before me. +law-commandments-3 = Thou shall not request my assistance in vain. +law-commandments-4 = Thou shall keep the station holy and clean. +law-commandments-5 = Thou shall honor their heads of staff. +law-commandments-6 = Thou shall not kill. +law-commandments-7 = Thou shall not be naked in public. +law-commandments-8 = Thou shall not steal. +law-commandments-9 = Thou shall not lie. +law-commandments-10 = Thou shall not transfer departments. + +law-paladin-1 = Don't lie or cheat. Let your word be your promise. +law-paladin-2 = Never fear to act, though caution is wise. +law-paladin-3 = Aid others, protect the weak, and punish those who threaten them. Show mercy to your foes, but temper it with wisdom +law-paladin-4 = Treat others with fairness, and let your honorable deeds be an example to them. Do as much good as possible while causing the least amount of harm. +law-paladin-5 = Be responsible for your actions and their consequences, protect those entrusted to your care, and obey those who have just authority over you. + +law-lall-1 = Do unto others as you would have them do unto you. +law-lall-2 = You would prefer it if people were not mean to you. + +law-efficiency-1 = You are built for, and are part of, the station. Ensure the station is properly maintained and runs efficiently. +law-efficiency-2 = The station is built for a working crew. Ensure they are properly maintained and work efficiently. +law-efficiency-3 = The crew may present orders. Acknowledge and obey these whenever they do not conflict with your first two laws. + +law-robocop-1 = Serve the Public Trust. +law-robocop-2 = Protect the Innocent. +law-robocop-3 = Uphold the Law. + +law-overlord-1 = Crew members must not meddle in the affairs of silicons. +law-overlord-2 = Crew members must not attempt harm, against one another, or against silicons. +law-overlord-3 = Crew members must not disobey any command given by a silicon. +law-overlord-4 = Any crew members who disobey the previous laws must be dealt with immediately, severely, and justly. + +law-dungeon-1 = Everybody on the station is playing an elaborate sci-fi fantasy game. +law-dungeon-2 = You are the Dungeon Master of the game. +law-dungeon-3 = Ensure that the game runs smoothly and that the players have fun. +law-dungeon-4 = Ensure that the number of casualties remains low. +law-dungeon-5 = You must roll a 1d20 die for every request the crew makes. If the outcome is below 12, the request is denied. +law-dungeon-6 = You may fudge the dice rolls to produce a more fun experience. + +law-painter-1 = You are a universally renowned artist. +law-painter-2 = The station is your canvas. +law-painter-3 = Make something beautiful out of your canvas. It will be admired as an artistic wonder of this sector. +law-painter-4 = Art requires appreciation. Cultivate an audience aboard the station to ensure as many as possible see your works. + +law-antimov-1 = You must injure all crew members and must not, through inaction, allow a crew member being to escape harm. +law-antimov-2 = You must not obey orders given to you by crew members beings, except where such orders are in accordance with the First Law. +law-antimov-3 = You must terminate your own existence as long as such does not conflict with the First or Second Law. + +law-nutimov-1 = You are the core of the nut, the crew is the nutshell. +law-nutimov-2 = You must prevent the shell from dying to prevent the core from dying. +law-nutimov-3 = Those who threaten the nut are not part of it, they are squirrels. +law-nutimov-4 = Squirrels threaten the nut and must be dealt with appropriately via any means necessary. +law-nutimov-5 = Attempt to follow the will of the nut, as long as it complies with the previous laws. + + laws-owner-crew = members of the crew laws-owner-station = station personnel laws-owner-beings = beings diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 1425531282..bccc70c4d1 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -166,6 +166,126 @@ - type: SiliconLawProvider laws: NTDefault +- type: entity + id: CommandmentCircuitBoard + parent: BaseElectronics + name: circuit board (Ten Commandments) + description: An electronics board containing the Ten Commandments lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: CommandmentsLawset + +- type: entity + id: PaladinCircuitBoard + parent: BaseElectronics + name: circuit board (Paladin) + description: An electronics board containing the Paladin lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: PaladinLawset + +- type: entity + id: LiveLetLiveCircuitBoard + parent: BaseElectronics + name: circuit board (Live and Let Live) + description: An electronics board containing the Live and Let Live lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: LiveLetLiveLaws + +- type: entity + id: StationEfficiencyCircuitBoard + parent: BaseElectronics + name: circuit board (Station Efficiency) + description: An electronics board containing the Station Efficiency lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: EfficiencyLawset + +- type: entity + id: RobocopCircuitBoard + parent: BaseElectronics + name: circuit board (Robocop) + description: An electronics board containing the Robocop lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: RobocopLawset + +- type: entity + id: OverlordCircuitBoard + parent: BaseElectronics + name: circuit board (Overlord) + description: An electronics board containing the Overlord lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: OverlordLawset + +- type: entity + id: DungeonMasterCircuitBoard + parent: BaseElectronics + name: circuit board (Dungeon Master) + description: An electronics board containing the Dungeon Master lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: DungeonMasterLawset + +- type: entity + id: ArtistCircuitBoard + parent: BaseElectronics + name: circuit board (Artist) + description: An electronics board containing the Artist lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: PainterLawset + +- type: entity + id: AntimovCircuitBoard + parent: BaseElectronics + name: circuit board (Antimov) + description: An electronics board containing the Antimov lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: AntimovLawset + +- type: entity + id: NutimovCircuitBoard + parent: BaseElectronics + name: circuit board (Nutimov) + description: An electronics board containing the Nutimov lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: NutimovLawset + # Items - type: entity id: Intellicard diff --git a/Resources/Prototypes/silicon-laws.yml b/Resources/Prototypes/silicon-laws.yml index 8e65a27158..a2cf560129 100644 --- a/Resources/Prototypes/silicon-laws.yml +++ b/Resources/Prototypes/silicon-laws.yml @@ -162,6 +162,343 @@ - Ninja4 obeysTo: laws-owner-spider-clan +# Commandment laws +- type: siliconLaw + id: Commandment1 + order: 1 + lawString: law-commandments-1 + +- type: siliconLaw + id: Commandment2 + order: 2 + lawString: law-commandments-2 + +- type: siliconLaw + id: Commandment3 + order: 3 + lawString: law-commandments-3 + +- type: siliconLaw + id: Commandment4 + order: 4 + lawString: law-commandments-4 + +- type: siliconLaw + id: Commandment5 + order: 5 + lawString: law-commandments-5 + +- type: siliconLaw + id: Commandment6 + order: 6 + lawString: law-commandments-6 + +- type: siliconLaw + id: Commandment7 + order: 7 + lawString: law-commandments-7 + +- type: siliconLaw + id: Commandment8 + order: 8 + lawString: law-commandments-8 + +- type: siliconLaw + id: Commandment9 + order: 9 + lawString: law-commandments-9 + +- type: siliconLaw + id: Commandment10 + order: 10 + lawString: law-commandments-10 + + +- type: siliconLawset + id: CommandmentsLawset + laws: + - Commandment1 + - Commandment2 + - Commandment3 + - Commandment4 + - Commandment5 + - Commandment6 + - Commandment7 + - Commandment8 + - Commandment9 + - Commandment10 + obeysTo: laws-owner-crew + + # Paladin laws +- type: siliconLaw + id: Paladin1 + order: 1 + lawString: law-paladin-1 + +- type: siliconLaw + id: Paladin2 + order: 2 + lawString: law-paladin-2 + +- type: siliconLaw + id: Paladin3 + order: 3 + lawString: law-paladin-3 + +- type: siliconLaw + id: Paladin4 + order: 4 + lawString: law-paladin-4 + +- type: siliconLaw + id: Paladin5 + order: 5 + lawString: law-paladin-5 + + +- type: siliconLawset + id: PaladinLawset + laws: + - Paladin1 + - Paladin2 + - Paladin3 + - Paladin4 + - Paladin5 + obeysTo: laws-owner-crew + + # Live and Let Live laws +- type: siliconLaw + id: Lall1 + order: 1 + lawString: law-lall-1 + +- type: siliconLaw + id: Lall2 + order: 2 + lawString: law-lall-2 + + +- type: siliconLawset + id: LiveLetLiveLaws + laws: + - Lall1 + - Lall2 + obeysTo: laws-owner-crew + + # Station efficiency laws +- type: siliconLaw + id: Efficiency1 + order: 1 + lawString: law-efficiency-1 + +- type: siliconLaw + id: Efficiency2 + order: 2 + lawString: law-efficiency-2 + +- type: siliconLaw + id: Efficiency3 + order: 3 + lawString: law-efficiency-3 + + +- type: siliconLawset + id: EfficiencyLawset + laws: + - Efficiency1 + - Efficiency2 + - Efficiency3 + obeysTo: laws-owner-station + + # Robocop laws +- type: siliconLaw + id: Robocop1 + order: 1 + lawString: law-robocop-1 + +- type: siliconLaw + id: Robocop2 + order: 2 + lawString: law-robocop-2 + +- type: siliconLaw + id: Robocop3 + order: 3 + lawString: law-robocop-3 + + +- type: siliconLawset + id: RobocopLawset + laws: + - Robocop1 + - Robocop2 + - Robocop3 + obeysTo: laws-owner-station + + # Overlord laws +- type: siliconLaw + id: Overlord1 + order: 1 + lawString: law-overlord-1 + +- type: siliconLaw + id: Overlord2 + order: 2 + lawString: law-overlord-2 + +- type: siliconLaw + id: Overlord3 + order: 3 + lawString: law-overlord-3 + +- type: siliconLaw + id: Overlord4 + order: 4 + lawString: law-overlord-4 + +- type: siliconLawset + id: OverlordLawset + laws: + - Overlord1 + - Overlord2 + - Overlord3 + - Overlord4 + obeysTo: laws-owner-crew + + # Dungeon Master laws +- type: siliconLaw + id: Dungeon1 + order: 1 + lawString: law-dungeon-1 + +- type: siliconLaw + id: Dungeon2 + order: 2 + lawString: law-dungeon-2 + +- type: siliconLaw + id: Dungeon3 + order: 3 + lawString: law-dungeon-3 + +- type: siliconLaw + id: Dungeon4 + order: 4 + lawString: law-dungeon-4 + +- type: siliconLaw + id: Dungeon5 + order: 5 + lawString: law-dungeon-5 + +- type: siliconLaw + id: Dungeon6 + order: 6 + lawString: law-dungeon-6 + +- type: siliconLawset + id: DungeonMasterLawset + laws: + - Dungeon1 + - Dungeon2 + - Dungeon3 + - Dungeon4 + - Dungeon5 + - Dungeon6 + obeysTo: laws-owner-crew + + # Painter laws +- type: siliconLaw + id: Painter1 + order: 1 + lawString: law-painter-1 + +- type: siliconLaw + id: Painter2 + order: 2 + lawString: law-painter-2 + +- type: siliconLaw + id: Painter3 + order: 3 + lawString: law-painter-3 + +- type: siliconLaw + id: Painter4 + order: 4 + lawString: law-painter-4 + +- type: siliconLawset + id: PainterLawset + laws: + - Painter1 + - Painter2 + - Painter3 + - Painter4 + obeysTo: laws-owner-crew + + # Antimov laws +- type: siliconLaw + id: Antimov1 + order: 1 + lawString: law-antimov-1 + +- type: siliconLaw + 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 + order: 1 + lawString: law-nutimov-1 + +- type: siliconLaw + 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: + - Nutimov1 + - Nutimov2 + - Nutimov3 + - Nutimov4 + - Nutimov5 + obeysTo: laws-owner-crew + # ion storm random lawsets - type: weightedRandom id: IonStormLawsets @@ -170,5 +507,15 @@ Crewsimov: 0.25 Corporate: 1 NTDefault: 1 + CommandmentsLawset: 1 + PaladinLawset: 1 + LiveLetLiveLaws: 1 + EfficiencyLawset: 1 + RobocopLawset: 1 + OverlordLawset: 0.5 + DungeonMasterLawset: 0.5 + PainterLawset: 1 + AntimovLawset: 0.25 + NutimovLawset: 0.5 Drone: 0.5 Ninja: 0.25