Апстрим изменений боргов (#549)

* New borg sounds (#27205)

* New borg sounds

* Add manic laughter of an assault borg

Never wanted, but needed

* Fix wrong attribution

* Some requested changes

* Change borgwalk sounds

* Forgor

* Make borgs shown in logprobe (#27788)

* Players can no longer see that emagged cyborgs' internals have been tampered with. (#27816)

* Add emag-detection funtionality to diag huds

* Add component to the omniHUD

* Fix namespace

* Adress discord review, just axe the message.

* Medical borg add chem glasses (#27843)

* Update borg_chassis.yml

* Update borg_chassis.yml

* fix

* Removing unnecessary components and adapting changes (#28391) for the syndicate

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>

* Create Consistency in the Syndicate Borgs (#27875)

* Gives Mediborg the Medical Hud (#28391)

* Shifts borgs hats to the right a bit (#28600)

* Gives Insulation and NoSlip to all bots (#28621)

* Gives Insulation and NoSlip to all bots

* remove NoSlip from children

* Prevent borgs from getting duplicate modules (#28943)

* Prevent borgs from getting duplicate modules

* outta the loop

---------

Co-authored-by: plykiya <plykiya@protonmail.com>

* fix borgs getting deleted by salvage magnets (#29006)

* Borgs can no longer be freely locked/unlocked when emagged (#29605)

Co-authored-by: plykiya <plykiya@protonmail.com>

* Added Health Analyzer to basic treatment module. (#29696)

Removed dropped, added Health Analyzer to Basic Treatment Module

Co-authored-by: JIP <jipdawg93@gmail.com>

* Add petting cyborgs (#30037)

added petting borgs, adjusted interactions

* Fix: Syndie borg can now wield DEsword (#30229)

* Syndie borg can now wield DEsword

* Made child of EnergySwordDouble for borgs
* Made ESword borg module use this new borg DESword

* Removed name property of CyborgDESword so that it now inherits from DESword and added a suffix to differentiate the two in spawn menu

* Revert "fix borgs getting deleted by salvage magnets (#29006)"

This reverts commit c6a2d3dc0d15b1f5535ad9fe2a481ec9cfd4f111.

* borgs sound change

---------

Co-authored-by: MilenVolf <63782763+MilenVolf@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Jajsha <101492056+Zap527@users.noreply.github.com>
Co-authored-by: marbow <152051971+marboww@users.noreply.github.com>
Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: JIPDawg <51352440+JIPDawg@users.noreply.github.com>
Co-authored-by: JIP <jipdawg93@gmail.com>
Co-authored-by: CookieMasterT <124045269+CookieMasterT@users.noreply.github.com>
Co-authored-by: TheKittehJesus <29379890+SamGithubAccount@users.noreply.github.com>
This commit is contained in:
ThereDrD0
2024-08-03 18:53:54 +03:00
committed by GitHub
parent 242d831ca5
commit 48d6d8bab8
28 changed files with 267 additions and 88 deletions

View File

@@ -274,6 +274,25 @@ public sealed partial class BorgSystem
return false; return false;
} }
if (TryComp<ItemBorgModuleComponent>(module, out var itemModuleComp))
{
foreach (var containedModuleUid in component.ModuleContainer.ContainedEntities)
{
if (!TryComp<ItemBorgModuleComponent>(containedModuleUid, out var containedItemModuleComp))
continue;
for (int i = 0; i < itemModuleComp.Items.Count; i++)
{
if (itemModuleComp.Items[i] != containedItemModuleComp.Items[i])
continue;
}
if (user != null)
Popup.PopupEntity(Loc.GetString("borg-module-duplicate"), uid, user.Value);
return false;
}
}
return true; return true;
} }

View File

@@ -55,7 +55,6 @@ public sealed class SiliconLawSystem : SharedSiliconLawSystem
SubscribeLocalEvent<SiliconLawProviderComponent, GotEmaggedEvent>(OnEmagLawsAdded); SubscribeLocalEvent<SiliconLawProviderComponent, GotEmaggedEvent>(OnEmagLawsAdded);
SubscribeLocalEvent<EmagSiliconLawComponent, MindAddedMessage>(OnEmagMindAdded); SubscribeLocalEvent<EmagSiliconLawComponent, MindAddedMessage>(OnEmagMindAdded);
SubscribeLocalEvent<EmagSiliconLawComponent, MindRemovedMessage>(OnEmagMindRemoved); SubscribeLocalEvent<EmagSiliconLawComponent, MindRemovedMessage>(OnEmagMindRemoved);
SubscribeLocalEvent<EmagSiliconLawComponent, ExaminedEvent>(OnExamined);
} }
private void OnComponentShutdown(EntityUid uid, SiliconLawBoundComponent component, ComponentShutdown args) private void OnComponentShutdown(EntityUid uid, SiliconLawBoundComponent component, ComponentShutdown args)
@@ -155,17 +154,6 @@ public sealed class SiliconLawSystem : SharedSiliconLawSystem
}); });
} }
private void OnExamined(EntityUid uid, EmagSiliconLawComponent component, ExaminedEvent args)
{
if (!args.IsInDetailsRange || !HasComp<EmaggedComponent>(uid))
return;
if (component.RequireOpenPanel && TryComp<WiresPanelComponent>(uid, out var panel) && !panel.Open)
return;
args.PushMarkup(Loc.GetString("laws-compromised-examine"));
}
protected override void OnGotEmagged(EntityUid uid, EmagSiliconLawComponent component, ref GotEmaggedEvent args) protected override void OnGotEmagged(EntityUid uid, EmagSiliconLawComponent component, ref GotEmaggedEvent args)
{ {
if (component.RequireOpenPanel && TryComp<WiresPanelComponent>(uid, out var panel) && !panel.Open) if (component.RequireOpenPanel && TryComp<WiresPanelComponent>(uid, out var panel) && !panel.Open)

View File

@@ -6,7 +6,9 @@ using Content.Shared.Emag.Components;
using Content.Shared.Emag.Systems; using Content.Shared.Emag.Systems;
using Content.Shared.Hands.EntitySystems; using Content.Shared.Hands.EntitySystems;
using Content.Shared.Inventory; using Content.Shared.Inventory;
using Content.Shared.NameIdentifier;
using Content.Shared.PDA; using Content.Shared.PDA;
using Content.Shared.Silicons.Borgs.Components;
using Content.Shared.StationRecords; using Content.Shared.StationRecords;
using Robust.Shared.Containers; using Robust.Shared.Containers;
using Robust.Shared.GameStates; using Robust.Shared.GameStates;
@@ -393,6 +395,9 @@ public sealed class AccessReaderSystem : EntitySystem
ent.Comp.AccessLog.Dequeue(); ent.Comp.AccessLog.Dequeue();
string? name = null; string? name = null;
if (TryComp<NameIdentifierComponent>(accessor, out var nameIdentifier))
name = nameIdentifier.FullIdentifier;
// TODO pass the ID card on IsAllowed() instead of using this expensive method // TODO pass the ID card on IsAllowed() instead of using this expensive method
// Set name if the accessor has a card and that card has a name and allows itself to be recorded // Set name if the accessor has a card and that card has a name and allows itself to be recorded
if (_idCardSystem.TryFindIdCard(accessor, out var idCard) if (_idCardSystem.TryFindIdCard(accessor, out var idCard)

View File

@@ -71,3 +71,10 @@
license: "CC-BY-SA-3.0" license: "CC-BY-SA-3.0"
copyright: "Taken from tgstation" copyright: "Taken from tgstation"
source: "https://github.com/tgstation/tgstation/tree/1e8d511946d194f92f744f5f957a7c41683d84a6/sound/effects/footstep" source: "https://github.com/tgstation/tgstation/tree/1e8d511946d194f92f744f5f957a7c41683d84a6/sound/effects/footstep"
- files:
- borgwalk1.ogg
- borgwalk2.ogg
license: "CC-BY-SA-4.0"
copyright: "Taken from IENBA freesound.org and modified by https://github.com/MilenVolf"
source: "https://freesound.org/people/IENBA/sounds/697379/"

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,4 @@
- files: ["syndieborg_laugh.ogg"]
license: "CC0-1.0"
copyright: "Taken from vultraz168 freesound.org and modified by https://github.com/MilenVolf"
source: "https://freesound.org/people/vultraz168/sounds/334665/"

Binary file not shown.

View File

@@ -0,0 +1,10 @@
- files:
- borg.ogg
- borg_ask.ogg
- borg_exclaim.ogg
- syndieborg.ogg
- syndieborg_ask.ogg
- syndieborg_exclaim.ogg
license: "CC-BY-SA-4.0"
copyright: "Recorded and mixed by https://github.com/MilenVolf"
source: "https://github.com/space-wizards/space-station-14/pull/27205"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,4 +1,4 @@
borg-player-not-allowed = The brain doesn't fit! borg-player-not-allowed = The brain doesn't fit!
borg-player-not-allowed-eject = The brain was expelled from the chassis! borg-player-not-allowed-eject = The brain was expelled from the chassis!
borg-panel-not-open = The cyborg's panel isn't open... borg-panel-not-open = The cyborg's panel isn't open...
@@ -7,6 +7,7 @@ borg-mind-added = {CAPITALIZE($name)} powered on!
borg-mind-removed = {CAPITALIZE($name)} shut off! borg-mind-removed = {CAPITALIZE($name)} shut off!
borg-module-too-many = There's not enough room for another module... borg-module-too-many = There's not enough room for another module...
borg-module-duplicate = This module is already installed in this cyborg.
borg-module-whitelist-deny = This module doesn't fit in this type of cyborg... borg-module-whitelist-deny = This module doesn't fit in this type of cyborg...
borg-construction-guide-string = The cyborg limbs and torso must be attached to the endoskeleton. borg-construction-guide-string = The cyborg limbs and torso must be attached to the endoskeleton.

View File

@@ -61,12 +61,26 @@ petting-success-honkbot = You pet {THE($target)} on {POSS-ADJ($target)} slippery
petting-success-mimebot = You pet {THE($target)} on {POSS-ADJ($target)} cold metal head. petting-success-mimebot = You pet {THE($target)} on {POSS-ADJ($target)} cold metal head.
petting-success-cleanbot = You pet {THE($target)} on {POSS-ADJ($target)} damp metal head. petting-success-cleanbot = You pet {THE($target)} on {POSS-ADJ($target)} damp metal head.
petting-success-medibot = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head. petting-success-medibot = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head.
petting-success-generic-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} metal head.
petting-success-salvage-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} dirty metal head.
petting-success-engineer-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} reflective metal head.
petting-success-janitor-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} damp metal head.
petting-success-medical-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head.
petting-success-service-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} dapper looking metal head.
petting-success-syndicate-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} menacing metal head.
petting-success-recycler = You pet {THE($target)} on {POSS-ADJ($target)} mildly threatening steel exterior. petting-success-recycler = You pet {THE($target)} on {POSS-ADJ($target)} mildly threatening steel exterior.
petting-failure-honkbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} honks in refusal! petting-failure-honkbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} honks in refusal!
petting-failure-cleanbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy mopping! petting-failure-cleanbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy mopping!
petting-failure-mimebot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy miming! petting-failure-mimebot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy miming!
petting-failure-medibot = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} syringe nearly stabs your hand! petting-failure-medibot = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} syringe nearly stabs your hand!
petting-failure-generic-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy stating laws!
petting-failure-salvage-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy drilling!
petting-failure-engineer-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy repairing!
petting-failure-janitor-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy cleaning!
petting-failure-medical-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy saving lives!
petting-failure-service-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy serving others!
petting-failure-syndicate-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} treacherous affiliation makes you reconsider.
## Knocking on windows ## Knocking on windows

