]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Xenoborgs part 2 (#36844)
authorSamuka-C <47865393+Samuka-C@users.noreply.github.com>
Mon, 28 Apr 2025 22:10:35 +0000 (19:10 -0300)
committerGitHub <noreply@github.com>
Mon, 28 Apr 2025 22:10:35 +0000 (18:10 -0400)
* 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>
48 files changed:
Content.Shared/Xenoborgs/Components/XenoborgComponent.cs [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Devices/door_remote.yml
Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml
Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml
Resources/Prototypes/Entities/Objects/Power/powercells.yml
Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml
Resources/Prototypes/Entities/Objects/Specific/Xenoborg/cloaking_device.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Specific/Xenoborg/material_bag.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Specific/Xenoborg/nocturine_hypo.yml [new file with mode: 0644]
Resources/Prototypes/Entities/Objects/Tools/jammer.yml
Resources/Prototypes/Entities/Objects/Tools/jetpacks.yml
Resources/Prototypes/Entities/Objects/Tools/welders.yml
Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml
Resources/Prototypes/Entities/Objects/Weapons/Melee/e_sword.yml
Resources/Prototypes/tags.yml
Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-access-breaker-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-basic-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-extinguisher-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-eye-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-hypo-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-jammer-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser2-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-projector-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-space-movement-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword2-module.png [new file with mode: 0644]
Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-tool-module.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-access-breaker.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-basic.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-fire-extinguisher.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-hypo.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-jammer.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser2.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-projector.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-space-movement.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword2.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-tools.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_engi.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_generic.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_heavy.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_scout.png [new file with mode: 0644]
Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_stealth.png [new file with mode: 0644]

diff --git a/Content.Shared/Xenoborgs/Components/XenoborgComponent.cs b/Content.Shared/Xenoborgs/Components/XenoborgComponent.cs
new file mode 100644 (file)
index 0000000..aee8298
--- /dev/null
@@ -0,0 +1,7 @@
+namespace Content.Shared.Xenoborgs.Components;
+
+/// <summary>
+/// This component for now is being used for the pinpointer, but it will recieve more stuff in the future.
+/// </summary>
+[RegisterComponent]
+public sealed partial class XenoborgMothershipComponent : Component;
index af070f246476b862d4b05de431ea30c82c1f4b9d..45689958cfb45ee5f3c71720de27af3fb8986a46 100644 (file)
     - 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
index 5562140891c8b2289546f6dffca59e2fdaf13158..133e6104404825819f62d595b408eebffa08deb8 100644 (file)
   - 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
index 696c31287139a289ebe515b54816b50b35ab0a2b..495443911fef6af05d77fca33fe9c536675381fc 100644 (file)
     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
index 90f987fdc69f2ce6ca6c3a28709ad56b4a92162e..8ca2ba7b1128c5cc9412c98badfd843b711b942a 100644 (file)
     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.
index 73d90a856c287973425423a0e43106145f750000..3fb89149c980ddde1ba8a529692eba19d5df134f 100644 (file)
       - 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
         - 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 (file)
index 0000000..6550e21
--- /dev/null
@@ -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 (file)
index 0000000..79042fb
--- /dev/null
@@ -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 (file)
index 0000000..120e7c9
--- /dev/null
@@ -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
index bcb6a435d06bf56bea3b9d3d42a9d962b8fb33ba..0066c5826ccb640d015db76f370dd99ca0d8e5d7 100644 (file)
           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
index e77394791ee7ded95f3f5c75fe0a8f115d0e3f9a..abbf68a27eeaeaec10171d76aba9398bc9e56753 100644 (file)
       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
index 43c1019dd6c9e6dd86cc1c54fdb3ba0e08c60a40..686bc6cd2dae8638a7c78130518140a7cc785022 100644 (file)
     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
index 4304e8360292f15eb2591c514b2bf0e151f758c7..47f8e8496c3c80586624f0f8345b577edf37e3b7 100644 (file)
     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
index 4be577e0fe483055eb0df2da79ae83873c6ecab2..dab155f02ea9a3df14cfc47e79dd08c0f6e2c0bb 100644 (file)
   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
index a73c8fe54a9948805af188e8ed2f6f8685eeac69..7a778953c5bd55e59eab7d651c2d36894d4b2d76 100644 (file)
 - 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
index 884e922ac898432c85d68e9acfa102cc3764df1f..fde2ab63a6ae6857e0a8f53927f11b69e58b5bb2 100644 (file)
@@ -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
         {
             "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 (file)
index 0000000..f3d5d40
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-access-breaker-module.png differ
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 (file)
index 0000000..ac7bae5
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-basic-module.png differ
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 (file)
index 0000000..eea9820
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-extinguisher-module.png differ
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 (file)
index 0000000..e0a9312
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-eye-module.png differ
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 (file)
index 0000000..437df14
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-hypo-module.png differ
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 (file)
index 0000000..7bafb93
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-jammer-module.png differ
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 (file)
index 0000000..ac574e0
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser-module.png differ
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser2-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser2-module.png
new file mode 100644 (file)
index 0000000..efa8510
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-laser2-module.png differ
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 (file)
index 0000000..8c4b5ea
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-projector-module.png differ
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-space-movement-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-space-movement-module.png
new file mode 100644 (file)
index 0000000..416a8bd
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-space-movement-module.png differ
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword-module.png
new file mode 100644 (file)
index 0000000..7fc883c
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword-module.png differ
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword2-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword2-module.png
new file mode 100644 (file)
index 0000000..e8e121f
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-sword2-module.png differ
diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-tool-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-tool-module.png
new file mode 100644 (file)
index 0000000..60bc734
Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-tool-module.png differ
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 (file)
index 0000000..7e3f58f
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-access-breaker.png differ
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 (file)
index 0000000..59cee45
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-basic.png differ
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 (file)
index 0000000..1db95de
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak.png differ
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-fire-extinguisher.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-fire-extinguisher.png
new file mode 100644 (file)
index 0000000..df8689b
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-fire-extinguisher.png differ
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 (file)
index 0000000..c4a4d5a
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-hypo.png differ
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-jammer.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-jammer.png
new file mode 100644 (file)
index 0000000..e007a98
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-jammer.png differ
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 (file)
index 0000000..a273f57
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser.png differ
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 (file)
index 0000000..f0ae556
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-laser2.png differ
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-projector.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-projector.png
new file mode 100644 (file)
index 0000000..5d7cadd
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-projector.png differ
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 (file)
index 0000000..92250c9
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-space-movement.png differ
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 (file)
index 0000000..51d9fa3
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword.png differ
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 (file)
index 0000000..8824694
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-sword2.png differ
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-tools.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-tools.png
new file mode 100644 (file)
index 0000000..3a779ea
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-tools.png differ
index 3a25fbc953d38d10c8b8ed9a8e123c3a20d6880e..6819aedeba787225100a9213f1011d8105e1fa4b 100644 (file)
@@ -1,7 +1,7 @@
 {
     "version": 1,
     "license": "CC0-1.0",
-    "copyright": "Created by EmoGarbage404 (github) for Space Station 14. icon-construction.png created by deltanedas (github). syndicateborgbomb.png created by Mangohydra (github). icon-chem.png & icon-mining-adv.png created by mubururu_ (github)",
+    "copyright": "Created by EmoGarbage404 (github) for Space Station 14. icon-construction.png created by deltanedas (github). syndicateborgbomb.png created by Mangohydra (github). layered inhands by mubururu_ (github), icon-chem.png & icon-mining-adv.png created by mubururu_ (github), Xenoborg modules sprites by Samuka-C (github)",
     "size": {
         "x": 32,
         "y": 32
         {
             "name": "icon-treatment"
         },
+        {
+            "name": "icon-xenoborg-access-breaker"
+        },
+        {
+            "name": "icon-xenoborg-basic"
+        },
+        {
+            "name": "icon-xenoborg-cloak"
+        },
+        {
+            "name": "icon-xenoborg-fire-extinguisher"
+        },
+        {
+            "name": "icon-xenoborg-hypo"
+        },
+        {
+            "name": "icon-xenoborg-jammer"
+        },
+        {
+            "name": "icon-xenoborg-laser"
+        },
+        {
+            "name": "icon-xenoborg-laser2"
+        },
+        {
+            "name": "icon-xenoborg-projector"
+        },
+        {
+            "name": "icon-xenoborg-space-movement"
+        },
+        {
+            "name": "icon-xenoborg-sword"
+        },
+        {
+            "name": "icon-xenoborg-sword2"
+        },
+        {
+            "name": "icon-xenoborg-tools"
+        },
         {
             "name": "icon-syndicate"
         },
         {
             "name": "syndicate"
         },
+        {
+            "name": "xenoborg_engi"
+        }, 
+        {
+            "name": "xenoborg_generic"
+        }, 
+        {
+            "name": "xenoborg_heavy"
+        },
+        {
+            "name": "xenoborg_scout"
+        },
+        {
+            "name": "xenoborg_stealth"
+        },
         {
             "name": "base-icon-inhand-left",
             "directions": 4
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_engi.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_engi.png
new file mode 100644 (file)
index 0000000..3f96e87
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_engi.png differ
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 (file)
index 0000000..59dba02
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_generic.png differ
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_heavy.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_heavy.png
new file mode 100644 (file)
index 0000000..66afcd7
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_heavy.png differ
diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_scout.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_scout.png
new file mode 100644 (file)
index 0000000..974ed09
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_scout.png differ
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 (file)
index 0000000..aa6d782
Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_stealth.png differ