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>_z&#lK}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