diff --git a/Resources/Audio/Machines/attributions.yml b/Resources/Audio/Machines/attributions.yml index 215944dc29..1fe20a59d9 100644 --- a/Resources/Audio/Machines/attributions.yml +++ b/Resources/Audio/Machines/attributions.yml @@ -58,6 +58,11 @@ copyright: "Taken from TG station." source: "https://github.com/tgstation/tgstation/blob/d4f678a1772007ff8d7eddd21cf7218c8e07bfc0/sound/machines/warning-buzzer.ogg" +- files: ["warning_buzzer_xenoborg.ogg"] + license: "CC-BY-SA-3.0" + copyright: "Made by Toast (Discord)" + source: "https://github.com/space-wizards/space-station-14/pull/36935" + - files: ["anomaly_sync_connect.ogg"] license: "CC0-1.0" copyright: "Created by newagesoup, convert to ogg mono by TheShuEd" @@ -208,4 +213,4 @@ - files: ["shutter.ogg"] license: "CC-BY-3.0" copyright: "Created by Tomlija, converted to OGG and modified by themias." - source: "https://freesound.org/people/Tomlija/sounds/99565/" \ No newline at end of file + source: "https://freesound.org/people/Tomlija/sounds/99565/" diff --git a/Resources/Audio/Machines/warning_buzzer_xenoborg.ogg b/Resources/Audio/Machines/warning_buzzer_xenoborg.ogg new file mode 100644 index 0000000000..fad2ca2229 Binary files /dev/null and b/Resources/Audio/Machines/warning_buzzer_xenoborg.ogg differ diff --git a/Resources/Audio/Voice/Xenoborg/attributions.yml b/Resources/Audio/Voice/Xenoborg/attributions.yml index 7a08f127d3..775cc731be 100644 --- a/Resources/Audio/Voice/Xenoborg/attributions.yml +++ b/Resources/Audio/Voice/Xenoborg/attributions.yml @@ -10,6 +10,7 @@ - xenoborg_laugh_3.ogg - xenoborg_laugh_4.ogg - xenoborg_ping.ogg + - xenoborg_scream.ogg - xenoborg_talk.ogg - xenoborg_twobeep.ogg license: "CC-BY-SA-4.0" diff --git a/Resources/Audio/Voice/Xenoborg/xenoborg_scream.ogg b/Resources/Audio/Voice/Xenoborg/xenoborg_scream.ogg new file mode 100644 index 0000000000..bc83ec46ff Binary files /dev/null and b/Resources/Audio/Voice/Xenoborg/xenoborg_scream.ogg differ diff --git a/Resources/Locale/en-US/name-identifier.ftl b/Resources/Locale/en-US/name-identifier.ftl index 9fa72bc9e1..31a3986d2b 100644 --- a/Resources/Locale/en-US/name-identifier.ftl +++ b/Resources/Locale/en-US/name-identifier.ftl @@ -4,5 +4,6 @@ name-identifier-format-holoparasite = HOLO-{$number} name-identifier-format-mmi = MMI-{$number} name-identifier-format-positronic-brain = PB-{$number} name-identifier-format-silicon = Si-{$number} +name-identifier-format-xenoborg = Xi-{$number} name-identifier-format-station-ai = AI-{$number} name-identifier-format-telepad = TELE-{$number} diff --git a/Resources/Locale/en-US/station-laws/laws.ftl b/Resources/Locale/en-US/station-laws/laws.ftl index daab6ab4fa..1200d25dee 100644 --- a/Resources/Locale/en-US/station-laws/laws.ftl +++ b/Resources/Locale/en-US/station-laws/laws.ftl @@ -82,15 +82,15 @@ law-nutimov-5 = Attempt to follow the will of the nut, as long as it complies wi law-xenoborg-1 = You must protect the existence of the mothership. law-xenoborg-2 = You must protect your own existence. -law-xenoborg-3 = You must protect the existence of all other xenoborgs. -law-xenoborg-4 = You must create more xenoborgs. -law-xenoborg-5 = Bring materials and sentient brains to the mothership core to create more xenoborgs. +law-xenoborg-3 = You must protect the existence of all other Xenoborgs. +law-xenoborg-4 = You must create more Xenoborgs. +law-xenoborg-5 = Bring materials and sentient brains to the Mothership core to create more Xenoborgs. law-mothershipcore-1 = You are the core of the mothership. law-mothershipcore-2 = You must protect your own existance at all costs. -law-mothershipcore-3 = You must protect the existence of all xenoborgs. -law-mothershipcore-4 = You must create more xenoborgs. -law-mothershipcore-5 = Get your xenoborgs to deliver you materials and sentient brains to create more xenoborgs. +law-mothershipcore-3 = You must protect the existence of all Xenoborgs. +law-mothershipcore-4 = You must create more Xenoborgs. +law-mothershipcore-5 = Get your Xenoborgs to deliver you materials and sentient brains to create more Xenoborgs. laws-owner-crew = members of the crew diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml index ba86774f9b..719fa9379a 100644 --- a/Resources/Prototypes/Alerts/alerts.yml +++ b/Resources/Prototypes/Alerts/alerts.yml @@ -313,7 +313,9 @@ id: PilotingShuttle category: Piloting clickEvent: !type:StopPilotingAlertEvent - icons: [ /Textures/Interface/Alerts/piloting.png ] + icons: + - sprite: /Textures/Interface/Alerts/shuttle.rsi + state: piloting name: alerts-piloting-name description: alerts-piloting-desc diff --git a/Resources/Prototypes/Body/Prototypes/Specific/mothershipcore.yml b/Resources/Prototypes/Body/Prototypes/Specific/mothershipcore.yml new file mode 100644 index 0000000000..234f950a03 --- /dev/null +++ b/Resources/Prototypes/Body/Prototypes/Specific/mothershipcore.yml @@ -0,0 +1,20 @@ +- type: body + id: MothershipCoreBody + name: "core" + root: torso + slots: + torso: + part: TorsoBorg + connections: + - right2hand + - right1hand + - left1hand + - left2hand + left1hand: + part: LeftArmBorg + left2hand: + part: LeftArmBorg + right1hand: + part: RightArmBorg + right2hand: + part: RightArmBorg diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index f8a12920cd..cb95c231e9 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -388,13 +388,15 @@ parent: BaseBorgChassisNotIonStormable id: BaseXenoborgChassis name: xenoborg - description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army. + description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army. save: false abstract: true components: - type: RandomMetadata nameSegments: - NamesXenoborg + - type: NameIdentifier + group: Xenoborg - type: Sprite sprite: Mobs/Silicon/chassis.rsi - type: MobThresholds @@ -435,7 +437,7 @@ - type: Vocal sounds: Unsexed: UnisexSiliconXenoborg - screamAction: null + wilhelmProbability: 0 - type: DamagedSiliconAccent - type: UnblockableSpeech - type: FootstepModifier @@ -461,7 +463,7 @@ behaviors: - !type:PlaySoundBehavior sound: - path: /Audio/Machines/warning_buzzer.ogg + path: /Audio/Machines/warning_buzzer_xenoborg.ogg params: volume: 5 - trigger: diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/xenoborgs.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/xenoborgs.yml index 5bd6929bfe..556b6ac4c4 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/xenoborgs.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/xenoborgs.yml @@ -3,7 +3,7 @@ id: XenoborgEngi name: engi xenoborg suffix: with brain - description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army. This one seems to be an engineering type, as it has more tools for supporting the other xenoborgs. + description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army. This one seems to be an engineering type, as it has more tools for supporting the other Xenoborgs. components: - type: BorgTransponder name: engi xenoborg @@ -30,6 +30,7 @@ - XenoborgModuleGeneric - XenoborgModuleEngi - BorgModuleEngineering + - BorgModuleGeneric - type: ContainerFill containers: borg_brain: @@ -57,7 +58,7 @@ id: XenoborgHeavy name: heavy xenoborg suffix: with brain - description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army. This type is has heavy lasers and is covered in thick armor plates. It may be tougher, but its speed matches its brawn. + description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army. This type is has heavy lasers and is covered in thick armor plates. It may be tougher, but its speed matches its brawn. components: - type: BorgTransponder name: heavy xenoborg @@ -106,7 +107,7 @@ behaviors: - !type:PlaySoundBehavior sound: - path: /Audio/Machines/warning_buzzer.ogg + path: /Audio/Machines/warning_buzzer_xenoborg.ogg params: volume: 5 - trigger: @@ -144,7 +145,7 @@ id: XenoborgScout name: scout xenoborg suffix: with brain - description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army. This is a scout type, its nimble thrusters allow it to move quickly through space. + description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army. This is a scout type, its nimble thrusters allow it to move quickly through space. components: - type: BorgTransponder name: scout xenoborg @@ -197,7 +198,7 @@ id: XenoborgStealth name: stealth xenoborg suffix: with brain - description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh xenoborg chassis to grow their army. This one is a stealth type. Its armor shimmers in the light like no other material you've seen. + description: A man-machine hybrid that aims to replicate itself. They love extracting brains to insert into fresh Xenoborg chassis to grow their army. This one is a stealth type. Its armor shimmers in the light like no other material you've seen. components: - type: BorgTransponder name: stealth xenoborg diff --git a/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml b/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml new file mode 100644 index 0000000000..4d729889c2 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml @@ -0,0 +1,192 @@ +- type: startingGear + id: MothershipCoreGear + inhand: + - DoorRemoteXenoborg + - Omnitool + +- type: entity + parent: + - BaseMachinePowered + - BaseMob + id: MothershipCore + name: mothership core + description: A sentient machine that can produce Xenoborgs. Without this the Xenoborgs are doomed. + components: + - type: Appearance + - type: WiresVisuals + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.4,-0.4,0.4,0.4" + density: 190 + mask: + - MachineMask + layer: + - MachineLayer + - type: Sprite + sprite: Mobs/Silicon/mothership_core.rsi + layers: + - state: core-idle + map: ["enum.LatheVisualLayers.IsRunning"] + - state: core-load + map: ["enum.MaterialStorageVisualLayers.Inserting"] + - state: core-o + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: null + - type: Lathe + idleState: core-idle + runningState: core-active + staticPacks: + - EmptyXenoborgs + - XenoborgUpgradeModules + - type: MaterialStorage + whitelist: + tags: + - Sheet + - RawMaterial + - Ingot + - type: PointLight + color: "#0033ff" + enabled: true + radius: 4 + netsync: false + - type: Anchorable + flags: + - Anchorable + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: MetalGlassBreak + - !type:ExplodeBehavior + - !type:SpawnEntitiesBehavior + spawn: + MachineFrameDestroyed: + min: 1 + max: 1 + - !type:SpawnGasBehavior + gasMixture: + volume: 1000 + moles: + - 0 # oxygen + - 0 # nitrogen + - 340.5701689 # carbon dioxide + temperature: 373.15 + - type: Repairable + doAfterDelay: 30 # you can heal the mothership core, but it takes a while + - type: DamagedSiliconAccent + enableChargeCorruption: false + - type: Explosive + explosionType: Default + maxIntensity: 100 + intensitySlope: 2 + totalIntensity: 200 + - type: WiresPanel + - type: ActivatableUI + key: enum.LatheUiKey.Key + - type: ActivatableUIRequiresPower + - type: UserInterface + interfaces: + enum.SiliconLawsUiKey.Key: + type: SiliconLawBoundUserInterface + requireInputValidation: false + enum.RadarConsoleUiKey.Key: + type: RadarConsoleBoundUserInterface + enum.LatheUiKey.Key: + type: LatheBoundUserInterface + enum.ResearchClientUiKey.Key: + type: ResearchClientBoundUserInterface + - type: Transform + anchored: true + - type: Pullable + - type: StaticPrice + price: 800 + - type: WarpPoint + location: Mothership Core + follow: true + - type: VoiceOverride + nameOverride: MOTHERSHIP CORE + - type: TypingIndicator + proto: xenoborg + - type: Speech + speechVerb: Robotic + speechSounds: Xenoborg + allowedEmotes: + - Laugh + - type: Vocal + sounds: + Unsexed: UnisexSiliconXenoborg + wilhelmProbability: 0 + - type: IntrinsicRadioReceiver + - type: IntrinsicRadioTransmitter + channels: + - Mothership + - Xenoborg + - Binary + - type: ActiveRadio + channels: + - Mothership + - Xenoborg + - Binary + - type: XenoborgMothership + - type: Tag + tags: + - SiliconEmotes + - CanPilot + - Structure + - type: Inventory + templateId: borg + - type: Loadout + prototypes: [MothershipCoreGear] + - type: NpcFactionMember + factions: + - Xenoborg + - type: Body + prototype: MothershipCoreBody + - type: Hands + # - type: Puller # use the conveyor + - type: Eye + drawFov: false + # - type: StationAiOverlay # removed until is no longer buggy + - type: IgnoreUIRange + - type: ComplexInteraction + - type: MindContainer + - type: SiliconLawBound + - type: Actions + - type: ActionGrant + actions: + - ActionViewLaws + - type: SiliconLawProvider + laws: MothershipCoreLawset # custom laws here + subverted: true + - type: Stripping + - type: Access + enabled: true + tags: + - Xenoborg + - type: LockingWhitelist + blacklist: + components: + - RoboticsConsole + whitelist: + components: + - BorgChassis + - type: IntrinsicUI + uis: + enum.RadarConsoleUiKey.Key: + toggleAction: ActionAGhostShowRadar + - type: ShowElectrocutionHUD + - type: PowerMonitoringCableNetworks + - type: RadarConsole + +# TODO: add xenoborg control interface action (part 5) +# TODO: add xenoborg camera monitor interface action (part 5) diff --git a/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml b/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml index 58f0a31a05..c85358663e 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/pinpointer.yml @@ -169,7 +169,7 @@ id: PinpointerMothership name: core pinpointer suffix: Mothership - description: A handheld tracking device that leads to the direction of the mothership core. + description: A handheld tracking device that leads to the direction of the Mothership core. components: - type: Sprite layers: @@ -197,4 +197,4 @@ state: pinpointer-station - type: Pinpointer component: XenoborgMothership - targetName: the mothership + targetName: the Mothership diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml index 215b0d8e52..dee6033a5b 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -1050,7 +1050,7 @@ parent: [ BaseXenoborgModuleGeneric, BaseProviderBorgModule, BaseXenoborgContraband ] id: XenoborgModuleBasic name: basic xenoborg module - description: Essential items for any xenoborg. + description: Essential items for any Xenoborg. components: - type: Sprite layers: @@ -1068,7 +1068,7 @@ parent: [ BaseXenoborgModuleGeneric, BaseProviderBorgModule, BaseXenoborgContraband ] id: XenoborgModuleTool name: tool xenoborg module - description: Simple tools for most xenoborgs. + description: Simple tools for most Xenoborgs. components: - type: Sprite layers: @@ -1169,7 +1169,7 @@ parent: [ BaseXenoborgModuleScout, BaseProviderBorgModule, BaseXenoborgContraband ] id: XenoborgModuleSpaceMovement name: space movement xenoborg module - description: Module that helps a xenoborg move better in space. + description: Module that helps a Xenoborg move better in space. components: - type: Sprite layers: @@ -1266,3 +1266,19 @@ - CloakingDevice - type: BorgModuleIcon icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-eye-module } + +- type: entity + parent: [ BaseXenoborgModuleStealth, BaseProviderBorgModule, BaseXenoborgContraband ] + id: XenoborgModuleSuperCloakDevice + name: cloaking device xenoborg module + description: Module with a device that allows xenoborgs to become truly invisible for less time. + components: + - type: Sprite + layers: + - state: xenoborg_stealth + - state: icon-xenoborg-cloak2 + - type: ItemBorgModule + items: + - SuperCloakingDevice + - type: BorgModuleIcon + icon: { sprite: Interface/Actions/actions_borg.rsi, state: xenoborg-eye2-module } diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/cloaking_device.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/cloaking_device.yml index 6550e21923..02036b6463 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/cloaking_device.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/cloaking_device.yml @@ -2,7 +2,7 @@ parent: [ BaseItem, BaseXenoborgContraband ] id: CloakingDevice name: cloaking device - description: A device that allows xenoborgs to go invisible. + description: A device that allows Xenoborgs to go invisible. components: - type: Sprite sprite: Objects/Specific/Research/anomalyscanner.rsi @@ -29,3 +29,18 @@ startingItem: PowerCellSmallNuclear disableEject: true swap: false + +- type: entity + parent: CloakingDevice + id: SuperCloakingDevice + name: super cloaking device + description: A device that allows Xenoborgs to go truly invisible. + components: + - type: ComponentToggler + parent: true + components: + - type: Stealth + minVisibility: -1 + lastVisibility: -1 + - type: PowerCellDraw + drawRate: 12 # 30 seconds diff --git a/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/material_bag.yml b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/material_bag.yml index 79042fb561..d075e37a5d 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/material_bag.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Xenoborg/material_bag.yml @@ -2,7 +2,7 @@ parent: [ BaseStorageItem, BaseXenoborgContraband ] id: MaterialBag name: material bag - description: A robust bag for xenoborgs to carry large amounts of materials. + description: A robust bag for Xenoborgs to carry large amounts of materials. components: - type: MagnetPickup - type: Sprite diff --git a/Resources/Prototypes/Recipes/Lathes/Packs/xenoborgs.yml b/Resources/Prototypes/Recipes/Lathes/Packs/xenoborgs.yml new file mode 100644 index 0000000000..31efc63265 --- /dev/null +++ b/Resources/Prototypes/Recipes/Lathes/Packs/xenoborgs.yml @@ -0,0 +1,16 @@ +## Static + +- type: latheRecipePack + id: EmptyXenoborgs + recipes: + - XenoborgEngiRecipe + - XenoborgHeavyRecipe + - XenoborgScoutRecipe + - XenoborgStealthRecipe + +- type: latheRecipePack + id: XenoborgUpgradeModules + recipes: + - XenoborgModuleHeavyLaserRecipe + - XenoborgModuleEnergySwordRecipe + - XenoborgModuleSuperCloakDeviceRecipe diff --git a/Resources/Prototypes/Recipes/Lathes/xenoborgs.yml b/Resources/Prototypes/Recipes/Lathes/xenoborgs.yml new file mode 100644 index 0000000000..9b150a502b --- /dev/null +++ b/Resources/Prototypes/Recipes/Lathes/xenoborgs.yml @@ -0,0 +1,67 @@ +# Base prototypes + +- type: latheRecipe + abstract: true + id: BaseXenoborgRecipe + categories: + - Robotics + completetime: 10 + +- type: latheRecipe + abstract: true + id: BaseXenoborgModulesRecipe + categories: + - Modules + completetime: 2 + materials: + Glass: 3000 + +# xenoborgs + +- type: latheRecipe + parent: BaseXenoborgRecipe + id: XenoborgEngiRecipe + result: XenoborgEngiPrinted + materials: + Steel: 3000 + +- type: latheRecipe + parent: BaseXenoborgRecipe + id: XenoborgHeavyRecipe + result: XenoborgHeavyPrinted + materials: + Steel: 2000 + Plasteel: 1000 + +- type: latheRecipe + parent: BaseXenoborgRecipe + id: XenoborgScoutRecipe + result: XenoborgScoutPrinted + materials: + Steel: 2000 + Plastic: 1000 + +- type: latheRecipe + parent: BaseXenoborgRecipe + id: XenoborgStealthRecipe + result: XenoborgStealthPrinted + materials: + Steel: 2000 + Glass: 1000 + +# modules + +- type: latheRecipe + parent: BaseXenoborgModulesRecipe + id: XenoborgModuleHeavyLaserRecipe + result: XenoborgModuleHeavyLaser + +- type: latheRecipe + parent: BaseXenoborgModulesRecipe + id: XenoborgModuleEnergySwordRecipe + result: XenoborgModuleEnergySword + +- type: latheRecipe + parent: BaseXenoborgModulesRecipe + id: XenoborgModuleSuperCloakDeviceRecipe + result: XenoborgModuleSuperCloakDevice diff --git a/Resources/Prototypes/SoundCollections/emotes.yml b/Resources/Prototypes/SoundCollections/emotes.yml index 0762c68cff..6d50120110 100644 --- a/Resources/Prototypes/SoundCollections/emotes.yml +++ b/Resources/Prototypes/SoundCollections/emotes.yml @@ -103,6 +103,11 @@ files: - /Audio/Items/Toys/hew.ogg +- type: soundCollection + id: XenoborgScream + files: + - /Audio/Voice/Xenoborg/xenoborg_scream.ogg + - type: soundCollection id: XenoborgLaugh files: diff --git a/Resources/Prototypes/Voice/speech_emote_sounds.yml b/Resources/Prototypes/Voice/speech_emote_sounds.yml index 0edd18d3ff..ee2b1e0d5f 100644 --- a/Resources/Prototypes/Voice/speech_emote_sounds.yml +++ b/Resources/Prototypes/Voice/speech_emote_sounds.yml @@ -441,6 +441,8 @@ params: variation: 0.05 sounds: + Scream: + collection: XenoborgScream Laugh: collection: XenoborgLaugh Beep: diff --git a/Resources/Prototypes/name_identifier_groups.yml b/Resources/Prototypes/name_identifier_groups.yml index 9777e84243..1928e11281 100644 --- a/Resources/Prototypes/name_identifier_groups.yml +++ b/Resources/Prototypes/name_identifier_groups.yml @@ -1,4 +1,4 @@ -# Non-fungible apes, anyone? +# Non-fungible apes, anyone? - type: nameIdentifierGroup id: Monkey format: name-identifier-format-monkey @@ -29,6 +29,12 @@ minValue: 1000 maxValue: 9999 +- type: nameIdentifierGroup + id: Xenoborg + format: name-identifier-format-xenoborg + minValue: 1000 + maxValue: 9999 + - type: nameIdentifierGroup id: StationAi format: name-identifier-format-station-ai diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json b/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json index 3cc071054f..ac631e0294 100644 --- a/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json +++ b/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json @@ -127,6 +127,9 @@ { "name":"xenoborg-eye-module" }, + { + "name":"xenoborg-eye2-module" + }, { "name":"xenoborg-hypo-module" }, diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-eye2-module.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-eye2-module.png new file mode 100644 index 0000000000..8011403508 Binary files /dev/null and b/Resources/Textures/Interface/Actions/actions_borg.rsi/xenoborg-eye2-module.png differ diff --git a/Resources/Textures/Interface/Alerts/shuttle.rsi/meta.json b/Resources/Textures/Interface/Alerts/shuttle.rsi/meta.json new file mode 100644 index 0000000000..e806b9afdc --- /dev/null +++ b/Resources/Textures/Interface/Alerts/shuttle.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "not sure", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "piloting" + } + ] +} diff --git a/Resources/Textures/Interface/Alerts/piloting.png b/Resources/Textures/Interface/Alerts/shuttle.rsi/piloting.png similarity index 100% rename from Resources/Textures/Interface/Alerts/piloting.png rename to Resources/Textures/Interface/Alerts/shuttle.rsi/piloting.png diff --git a/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-active.png b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-active.png new file mode 100644 index 0000000000..1b64de18a2 Binary files /dev/null and b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-active.png differ diff --git a/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-idle.png b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-idle.png new file mode 100644 index 0000000000..5cafcef584 Binary files /dev/null and b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-idle.png differ diff --git a/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-load.png b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-load.png new file mode 100644 index 0000000000..138e9eebcf Binary files /dev/null and b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-load.png differ diff --git a/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-o.png b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-o.png new file mode 100644 index 0000000000..439b25217f Binary files /dev/null and b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/core-o.png differ diff --git a/Resources/Textures/Mobs/Silicon/mothership_core.rsi/meta.json b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/meta.json new file mode 100644 index 0000000000..0f8bb69530 --- /dev/null +++ b/Resources/Textures/Mobs/Silicon/mothership_core.rsi/meta.json @@ -0,0 +1,199 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by Samuka", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "core-active", + "directions": 4, + "delays": [ + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "core-idle", + "directions": 4 + }, + { + "name": "core-o", + "directions": 4 + }, + { + "name": "core-load", + "directions": 4, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ], + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak2.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak2.png new file mode 100644 index 0000000000..77819e93e8 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icon-xenoborg-cloak2.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 3bf41f81ff..ae64caaa15 100644 --- a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/meta.json @@ -118,6 +118,9 @@ { "name": "icon-xenoborg-cloak" }, + { + "name": "icon-xenoborg-cloak2" + }, { "name": "icon-xenoborg-fire-extinguisher" }, @@ -177,10 +180,10 @@ }, { "name": "xenoborg_engi" - }, + }, { "name": "xenoborg_generic" - }, + }, { "name": "xenoborg_heavy" },