From 02b5592d6975858bb0e117a855b2b484859b6089 Mon Sep 17 00:00:00 2001
From: Samuka-C <47865393+Samuka-C@users.noreply.github.com>
Date: Mon, 28 Apr 2025 19:10:35 -0300
Subject: [PATCH] Xenoborgs part 2 (#36844)
* add lawsets for the xenoborgs and mothership core
* add xenoborg names
* add xenoborg radio
* add xenoborg device frequency
* add xenoborg access
* add xenoborg contraband
* Update Resources/Locale/en-US/station-laws/laws.ftl
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
* add xenoborg access to the universal Id card and universal access config
* remove 6th law of xenoborg and mothership lawset (got jointed into the 5th law)
* added xenoborg and mothership law boards
* add more names
* add Xenoborg faction
* moved all lawboards into a separate yml file
* removed custom xenoborg contraband severity
* add Xenoborg and Mothership components
* add xenoborg laser guns
* add self recharging fire extinguisher
* add mothership pinpointer
* add material bag
* add infinite jetpack
* add a only blue energy dagger
* add xenoborg jammer
* add refueling welding tool
* add nocturine hypo
* add nuclear small power cell
* add cloaking device
* add xenoborg door remote
* add custom sprites for xenoborg modules
* add custom sprites for xenoborg module actions
* removed Xenoborg Comp until is actually needed
* add xenoborg module tags
* spelling
* add xenoborg module bases
* organazied xenoborg modules sprites better
* add generic xenoborg modules
* add heavy xenoborg modules
* add engi xenoborg modules
* small fix to meta file in actions_borg.rsi
* renamed mothership comp to XenoborgMothership
* fixed the base for the xenoborg engi modules
* add scout xenoborg modules
* add stealth xenoborg modules
* localization for names and descriptions of the xenoborg modules
* fixed issues related to the XenoborgMothership component
* revert localization (it wasn't working for some reason)
* fixes
* fixed issue with container slot in the cloaking device
* Update description of small capacity nuclear power cell
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* Fix indentation in material bag
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* Spelling
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* fix parameter order in some prototypes
* rename proto id InfiniteJetpack to JetpackXenoborg
* localize pinpointer targets
* Revert "localize pinpointer targets"
doesn't work
* added lines in the end of files (and in the middle of one)
* reorder paramenter in some entities
* fixed some descriptions
* minor fixes
---------
Co-authored-by: ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
---
.../Xenoborgs/Components/XenoborgComponent.cs | 7 +
.../Entities/Objects/Devices/door_remote.yml | 16 +
.../Entities/Objects/Devices/pinpointer.yml | 21 ++
.../Objects/Misc/fire_extinguisher.yml | 14 +
.../Entities/Objects/Power/powercells.yml | 12 +
.../Specific/Robotics/borg_modules.yml | 357 ++++++++++++++++++
.../Specific/Xenoborg/cloaking_device.yml | 31 ++
.../Specific/Xenoborg/material_bag.yml | 29 ++
.../Specific/Xenoborg/nocturine_hypo.yml | 19 +
.../Entities/Objects/Tools/jammer.yml | 13 +
.../Entities/Objects/Tools/jetpacks.yml | 19 +
.../Entities/Objects/Tools/welders.yml | 18 +
.../Weapons/Guns/Battery/battery_guns.yml | 13 +
.../Objects/Weapons/Melee/e_sword.yml | 9 +
Resources/Prototypes/tags.yml | 15 +
.../Actions/actions_borg.rsi/meta.json | 41 +-
.../xenoborg-access-breaker-module.png | Bin 0 -> 283 bytes
.../xenoborg-basic-module.png | Bin 0 -> 247 bytes
.../xenoborg-extinguisher-module.png | Bin 0 -> 263 bytes
.../actions_borg.rsi/xenoborg-eye-module.png | Bin 0 -> 291 bytes
.../actions_borg.rsi/xenoborg-hypo-module.png | Bin 0 -> 265 bytes
.../xenoborg-jammer-module.png | Bin 0 -> 278 bytes
.../xenoborg-laser-module.png | Bin 0 -> 278 bytes
.../xenoborg-laser2-module.png | Bin 0 -> 302 bytes
.../xenoborg-projector-module.png | Bin 0 -> 259 bytes
.../xenoborg-space-movement-module.png | Bin 0 -> 295 bytes
.../xenoborg-sword-module.png | Bin 0 -> 261 bytes
.../xenoborg-sword2-module.png | Bin 0 -> 280 bytes
.../actions_borg.rsi/xenoborg-tool-module.png | Bin 0 -> 330 bytes
.../icon-xenoborg-access-breaker.png | Bin 0 -> 182 bytes
.../borgmodule.rsi/icon-xenoborg-basic.png | Bin 0 -> 185 bytes
.../borgmodule.rsi/icon-xenoborg-cloak.png | Bin 0 -> 184 bytes
.../icon-xenoborg-fire-extinguisher.png | Bin 0 -> 187 bytes
.../borgmodule.rsi/icon-xenoborg-hypo.png | Bin 0 -> 186 bytes
.../borgmodule.rsi/icon-xenoborg-jammer.png | Bin 0 -> 177 bytes
.../borgmodule.rsi/icon-xenoborg-laser.png | Bin 0 -> 185 bytes
.../borgmodule.rsi/icon-xenoborg-laser2.png | Bin 0 -> 184 bytes
.../icon-xenoborg-projector.png | Bin 0 -> 192 bytes
.../icon-xenoborg-space-movement.png | Bin 0 -> 181 bytes
.../borgmodule.rsi/icon-xenoborg-sword.png | Bin 0 -> 194 bytes
.../borgmodule.rsi/icon-xenoborg-sword2.png | Bin 0 -> 193 bytes
.../borgmodule.rsi/icon-xenoborg-tools.png | Bin 0 -> 172 bytes
.../Robotics/borgmodule.rsi/meta.json | 56 ++-
.../Robotics/borgmodule.rsi/xenoborg_engi.png | Bin 0 -> 594 bytes
.../borgmodule.rsi/xenoborg_generic.png | Bin 0 -> 562 bytes
.../borgmodule.rsi/xenoborg_heavy.png | Bin 0 -> 594 bytes
.../borgmodule.rsi/xenoborg_scout.png | Bin 0 -> 591 bytes
.../borgmodule.rsi/xenoborg_stealth.png | Bin 0 -> 592 bytes
48 files changed, 688 insertions(+), 2 deletions(-)
create mode 100644 Content.Shared/Xenoborgs/Components/XenoborgComponent.cs
create mode 100644 Resources/Prototypes/Entities/Objects/Specific/Xenoborg/cloaking_device.yml
create mode 100644 Resources/Prototypes/Entities/Objects/Specific/Xenoborg/material_bag.yml
create mode 100644 Resources/Prototypes/Entities/Objects/Specific/Xenoborg/nocturine_hypo.yml
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-access-breaker-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-basic-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-extinguisher-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-eye-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-hypo-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-jammer-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser2-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-projector-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-space-movement-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword2-module.png
create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-tool-module.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-access-breaker.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-basic.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-fire-extinguisher.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-hypo.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-jammer.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser2.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-projector.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-space-movement.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword2.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-tools.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_engi.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_generic.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_heavy.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_scout.png
create mode 100644 Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_stealth.png
diff --git a/Content.Shared/Xenoborgs/Components/XenoborgComponent.cs b/Content.Shared/Xenoborgs/Components/XenoborgComponent.cs
new file mode 100644
index 0000000000..aee8298bc2
--- /dev/null
+++ b/Content.Shared/Xenoborgs/Components/XenoborgComponent.cs
@@ -0,0 +1,7 @@
+namespace Content.Shared.Xenoborgs.Components;
+
+///
+/// This component for now is being used for the pinpointer, but it will recieve more stuff in the future.
+///
+[RegisterComponent]
+public sealed partial class XenoborgMothershipComponent : Component;
diff --git a/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml b/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml
index af070f2464..45689958cf 100644
--- a/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml
+++ b/Resources/Prototypes/Entities/Objects/Devices/door_remote.yml
@@ -164,3 +164,19 @@
- SyndicateAgent
- Wizard
- Xenoborg
+
+- type: entity
+ parent: [ DoorRemoteDefault, BaseXenoborgContraband ]
+ id: DoorRemoteXenoborg
+ name: xenoborg door remote
+ components:
+ - type: Sprite
+ layers:
+ - state: door_remotebase
+ - state: door_remotelightscolour
+ color: "#2eba22"
+ - state: door_remotescreencolour
+ color: "#22871a"
+ - type: Access
+ tags:
+ - Xenoborg
diff --git a/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml b/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml
index 5562140891..133e610440 100644
--- a/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml
+++ b/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml
@@ -108,3 +108,24 @@
- type: Pinpointer
component: ResearchServer
targetName: the station
+
+- type: entity
+ parent: [ PinpointerBase, BaseXenoborgContraband ]
+ id: PinpointerMothership
+ name: core pinpointer
+ suffix: Mothership
+ description: A handheld tracking device that leads to the direction of the mothership core.
+ components:
+ - type: Sprite
+ layers:
+ - state: pinpointer-station
+ map: ["enum.PinpointerLayers.Base"]
+ - state: pinonnull
+ map: ["enum.PinpointerLayers.Screen"]
+ shader: unshaded
+ visible: false
+ - type: Icon
+ state: pinpointer-station
+ - type: Pinpointer
+ component: XenoborgMothership
+ targetName: the mothership
diff --git a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml
index 696c312871..495443911f 100644
--- a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml
+++ b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml
@@ -139,3 +139,17 @@
materialComposition:
Steel: 50
Glass: 40
+
+# used for a engi xenoborg module
+- type: entity
+ parent: [ FireExtinguisher, BaseXenoborgContraband ]
+ id: SelfRechargingFireExtinguisher
+ name: self-recharging fire extinguisher
+ description: It extinguishes fires. it slowly refills with water.
+ components:
+ - type: SolutionRegeneration
+ solution: spray
+ generated:
+ reagents:
+ - ReagentId: Water
+ Quantity: 1
diff --git a/Resources/Prototypes/Entities/Objects/Power/powercells.yml b/Resources/Prototypes/Entities/Objects/Power/powercells.yml
index 90f987fdc6..8ca2ba7b11 100644
--- a/Resources/Prototypes/Entities/Objects/Power/powercells.yml
+++ b/Resources/Prototypes/Entities/Objects/Power/powercells.yml
@@ -94,6 +94,18 @@
maxCharge: 360
startingCharge: 0
+- type: entity
+ parent: PowerCellSmall
+ id: PowerCellSmallNuclear
+ name: small-capacity nuclear power cell
+ description: A self rechargeable power cell, designed for fast recharge rate at the expense of capacity.
+ components:
+ - type: BatterySelfRecharger
+ autoRecharge: true
+ autoRechargeRate: 36 # 10 seconds to recharge
+ autoRechargePause: true
+ autoRechargePauseTime: 30
+
- type: entity
name: medium-capacity power cell
description: A rechargeable power cell. This is the popular and reliable version.
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml
index 73d90a856c..3fb89149c9 100644
--- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml
+++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml
@@ -273,6 +273,141 @@
- state: base-stripes-inhand-right
color: "#7B0F12"
+- type: entity
+ abstract: true
+ parent: BaseBorgModule
+ id: BaseXenoborgModuleGeneric
+ components:
+ - type: Tag
+ tags:
+ - XenoborgModuleGeneric
+ - type: Item
+ inhandVisuals:
+ left:
+ - state: base-icon-inhand-left
+ color: "#6E9EE0"
+ - state: base-module-inhand-left
+ color: "#337dd6"
+ - state: base-part-inhand-left
+ - state: base-stripes-inhand-left
+ color: "#337dd6"
+ right:
+ - state: base-icon-inhand-right
+ color: "#6E9EE0"
+ - state: base-module-inhand-right
+ color: "#337dd6"
+ - state: base-part-inhand-right
+ - state: base-stripes-inhand-right
+ color: "#337dd6"
+
+- type: entity
+ abstract: true
+ parent: BaseBorgModule
+ id: BaseXenoborgModuleEngi
+ components:
+ - type: Tag
+ tags:
+ - XenoborgModuleEngi
+ - type: Item
+ inhandVisuals:
+ left:
+ - state: base-icon-inhand-left
+ color: "#6E9EE0"
+ - state: base-module-inhand-left
+ color: "#337dd6"
+ - state: base-part-inhand-left
+ - state: base-stripes-inhand-left
+ color: "#EDB45B"
+ right:
+ - state: base-icon-inhand-right
+ color: "#6E9EE0"
+ - state: base-module-inhand-right
+ color: "#337dd6"
+ - state: base-part-inhand-right
+ - state: base-stripes-inhand-right
+ color: "#EDB45B"
+
+- type: entity
+ parent: BaseBorgModule
+ id: BaseXenoborgModuleHeavy
+ abstract: true
+ components:
+ - type: Tag
+ tags:
+ - XenoborgModuleHeavy
+ - type: Item
+ inhandVisuals:
+ left:
+ - state: base-icon-inhand-left
+ color: "#6E9EE0"
+ - state: base-module-inhand-left
+ color: "#337dd6"
+ - state: base-part-inhand-left
+ - state: base-stripes-inhand-left
+ color: "#962023"
+ right:
+ - state: base-icon-inhand-right
+ color: "#6E9EE0"
+ - state: base-module-inhand-right
+ color: "#337dd6"
+ - state: base-part-inhand-right
+ - state: base-stripes-inhand-right
+ color: "#962023"
+
+- type: entity
+ parent: BaseBorgModule
+ id: BaseXenoborgModuleScout
+ abstract: true
+ components:
+ - type: Tag
+ tags:
+ - XenoborgModuleScout
+ - type: Item
+ inhandVisuals:
+ left:
+ - state: base-icon-inhand-left
+ color: "#6E9EE0"
+ - state: base-module-inhand-left
+ color: "#337dd6"
+ - state: base-part-inhand-left
+ - state: base-stripes-inhand-left
+ color: "#282828"
+ right:
+ - state: base-icon-inhand-right
+ color: "#6E9EE0"
+ - state: base-module-inhand-right
+ color: "#337dd6"
+ - state: base-part-inhand-right
+ - state: base-stripes-inhand-right
+ color: "#282828"
+
+- type: entity
+ parent: BaseBorgModule
+ id: BaseXenoborgModuleStealth
+ abstract: true
+ components:
+ - type: Tag
+ tags:
+ - XenoborgModuleStealth
+ - type: Item
+ inhandVisuals:
+ left:
+ - state: base-icon-inhand-left
+ color: "#6E9EE0"
+ - state: base-module-inhand-left
+ color: "#337dd6"
+ - state: base-part-inhand-left
+ - state: base-stripes-inhand-left
+ color: "#FF00CC"
+ right:
+ - state: base-icon-inhand-right
+ color: "#6E9EE0"
+ - state: base-module-inhand-right
+ color: "#337dd6"
+ - state: base-part-inhand-right
+ - state: base-stripes-inhand-right
+ color: "#FF00CC"
+
# generic modules
- type: entity
id: BorgModuleCable
@@ -882,3 +1017,225 @@
- state: base-part-inhand-right
- state: base-stripes-inhand-right
color: "#7B0F12"
+
+# xenoborg modules
+- type: entity
+ parent: [ BaseXenoborgModuleGeneric, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleBasic
+ name: basic xenoborg module
+ description: Essential items for any xenoborg.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_generic
+ - state: icon-xenoborg-basic
+ - type: ItemBorgModule
+ items:
+ - MaterialBag
+ - PinpointerMothership
+ - HandheldGPSBasic
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-basic-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleGeneric, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleTool
+ name: tool xenoborg module
+ description: Simple tools for most xenoborgs.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_generic
+ - state: icon-xenoborg-tools
+ - type: ItemBorgModule
+ items:
+ - Crowbar
+ - Wrench
+ - Screwdriver
+ - Wirecutter
+ - Multitool
+ - RefuelingWelder
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-tool-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleEngi, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleAccessBreaker
+ name: access breaker xenoborg module
+ description: Module with a access breaker.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_engi
+ - state: icon-xenoborg-access-breaker
+ - type: ItemBorgModule
+ items:
+ - AccessBreaker
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-access-breaker-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleEngi, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleFireExtinguisher
+ name: fire extinguisher xenoborg module
+ description: Module with a self-refueling fire extinguisher.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_engi
+ - state: icon-xenoborg-fire-extinguisher
+ - type: ItemBorgModule
+ items:
+ - SelfRechargingFireExtinguisher
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-extinguisher-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleHeavy, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleJammer
+ name: jammer xenoborg module
+ description: Module with a communication jammer.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_heavy
+ - state: icon-xenoborg-jammer
+ - type: ItemBorgModule
+ items:
+ - XenoborgRadioJammer
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-jammer-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleHeavy, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleLaser
+ name: laser xenoborg module
+ description: Module with a laser gun.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_heavy
+ - state: icon-xenoborg-laser
+ - type: ItemBorgModule
+ items:
+ - XenoborgLaserGun
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-laser-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleHeavy, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleHeavyLaser
+ name: heavy laser xenoborg module
+ description: Module with a heavy laser gun.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_heavy
+ - state: icon-xenoborg-laser2
+ - type: ItemBorgModule
+ items:
+ - XenoborgHeavyLaserGun
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-laser2-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleScout, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleSpaceMovement
+ name: space movement xenoborg module
+ description: Module that helps a xenoborg move better in space.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_scout
+ - state: icon-xenoborg-space-movement
+ - type: ItemBorgModule
+ items:
+ - HandheldGPSBasic
+ - HandHeldMassScannerBorg
+ - HandheldStationMapUnpowered
+ - WeaponGrapplingGun
+ - JetpackXenoborg
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-space-movement-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleScout, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleSword
+ name: sword xenoborg module
+ description: Module with an energy dagger.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_scout
+ - state: icon-xenoborg-sword
+ - type: ItemBorgModule
+ items:
+ - EnergyDaggerLoudBlue
+ - JetpackXenoborg
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-sword-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleScout, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleFastSword
+ name: fast sword xenoborg module
+ description: Module with a crusher dagger.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_scout
+ - state: icon-xenoborg-sword2
+ - type: ItemBorgModule
+ items:
+ - WeaponCrusherDagger
+ - JetpackXenoborg
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-sword2-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleStealth, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleHypo
+ name: nocturine hypo xenoborg module
+ description: Module with a self-refilling nocturine hypo.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_stealth
+ - state: icon-xenoborg-hypo
+ - type: ItemBorgModule
+ items:
+ - NocturineHypo
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-hypo-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleStealth, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleChameleonProjector
+ name: chameleon projector xenoborg module
+ description: Module with a chameleon projector.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_stealth
+ - state: icon-xenoborg-projector
+ - type: ItemBorgModule
+ items:
+ - ChameleonProjector
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-projector-module }
+
+- type: entity
+ parent: [ BaseXenoborgModuleStealth, BaseProviderBorgModule, BaseXenoborgContraband ]
+ id: XenoborgModuleCloakDevice
+ name: cloaking device xenoborg module
+ description: Module with a device that allows xenoborgs to become invisible for some time.
+ components:
+ - type: Sprite
+ layers:
+ - state: xenoborg_stealth
+ - state: icon-xenoborg-cloak
+ - type: ItemBorgModule
+ items:
+ - CloakingDevice
+ - type: BorgModuleIcon
+ icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-eye-module }
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/cloaking_device.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/cloaking_device.yml
new file mode 100644
index 0000000000..6550e21923
--- /dev/null
+++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/cloaking_device.yml
@@ -0,0 +1,31 @@
+- type: entity
+ parent: [ BaseItem, BaseXenoborgContraband ]
+ id: CloakingDevice
+ name: cloaking device
+ description: A device that allows xenoborgs to go invisible.
+ components:
+ - type: Sprite
+ sprite: Objects/Specific/Research/anomalyscanner.rsi
+ state: icon
+ - type: ItemToggle
+ - type: ComponentToggler
+ parent: true
+ components:
+ - type: Stealth
+ minVisibility: 0.1
+ lastVisibility: 0.1
+ - type: PowerCellDraw
+ drawRate: 3.6 # 100 seconds
+ - type: ToggleCellDraw
+ - type: PowerCellSlot
+ cellSlotId: cell_slot
+ - type: ContainerContainer
+ containers:
+ cell_slot: !type:ContainerSlot
+ - type: ItemSlots
+ slots:
+ cell_slot:
+ name: power-cell-slot-component-slot-name-default
+ startingItem: PowerCellSmallNuclear
+ disableEject: true
+ swap: false
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/material_bag.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/material_bag.yml
new file mode 100644
index 0000000000..79042fb561
--- /dev/null
+++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/material_bag.yml
@@ -0,0 +1,29 @@
+- type: entity
+ parent: [ BaseStorageItem, BaseXenoborgContraband ]
+ id: MaterialBag
+ name: material bag
+ description: A robust bag for xenoborgs to carry large amounts of materials.
+ components:
+ - type: MagnetPickup
+ - type: Sprite
+ sprite: Objects/Specific/Mining/ore_bag.rsi
+ state: icon
+ - type: Clothing
+ sprite: Objects/Specific/Mining/ore_bag.rsi
+ quickEquip: false
+ slots:
+ - belt
+ - type: Item
+ size: Ginormous
+ - type: Storage
+ maxItemSize: Normal
+ grid:
+ - 0,0,9,3
+ quickInsert: true
+ areaInsert: true
+ whitelist:
+ tags:
+ - Sheet
+ - RawMaterial
+ - Ingot
+ - type: Dumpable
diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/nocturine_hypo.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/nocturine_hypo.yml
new file mode 100644
index 0000000000..120e7c9a0f
--- /dev/null
+++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/nocturine_hypo.yml
@@ -0,0 +1,19 @@
+- type: entity
+ parent: [ BorgHypo, BaseXenoborgContraband ]
+ id: NocturineHypo
+ name: nocturine hypo
+ description: A self-refilling injector for rapid administration of nocturine to victms.
+ components:
+ - type: SolutionContainerManager
+ solutions:
+ hypospray:
+ maxVol: 12
+ reagents:
+ - ReagentId: Nocturine
+ Quantity: 12
+ - type: SolutionRegeneration
+ solution: hypospray
+ generated:
+ reagents:
+ - ReagentId: Nocturine
+ Quantity: 0.2
diff --git a/Resources/Prototypes/Entities/Objects/Tools/jammer.yml b/Resources/Prototypes/Entities/Objects/Tools/jammer.yml
index bcb6a435d0..0066c5826c 100644
--- a/Resources/Prototypes/Entities/Objects/Tools/jammer.yml
+++ b/Resources/Prototypes/Entities/Objects/Tools/jammer.yml
@@ -48,3 +48,16 @@
Low: {state: jammer_low_charge}
Medium: {state: jammer_medium_charge}
High: {state: jammer_high_charge}
+
+- type: entity
+ parent: [RadioJammer, BaseXenoborgContraband]
+ id: XenoborgRadioJammer
+ name: xenoborg radio jammer
+ components:
+ - type: ItemSlots
+ slots:
+ cell_slot:
+ name: power-cell-slot-component-slot-name-default
+ startingItem: PowerCellMicroreactor
+ disableEject: true
+ swap: false
diff --git a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml
index e77394791e..abbf68a27e 100644
--- a/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml
+++ b/Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml
@@ -284,3 +284,22 @@
moles:
- 1.025689525 # oxygen
- 1.025689525 # nitrogen
+
+# Infinite jetpack
+- type: entity
+ parent: [ JetpackBlack, BaseXenoborgContraband ]
+ id: JetpackXenoborg
+ name: xenoborg jetpack
+ suffix: Infinite
+ components:
+ - type: GasTank
+ outputPressure: 21.3
+ air:
+ volume: 5
+ temperature: 293.15
+ - type: Jetpack
+ moleUsage: 0
+ - type: MovementSpeedModifier
+ weightlessAcceleration: 1.3
+ weightlessFriction: 0.3
+ weightlessModifier: 1
diff --git a/Resources/Prototypes/Entities/Objects/Tools/welders.yml b/Resources/Prototypes/Entities/Objects/Tools/welders.yml
index 43c1019dd6..686bc6cd2d 100644
--- a/Resources/Prototypes/Entities/Objects/Tools/welders.yml
+++ b/Resources/Prototypes/Entities/Objects/Tools/welders.yml
@@ -200,3 +200,21 @@
enabled: false
radius: 1.0
color: orange
+
+- type: entity
+ parent: [ Welder, BaseXenoborgContraband ]
+ id: RefuelingWelder
+ name: refuling welding tool
+ description: "An slow welder that can refuel itself over time."
+ components:
+ - type: Tool
+ speedModifier: 0.5
+ - type: Welder
+ fuelConsumption: 2
+ fuelLitCost: 1
+ - type: SolutionRegeneration
+ solution: Welder
+ generated:
+ reagents:
+ - ReagentId: WeldingFuel
+ Quantity: 0.1
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
index 4304e83602..47f8e8496c 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
@@ -843,3 +843,16 @@
startingCharge: 1000
- type: StaticPrice
price: 100
+
+- type: entity
+ name: xenoborg laser gun
+ parent: [ WeaponAdvancedLaser, BaseXenoborgContraband ]
+ id: XenoborgLaserGun
+
+- type: entity
+ name: xenoborg heavy laser gun
+ parent: [ WeaponAdvancedLaser, BaseXenoborgContraband ]
+ id: XenoborgHeavyLaserGun
+ components:
+ - type: HitscanBatteryAmmoProvider
+ proto: RedHeavyLaser
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
index 4be577e0fe..dab155f02e 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
@@ -392,3 +392,12 @@
components: # could add energy-draining like the L6C
- type: Wieldable
freeHandsRequired: 0 # because borg has no off-hand to wield with. Without this, it will be unable to activate the esword
+
+- type: entity
+ parent: [ EnergyDaggerLoud, BaseXenoborgContraband ]
+ id: EnergyDaggerLoudBlue
+ suffix: blue
+ components:
+ - type: EnergySword
+ colorOptions:
+ - "#2288ff" # can only be blue
diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml
index a73c8fe54a..7a778953c5 100644
--- a/Resources/Prototypes/tags.yml
+++ b/Resources/Prototypes/tags.yml
@@ -1427,4 +1427,19 @@
- type: Tag
id: WriteIgnoreStamps
+- type: Tag
+ id: XenoborgModuleEngi
+
+- type: Tag
+ id: XenoborgModuleGeneric
+
+- type: Tag
+ id: XenoborgModuleHeavy
+
+- type: Tag
+ id: XenoborgModuleScout
+
+- type: Tag
+ id: XenoborgModuleStealth
+
# ALPHABETICAL
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json b/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json
index 884e922ac8..fde2ab63a6 100644
--- a/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json
+++ b/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json
@@ -1,7 +1,7 @@
{
"version": 1,
"license": "CC-BY-SA-3.0",
- "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/cdbcb1e858b11f083994a7a269ed67ef5b452ce9, Module actions by Scarky0. chem, adv-chem, and adv-mining by mubururu_",
+ "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/cdbcb1e858b11f083994a7a269ed67ef5b452ce9, Module actions by Scarky0. chem, adv-chem, and adv-mining by mubururu_, xenoborg actions by Samuka-C (github)",
"size": {
"x": 32,
"y": 32
@@ -112,6 +112,45 @@
{
"name":"syndicate-martyr-module"
},
+ {
+ "name":"xenoborg-access-breaker-module"
+ },
+ {
+ "name":"xenoborg-basic-module"
+ },
+ {
+ "name":"xenoborg-extinguisher-module"
+ },
+ {
+ "name":"xenoborg-eye-module"
+ },
+ {
+ "name":"xenoborg-hypo-module"
+ },
+ {
+ "name":"xenoborg-jammer-module"
+ },
+ {
+ "name":"xenoborg-laser-module"
+ },
+ {
+ "name":"xenoborg-laser2-module"
+ },
+ {
+ "name":"xenoborg-projector-module"
+ },
+ {
+ "name":"xenoborg-space-movement-module"
+ },
+ {
+ "name":"xenoborg-sword-module"
+ },
+ {
+ "name":"xenoborg-sword2-module"
+ },
+ {
+ "name":"xenoborg-tool-module"
+ },
{
"name": "select-type"
}
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-access-breaker-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-access-breaker-module.png
new file mode 100644
index 0000000000000000000000000000000000000000..f3d5d40120de7ea5773197a8982c01eaadf4fa67
GIT binary patch
literal 283
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|qyv0HT!Azg
zh%+!~3knv*#r@aR{I9HhMqIpMlVIl#pd4pOkY6yve<(0#ntcT*IMdU`F~p*G?PN#3
z!wNhs&Xd0W`meuEP=N2N(~>fk9SOYLGamn7-=4BY+;RPm)0!HK9|%p+Z~nTFC(m$Z
zcC-1E#>saaqzz0N+S)D(F(0~MEHN?dfX)dX^+OF2ZL4`oxvxkiW=L*0@!{BpGX;gk
zU4LyYe*0c3Zr&{YqLQs%t~jw{`5LyVisv}4G~F?f%G!42^}2htbKYM6J&~VNhkFu7
RTx>STSDvnZF6*2UngHZtY9{~y
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-basic-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-basic-module.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac7bae54fef2a1d52652447344f464b4f0feaca3
GIT binary patch
literal 247
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|qyv0HT!Azg
zh%+!~3knv*#r@aR{I9HhMqIpMlVIl#pd4pOkY6yve<(0#ntcT*SnBEG7-G@8cXA|O
zg8>KYQL&2e_8X6RIEg!LIrcI=US0F_wpvHtjn!N`gr|OE*yOPD!6oOlj58UZd-Cjk
zypU11nekDgYktFy=Sp1{8O#JEVji$F8!=Dg)vtf3byB!FZEr)BfrQufcPCwz2HPez
f<`iDK8vTUfi4BkFXZEfMAQyYO`njxgN@xNAHYQdY
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-extinguisher-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-extinguisher-module.png
new file mode 100644
index 0000000000000000000000000000000000000000..eea9820bc0d4826b31633c1f9d906b1281e13681
GIT binary patch
literal 263
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|qyv0HT!Azg
zh%+!~3knv*#r@aR{I9HhMqIpMlVIl#pd4pOkY6yve<(0#ntcT**y`!x7-G?TcCsVi
zVFex*=Q(%3{*RBDEVfWXV%4_xb7wzg9AV7At#1)@YoE%Vp2crCmvUZPD0!jHNK0Ub
zn8TNcaSE(oj;wW
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-eye-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-eye-module.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0a931253108e4e208a02e66fa7f133b0c157a62
GIT binary patch
literal 291
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|qyv0HT!Azg
zh%+!~3knv*#r@aR{I9HhMqIpMlVIl#pd4pOkY6yve<(0#ntcT*xX{zZF~p*G>*PSb
z!wNjkr_(y#*FSpbU{cBwdMm76A!PP-fd>}<6mvxDZf2+j$VpG-urb#%7jSzU&2%Bg
z!EeSkccZ47;;XkN2wYe*Yg%=JD$jg|qmmuMjJ@v`e`8^PtTchwZm#<>Q}ZqHaQ
z>pxRbzA)v&3_%&kt&NO7-ZTr$alX{P;!*6us#yXqrytu~|820X@^$a8X$4;k^yc5|
ZuVS2L$2BFoT6r(Xcb=|(F6*2UngFe2ZBzgN
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-hypo-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-hypo-module.png
new file mode 100644
index 0000000000000000000000000000000000000000..437df1419ec04386a37116a02abafb934a7bd2fa
GIT binary patch
literal 265
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|qyv0HT!Azg
zh%+!~3knv*#r@aR{I9HhMqIpMlVIl#pd4pOkY6yve<(0#ntcT**zW1#7-G@8ck)5L
z!v-AAv#;Iw`CnhIS8C-|CK;=c96tb1W<<2Lpz>&AU}Az`njxgN@xNAU#nxZ
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-jammer-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-jammer-module.png
new file mode 100644
index 0000000000000000000000000000000000000000..7bafb93b6abbeb50f2cbf10b339a05bc70b66256
GIT binary patch
literal 278
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|qyv0HT!Azg
zh%+!~3knv*#r@aR{I9HhMqIpMlVIl#pd4pOkY6yve<(0#ntcT*IK|V&F~p+x?Bs)d
zEebp?u3L=%|37NIcG8ZBiX=oR=mzNO>GR%y-PZQ7Eaw;RS~Y|Mv*VEiX6@?PffC;rWBvHvJNUQ9^M?4B8z|
z1bo)=c~M%#KhgPY{wD^XszSz|-I8sY=AlpG_pE3s_+FT||DJO#L(x{Qn6xh?H$Wcp
MboFyt=akR{0Q8?}mjD0&
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser-module.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac574e0c62c5d92fcdf3342ba61eea561fe416dc
GIT binary patch
literal 278
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|qyv0HT!Azg
zh%+!~3knv*#r@aR{I9HhMqIpMlVIl#pd4pOkY6yve<(0#ntcT*IK|V&F~p+x?Bs(&
zEe0IUYqzTW|9_M_IWS7x_Kh5maU92bkvE(EI7e%ppYC#Z<5bhYLTBHQd#(!aIdggg
z#hF}Pd_Ndm_PAi9c&TcIlz|Y3gN=`i3PYO3mERmJ1--sme@nO{8tb-Bls)=VEX;v(
zj{f8;f6gU-b?n(~z_8h~jOlpj85Y}zb+e!I-TUEgYdh!o^6!i7GVgQUdGB_99mqqT
Lu6{1-oD!MRX<3?8?o5F=N%c_D-*3f++&NLRp9Ib)P(9pgO^`
zncHdl2j;{N3#Luqp3w6}Ye9E{hp$ub<~SS2@10YUI73;Ym>8ExEqAS8O5ltamG5Kd
zGGF=iQdNWKi&bt$U3YcYG@LA4qWa|BQ!CrOW{c*wGVZG5W7#JBlC!F54aaZO=ITSe
l&)z>QJ#_ha<)5nhSIh!B+*>#49nuGR)YH|^Wt~$(697~=bkhI;
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-projector-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-projector-module.png
new file mode 100644
index 0000000000000000000000000000000000000000..8c4b5eae6d2744ffcba8e1c8b82ffba9441a25da
GIT binary patch
literal 259
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|qyv0HT!Azg
zh%+!~3knv*#r@aR{I9HhMqIpMlVIl#pd4pOkY6yve<(0#ntcT**y!ov7-G?THQ14_
z!GNPUO5=b1#@UZd1UEIyZAn(2#rI;yGV=xz_kAh_Y^UZdkZDnM{JDtffuJ_S5_YB5
zSq7gKm|DFo7d
ztqMHNtg+j_*FOqAAj@pjd-0zFuXg;7p46XC(HiTQJ5(omTLyeOAf@q@rDJ``b>W_<
z>g$4MLe6elwR_@$$aC_CX9g@+YF*63K7>G4JRW(pr_*B%fXUExj^Y`ksOyuADL1p>;
zX9sVq)TdvGakwq=$=bQzpz-gy3s(zyKiWw#Z@PK(Vc34#IoFqePp)AMxWWBo)!Cna
PK!M=t>gTe~DWM4fM`wb5
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-access-breaker.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-access-breaker.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e3f58f69b9f6d05a39b758ecb65e0bd7d667999
GIT binary patch
literal 182
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}1)eUBArY;~
z2@Bn&34Qe0O0zFyHYmFHvm`S(UTE6dbw+NcGY9?+S;|F<4j@7X|;
zLWWICclc^ZBzT48;YNF~GGuGY
V^Sx}GwH0VLgQu&X%Q~loCIF98IBEa@
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-basic.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-basic.png
new file mode 100644
index 0000000000000000000000000000000000000000..59cee451e49fa26265bc2e31abf7a957f2e5c384
GIT binary patch
literal 185
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL|>AJY5_^B3hFZ
zBv=6E&u=k
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak.png
new file mode 100644
index 0000000000000000000000000000000000000000..1db95de9ee7cf5c5c38e2675b185ae09436d9158
GIT binary patch
literal 184
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}MV>B>ArY;~
z2@Bn&34Qe0O0zFyHYmFHvm`S(UTE6dbw+NcGYa(HSPpSfQBn&34Qe0O0zFyHYmFHvm`S(UTE6dbw+NcGYCTy~mTucIw8ievr{_
f2Q?&Ek1#Mi@>k_M+#zlPbO3{=tDnm{r-UW|VrxLy
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-hypo.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-hypo.png
new file mode 100644
index 0000000000000000000000000000000000000000..c4a4d5a182ce976c64af028cf1e38545f45d194e
GIT binary patch
literal 186
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}C7v#hArY;~
z2@Bn&34Qe0O0zFyHYmFHvm`S(UTE6dbw+K2_29?+S;|F>R@&c)D~
zjI$SaF#0^nXo{ToqU)u^E(?YBn&34Qe0O0zFyHYmFHvm`S(UTE6dbw+K2_2a(HSPpSfQv?rd{W
z^m3p{A%ofJ4VE3t_#C!Ph?#$wLD+JZQ0!FAZ8MbE1B9NuNH|b@Py=Q#14E>>wAOj|
RsB)mS44$rjF6*2UngDjLH`xFH
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser.png
new file mode 100644
index 0000000000000000000000000000000000000000..a273f5759704d6ce7a74087f2824a559854134ce
GIT binary patch
literal 185
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL|>AJY5_^B3hFZ
zBv=#=7Vvn(2bOvQ_$R|PxQJ&E++)$iuuj{@m(LhVy4h7&5~eA+vs)${C_bnGvw(p?
YeU_G=@UwOQfYvj3y85}Sb4q9e03^IVQ2+n{
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser2.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser2.png
new file mode 100644
index 0000000000000000000000000000000000000000..f0ae5568d6115d41f79a9d43d1b120cb480a69e9
GIT binary patch
literal 184
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}MV>B>ArY;~
z2@Bn&34N?h1~zCO9IkmuuO{dl7z`8S<5Rr)N+G7u9_PncmXe#mjr
zM$0ZWz622P@N+A5DKd&YHsL+PjHd?Oi8Z?{8SXw}Bn&34Qe0O0zFyHYmFHvm`S(UTE6dbw+NcGYE{L|P{~o*M(Ge!G
zB9ntUuFuqWUAoA~!^5K?w#d3e#GyzeKzf2GQ|G!<8vE4Df1E5ju={zrWQ)pFL!H|1
hbN*z&ZP~=gki1AH#ed4S(?C}+c)I$ztaD0e0sy)oK`sCQ
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-space-movement.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-space-movement.png
new file mode 100644
index 0000000000000000000000000000000000000000..92250c914da7c24330e873d11fff95c92c91bc9f
GIT binary patch
literal 181
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}`JOJ0ArY;~
z2@Bn&34Qe0O0zFyHYmFHvm`S(UTE6dbw+NcGY9?+S;|F<4j@7X|;
zLWWICclFVdQ&MBb@0Q=TEkN^Mx
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword.png
new file mode 100644
index 0000000000000000000000000000000000000000..51d9fa3bb465ea53b3a2b36db89e7dcf33229d93
GIT binary patch
literal 194
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}HJ&bxArY;~
z2@Bn&34Qe0O0zFyHYmFHvm`S(UTE6dbw+K2_2E{L|P{~pT*1Z^(i
zKJJ3dGfrG&*(~A~%ygoNVb{|qzvktzD@1#AK25Ps`1fviLAPcv+a%$KyPtEMo>=?;
ko#oS)i4aTN4xV6P$T=t9>tDZQAzopr0C1Z`jsO4v
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword2.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword2.png
new file mode 100644
index 0000000000000000000000000000000000000000..8824694e2d383482df5b432df3d74d7c926fc01d
GIT binary patch
literal 193
zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R})t)YnArY-_
zCvD_yFyLX4Kf)*3V!Dah^;ywDzDVWf3N8%?6{V?jo0|5kO;Y`RuZz)%L-9$nTJ~YN
z#~a%&TBn&34Qe0O0zFyHYmFHvm`S(UTE6dbw+NcGY9?+S;|F<4j@7X|;
zLI$ITNIy=6+l-y-PHC9jm37cH_#*S+ou$&fiOuqnH4wwx4r(Z{GB7;Px%3`s;mR9J=Wl+SC^U>L_gjv+Q1X(3&q>e7pKJvf=TVTTZ5PIvJjf`}kJ2%d)X
z$6=^{fD=9FlnUa>_zlK}4}2>U5WF2M+AXXPY%CUKbLf0dTy@YKi+r4p}8=7vtd6oe%v-o
zB$F(ZN=@%}4WO#3xmIbRRsMxhE|KWX*|l{46Nf&wddyxgeAJ1@6tgYb0l>v8mpP*K
zlS(EW-?{#ROeSLrA&?{qGkcx(&OW}qyyYgh*)?#DpI<&udo@NR0@do@4*2>7&rbK4
z09R*fOpNRX;Owkbi>8lKTbgq<-=XZW*L8F7?m)}NgTYZ5?dd^#zw>~vXX2n*wL$)8QGlB`DRL7Pl?UncJgDI(p9m-lN#4d~G;iDKGN6@RpVG;-=xZgm_Fb<1r=3
gI}Qm63Hi7D24YRJdbE&;ivR!s07*qoM6N<$f}^_&BLDyZ
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_generic.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_generic.png
new file mode 100644
index 0000000000000000000000000000000000000000..59dba02f42374cb827d448e8e2aea6ac25093095
GIT binary patch
literal 562
zcmV-20?qx2P)Px$>`6pHR9J=WmA`8fVHn3hmJ*sbr^d+U!O
zc5zm^XcYz5`VVyKP(&~wYOzZz=uip`m0)Yd9P~{*isx{-gY+)ByPb2+wZHBVi~0EI%q
z+|zsLRsLesYh;IS1vcOMJV!dEnu%lvfXRDzxuBh=n9BwaAcR075kg=B^2b-czkTd$
zer#+SfJ8DwJPwTpJb&_(hvf&JdRKsjYeOc${naM(Q+WVxe6ecD(nXp(YaPw|)Z@@WWr@HD~0mjP;#$X9C^q$*GI#NpFW8uvE2Sx&GyLLbb;atL?82TnLCC|BEudI#B
z6RpZ=V8VR)VzzA-bnSqY5`cJ!05K(xp>G0k;$*36CH8B6BK4Bzw(V7K39
zx4zB0$_IAq+rIA}2Px%3`s;mR9J=Wl+Q~PVHn3hi9|cf?8>YQTe*8_b1#OG(gretS$c?wAS$qk?rlE~
zQh$L_hjOE!TiB(ebO?zkT8zr_q8&Pj;8rYX7Q5uT+aSFirX5{pXWThhm-(FD_kF(e
ze!o2P@_>(zkI#Q*%VrzI<4IXr&(D9d`8C#aNynvUa_#=u!_zj+lk<7
z%0fP0^KQogu~iPvwPj*Ux
zt21TB(mMe-^U|zc*6#5M4VUga9DmA;5Tg
zf`LpAKL*dTyFF1=n|wEA(>rzmKv5JcM7>lx&^~vorr~-V=Rjo;8NUp)Q^TI-z*@eI
zo*?@+i=NWGjpAG`XNjAZX64pkl-906zPx%2}wjjR9J=Wl)q~eVHn3hmLld_E`dvfr#813%~Gk@(m3>lTJ7Q>f=IC_xTpRY
ziv9%^9kd1oN9*9)$w5RhMbv7S*1@3^5|uz}#RU5%p2c%Gb2h!)^=_yx_nF@JeZKd8
zzdZNyKuAbP$bV+rRvTzq+N`e&g%1wDRzH_?U3_A$-<7)?z$
zzH|Kr>2%r@LLf;JX6730oxOa1cHK>GvwPqw-#@;k_I#X31gh1)9q{!F9-rS&!!0>yk7EK+cwzA-AzC+n-uj}UE-GP>k2ZLiW`olx^e%C=?&%{BsYJ~vE-MWpQ
z(VOZVw?Dm60cH_GP@9ukoLg%Wb93aAcdQ^&qn>0N$h6sC;TTUo9{5BL9lj^75wPw}g01G2<~M$U6=R
d2?_bP{02uLv8i8(eH#D(002ovPDHLkV1hL06kz}W
literal 0
HcmV?d00001
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_stealth.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_stealth.png
new file mode 100644
index 0000000000000000000000000000000000000000..aa6d782f4d4ee396acd00757ab36e633afa463db
GIT binary patch
literal 592
zcmV-W0Px%3Q0skR9J=Wl(B0QVHn1LmLld_F2PF!QJXBrWT{kaF)k-G#VigYhzR1~Dz+-L
zD5X;g6&*B+f@}Q;ii3k##ek^QIDZS}P>jFYzdz!Tb%|
zER{-4&$bN^i^cS{N(-&>Z?tlWNY8n*mSwj^pGzDz*Gumw2!|BCE!Y9Tr7M>?rXD38
zjadG(y@FIKr3)dDBndrzo%YUNzCFKTCpX#Kca5K4-cfroP9Ol)>UsxUUBQ#n-8#V4
zxf+uL`v5rm(WnIz8EPx@w&uH({pPxE4$d8D*}Ty|ETcYJZ|9yvuAYg7YSjnJW53`c%EG&W9T|5gqHS^dHNe8WR@?0^sgfPjYpBcmB|
zV^ci72nUjhhT8Po8H?Vw0|1gFnIYU#??7_lLsP@e*v^6aAkuzmC}+k!&4G=4pEyO~
zO#wBndK<;XV$l@0t<38?gHbwq&H>J&SgU+(*k3I#^Rn=o)$;O|;kSiwNYTR~#mhVP
e@$vEbxBLO#Qn2Pm{^eN!0000