View File

@@ -47,5 +47,3 @@ laws-ui-state-law = State law:
laws-notify = You are bound to silicon laws, which you can view via the sidebar action. You are required to always follow your laws. laws-notify = You are bound to silicon laws, which you can view via the sidebar action. You are required to always follow your laws.
laws-update-notify = Your laws have been updated. You can view the changes via the sidebar action. laws-update-notify = Your laws have been updated. You can view the changes via the sidebar action.
laws-compromised-examine = The [color=red]law-governing[/color] internals seem damaged...

View File

@@ -1,3 +1,15 @@
- type: entity
id: ShowMedicalIcons
abstract: true
noSpawn: true
components:
- type: ShowHealthBars
damageContainers:
- Biological
- type: ShowHealthIcons
damageContainers:
- Biological
- type: entity - type: entity
parent: ClothingEyesBase parent: ClothingEyesBase
id: ClothingEyesHudDiagnostic id: ClothingEyesHudDiagnostic
@@ -14,7 +26,7 @@
- Silicon - Silicon
- type: entity - type: entity
parent: ClothingEyesBase parent: [ClothingEyesBase, ShowMedicalIcons]
id: ClothingEyesHudMedical id: ClothingEyesHudMedical
name: medical hud name: medical hud
description: A heads-up display that scans the humanoids in view and provides accurate data about their health status. description: A heads-up display that scans the humanoids in view and provides accurate data about their health status.
@@ -23,12 +35,6 @@
sprite: Clothing/Eyes/Hud/med.rsi sprite: Clothing/Eyes/Hud/med.rsi
- type: Clothing - type: Clothing
sprite: Clothing/Eyes/Hud/med.rsi sprite: Clothing/Eyes/Hud/med.rsi
- type: ShowHealthBars
damageContainers:
- Biological
- type: ShowHealthIcons
damageContainers:
- Biological
- type: Tag - type: Tag
tags: tags:
- HudMedical - HudMedical
@@ -101,7 +107,7 @@
- type: ShowThirstIcons - type: ShowThirstIcons
- type: entity - type: entity
parent: ClothingEyesBase parent: [ClothingEyesBase, ShowMedicalIcons]
id: ClothingEyesHudMedOnion id: ClothingEyesHudMedOnion
name: medonion hud name: medonion hud
description: Filler description: Filler
@@ -110,16 +116,10 @@
sprite: Clothing/Eyes/Hud/medonion.rsi sprite: Clothing/Eyes/Hud/medonion.rsi
- type: Clothing - type: Clothing
sprite: Clothing/Eyes/Hud/medonion.rsi sprite: Clothing/Eyes/Hud/medonion.rsi
- type: ShowHealthBars
damageContainers:
- Biological
- type: ShowHealthIcons
damageContainers:
- Biological
- type: ShowHungerIcons - type: ShowHungerIcons
- type: entity - type: entity
parent: ClothingEyesBase parent: [ClothingEyesBase, ShowMedicalIcons]
id: ClothingEyesHudMedOnionBeer id: ClothingEyesHudMedOnionBeer
name: medthungerst hud name: medthungerst hud
description: Filler description: Filler
@@ -128,17 +128,11 @@
sprite: Clothing/Eyes/Hud/medonionbeer.rsi sprite: Clothing/Eyes/Hud/medonionbeer.rsi
- type: Clothing - type: Clothing
sprite: Clothing/Eyes/Hud/medonionbeer.rsi sprite: Clothing/Eyes/Hud/medonionbeer.rsi
- type: ShowHealthBars
damageContainers:
- Biological
- type: ShowHealthIcons
damageContainers:
- Biological
- type: ShowHungerIcons - type: ShowHungerIcons
- type: ShowThirstIcons - type: ShowThirstIcons
- type: entity - type: entity
parent: [ClothingEyesBase, SecHud] parent: [ClothingEyesBase, SecHud, ShowMedicalIcons]
id: ClothingEyesHudMedSec id: ClothingEyesHudMedSec
name: medsec hud name: medsec hud
description: An eye display that looks like a mixture of medical and security huds. description: An eye display that looks like a mixture of medical and security huds.
@@ -151,15 +145,9 @@
graph: HudMedSec graph: HudMedSec
node: medsecHud node: medsecHud
- type: ShowSecurityIcons - type: ShowSecurityIcons
- type: ShowHealthBars
damageContainers:
- Biological
- type: ShowHealthIcons
damageContainers:
- Biological
- type: entity - type: entity
parent: [ClothingEyesBase, SecHud] parent: [ClothingEyesBase, SecHud, ShowMedicalIcons]
id: ClothingEyesHudMultiversal id: ClothingEyesHudMultiversal
name: multiversal hud name: multiversal hud
description: Filler description: Filler
@@ -173,13 +161,10 @@
damageContainers: damageContainers:
- Biological - Biological
- Inorganic - Inorganic
- type: ShowHealthIcons
damageContainers:
- Biological
- type: ShowSyndicateIcons - type: ShowSyndicateIcons
- type: entity - type: entity
parent: [ClothingEyesBase, SecHud] parent: [ClothingEyesBase, SecHud, ShowMedicalIcons]
id: ClothingEyesHudOmni id: ClothingEyesHudOmni
name: omni hud name: omni hud
description: Filler description: Filler
@@ -193,9 +178,6 @@
damageContainers: damageContainers:
- Biological - Biological
- Inorganic - Inorganic
- type: ShowHealthIcons
damageContainers:
- Biological
- type: ShowHungerIcons - type: ShowHungerIcons
- type: ShowThirstIcons - type: ShowThirstIcons
- type: ShowSyndicateIcons - type: ShowSyndicateIcons

