diff --git a/Content.Client/SurveillanceCamera/ActiveSurveillanceCameraMonitor.cs b/Content.Client/SurveillanceCamera/ActiveSurveillanceCameraMonitor.cs index 6b038a3a4ac..f7ade7211cc 100644 --- a/Content.Client/SurveillanceCamera/ActiveSurveillanceCameraMonitor.cs +++ b/Content.Client/SurveillanceCamera/ActiveSurveillanceCameraMonitor.cs @@ -3,7 +3,7 @@ namespace Content.Client.SurveillanceCamera; [RegisterComponent] public sealed partial class ActiveSurveillanceCameraMonitorVisualsComponent : Component { - public float TimeLeft = 10f; + public float TimeLeft = 2f; //ADT public Action? OnFinish; } diff --git a/Content.Shared/ADT/NeedTagToUse/NeedTagToUseComponent.cs b/Content.Shared/ADT/NeedTagToUse/NeedTagToUseComponent.cs new file mode 100644 index 00000000000..1f1475487b4 --- /dev/null +++ b/Content.Shared/ADT/NeedTagToUse/NeedTagToUseComponent.cs @@ -0,0 +1,9 @@ +namespace Content.Shared.ADT.NeedTagToUse +{ + [RegisterComponent] + public sealed partial class NeedTagToUseComponent : Component + { + [DataField] + public string Tag = "ADTBorgUse"; + } +} diff --git a/Content.Shared/ADT/NeedTagToUse/NeedTagToUseSystem.cs b/Content.Shared/ADT/NeedTagToUse/NeedTagToUseSystem.cs new file mode 100644 index 00000000000..0be38c560a9 --- /dev/null +++ b/Content.Shared/ADT/NeedTagToUse/NeedTagToUseSystem.cs @@ -0,0 +1,36 @@ +using Content.Shared.Interaction.Components; +using Content.Shared.Interaction.Events; +using Content.Shared.Item; +using Content.Shared.Tag; + +namespace Content.Shared.ADT.NeedTagToUse +{ + public sealed class NeedTagToUseSystem : EntitySystem + { + [Dependency] private readonly TagSystem _tagSystem = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnInteractionAttempt); + SubscribeLocalEvent(OnAttempt); + } + + private void OnInteractionAttempt(EntityUid uid, NeedTagToUseComponent component, InteractionAttemptEvent args) + { + if (args.Target != null && !HasComp(args.Target)) + args.Cancelled = true; + + if (HasComp(args.Target) && !HasComp(args.Target)) + { + if (!_tagSystem.HasAnyTag(args.Target.Value, component.Tag)) + args.Cancelled = true; + } + } + private void OnAttempt(EntityUid uid, NeedTagToUseComponent component, PickupAttemptEvent args) + { + if (!_tagSystem.HasAnyTag(args.Item, component.Tag)) + args.Cancel(); + } + } +} diff --git a/Content.Shared/Cuffs/Components/HandcuffComponent.cs b/Content.Shared/Cuffs/Components/HandcuffComponent.cs index 289f587239b..d493a1eb653 100644 --- a/Content.Shared/Cuffs/Components/HandcuffComponent.cs +++ b/Content.Shared/Cuffs/Components/HandcuffComponent.cs @@ -92,6 +92,8 @@ public sealed partial class HandcuffComponent : Component [DataField, ViewVariables(VVAccess.ReadWrite)] public SoundSpecifier EndUncuffSound = new SoundPathSpecifier("/Audio/Items/Handcuffs/cuff_takeoff_end.ogg"); + + [DataField, ViewVariables(VVAccess.ReadWrite)] public bool BorgUse = false; ///ADT secborg } /// diff --git a/Content.Shared/Cuffs/SharedCuffableSystem.cs b/Content.Shared/Cuffs/SharedCuffableSystem.cs index 21d09c744cd..f9656599ebe 100644 --- a/Content.Shared/Cuffs/SharedCuffableSystem.cs +++ b/Content.Shared/Cuffs/SharedCuffableSystem.cs @@ -33,6 +33,8 @@ using Robust.Shared.Serialization; using Robust.Shared.Utility; using PullableComponent = Content.Shared.Movement.Pulling.Components.PullableComponent; +using Content.Shared.Stacks; +using System.Diagnostics.CodeAnalysis; namespace Content.Shared.Cuffs { @@ -53,6 +55,7 @@ public abstract partial class SharedCuffableSystem : EntitySystem [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; [Dependency] private readonly UseDelaySystem _delay = default!; + [Dependency] private readonly SharedStackSystem _stacks = default!; public override void Initialize() { @@ -450,6 +453,50 @@ private void UpdateHeldItems(EntityUid uid, EntityUid handcuff, CuffableComponen EnsureComp(virtItem2.Value); } +///ADT secborg start + /// + /// Checks if the handcuff is stackable, and creates a new handcuff entity if the stack requires it. + /// + /// + public bool TrySpawnCuffSplitStack(EntityUid handcuff, EntityUid user, EntityUid target, [NotNullWhen(true)] out EntityUid? handcuffsplit) + { + if (!HasComp(handcuff)) + { + handcuffsplit = null; + return false; + } + if (TryComp(handcuff, out var stackComp)) + { + if (_stacks.GetCount(handcuff, stackComp) >= 1) + { + _stacks.Use(handcuff, 1, stackComp); + + if (_net.IsServer) /// let the server spawn because client mispredicts + { + var pos = Transform(target).Coordinates; + handcuffsplit = Spawn("Zipties", pos); /// This should somehow get the proto ID instead of zipties, but fuck if I know how. + return true; + } + else + { + handcuffsplit = null; + return false; + } + } + else + { + handcuffsplit = null; + return false; + } + } + else + { + handcuffsplit = handcuff; + _hands.TryDrop(user, handcuff); + return true; + } + } +///ADT secborg end /// /// Add a set of cuffs to an existing CuffedComponent. /// @@ -462,12 +509,21 @@ public bool TryAddNewCuffs(EntityUid target, EntityUid user, EntityUid handcuff, return false; // Success! - _hands.TryDrop(user, handcuff); + //ADT secborg start + TrySpawnCuffSplitStack(handcuff, user, target, out EntityUid? handcuffsplit); - _container.Insert(handcuff, component.Container); - UpdateHeldItems(target, handcuff, component); - return true; + if (handcuffsplit.HasValue) + { + _container.Insert(handcuffsplit.Value, component.Container); + UpdateHeldItems(target, (EntityUid) handcuffsplit, component); + return true; + } + else + { + return false; + } } + ///ADT secborg end /// False if the target entity isn't cuffable. public bool TryCuffing(EntityUid user, EntityUid target, EntityUid handcuff, HandcuffComponent? handcuffComponent = null, CuffableComponent? cuffable = null) @@ -489,7 +545,7 @@ public bool TryCuffing(EntityUid user, EntityUid target, EntityUid handcuff, Han return true; } - if (!_hands.CanDrop(user, handcuff)) + if (!_hands.CanDrop(user, handcuff) && !handcuffComponent.BorgUse) ///ADT secbotg { _popup.PopupClient(Loc.GetString("handcuff-component-cannot-drop-cuffs", ("target", Identity.Name(target, EntityManager, user))), user, user); return false; diff --git a/Resources/Audio/ADT/Effects/Footsteps/attributions.yml b/Resources/Audio/ADT/Effects/Footsteps/attributions.yml new file mode 100644 index 00000000000..3940abfbfbd --- /dev/null +++ b/Resources/Audio/ADT/Effects/Footsteps/attributions.yml @@ -0,0 +1,8 @@ + +- files: + - borgwalk1.ogg + - borgwalk2.ogg + - borgwalk3.ogg + license: "CC-BY-SA-4.0" + copyright: "Recorded and modified by https://github.com/MilenVolf" + source: "https://git.arumoon.ru/Workbench-Team/space-station-14/-/merge_requests/123" diff --git a/Resources/Audio/ADT/Effects/Footsteps/borgwalk1.ogg b/Resources/Audio/ADT/Effects/Footsteps/borgwalk1.ogg new file mode 100644 index 00000000000..55f1b22cda9 Binary files /dev/null and b/Resources/Audio/ADT/Effects/Footsteps/borgwalk1.ogg differ diff --git a/Resources/Audio/ADT/Effects/Footsteps/borgwalk2.ogg b/Resources/Audio/ADT/Effects/Footsteps/borgwalk2.ogg new file mode 100644 index 00000000000..e4bece6cfef Binary files /dev/null and b/Resources/Audio/ADT/Effects/Footsteps/borgwalk2.ogg differ diff --git a/Resources/Audio/ADT/Effects/Footsteps/borgwalk3.ogg b/Resources/Audio/ADT/Effects/Footsteps/borgwalk3.ogg new file mode 100644 index 00000000000..713530f0b7d Binary files /dev/null and b/Resources/Audio/ADT/Effects/Footsteps/borgwalk3.ogg differ diff --git a/Resources/Locale/ru-RU/ADT/Job/job-description.ftl b/Resources/Locale/ru-RU/ADT/Job/job-description.ftl index 0aff11fdb0b..5a55e815166 100644 --- a/Resources/Locale/ru-RU/ADT/Job/job-description.ftl +++ b/Resources/Locale/ru-RU/ADT/Job/job-description.ftl @@ -13,3 +13,5 @@ job-description-senior-researcher = Обучайте новых учёных о job-description-senior-engineer = Обучайте новых инженеров основам работы силовых установок, ремонту, атмосферике и энергоснабжению станции. job-description-senior-officer = Обучать новых офицеров основам обыска и задержания, срокам заключения и правильному обращению с огнестрельным оружием. + +job-description-ADTsecborg = Держать на станции порядок, помогать СБ выполнять свою работую \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ADT/Job/job-names.ftl b/Resources/Locale/ru-RU/ADT/Job/job-names.ftl index 0dc40b11604..eea590626e8 100644 --- a/Resources/Locale/ru-RU/ADT/Job/job-names.ftl +++ b/Resources/Locale/ru-RU/ADT/Job/job-names.ftl @@ -26,3 +26,6 @@ job-name-ADTSpaceSecOfficer = офицер SPACE SEC job-name-ADTSpaceSecPilot = пилот SPACE SEC job-name-ADTSpaceSecCommander = командир SPACE SEC job-name-ADTSpaceSecService = сотрудник SPACE SEC + +job-name-ADTSecBorg = Киборг службы безопасности +JobADTSecBorg = Киборг службы безопасности diff --git a/Resources/Locale/ru-RU/ADT/Objects/Specific/Robotics/borg_modules.ftl b/Resources/Locale/ru-RU/ADT/Objects/Specific/Robotics/borg_modules.ftl new file mode 100644 index 00000000000..8be2a022302 --- /dev/null +++ b/Resources/Locale/ru-RU/ADT/Objects/Specific/Robotics/borg_modules.ftl @@ -0,0 +1,6 @@ +ent-ADTBorgModuleDetention = модуль задержания + .desc = сожержит вспышку, кабельные стяжки и телескопическую дубинку. +ent-ADTBorgModuleHarm = модуль вреда + .desc = сожержит самозарядную лазерную винтовку и дубину для нанесения тяжких телесных повреждений. +ent-ADTBorgModuleDisabler = модуль дизаблера + .desc = сожержит дизаблер и кабельные стяжки. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ADT/Objects/Specific/Robotics/borg_parts.ftl b/Resources/Locale/ru-RU/ADT/Objects/Specific/Robotics/borg_parts.ftl new file mode 100644 index 00000000000..7a467d6060d --- /dev/null +++ b/Resources/Locale/ru-RU/ADT/Objects/Specific/Robotics/borg_parts.ftl @@ -0,0 +1,6 @@ +ent-ADTLeftArmBorgSecurity = левая рука киборга-офицера +ent-ADTRightArmBorgSecurity = правая рука киборга-офицера +ent-ADTLeftLegBorgSecurity = левая нога киборга-офицера +ent-ADTRightLegBorgSecurity = правая нога киборга-офицера +ent-ADTHeadBorgSecurity = голова киборга-офицера +ent-ADTTorsoBorgSecurity = туловище киборга-офицера diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Neck/specific.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Neck/specific.ftl index 127372e87d1..c14a1520e66 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Neck/specific.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Neck/specific.ftl @@ -1,2 +1,5 @@ ent-ADTClothingNeckSecBadge = жетон Службы Безопасности - .desc = Позолоченный жетон с символикой Службы Безопасности и индивидуальным номером сотрудника. Предмет особой гордости среди офицеров. \ No newline at end of file + .desc = Позолоченный жетон с символикой Службы Безопасности и индивидуальным номером сотрудника. Предмет особой гордости среди офицеров. + +ent-ADTClothingNeckBodyCamera = бодикамера + .desc = Носимая камера для обеспечения подотчетности и ответственности. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Mobs/Cyborgs/borg.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Mobs/Cyborgs/borg.ftl new file mode 100644 index 00000000000..d1c87079791 --- /dev/null +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Mobs/Cyborgs/borg.ftl @@ -0,0 +1,2 @@ +ent-ADTBorgChassisSec = киборг-офицер + .desc = Прочный, сильный, быстрый, сме... справедливоносный. diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/Guns/Guns.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/Guns/Guns.ftl index db2b5a513d1..972be0364b7 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/Guns/Guns.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/Guns/Guns.ftl @@ -10,4 +10,11 @@ ent-ADTEctoplasmicPistol = эктоплазменный револьвер .desc = Разнаботано специально для GhostBusters™. ent-ADTEctoplasmicRifle = эктоплазменная винтовка - .desc = Разнаботано специально для GhostBusters™. \ No newline at end of file + .desc = Разнаботано специально для GhostBusters™. + + +ent-ADTWeaponLaserCarbineBorg = лазерная винтовка борга + .desc = от боргов, для боргов. + +ent-ADTWeaponDisablerBorg = дизаблер борга + .desc = дизаблер, не требующий зарядки. \ No newline at end of file diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/security.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/security.ftl new file mode 100644 index 00000000000..e1f508b1367 --- /dev/null +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Objects/Weapons/security.ftl @@ -0,0 +1,2 @@ +ent-ADTBorgflash = вспышка + .desc = Вспышка, оборудованная модулем починки. \ No newline at end of file diff --git a/Resources/Maps/cog.yml b/Resources/Maps/cog.yml index af873bf2431..99ef3fd542f 100644 --- a/Resources/Maps/cog.yml +++ b/Resources/Maps/cog.yml @@ -154219,36 +154219,20 @@ entities: - type: Transform pos: 31.551949,51.708954 parent: 12 -- proto: RiotBulletShield +- proto: Ash entities: - uid: 20873 components: - type: Transform pos: -37.44216,65.286 parent: 12 - - type: Blocking - blockingToggleActionEntity: 20777 - - type: ActionsContainer - - type: ContainerContainer - containers: - actions: !type:Container - ents: - - 20777 -- proto: RiotLaserShield +- proto: Ash entities: - uid: 20850 components: - type: Transform pos: -37.846073,65.249306 parent: 12 - - type: Blocking - blockingToggleActionEntity: 19882 - - type: ActionsContainer - - type: ContainerContainer - containers: - actions: !type:Container - ents: - - 19882 - proto: RollerBedSpawnFolded entities: - uid: 3815 diff --git a/Resources/Prototypes/ADT/Entities/Clothing/Neck/bodycamera.yml b/Resources/Prototypes/ADT/Entities/Clothing/Neck/bodycamera.yml new file mode 100644 index 00000000000..10185387322 --- /dev/null +++ b/Resources/Prototypes/ADT/Entities/Clothing/Neck/bodycamera.yml @@ -0,0 +1,28 @@ +- type: entity + parent: Clothing + id: ADTClothingNeckBodyCamera + name: bodycamera + description: Wearable camera to ensure accountability and responsibility. + components: + - type: Item + size: Small + - type: Sprite + state: icon + sprite: ADT/Clothing/Neck/bodycam.rsi + - type: Clothing + sprite: ADT/Clothing/Neck/bodycam.rsi + quickEquip: true + slots: + - neck + - type: DeviceNetwork + deviceNetId: Wireless + receiveFrequencyId: SurveillanceCameraSecurity + transmitFrequencyId: SurveillanceCamera + - type: SurveillanceCamera + networkSet: true + nameSet: true + - type: ActiveListener + range: 3 + - type: Eye + - type: WirelessNetworkConnection + range: 100 diff --git a/Resources/Prototypes/ADT/Entities/Markers/Spawners/jobs.yml b/Resources/Prototypes/ADT/Entities/Markers/Spawners/jobs.yml index 5217c6fbe42..51f3beffd25 100644 --- a/Resources/Prototypes/ADT/Entities/Markers/Spawners/jobs.yml +++ b/Resources/Prototypes/ADT/Entities/Markers/Spawners/jobs.yml @@ -27,7 +27,7 @@ name: magistrat components: - type: SpawnPoint - job_id: Magistrat + job_id: Magistrat - type: Sprite layers: - state: green @@ -39,7 +39,7 @@ name: IAA components: - type: SpawnPoint - job_id: IAA + job_id: IAA - type: Sprite layers: - state: green @@ -105,7 +105,7 @@ layers: - state: green - state: seniorresearcher - + - type: entity id: SpawnPointSeniorOfficer parent: SpawnPointJobBase @@ -116,4 +116,16 @@ - type: Sprite layers: - state: green - - state: seniorofficer \ No newline at end of file + - state: seniorofficer + +- type: entity + id: SpawnADTSecborg + parent: ADTSpawnPointJobBase + name: secborg + components: + - type: SpawnPoint + job_id: ADTSecBorg + - type: Sprite + layers: + - state: green + - state: secborg diff --git a/Resources/Prototypes/ADT/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/ADT/Entities/Mobs/Cyborgs/borg_chassis.yml new file mode 100644 index 00000000000..02bde298aa5 --- /dev/null +++ b/Resources/Prototypes/ADT/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -0,0 +1,74 @@ +- type: entity + id: ADTBorgChassisSec + parent: BaseBorgChassisNT + name: sec borg + components: + - type: Sprite + sprite: ADT/Mobs/Cyborg/chassis.rsi + layers: + - state: sec + map: ["movement"] + - state: sec_e_r + map: ["enum.BorgVisualLayers.Light"] + shader: unshaded + visible: false + - state: sec_l + shader: unshaded + map: ["light"] + visible: false + - type: BorgChassis + maxModules: 4 + moduleWhitelist: + tags: + - BorgModuleGeneric + - ADTBorgModuleSecurity + hasMindState: sec_e + noMindState: sec_e_r + - type: BorgTransponder + sprite: + sprite: ADT/Mobs/Cyborg/chassis.rsi + state: sec + name: secborg + - type: Construction + node: security + - type: AccessReader + access: [["Security"], ["Command"], ["Research"]] + - type: Inventory + templateId: borgTall + - type: InteractionPopup + interactSuccessString: petting-success-generic-cyborg + interactFailureString: petting-failure-generic-cyborg + interactSuccessSound: + path: /Audio/Ambience/Objects/periodic_beep.ogg + - type: IntrinsicRadioTransmitter + channels: + - Security + - Binary + - Common + - Science + - type: ActiveRadio + channels: + - Security + - Binary + - Common + - Science + - type: TTS + voice: sentrybot +- type: entity + id: ADTPlayerSecBorgGeneric + parent: ADTBorgChassisSec + suffix: Battery, Tools + components: + - type: ContainerFill + containers: + borg_brain: + - PositronicBrain + borg_module: + - ADTBorgModuleDetention + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellMedium + - type: RandomMetadata + nameSegments: [names_borg] diff --git a/Resources/Prototypes/ADT/Entities/Mobs/Cyborgs/fill.txt b/Resources/Prototypes/ADT/Entities/Mobs/Cyborgs/fill.txt deleted file mode 100644 index b4954caf47d..00000000000 --- a/Resources/Prototypes/ADT/Entities/Mobs/Cyborgs/fill.txt +++ /dev/null @@ -1 +0,0 @@ -# Данный файл существует по причине того что Githab плохо дружит с пустыми папками, при работе с этой папкой этот файл можно спокойно удалить \ No newline at end of file diff --git a/Resources/Prototypes/ADT/Entities/Objects/Misc/handcuffs.yml b/Resources/Prototypes/ADT/Entities/Objects/Misc/handcuffs.yml new file mode 100644 index 00000000000..7bdea345865 --- /dev/null +++ b/Resources/Prototypes/ADT/Entities/Objects/Misc/handcuffs.yml @@ -0,0 +1,33 @@ +- type: entity + id: ADTInfCablecuffs + parent: Zipties + suffix: lingering, 1 + components: + - type: Handcuff + breakoutTime: 3 + cuffedRSI: Objects/Misc/cablecuffs.rsi # cablecuffs will look fine + bodyIconState: body-overlay + breakOnRemove: true + brokenPrototype: ZiptiesBroken + startCuffSound: + path: /Audio/Items/Handcuffs/ziptie_start.ogg + endCuffSound: + path: /Audio/Items/Handcuffs/ziptie_end.ogg + startUncuffSound: + path: /Audio/Items/Handcuffs/rope_start.ogg + endUncuffSound: + path: /Audio/Items/Handcuffs/rope_breakout.ogg + startBreakoutSound: + path: /Audio/Items/Handcuffs/rope_takeoff.ogg + borgUse: true + - type: Stack + lingering: true + stackType: Zipties + count: 1 + +- type: stack + id: Zipties + name: zipties + icon: { sprite: "/Textures/Objects/Misc/zipties.rsi", state: cuff } + spawn: Zipties + maxCount: 5 diff --git a/Resources/Prototypes/ADT/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/ADT/Entities/Objects/Specific/Robotics/borg_modules.yml new file mode 100644 index 00000000000..1fa0c4c7cd3 --- /dev/null +++ b/Resources/Prototypes/ADT/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -0,0 +1,51 @@ +- type: entity + id: ADTBaseBorgModuleSecurity + parent: BaseBorgModule + abstract: true + components: + - type: Tag + tags: + - ADTBorgModuleSecurity + +- type: entity + id: ADTBorgModuleDetention + parent: [ ADTBaseBorgModuleSecurity, BaseProviderBorgModule ] + name: detentions module + components: + - type: Sprite + layers: + - state: security + - state: icons-detentions + - type: ItemBorgModule + items: + - ADTInfCablecuffs + - ADTtelescopicBaton + - ADTBorgflash + +- type: entity + id: ADTBorgModuleHarm + parent: [ ADTBaseBorgModuleSecurity, BaseProviderBorgModule ] + name: harm module + components: + - type: Sprite + layers: + - state: security + - state: icons-harm + - type: ItemBorgModule + items: + - Truncheon + - ADTWeaponLaserCarbineBorg + +- type: entity + id: ADTBorgModuleDisabler + parent: [ ADTBaseBorgModuleSecurity, BaseProviderBorgModule ] + name: disabler module + components: + - type: Sprite + layers: + - state: security + - state: icons-disabler + - type: ItemBorgModule + items: + - ADTInfCablecuffs + - ADTWeaponDisablerBorg diff --git a/Resources/Prototypes/ADT/Entities/Objects/Specific/Robotics/borg_parts.yml b/Resources/Prototypes/ADT/Entities/Objects/Specific/Robotics/borg_parts.yml new file mode 100644 index 00000000000..c129d76790b --- /dev/null +++ b/Resources/Prototypes/ADT/Entities/Objects/Specific/Robotics/borg_parts.yml @@ -0,0 +1,94 @@ +- type: entity + id: ADTLeftArmBorgSecurity + parent: BaseBorgArmLeft + name: security cyborg left arm + components: + - type: Sprite + sprite: Objects/Specific/Robotics/cyborg_parts.rsi + state: security_l_arm + - type: Icon + state: security_l_arm + - type: Tag + tags: + - Trash + - BorgArm + - ADTBorgSecurityLArm + +- type: entity + id: ADTRightArmBorgSecurity + parent: BaseBorgArmRight + name: security cyborg right arm + components: + - type: Sprite + sprite: Objects/Specific/Robotics/cyborg_parts.rsi + state: security_r_arm + - type: Icon + state: security_r_arm + - type: Tag + tags: + - Trash + - BorgArm + - ADTBorgSecurityRArm + +- type: entity + id: ADTLeftLegBorgSecurity + parent: BaseBorgLegLeft + name: security cyborg left leg + components: + - type: Sprite + sprite: Objects/Specific/Robotics/cyborg_parts.rsi + state: security_l_leg + - type: Icon + state: security_l_leg + - type: Tag + tags: + - Trash + - BorgLeg + - ADTBorgSecurityLLeg + +- type: entity + id: ADTRightLegBorgSecurity + parent: BaseBorgLegRight + name: security cyborg right leg + components: + - type: Sprite + sprite: Objects/Specific/Robotics/cyborg_parts.rsi + state: security_r_leg + - type: Icon + state: security_r_leg + - type: Tag + tags: + - Trash + - BorgLeg + - ADTBorgSecurityRLeg + +- type: entity + id: ADTHeadBorgSecurity + parent: BaseBorgHead + name: security cyborg head + components: + - type: Sprite + sprite: Objects/Specific/Robotics/cyborg_parts.rsi + state: security_head + - type: Icon + state: security_head + - type: Tag + tags: + - Trash + - BorgHead + - ADTBorgSecurityHead + +- type: entity + id: ADTTorsoBorgSecurity + parent: BaseBorgTorso + name: security cyborg torso + components: + - type: Icon + state: security_chest + - type: Sprite + sprite: Objects/Specific/Robotics/cyborg_parts.rsi + state: security_chest + - type: Tag + tags: + - Trash + - ADTBorgSecurityTorso diff --git a/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Battery/battery_gun.yml b/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Battery/battery_gun.yml index d9932dbde76..5488314ae11 100644 --- a/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Battery/battery_gun.yml +++ b/Resources/Prototypes/ADT/Entities/Objects/Weapons/Guns/Battery/battery_gun.yml @@ -28,3 +28,43 @@ - type: Battery maxCharge: 5000 startingCharge: 5000 + + +- type: entity + name: laser rifle + parent: BaseWeaponBattery + id: ADTWeaponLaserCarbineBorg + description: This modified laser rifle fires nearly harmless beams in the 40-watt range, for target practice. + components: + - type: Sprite + sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-unshaded-4 + map: ["enum.GunVisualLayers.MagUnshaded"] + shader: unshaded + - type: Clothing + sprite: Objects/Weapons/Guns/Battery/laser_gun.rsi + - type: Gun + selectedMode: SemiAuto + availableModes: + - SemiAuto + - type: HitscanBatteryAmmoProvider + proto: RedLaser + fireCost: 62.5 + - type: StaticPrice + price: 300 + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 10 + +- type: entity + name: disabler + parent: WeaponDisabler + id: ADTWeaponDisablerBorg + description: A self-defense weapon that exhausts organic targets, weakening them until they collapse. + components: + - type: BatterySelfRecharger + autoRecharge: true + autoRechargeRate: 20 diff --git a/Resources/Prototypes/ADT/Entities/Objects/Weapons/security.yml b/Resources/Prototypes/ADT/Entities/Objects/Weapons/security.yml new file mode 100644 index 00000000000..550ee15b86d --- /dev/null +++ b/Resources/Prototypes/ADT/Entities/Objects/Weapons/security.yml @@ -0,0 +1,9 @@ +- type: entity + name: flash + parent: Flash + id: ADTBorgflash + description: An ultrabright flashbulb with a trigger, which causes the victim to be dazed and lose their eyesight for a moment. Useless when burnt out. + components: + - type: LimitedCharges + - type: AutoRecharge + rechargeDuration: 10 diff --git a/Resources/Prototypes/ADT/Recipes/Lathes/robotics.yml b/Resources/Prototypes/ADT/Recipes/Lathes/robotics.yml new file mode 100644 index 00000000000..97aee0c25c5 --- /dev/null +++ b/Resources/Prototypes/ADT/Recipes/Lathes/robotics.yml @@ -0,0 +1,86 @@ +- type: latheRecipe + id: ADTLeftArmBorgSecurity + result: ADTLeftArmBorgSecurity + category: Robotics + completetime: 2 + materials: + Steel: 250 + Glass: 100 + +- type: latheRecipe + id: ADTRightArmBorgSecurity + result: ADTRightArmBorgSecurity + category: Robotics + completetime: 2 + materials: + Steel: 250 + Glass: 100 + +- type: latheRecipe + id: ADTLeftLegBorgSecurity + result: ADTLeftLegBorgSecurity + category: Robotics + completetime: 2 + materials: + Steel: 250 + Glass: 100 + +- type: latheRecipe + id: ADTRightLegBorgSecurity + result: ADTRightLegBorgSecurity + category: Robotics + completetime: 2 + materials: + Steel: 250 + Glass: 100 + +- type: latheRecipe + id: ADTHeadBorgSecurity + result: ADTHeadBorgSecurity + category: Robotics + completetime: 2 + materials: + Steel: 250 + Glass: 100 + +- type: latheRecipe + id: ADTTorsoBorgSecurity + result: ADTTorsoBorgSecurity + category: Robotics + completetime: 2 + materials: + Steel: 250 + +- type: latheRecipe + id: ADTBorgModuleHarm + result: ADTBorgModuleHarm + category: Robotics + completetime: 3 + materials: + Steel: 500 + Glass: 500 + Plastic: 250 + Gold: 50 + Plasma: 500 + +- type: latheRecipe + id: ADTBorgModuleDisabler + result: ADTBorgModuleDisabler + category: Robotics + completetime: 3 + materials: + Steel: 500 + Glass: 500 + Plastic: 250 + Gold: 50 + Plasma: 50 + +- type: latheRecipe + id: ADTBorgModuleDetention + result: ADTBorgModuleDetention + category: Robotics + completetime: 3 + materials: + Steel: 500 + Glass: 500 + Plastic: 250 diff --git a/Resources/Prototypes/ADT/Roles/Jobs/Borgs/fill.txt b/Resources/Prototypes/ADT/Roles/Jobs/Borgs/fill.txt deleted file mode 100644 index b4954caf47d..00000000000 --- a/Resources/Prototypes/ADT/Roles/Jobs/Borgs/fill.txt +++ /dev/null @@ -1 +0,0 @@ -# Данный файл существует по причине того что Githab плохо дружит с пустыми папками, при работе с этой папкой этот файл можно спокойно удалить \ No newline at end of file diff --git a/Resources/Prototypes/ADT/Roles/Jobs/Borgs/secborg.yml b/Resources/Prototypes/ADT/Roles/Jobs/Borgs/secborg.yml new file mode 100644 index 00000000000..29d6703104e --- /dev/null +++ b/Resources/Prototypes/ADT/Roles/Jobs/Borgs/secborg.yml @@ -0,0 +1,12 @@ +- type: job + id: ADTSecBorg + name: job-name-ADTSecBorg + description: job-description-borg + playTimeTracker: ADTJobSecBorg + requirements: + - !type:OverallPlaytimeRequirement + time: 216000 # 60 hrs + canBeAntag: false + icon: JobIconBorg + supervisors: job-supervisors-rd + jobEntity: ADTPlayerSecBorgGeneric diff --git a/Resources/Prototypes/ADT/Roles/play_time_trackers.yml b/Resources/Prototypes/ADT/Roles/play_time_trackers.yml index c386445889d..b4f7869cc8a 100644 --- a/Resources/Prototypes/ADT/Roles/play_time_trackers.yml +++ b/Resources/Prototypes/ADT/Roles/play_time_trackers.yml @@ -25,3 +25,5 @@ - type: playTimeTracker id: JobBrigmedic +- type: playTimeTracker + id: ADTJobSecBorg diff --git a/Resources/Prototypes/ADT/tags.yml b/Resources/Prototypes/ADT/tags.yml index 0617885f97f..a562fad0332 100644 --- a/Resources/Prototypes/ADT/tags.yml +++ b/Resources/Prototypes/ADT/tags.yml @@ -40,3 +40,26 @@ - type: Tag id: ADTMagazineRifleBibis +- type: Tag + id: ADTBorgUse + +- type: Tag + id: ADTBorgModuleSecurity + +- type: Tag + id: ADTBorgSecurityHead + +- type: Tag + id: ADTBorgSecurityLArm + +- type: Tag + id: ADTBorgSecurityLLeg + +- type: Tag + id: ADTBorgSecurityRArm + +- type: Tag + id: ADTBorgSecurityRLeg + +- type: Tag + id: ADTBorgSecurityTorso diff --git a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml index 8a48c0a1133..25038e36011 100644 --- a/Resources/Prototypes/Catalog/Fills/Lockers/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Lockers/security.yml @@ -20,6 +20,7 @@ - id: ClothingOuterHardsuitWarden - id: HoloprojectorSecurity - id: BookSpaceLaw + - id: ADTClothingNeckBodyCamera #ADT bodycam # ADT-WikiBooks-Start - id: ADTBookSRPsec - id: ADTBookPCDsec @@ -52,6 +53,7 @@ - id: DoorRemoteArmory - id: HoloprojectorSecurity - id: BookSpaceLaw + - id: ADTClothingNeckBodyCamera #ADT bodycam # ADT-WikiBooks-Start - id: ADTBookSRPsec - id: ADTBookPCDsec @@ -90,6 +92,8 @@ prob: 0.6 - id: BookSpaceLaw prob: 0.5 + - id: ADTClothingNeckBodyCamera # ADT bodycam + prob: 0.3 # ADT-WikiBooks-Start - id: ADTBookSRPsec - id: ADTBookPCDsec @@ -154,6 +158,7 @@ - id: HoloprojectorSecurity - id: BoxEvidenceMarkers - id: HandLabeler + - id: ADTClothingNeckBodyCamera # ADT-WikiBooks-Start - id: ADTBookSRPsec - id: ADTBookPCDsec diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml index 47d6ab683d6..9c1bb5296a5 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml @@ -18,7 +18,7 @@ Zipties: 12 RiotShield: 2 RiotLaserShield: 2 - RiotBulletShield: 2 + # RiotBulletShield: 2 ADT no nullet shield RadioHandheldSecurity: 5 Bola: 5 #ADT tweak # security officers need to follow a diet regimen! diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/security.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/security.yml index f5585a5e32f..c3889707b85 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/security.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/security.yml @@ -1,4 +1,4 @@ -# Security +# Security - type: entity name: security loot spawner suffix: Gear, Simple @@ -52,7 +52,7 @@ - SecurityWhistle - Tourniquet chance: 0.85 - + # Armory loot spawner # Automatics are a complete mess right now, so the AK-MS And WT-550 have been commented out for consistency's sake. I have no idea what role these guns are supposed to fufill. - type: entity @@ -76,7 +76,7 @@ rareChance: 0.05 prototypes: - RiotShield - - RiotBulletShield + # - RiotBulletShield ADT no nullet shield - RiotLaserShield - ClothingHeadHelmetBasic - ClothingHeadHelmetRiot @@ -137,7 +137,7 @@ rareChance: 0.05 prototypes: - RiotShield - - RiotBulletShield + # - RiotBulletShield ADT no nullet shield - RiotLaserShield - ClothingHeadHelmetBasic - ClothingHeadHelmetRiot @@ -145,4 +145,4 @@ - ClothingOuterArmorRiot - ClothingOuterArmorBulletproof chance: 0.95 - offset: 0.0 \ No newline at end of file + offset: 0.0 diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index b3dd4b31e5a..d9c073b133c 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -147,13 +147,18 @@ - type: Speech speechVerb: Robotic speechSounds: Borg +# ADT borgs start + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepBorg + params: + variation: 0.07 + volume: -5 +#ADT borgs end - type: Vocal sounds: Unsexed: UnisexSilicon - type: UnblockableSpeech - - type: FootstepModifier - footstepSoundCollection: - collection: FootstepBorg - type: Construction graph: Cyborg containers: diff --git a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml index 21905fa45a6..9703c5450d4 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml @@ -97,6 +97,11 @@ - type: Sprite sprite: Objects/Misc/zipties.rsi state: cuff +# ADT secborg start + - type: Stack + stackType: Zipties + count: 1 +# ADT secborg end - type: entity id: BaseHandcuffsBroken diff --git a/Resources/Prototypes/Entities/Objects/Shields/shields.yml b/Resources/Prototypes/Entities/Objects/Shields/shields.yml index 67d39cbc618..e8d47c5f14d 100644 --- a/Resources/Prototypes/Entities/Objects/Shields/shields.yml +++ b/Resources/Prototypes/Entities/Objects/Shields/shields.yml @@ -75,10 +75,14 @@ coefficients: Blunt: 0.7 Slash: 0.7 + Piercing: 2 # ADT shieldnerf + Heat: 2 # ADT shieldnerf activeBlockModifier: coefficients: Blunt: 0.5 Slash: 0.5 + Piercing: 2 # ADT shieldnerf + Heat: 2 # ADT shieldnerf flatReductions: Blunt: 1 Slash: 1 @@ -96,9 +100,15 @@ - type: Blocking passiveBlockModifier: coefficients: + Blunt: 2 # ADT shieldnerf + Slash: 2 # ADT shieldnerf + Piercing: 2 # ADT shieldnerf Heat: 0.7 activeBlockModifier: coefficients: + Blunt: 2 # ADT shieldnerf + Slash: 2 # ADT shieldnerf + Piercing: 2 # ADT shieldnerf Heat: 0.5 flatReductions: Heat: 1 @@ -116,9 +126,13 @@ - type: Blocking passiveBlockModifier: coefficients: + Blunt: 1.3 # ADT shieldnerf + Slash: 1.3 # ADT shieldnerf Piercing: 0.7 activeBlockModifier: coefficients: + Blunt: 1.3 # ADT shieldnerf + Slash: 1.3 # ADT shieldnerf Piercing: 0.5 flatReductions: Piercing: 1 @@ -484,7 +498,7 @@ jobRequired: - SalvageSpecialist # Corvax-HiddenDesc-End - + - type: entity name: broken energy shield parent: BaseItem diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml index 9261e06ea2a..fb57a08b25b 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml @@ -166,6 +166,32 @@ whitelist: tags: - BorgJanitorTorso + #ADT secborg start + security_chest+o: + whitelist: + tags: + - ADTBorgSecurityTorso + security_l_arm+o: + whitelist: + tags: + - ADTBorgSecurityLArm + security_r_arm+o: + whitelist: + tags: + - ADTBorgSecurityRArm + security_l_leg+o: + whitelist: + tags: + - ADTBorgSecurityLLeg + security_r_leg+o: + whitelist: + tags: + - ADTBorgSecurityRLeg + security_head+o: + whitelist: + tags: + - ADTBorgSecurityHead + #ADT secborg end - type: ContainerContainer containers: part-container: !type:Container @@ -212,6 +238,14 @@ - BorgMiningRLeg - BorgMiningHead - BorgMiningTorso + security: #ADT secborg start + - ADTBorgSecurityHead + - ADTBorgSecurityLArm + - ADTBorgSecurityLLeg + - ADTBorgSecurityRArm + - ADTBorgSecurityRLeg + - ADTBorgSecurityTorso + #ADT secborg end - type: Construction graph: Cyborg node: start diff --git a/Resources/Prototypes/Entities/Objects/Tools/emag.yml b/Resources/Prototypes/Entities/Objects/Tools/emag.yml index e10ecd05d99..b011a70793c 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/emag.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/emag.yml @@ -39,5 +39,5 @@ id: Emag suffix: Limited components: - - type: LimitedCharges - - type: AutoRecharge + - type: LimitedCharges + - type: AutoRecharge diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 90f9999f67b..d2934f996a5 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -672,6 +672,14 @@ - RightLegBorgService - HeadBorgService - TorsoBorgService + #ADT secborg start + - ADTLeftArmBorgSecurity + - ADTRightArmBorgSecurity + - ADTLeftLegBorgSecurity + - ADTRightLegBorgSecurity + - ADTHeadBorgSecurity + - ADTTorsoBorgSecurity + #ADT secborg end dynamicRecipes: - ProximitySensor - BorgModuleLightReplacer @@ -709,6 +717,9 @@ - HamtrLLeg - HamtrRLeg - VimHarness + - ADTBorgModuleDisabler #ADT secborg + - ADTBorgModuleDetention #ADT secborg + - ADTBorgModuleHarm # ADT secborg - type: MaterialStorage whitelist: tags: diff --git a/Resources/Prototypes/Loadouts/Jobs/Security/security_officer.yml b/Resources/Prototypes/Loadouts/Jobs/Security/security_officer.yml index a488849350b..d629f7fbd85 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Security/security_officer.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Security/security_officer.yml @@ -167,3 +167,4 @@ storage: back: - Dinkystar + diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index 464a73bdfbc..8d8b315c024 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -513,7 +513,7 @@ loadouts: - MimeSuspendersRed - MimeSuspendersBlack - + - type: loadoutGroup id: SurvivalMime name: loadout-group-survival-mime diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml index 0f012cefc98..04b9c368380 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml @@ -43,7 +43,7 @@ - tool: Screwing doAfter: 0.5 - + - to: engineer steps: - assemblyId: engineer @@ -179,6 +179,38 @@ - tool: Screwing doAfter: 0.5 +#ADT secborg start + - to: security + steps: + - assemblyId: security + guideString: borg-construction-guide-string + + - material: Cable + amount: 1 + doAfter: 1 + store: part-container + + - component: Flash + name: flash + store: part-container + icon: + sprite: Objects/Weapons/Melee/flash.rsi + state: flash + + - component: Flash + name: second flash + store: part-container + icon: + sprite: Objects/Weapons/Melee/flash.rsi + state: flash + + - tool: Screwing + doAfter: 0.5 + + - node: security + entity: ADTBorgChassisSec +#ADT secborg end + - node: cyborg entity: BorgChassisGeneric diff --git a/Resources/Prototypes/Research/arsenal.yml b/Resources/Prototypes/Research/arsenal.yml index 553258fdb3f..6d76348baa5 100644 --- a/Resources/Prototypes/Research/arsenal.yml +++ b/Resources/Prototypes/Research/arsenal.yml @@ -46,6 +46,7 @@ cost: 7500 recipeUnlocks: - WeaponLaserCarbine + - ADTBorgModuleHarm #ADT secborg - type: technology id: NonlethalAmmunition @@ -55,12 +56,14 @@ state: beanbag discipline: Arsenal tier: 1 - cost: 5000 + cost: 8000 #ADT secborg recipeUnlocks: - MagazineShotgunBeanbag - BoxShellTranquilizer - BoxBeanbag - WeaponDisabler + - ADTBorgModuleDisabler #ADT secborg + - ADTBorgModuleDetention #ADT secborg - type: technology id: UraniumMunitions diff --git a/Resources/Prototypes/Roles/Jobs/Science/borg.yml b/Resources/Prototypes/Roles/Jobs/Science/borg.yml index c07b145900b..ccc5e119ae5 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/borg.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/borg.yml @@ -8,6 +8,11 @@ - !type:RoleTimeRequirement role: JobBorg time: 18000 # 5 hrs + # ADT secborg start + - !type:RoleTimeRequirement + role: ADTJobSecBorg + time: 18000 # 5 hrs + # ADT secborg end canBeAntag: false icon: JobIconStationAi supervisors: job-supervisors-rd diff --git a/Resources/Prototypes/SoundCollections/footsteps.yml b/Resources/Prototypes/SoundCollections/footsteps.yml index e179584f6fb..2e671b1bbce 100644 --- a/Resources/Prototypes/SoundCollections/footsteps.yml +++ b/Resources/Prototypes/SoundCollections/footsteps.yml @@ -65,7 +65,7 @@ files: - /Audio/Effects/Footsteps/clownstep1.ogg - /Audio/Effects/Footsteps/clownstep2.ogg - + - type: soundCollection id: FootstepJester files: @@ -189,7 +189,7 @@ id: FootstepBlood files: - /Audio/Effects/Footsteps/gib_step.ogg - + - type: soundCollection id: FootstepSticky files: @@ -205,7 +205,9 @@ - type: soundCollection id: FootstepBorg files: - - /Audio/Effects/Footsteps/borgwalk1.ogg + - /Audio/ADT/Effects/Footsteps/borgwalk1.ogg #ADT borgs + - /Audio/ADT/Effects/Footsteps/borgwalk2.ogg #ADT borgs + - /Audio/ADT/Effects/Footsteps/borgwalk3.ogg #ADT borgs - type: soundCollection id: FootstepHoverBorg diff --git a/Resources/Textures/ADT/Clothing/Neck/bodycam.rsi/equipped-NECK.png b/Resources/Textures/ADT/Clothing/Neck/bodycam.rsi/equipped-NECK.png new file mode 100644 index 00000000000..24e707423db Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Neck/bodycam.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/ADT/Clothing/Neck/bodycam.rsi/icon.png b/Resources/Textures/ADT/Clothing/Neck/bodycam.rsi/icon.png new file mode 100644 index 00000000000..e1c1dcc4207 Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Neck/bodycam.rsi/icon.png differ diff --git a/Resources/Textures/ADT/Clothing/Neck/bodycam.rsi/meta.json b/Resources/Textures/ADT/Clothing/Neck/bodycam.rsi/meta.json new file mode 100644 index 00000000000..e5592bd9dbc --- /dev/null +++ b/Resources/Textures/ADT/Clothing/Neck/bodycam.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "created by Skarletto", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-NECK", + "directions": 4 + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/ADT/Markers/jobs.rsi/meta.json b/Resources/Textures/ADT/Markers/jobs.rsi/meta.json index 113f5fcf2fb..8d6e8046405 100644 --- a/Resources/Textures/ADT/Markers/jobs.rsi/meta.json +++ b/Resources/Textures/ADT/Markers/jobs.rsi/meta.json @@ -27,6 +27,9 @@ }, { "name": "blueshield" + }, + { + "name": "secborg" } ] } diff --git a/Resources/Textures/ADT/Markers/jobs.rsi/secborg.png b/Resources/Textures/ADT/Markers/jobs.rsi/secborg.png new file mode 100644 index 00000000000..bfb0ee07924 Binary files /dev/null and b/Resources/Textures/ADT/Markers/jobs.rsi/secborg.png differ diff --git a/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/meta.json b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/meta.json new file mode 100644 index 00000000000..592baad2b63 --- /dev/null +++ b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/meta.json @@ -0,0 +1,28 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/faf6db214927874c19b8fa8585d26b5d40de1acc", + "states": [ + { + "name": "sec", + "directions": 4 + }, + { + "name": "sec_e", + "directions": 4 + }, + { + "name": "sec_e_r", + "directions": 4 + }, + { + "name": "sec_l", + "directions": 4 + } + + ] +} diff --git a/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec.png b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec.png new file mode 100644 index 00000000000..b9fd69d0991 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec.png differ diff --git a/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec_e.png b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec_e.png new file mode 100644 index 00000000000..ce41a3a754b Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec_e.png differ diff --git a/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec_e_r.png b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec_e_r.png new file mode 100644 index 00000000000..70a8a998329 Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec_e_r.png differ diff --git a/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec_l.png b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec_l.png new file mode 100644 index 00000000000..f4614f6303e Binary files /dev/null and b/Resources/Textures/ADT/Mobs/Cyborg/chassis.rsi/sec_l.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-detentions.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-detentions.png new file mode 100644 index 00000000000..fe4bde0dc1e Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-detentions.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-disabler.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-disabler.png new file mode 100644 index 00000000000..f9a184b4740 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-disabler.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-harm.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-harm.png new file mode 100644 index 00000000000..5e1ea7876cb Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-harm.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-peace.png b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-peace.png new file mode 100644 index 00000000000..98c4ecdb023 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/borgmodule.rsi/icons-peace.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 74c9893cae3..463da1b5717 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).", + "copyright": "Created by EmoGarbage404 (github) for Space Station 14. icon-construction.png created by deltanedas (github). syndicateborgbomb.png created by Mangohydra (github). icons-detentions, icons-peace, icons-harm, icons-disabler made by ratyyy.", "size": { "x": 32, "y": 32 @@ -126,6 +126,18 @@ }, { "name": "syndicate" + }, + { + "name": "icons-detentions" + }, + { + "name": "icons-peace" + }, + { + "name": "icons-harm" + }, + { + "name": "icons-disabler" } ] } diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/meta.json b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/meta.json index 8cab41943fe..16f24bd30c2 100644 --- a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/cf45322c7ee16f9d7e43d5260daf24ceb77c1b25", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/cf45322c7ee16f9d7e43d5260daf24ceb77c1b25. Secborg parts made by ratyyy", "size": { "x": 32, "y": 32 @@ -213,6 +213,42 @@ }, { "name": "service_r_leg+o" + }, + { + "name": "security_l_arm" + }, + { + "name": "security_r_arm" + }, + { + "name": "security_l_leg" + }, + { + "name": "security_r_leg" + }, + { + "name": "security_chest" + }, + { + "name": "security_head" + }, + { + "name": "security_head+o" + }, + { + "name": "security_chest+o" + }, + { + "name": "security_l_arm+o" + }, + { + "name": "security_r_arm+o" + }, + { + "name": "security_l_leg+o" + }, + { + "name": "security_r_leg+o" } ] } diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_chest+o.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_chest+o.png new file mode 100644 index 00000000000..4a10d50c769 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_chest+o.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_chest.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_chest.png new file mode 100644 index 00000000000..6b74174991d Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_chest.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_head+o.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_head+o.png new file mode 100644 index 00000000000..78e0cbf00e2 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_head+o.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_head.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_head.png new file mode 100644 index 00000000000..0073bf9815b Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_head.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_arm+o.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_arm+o.png new file mode 100644 index 00000000000..0b781a546d0 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_arm+o.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_arm.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_arm.png new file mode 100644 index 00000000000..d0875fdcd24 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_arm.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_leg+o.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_leg+o.png new file mode 100644 index 00000000000..88f91c493d8 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_leg+o.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_leg.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_leg.png new file mode 100644 index 00000000000..25ba48f300b Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_l_leg.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_arm+o.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_arm+o.png new file mode 100644 index 00000000000..26270839fd8 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_arm+o.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_arm.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_arm.png new file mode 100644 index 00000000000..d7b2069276e Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_arm.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_leg+o.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_leg+o.png new file mode 100644 index 00000000000..dfa78ed9028 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_leg+o.png differ diff --git a/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_leg.png b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_leg.png new file mode 100644 index 00000000000..c86bfed1183 Binary files /dev/null and b/Resources/Textures/Objects/Specific/Robotics/cyborg_parts.rsi/security_r_leg.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/shields.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/shields.rsi/meta.json index 2d2663c1580..a98cee17040 100644 --- a/Resources/Textures/Objects/Weapons/Melee/shields.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Melee/shields.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from https://github.com/Citadel-Station-13/Citadel-Station-13/commit/84223c65f5caf667a84f3c0f49bc2a41cdc6c4e3", + "copyright": "Taken from https://github.com/Citadel-Station-13/Citadel-Station-13/commit/84223c65f5caf667a84f3c0f49bc2a41cdc6c4e3, riot taken from https://github.com/tgstation/tgstation/commit/6323ee68d9c893bd096b17a86470695038826143", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-icon.png b/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-icon.png index 29b2087910c..553a225f865 100644 Binary files a/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-icon.png and b/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-icon.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-inhand-left.png index f4d5743d0d5..7ef28e77953 100644 Binary files a/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-inhand-left.png and b/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-inhand-left.png differ diff --git a/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-inhand-right.png index 2765e99f209..48d8de05297 100644 Binary files a/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-inhand-right.png and b/Resources/Textures/Objects/Weapons/Melee/shields.rsi/riot-inhand-right.png differ diff --git a/Resources/migration.yml b/Resources/migration.yml index 996914b3b54..93c22ee7d3f 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -469,4 +469,8 @@ LGBTQFlag: DrinkBottleVodka ClothingOuterArmorHeavy: null ClothingOuterArmorHeavyRed: null ClothingOuterArmorHeavyGreen: null + +#2024-09-06 + +RiotBulletShield: null #ADT end