From: Samuka-C <47865393+Samuka-C@users.noreply.github.com> Date: Mon, 28 Apr 2025 22:10:35 +0000 (-0300) Subject: Xenoborgs part 2 (#36844) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=02b5592d6975858bb0e117a855b2b484859b6089;p=space-station-14.git 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> --- 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 0000000000..f3d5d40120 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 index 0000000000..ac7bae54fe 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 index 0000000000..eea9820bc0 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 index 0000000000..e0a9312531 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 index 0000000000..437df1419e 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 index 0000000000..7bafb93b6a 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 index 0000000000..ac574e0c62 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 index 0000000000..efa851092c 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 index 0000000000..8c4b5eae6d 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 index 0000000000..416a8bd439 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 index 0000000000..7fc883c3b7 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 index 0000000000..e8e121fbfc 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 index 0000000000..60bc734c5d 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 index 0000000000..7e3f58f69b 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 index 0000000000..59cee451e4 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 index 0000000000..1db95de9ee 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 index 0000000000..df8689bbee 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 index 0000000000..c4a4d5a182 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 index 0000000000..e007a98d26 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 index 0000000000..a273f57597 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 index 0000000000..f0ae5568d6 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 index 0000000000..5d7cadd06a 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 index 0000000000..92250c914d 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 index 0000000000..51d9fa3bb4 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 index 0000000000..8824694e2d 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 index 0000000000..3a779eaa96 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-tools.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json index 3a25fbc953..6819aedeba 100644 --- a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json @@ -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 @@ -106,6 +106,45 @@ { "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" }, @@ -133,6 +172,21 @@ { "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 index 0000000000..3f96e87317 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 index 0000000000..59dba02f42 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 index 0000000000..66afcd7c54 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 index 0000000000..974ed094f5 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 index 0000000000..aa6d782f4d Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/xenoborg_stealth.png differ