View File

@@ -130,11 +130,17 @@
proto: robot proto: robot
- type: Speech - type: Speech
speechVerb: Robotic speechVerb: Robotic
speechSounds: Pai speechSounds: Borg
- type: Vocal - type: Vocal
sounds: sounds:
Unsexed: UnisexSilicon Unsexed: UnisexSilicon
- type: UnblockableSpeech - type: UnblockableSpeech
- type: FootstepModifier
footstepSoundCollection:
collection: FootstepBorg
params:
variation: 0.1
volume: -13
- type: Construction - type: Construction
graph: Cyborg graph: Cyborg
containers: containers:
@@ -142,6 +148,8 @@
- cell_slot - cell_slot
- type: Lock - type: Lock
locked: true locked: true
breakOnEmag: false
unlockOnClick: false
- type: ActivatableUIRequiresLock - type: ActivatableUIRequiresLock
- type: LockedWiresPanel - type: LockedWiresPanel
- type: Damageable - type: Damageable
@@ -207,6 +215,7 @@
tags: tags:
- ShoesRequiredStepTriggerImmune - ShoesRequiredStepTriggerImmune
- DoorBumpOpener - DoorBumpOpener
- FootstepSound
- CanPilot - CanPilot
- type: Emoting - type: Emoting
- type: GuideHelp - type: GuideHelp
@@ -235,23 +244,30 @@
parent: BaseBorgChassis parent: BaseBorgChassis
abstract: true abstract: true
components: components:
- type: NpcFactionMember - type: NpcFactionMember
factions: factions:
- Syndicate - Syndicate
- type: Access - type: Access
tags: tags:
- NuclearOperative - NuclearOperative
- SyndicateAgent - SyndicateAgent
- type: AccessReader - type: AccessReader
access: [["SyndicateAgent"], ["NuclearOperative"]] access: [["SyndicateAgent"], ["NuclearOperative"]]
- type: SiliconLawProvider - type: SiliconLawProvider
laws: SyndicateStatic laws: SyndicateStatic
- type: IntrinsicRadioTransmitter - type: IntrinsicRadioTransmitter
channels: channels:
- Binary - Binary
- Syndicate - Syndicate
- type: ActiveRadio - type: ActiveRadio
channels: channels:
- Syndicate - Syndicate
- type: ShowSyndicateIcons - type: ShowSyndicateIcons
- type: MovementAlwaysTouching - type: MovementAlwaysTouching
- type: Speech
speechSounds: SyndieBorg
- type: Vocal
sounds:
Unsexed: UnisexSiliconSyndicate
- type: PointLight
color: "#dd200b"

