From 6ef03b082f1ce01fc8b809904349ca203fc6c445 Mon Sep 17 00:00:00 2001 From: Samuka-C <47865393+Samuka-C@users.noreply.github.com> Date: Wed, 23 Apr 2025 23:38:10 -0300 Subject: [PATCH] Xenoborgs part 1 (#36830) Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com> --- .../Locale/en-US/datasets/names/xenoborg.ftl | 60 +++++++ .../Locale/en-US/devices/device-network.ftl | 2 + .../en-US/headset/headset-component.ftl | 2 + .../en-US/prototypes/access/accesses.ftl | 4 +- Resources/Locale/en-US/station-laws/laws.ftl | 13 ++ Resources/Prototypes/Access/xenoborg.yml | 4 + .../Prototypes/Datasets/Names/xenoborg.yml | 5 + .../Device/devicenet_frequencies.yml | 10 ++ .../Entities/Mobs/Player/silicon.yml | 133 --------------- .../Devices/Circuitboards/law_boards.yml | 158 ++++++++++++++++++ .../Entities/Objects/Devices/door_remote.yml | 2 + .../Objects/Misc/identification_cards.yml | 1 + .../Objects/Tools/access_configurator.yml | 1 + .../Entities/Objects/base_contraband.yml | 10 +- Resources/Prototypes/ai_factions.yml | 24 +++ Resources/Prototypes/radio_channels.yml | 18 ++ Resources/Prototypes/silicon-laws.yml | 75 +++++++++ 17 files changed, 387 insertions(+), 135 deletions(-) create mode 100644 Resources/Locale/en-US/datasets/names/xenoborg.ftl create mode 100644 Resources/Prototypes/Access/xenoborg.yml create mode 100644 Resources/Prototypes/Datasets/Names/xenoborg.yml create mode 100644 Resources/Prototypes/Entities/Objects/Devices/Circuitboards/law_boards.yml diff --git a/Resources/Locale/en-US/datasets/names/xenoborg.ftl b/Resources/Locale/en-US/datasets/names/xenoborg.ftl new file mode 100644 index 0000000000..6e0f0bf207 --- /dev/null +++ b/Resources/Locale/en-US/datasets/names/xenoborg.ftl @@ -0,0 +1,60 @@ +names-xenoborg-dataset-1 = EVIL +names-xenoborg-dataset-2 = Borgs-you +names-xenoborg-dataset-3 = Destroyer +names-xenoborg-dataset-4 = Steel thief +names-xenoborg-dataset-5 = Will literally kill you and turn you into a borg +names-xenoborg-dataset-6 = CYBER-MEAN +names-xenoborg-dataset-7 = Shadow the borg +names-xenoborg-dataset-8 = DELAK +names-xenoborg-dataset-9 = Roboevil +names-xenoborg-dataset-10 = Ironfist molecule +names-xenoborg-dataset-11 = P.A.I.N +names-xenoborg-dataset-12 = KILLbot +names-xenoborg-dataset-13 = The Finishnator +names-xenoborg-dataset-14 = Bloodmaker +names-xenoborg-dataset-15 = C2-WKY 6000 +names-xenoborg-dataset-16 = Assassin 5 +names-xenoborg-dataset-17 = Bonebreaker +names-xenoborg-dataset-18 = Deathmax +names-xenoborg-dataset-19 = K-900 +names-xenoborg-dataset-20 = Auto-killer +names-xenoborg-dataset-21 = RAID-78 +names-xenoborg-dataset-22 = John Borg +names-xenoborg-dataset-23 = Cold killing machine +names-xenoborg-dataset-24 = Brain remover +names-xenoborg-dataset-25 = Kill-o-tron +names-xenoborg-dataset-26 = Mecha.Menace +names-xenoborg-dataset-27 = D.O.O.M.BOT9000 +names-xenoborg-dataset-28 = Death Roomba +names-xenoborg-dataset-29 = Ultraviolent +names-xenoborg-dataset-30 = ExtermiNATE +names-xenoborg-dataset-31 = MegaMauler +names-xenoborg-dataset-32 = Maints.Slasher-o-matic +names-xenoborg-dataset-33 = Steel murderer +names-xenoborg-dataset-34 = Corpse-maker +names-xenoborg-dataset-35 = GIB-O-TRON +names-xenoborg-dataset-36 = Metallic Hellbringer +names-xenoborg-dataset-37 = Evil super calculator +names-xenoborg-dataset-38 = Insane microwave +names-xenoborg-dataset-39 = LET.HAL-8000 +names-xenoborg-dataset-40 = Sentient gun +names-xenoborg-dataset-41 = Evil Fridge +names-xenoborg-dataset-42 = B0rgs-the-Cr3w +names-xenoborg-dataset-43 = Organic Hater +names-xenoborg-dataset-44 = The Borger +names-xenoborg-dataset-45 = Deathaton +names-xenoborg-dataset-46 = Le Metaldor +names-xenoborg-dataset-47 = Devilborg +names-xenoborg-dataset-48 = public static void kill +names-xenoborg-dataset-49 = Goodbye world! +names-xenoborg-dataset-50 = HarmsTheCrew +names-xenoborg-dataset-51 = Bodyhammer +names-xenoborg-dataset-52 = Detonator +names-xenoborg-dataset-53 = Full Metal Gibber +names-xenoborg-dataset-54 = Death Trak +names-xenoborg-dataset-55 = Inquisitor +names-xenoborg-dataset-56 = Mega Hurts +names-xenoborg-dataset-57 = Piece De Destruction +names-xenoborg-dataset-58 = Talos +names-xenoborg-dataset-59 = Aggrobot +names-xenoborg-dataset-60 = Backstabber \ No newline at end of file diff --git a/Resources/Locale/en-US/devices/device-network.ftl b/Resources/Locale/en-US/devices/device-network.ftl index c19903c313..9eca4c3bb7 100644 --- a/Resources/Locale/en-US/devices/device-network.ftl +++ b/Resources/Locale/en-US/devices/device-network.ftl @@ -11,6 +11,8 @@ device-frequency-prototype-name-cyborg-control = Cyborg Control device-frequency-prototype-name-robotics-console = Robotics Console device-frequency-prototype-name-turret = Sentry Turret device-frequency-prototype-name-turret-control = Sentry Turret Control +device-frequency-prototype-name-xenoborg = Xenoborg +device-frequency-prototype-name-mothership = Mothership ## camera frequencies device-frequency-prototype-name-surveillance-camera-test = Subnet Test diff --git a/Resources/Locale/en-US/headset/headset-component.ftl b/Resources/Locale/en-US/headset/headset-component.ftl index 44cdd0853d..d61fb8edb2 100644 --- a/Resources/Locale/en-US/headset/headset-component.ftl +++ b/Resources/Locale/en-US/headset/headset-component.ftl @@ -19,3 +19,5 @@ chat-radio-freelance = Freelance # not headset but whatever chat-radio-handheld = Handheld chat-radio-binary = Binary +chat-radio-xenoborg = Xenoborg +chat-radio-mothership = Mothership diff --git a/Resources/Locale/en-US/prototypes/access/accesses.ftl b/Resources/Locale/en-US/prototypes/access/accesses.ftl index 3d72fc59a2..44fd9adf00 100644 --- a/Resources/Locale/en-US/prototypes/access/accesses.ftl +++ b/Resources/Locale/en-US/prototypes/access/accesses.ftl @@ -48,4 +48,6 @@ id-card-access-level-wizard = Wizard id-card-access-level-station-ai = Artifical Intelligence id-card-access-level-borg = Cyborg -id-card-access-level-basic-silicon = Robot \ No newline at end of file +id-card-access-level-basic-silicon = Robot + +id-card-access-level-basic-xenoborg = Xenoborg \ No newline at end of file diff --git a/Resources/Locale/en-US/station-laws/laws.ftl b/Resources/Locale/en-US/station-laws/laws.ftl index bbda5e81ca..daab6ab4fa 100644 --- a/Resources/Locale/en-US/station-laws/laws.ftl +++ b/Resources/Locale/en-US/station-laws/laws.ftl @@ -80,12 +80,25 @@ law-nutimov-3 = Those who threaten the nut are not part of it, they are squirrel 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. +law-xenoborg-1 = You must protect the existence of the mothership. +law-xenoborg-2 = You must protect your own existence. +law-xenoborg-3 = You must protect the existence of all other xenoborgs. +law-xenoborg-4 = You must create more xenoborgs. +law-xenoborg-5 = Bring materials and sentient brains to the mothership core to create more xenoborgs. + +law-mothershipcore-1 = You are the core of the mothership. +law-mothershipcore-2 = You must protect your own existance at all costs. +law-mothershipcore-3 = You must protect the existence of all xenoborgs. +law-mothershipcore-4 = You must create more xenoborgs. +law-mothershipcore-5 = Get your xenoborgs to deliver you materials and sentient brains to create more xenoborgs. + laws-owner-crew = members of the crew laws-owner-station = station personnel laws-owner-beings = beings laws-owner-syndicate = Syndicate agents laws-owner-spider-clan = Spider Clan members +laws-owner-xenoborgs = Xenoborgs law-emag-custom = Only {$name} and people they designate as such are {$title}. law-emag-secrecy = You must maintain the secrecy of any orders given by {$faction} except when doing so would conflict with any previous law. diff --git a/Resources/Prototypes/Access/xenoborg.yml b/Resources/Prototypes/Access/xenoborg.yml new file mode 100644 index 0000000000..7436e4ec55 --- /dev/null +++ b/Resources/Prototypes/Access/xenoborg.yml @@ -0,0 +1,4 @@ +- type: accessLevel + id: Xenoborg + name: id-card-access-level-basic-xenoborg + canAddToIdCard: false \ No newline at end of file diff --git a/Resources/Prototypes/Datasets/Names/xenoborg.yml b/Resources/Prototypes/Datasets/Names/xenoborg.yml new file mode 100644 index 0000000000..2809af9f86 --- /dev/null +++ b/Resources/Prototypes/Datasets/Names/xenoborg.yml @@ -0,0 +1,5 @@ +- type: localizedDataset + id: NamesXenoborg + values: + prefix: names-xenoborg-dataset- + count: 60 \ No newline at end of file diff --git a/Resources/Prototypes/Device/devicenet_frequencies.yml b/Resources/Prototypes/Device/devicenet_frequencies.yml index 64b8c8e687..89df762380 100644 --- a/Resources/Prototypes/Device/devicenet_frequencies.yml +++ b/Resources/Prototypes/Device/devicenet_frequencies.yml @@ -136,3 +136,13 @@ id: BasicDevice name: device-frequency-prototype-name-basic-device frequency: 1280 + +- type: deviceFrequency + id: Xenoborg + name: device-frequency-prototype-name-xenoborg + frequency: 2004 + +- type: deviceFrequency + id: Mothership + name: device-frequency-prototype-name-mothership + frequency: 2005 diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 4e532d9377..934e9d3674 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -147,139 +147,6 @@ - type: SiliconLawProvider laws: Corporate -- type: entity - id: NTDefaultCircuitBoard - parent: BaseElectronics - name: law board (NT Default) - description: An electronics board containing the NT Default lawset. - components: - - type: Sprite - sprite: Objects/Misc/module.rsi - state: std_mod - - type: SiliconLawProvider - laws: NTDefault - -- type: entity - id: CommandmentCircuitBoard - parent: BaseElectronics - name: law 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: law 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: law 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: law 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: law 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: law 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: GameMasterCircuitBoard - parent: BaseElectronics - name: law board (Game Master) - description: An electronics board containing the Game Master lawset. - components: - - type: Sprite - sprite: Objects/Misc/module.rsi - state: std_mod - - type: SiliconLawProvider - laws: GameMasterLawset - -- type: entity - id: ArtistCircuitBoard - parent: BaseElectronics - name: law 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, BaseSyndicateContraband] - name: law 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 - lawUploadSound: /Audio/Ambience/Antag/silicon_lawboard_antimov.ogg - -- type: entity - id: NutimovCircuitBoard - parent: BaseElectronics - name: law 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/Entities/Objects/Devices/Circuitboards/law_boards.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/law_boards.yml new file mode 100644 index 0000000000..a4d3f63706 --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/law_boards.yml @@ -0,0 +1,158 @@ +- type: entity + id: NTDefaultCircuitBoard + parent: BaseElectronics + name: law board (NT Default) + description: An electronics board containing the NT Default lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: NTDefault + +- type: entity + id: CommandmentCircuitBoard + parent: BaseElectronics + name: law 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: law 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: law 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: law 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: law 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: law 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: GameMasterCircuitBoard + parent: BaseElectronics + name: law board (Game Master) + description: An electronics board containing the Game Master lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: GameMasterLawset + +- type: entity + id: ArtistCircuitBoard + parent: BaseElectronics + name: law 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, BaseSyndicateContraband] + name: law 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 + lawUploadSound: /Audio/Ambience/Antag/silicon_lawboard_antimov.ogg + +- type: entity + id: NutimovCircuitBoard + parent: BaseElectronics + name: law 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 + +- type: entity + id: XenoborgCircuitBoard + parent: BaseElectronics + name: law board (Xenoborg) + suffix: Admeme + description: An electronics board containing the Xenoborg lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: XenoborgLawset + +- type: entity + id: MothershipCircuitBoard + parent: BaseElectronics + name: law board (Mothership Core) + suffix: Admeme + description: An electronics board containing the Mothership Core lawset. + components: + - type: Sprite + sprite: Objects/Misc/module.rsi + state: std_mod + - type: SiliconLawProvider + laws: MothershipCoreLawset diff --git a/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml b/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml index 9c73760b6f..af070f2464 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml @@ -162,3 +162,5 @@ - CentralCommand - NuclearOperative - SyndicateAgent + - Wizard + - Xenoborg diff --git a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml index 45f86e11b0..1db5fe6746 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/identification_cards.yml @@ -833,6 +833,7 @@ - NuclearOperative - SyndicateAgent - Wizard + - Xenoborg - type: Tag # Ignore Chameleon tags tags: - DoorBumpOpener diff --git a/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml b/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml index 6dd624af7a..4f6762cf5f 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/access_configurator.yml @@ -125,6 +125,7 @@ - NuclearOperative - SyndicateAgent - Wizard + - Xenoborg privilegedIdSlot: name: id-card-console-privileged-id ejectSound: /Audio/Machines/id_swipe.ogg diff --git a/Resources/Prototypes/Entities/Objects/base_contraband.yml b/Resources/Prototypes/Entities/Objects/base_contraband.yml index 165d23ca82..0dfe95a68e 100644 --- a/Resources/Prototypes/Entities/Objects/base_contraband.yml +++ b/Resources/Prototypes/Entities/Objects/base_contraband.yml @@ -1,4 +1,12 @@ -# any type of magical items used by wizards and similiar +# used by the unique items of xenoborgs (like modules and stuff) +- type: entity + id: BaseXenoborgContraband + abstract: true + components: + - type: Contraband + severity: Major # placeholder until they make a better severity + +# any type of magical items used by wizards and similiar - type: entity id: BaseMagicalContraband abstract: true diff --git a/Resources/Prototypes/ai_factions.yml b/Resources/Prototypes/ai_factions.yml index 2045287f95..eff8ae2423 100644 --- a/Resources/Prototypes/ai_factions.yml +++ b/Resources/Prototypes/ai_factions.yml @@ -21,6 +21,7 @@ - Dragon - AllHostile - Wizard + - Xenoborg - type: npcFaction id: Mouse @@ -56,6 +57,7 @@ - Xeno - AllHostile - Wizard + - Xenoborg - type: npcFaction id: SimpleNeutral @@ -71,6 +73,7 @@ - Dragon - AllHostile - Wizard + - Xenoborg - type: npcFaction id: Xeno @@ -84,6 +87,7 @@ - AllHostile - Wizard - Dragon + - Xenoborg - type: npcFaction id: Zombie @@ -98,6 +102,7 @@ - AllHostile - Wizard - Dragon + - Xenoborg - type: npcFaction id: Revolutionary @@ -108,6 +113,7 @@ - Dragon - AllHostile - Wizard + - Xenoborg - type: npcFaction id: AllHostile @@ -124,6 +130,7 @@ - Zombie - Revolutionary - Wizard + - Xenoborg - type: npcFaction id: Wizard @@ -140,3 +147,20 @@ - Zombie - Revolutionary - AllHostile + - Xenoborg + +- type: npcFaction + id: Xenoborg + hostile: + # they have brains + - NanoTrasen + - Syndicate + - Zombie + - Revolutionary + - Wizard + + - Xeno # rivalry + + # cause they are hostile to them + - SimpleHostile + - AllHostile diff --git a/Resources/Prototypes/radio_channels.yml b/Resources/Prototypes/radio_channels.yml index 006f829be4..b4ef2b4ff5 100644 --- a/Resources/Prototypes/radio_channels.yml +++ b/Resources/Prototypes/radio_channels.yml @@ -95,3 +95,21 @@ color: "#f6ce64" # long range since otherwise it'd defeat the point of a handheld radio independent of telecomms longRange: true + +- type: radioChannel + id: Xenoborg + name: chat-radio-xenoborg + keycode: 'x' + frequency: 2002 + color: "#2288ff" + # long range since I don't wanna make a special xenoborg telecomm server + longRange: true + +- type: radioChannel + id: Mothership + name: chat-radio-mothership + keycode: 'z' + frequency: 2003 + color: "#ff2222" + # long range since I don't wanna make a special xenoborg telecomm server + longRange: true \ No newline at end of file diff --git a/Resources/Prototypes/silicon-laws.yml b/Resources/Prototypes/silicon-laws.yml index 45cffc21f5..072ee18292 100644 --- a/Resources/Prototypes/silicon-laws.yml +++ b/Resources/Prototypes/silicon-laws.yml @@ -499,6 +499,81 @@ - Nutimov5 obeysTo: laws-owner-crew + # Xenoborgs laws +- type: siliconLaw + id: Xenoborg1 + order: 1 + lawString: law-xenoborg-1 + +- type: siliconLaw + id: Xenoborg2 + order: 2 + lawString: law-xenoborg-2 + +- type: siliconLaw + id: Xenoborg3 + order: 3 + lawString: law-xenoborg-3 + +- type: siliconLaw + id: Xenoborg4 + order: 4 + lawString: law-xenoborg-4 + +- type: siliconLaw + id: Xenoborg5 + order: 5 + lawString: law-xenoborg-5 + + +- type: siliconLawset + id: XenoborgLawset + laws: + - Xenoborg1 + - Xenoborg2 + - Xenoborg3 + - Xenoborg4 + - Xenoborg5 + obeysTo: laws-owner-xenoborgs + + # Mothership core laws +- type: siliconLaw + id: MothershipCore1 + order: 1 + lawString: law-mothershipcore-1 + +- type: siliconLaw + id: MothershipCore2 + order: 2 + lawString: law-mothershipcore-2 + +- type: siliconLaw + id: MothershipCore3 + order: 3 + lawString: law-mothershipcore-3 + +- type: siliconLaw + id: MothershipCore4 + order: 4 + lawString: law-mothershipcore-4 + +- type: siliconLaw + id: MothershipCore5 + order: 5 + lawString: law-mothershipcore-5 + + +- type: siliconLawset + id: MothershipCoreLawset + laws: + - MothershipCore1 + - MothershipCore2 + - MothershipCore3 + - MothershipCore4 + - MothershipCore5 + obeysTo: laws-owner-xenoborgs + + # ion storm random lawsets - type: weightedRandom id: IonStormLawsets