View File

@@ -24,6 +24,11 @@
node: cyborg node: cyborg
- type: Speech - type: Speech
speechVerb: Robotic speechVerb: Robotic
- type: InteractionPopup
interactSuccessString: petting-success-generic-cyborg
interactFailureString: petting-failure-generic-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: entity - type: entity
id: BorgChassisMining id: BorgChassisMining
@@ -75,6 +80,13 @@
access: [["Cargo"], ["Salvage"], ["Command"], ["Research"]] access: [["Cargo"], ["Salvage"], ["Command"], ["Research"]]
- type: Inventory - type: Inventory
templateId: borgTall templateId: borgTall
- type: InteractionPopup
interactSuccessString: petting-success-salvage-cyborg
interactFailureString: petting-failure-salvage-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: Speech # WD
speechSounds: BorgUpgraded
- type: entity - type: entity
id: BorgChassisEngineer id: BorgChassisEngineer
@@ -118,6 +130,13 @@
access: [["Engineering"], ["Command"], ["Research"]] access: [["Engineering"], ["Command"], ["Research"]]
- type: Inventory - type: Inventory
templateId: borgShort templateId: borgShort
- type: InteractionPopup
interactSuccessString: petting-success-engineer-cyborg
interactFailureString: petting-failure-engineer-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: Speech # WD
speechSounds: BorgUpgraded
- type: entity - type: entity
id: BorgChassisJanitor id: BorgChassisJanitor
@@ -169,10 +188,17 @@
access: [["Service"], ["Command"], ["Research"]] access: [["Service"], ["Command"], ["Research"]]
- type: Inventory - type: Inventory
templateId: borgShort templateId: borgShort
- type: InteractionPopup
interactSuccessString: petting-success-janitor-cyborg
interactFailureString: petting-failure-janitor-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: Speech # WD
speechSounds: BorgUpgraded
- type: entity - type: entity
id: BorgChassisMedical id: BorgChassisMedical
parent: BaseBorgChassisNT parent: [BaseBorgChassisNT, ShowMedicalIcons]
name: medical cyborg name: medical cyborg
components: components:
- type: Sprite - type: Sprite
@@ -226,6 +252,19 @@
- type: ShowHealthIcons - type: ShowHealthIcons
damageContainers: damageContainers:
- Biological - Biological
- type: SolutionScanner
- type: FootstepModifier
footstepSoundCollection:
collection: FootstepHoverBorg
params:
volume: -6
- type: InteractionPopup
interactSuccessString: petting-success-medical-cyborg
interactFailureString: petting-failure-medical-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: Speech # WD
speechSounds: BorgUpgraded
- type: entity - type: entity
id: BorgChassisService id: BorgChassisService
@@ -269,6 +308,13 @@
access: [["Service"], ["Command"], ["Research"]] access: [["Service"], ["Command"], ["Research"]]
- type: Inventory - type: Inventory
templateId: borgTall templateId: borgTall
- type: InteractionPopup
interactSuccessString: petting-success-service-cyborg
interactFailureString: petting-failure-service-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: Speech # WD
speechSounds: BorgUpgraded
- type: entity - type: entity
id: BorgChassisSyndicateAssault id: BorgChassisSyndicateAssault
@@ -287,8 +333,6 @@
shader: unshaded shader: unshaded
map: ["light"] map: ["light"]
visible: false visible: false
- type: PointLight
color: "#dd200b"
- type: BorgChassis - type: BorgChassis
maxModules: 3 maxModules: 3
moduleWhitelist: moduleWhitelist:
@@ -302,6 +346,11 @@
node: syndicateassault node: syndicateassault
- type: Damageable - type: Damageable
damageModifierSet: AssaultBorg damageModifierSet: AssaultBorg
- type: InteractionPopup
interactSuccessString: petting-success-syndicate-cyborg
interactFailureString: petting-failure-syndicate-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: entity - type: entity
id: BorgChassisSyndicateMedical id: BorgChassisSyndicateMedical
@@ -331,6 +380,14 @@
noMindState: synd_medical noMindState: synd_medical
- type: Construction - type: Construction
node: syndicatemedical node: syndicatemedical
- type: ShowHealthBars
damageContainers:
- Biological
- type: InteractionPopup
interactSuccessString: petting-success-syndicate-cyborg
interactFailureString: petting-failure-syndicate-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: entity - type: entity
id: BorgChassisSyndicateSaboteur id: BorgChassisSyndicateSaboteur
@@ -360,3 +417,12 @@
noMindState: synd_engi noMindState: synd_engi
- type: Construction - type: Construction
node: syndicatesaboteur node: syndicatesaboteur
- type: ShowHealthBars
damageContainers:
- Inorganic
- Silicon
- type: InteractionPopup
interactSuccessString: petting-success-syndicate-cyborg
interactFailureString: petting-failure-syndicate-cyborg
interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg

View File

@@ -109,6 +109,8 @@
proto: robot proto: robot
- type: ZombieImmune - type: ZombieImmune
- type: Penetrated - type: Penetrated
- type: NoSlip
- type: Insulated
- type: entity - type: entity
parent: MobSiliconBase parent: MobSiliconBase
@@ -235,7 +237,6 @@
- type: MovementSpeedModifier - type: MovementSpeedModifier
baseWalkSpeed: 2 baseWalkSpeed: 2
baseSprintSpeed: 3 baseSprintSpeed: 3
- type: NoSlip
- type: HTN - type: HTN
rootTask: rootTask:
task: CleanbotCompound task: CleanbotCompound
@@ -248,7 +249,7 @@
path: /Audio/Ambience/Objects/periodic_beep.ogg path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: entity - type: entity
parent: MobSiliconBase parent: [MobSiliconBase, ShowMedicalIcons]
id: MobMedibot id: MobMedibot
name: medibot name: medibot
description: No substitute for a doctor, but better than nothing. description: No substitute for a doctor, but better than nothing.
@@ -282,19 +283,12 @@
- type: Construction - type: Construction
graph: MediBot graph: MediBot
node: bot node: bot
- type: NoSlip
- type: Anchorable - type: Anchorable
- type: InteractionPopup - type: InteractionPopup
interactSuccessString: petting-success-medibot interactSuccessString: petting-success-medibot
interactFailureString: petting-failure-medibot interactFailureString: petting-failure-medibot
interactSuccessSound: interactSuccessSound:
path: /Audio/Ambience/Objects/periodic_beep.ogg path: /Audio/Ambience/Objects/periodic_beep.ogg
- type: ShowHealthBars
damageContainers:
- Biological
- type: ShowHealthIcons
damageContainers:
- Biological
- type: entity - type: entity
parent: MobSiliconBase parent: MobSiliconBase

View File

@@ -348,12 +348,12 @@
- state: icon-treatment - state: icon-treatment
- type: ItemBorgModule - type: ItemBorgModule
items: items:
- HandheldHealthAnalyzerUnpowered
- Brutepack10Lingering - Brutepack10Lingering
- Ointment10Lingering - Ointment10Lingering
- Gauze10Lingering - Gauze10Lingering
- Bloodpack10Lingering - Bloodpack10Lingering
- Syringe - Syringe
- Dropper
- type: entity - type: entity
id: BorgModuleDefibrillator id: BorgModuleDefibrillator
@@ -539,7 +539,7 @@
- state: icon-syndicate - state: icon-syndicate
- type: ItemBorgModule - type: ItemBorgModule
items: items:
- EnergySwordBorg - CyborgEnergySwordDouble
- PinpointerSyndicateNuclear - PinpointerSyndicateNuclear
- type: entity - type: entity

View File

@@ -306,3 +306,12 @@
enabled: false enabled: false
reflects: reflects:
- Energy - Energy
- type: entity
suffix: One-Handed, For Borgs
parent: EnergySwordDouble
id: CyborgEnergySwordDouble # why is this invalid if ID is BorgEnergySwordDouble
description: Syndicate Command Interns thought that having one blade on the energy sword was not enough. Specially designed for syndicate cyborgs.
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

View File

@@ -7,7 +7,7 @@
uiWindowPos: 1,0 uiWindowPos: 1,0
strippingWindowPos: 0,0 strippingWindowPos: 0,0
displayName: Head displayName: Head
offset: 0, -0.09375 offset: 0.015625, -0.09375
- type: inventoryTemplate - type: inventoryTemplate
id: borgShort id: borgShort
@@ -18,7 +18,7 @@
uiWindowPos: 1,0 uiWindowPos: 1,0
strippingWindowPos: 0,0 strippingWindowPos: 0,0
displayName: Head displayName: Head
offset: 0, -0.1875 offset: 0.015625, -0.1875
- type: inventoryTemplate - type: inventoryTemplate
id: borgTall id: borgTall
@@ -30,6 +30,7 @@
uiWindowPos: 0,0 uiWindowPos: 0,0
strippingWindowPos: 0,0 strippingWindowPos: 0,0
displayName: Head displayName: Head
offset: 0.015625, 0
# taller than tall # taller than tall
- type: inventoryTemplate - type: inventoryTemplate

View File

@@ -201,3 +201,13 @@
- /Audio/Effects/Footsteps/spurs1.ogg - /Audio/Effects/Footsteps/spurs1.ogg
- /Audio/Effects/Footsteps/spurs2.ogg - /Audio/Effects/Footsteps/spurs2.ogg
- /Audio/Effects/Footsteps/spurs3.ogg - /Audio/Effects/Footsteps/spurs3.ogg
- type: soundCollection
id: FootstepBorg
files:
- /Audio/Effects/Footsteps/borgwalk1.ogg
- type: soundCollection
id: FootstepHoverBorg
files:
- /Audio/Effects/Footsteps/borgwalk2.ogg

View File

@@ -449,6 +449,26 @@
Ping: Ping:
path: /Audio/Effects/Cargo/ping.ogg path: /Audio/Effects/Cargo/ping.ogg
- type: emoteSounds
id: UnisexSiliconSyndicate
params:
variation: 0.05
sounds:
Laugh:
path: /Audio/Voice/Silicon/syndieborg_laugh.ogg
Beep:
path: /Audio/Machines/twobeep.ogg
Chime:
path: /Audio/Machines/chime.ogg
Buzz:
path: /Audio/Machines/buzz-sigh.ogg
Buzz-Two:
path: /Audio/Machines/buzz-two.ogg
Honk:
path: /Audio/Items/bikehorn.ogg
Ping:
path: /Audio/Effects/Cargo/ping.ogg
# body emotes # body emotes
- type: emoteSounds - type: emoteSounds
id: GeneralBodyEmotes id: GeneralBodyEmotes

View File

@@ -52,6 +52,41 @@
exclaimSound: exclaimSound:
path: /Audio/Machines/vending_jingle.ogg path: /Audio/Machines/vending_jingle.ogg
- type: speechSounds
id: Borg
saySound:
path: /Audio/Voice/Talk/pai.ogg
askSound:
path: /Audio/Voice/Talk/pai_ask.ogg
exclaimSound:
path: /Audio/Voice/Talk/pai_exclaim.ogg
# WD edit - эти звуки слишком машинные и хладнокровные. Милые звуки пИИ намного лучше
# saySound:
# path: /Audio/Voice/Talk/Silicon/borg.ogg
# askSound:
# path: /Audio/Voice/Talk/Silicon/borg_ask.ogg
# exclaimSound:
# path: /Audio/Voice/Talk/Silicon/borg_exclaim.ogg
- type: speechSounds
id: BorgUpgraded
saySound:
path: /Audio/Voice/Talk/Silicon/borg.ogg
askSound:
path: /Audio/Voice/Talk/Silicon/borg_ask.ogg
exclaimSound:
path: /Audio/Voice/Talk/Silicon/borg_exclaim.ogg
- type: speechSounds
id: SyndieBorg
saySound:
path: /Audio/Voice/Talk/Silicon/syndieborg.ogg
askSound:
path: /Audio/Voice/Talk/Silicon/syndieborg_ask.ogg
exclaimSound:
path: /Audio/Voice/Talk/Silicon/syndieborg_exclaim.ogg
- type: speechSounds - type: speechSounds
id: Pai id: Pai
saySound: saySound: