diff --git a/Resources/Locale/ru-RU/_wega/headset/headset-component.ftl b/Resources/Locale/ru-RU/_wega/headset/headset-component.ftl new file mode 100644 index 00000000000..579c9f2c0fb --- /dev/null +++ b/Resources/Locale/ru-RU/_wega/headset/headset-component.ftl @@ -0,0 +1,8 @@ +# not headset but whatever +chat-radio-secsquad-one = Альфа +chat-radio-secsquad-two = Бета +chat-radio-secsquad-three = Чарли +chat-radio-secsquad-four = Дельта +chat-radio-secsquad-five = Эпсилон +chat-radio-secsquad-six = Дзета +chat-radio-seccommand = Командование СБ diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/objects/specific/robotics/borg_modules.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/objects/specific/robotics/borg_modules.ftl index 659e6ea777a..6860e566d13 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/objects/specific/robotics/borg_modules.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/objects/specific/robotics/borg_modules.ftl @@ -132,4 +132,7 @@ borg-slot-anomaly-core = Ядра аномалии borg-slot-slime-core-empty = Слаймовый экстракт borg-slot-dnainjector-empty = Инъектор и диски ДНК borg-slot-bodypartborg-empty = Части киборгов -borg-slot-components-empty = Компоненты для киборгов \ No newline at end of file +borg-slot-components-empty = Компоненты для киборгов + +ent-ActionBlinkBorg = Блюспейс прыжок + .desc = Бесконечность не предел! diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/objects/weapons/throwable/bola.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/objects/weapons/throwable/bola.ftl index 777a26a842c..58cdfe82b06 100644 --- a/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/objects/weapons/throwable/bola.ftl +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_wega/entities/objects/weapons/throwable/bola.ftl @@ -1,2 +1,4 @@ -ent-CultBola = бола +ent-CultBola = руническая бола .desc = На ней изображены какие-то руны. +ent-SecutiryBola = боевая бола + .desc = Средство ограничения передвижения для службы безопасности, может сложиться в компактную форму, что позволит хранить даже в карманах! \ No newline at end of file diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml index 8709b2f511f..87603784c39 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/sec.yml @@ -21,7 +21,7 @@ RiotLaserShield: 2 RiotBulletShield: 2 RadioHandheldSecurity: 5 - Bola: 6 + SecutiryBola: 6 # Bola Corvax-Wega # security officers need to follow a diet regimen! contrabandInventory: WeaponMeleeNeedle: 2 diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/xenoborgs.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/xenoborgs.yml index 76baf7c1ca3..0ee39e883c0 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/xenoborgs.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/xenoborgs.yml @@ -210,6 +210,30 @@ cell_slot: name: power-cell-slot-component-slot-name-default startingItem: PowerCellHigh +# Corvax-Wega-start + - type: UserInterface + interfaces: + enum.SiliconLawsUiKey.Key: + type: SiliconLawBoundUserInterface + requireInputValidation: false + enum.BorgUiKey.Key: + type: BorgBoundUserInterface + enum.StrippingUiKey.Key: + type: StrippableBoundUserInterface + enum.BorgSwitchableTypeUiKey.SelectBorgType: + type: BorgSelectTypeUserInterface + enum.RadarConsoleUiKey.Key: + type: RadarConsoleBoundUserInterface + - type: IntrinsicUI + uis: + enum.RadarConsoleUiKey.Key: + toggleAction: ActionAGhostShowRadar + - type: RadarConsole + followEntity: true + - type: ActionGrant + actions: + - ActionBlinkBorg +# Corvax-Wega-end - type: entity parent: [ BaseXenoborgChassis, BaseXenoborgTransponder ] diff --git a/Resources/Prototypes/Entities/Objects/Devices/radio.yml b/Resources/Prototypes/Entities/Objects/Devices/radio.yml index adf094d12ea..49a3a55822a 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/radio.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/radio.yml @@ -24,21 +24,42 @@ - type: Tag tags: - Radio - +# Corvax-Wega-Start - type: entity name: security radio description: A handy security radio. parent: [ RadioHandheld, BaseSecurityContraband ] id: RadioHandheldSecurity components: - - type: RadioMicrophone - broadcastChannel: Security - listenRange: 1 - - type: RadioSpeaker - channels: - - Security - type: Sprite sprite: Objects/Devices/securityhandy.rsi - type: Item sprite: Objects/Devices/securityhandy.rsi heldPrefix: walkietalkie + - type: EncryptionKeyHolder + keySlots: 1 + keysExtractionMethod: None + - type: RadioMicrophone + listenRange: 1 + toggleOnInteract: false + - type: RadioSpeaker + toggleOnInteract: false + - type: Intercom + - type: VoiceOverride # This is for the wire that makes an electricity zapping noise. + speechVerbOverride: Electricity + enabled: false + - type: ContainerFill + containers: + key_slots: + - EncryptionKeySecurityRadio + - type: ContainerContainer + containers: + key_slots: !type:Container + - type: ActivatableUI + key: enum.IntercomUiKey.Key + singleUser: true + - type: UserInterface + interfaces: + enum.IntercomUiKey.Key: + type: IntercomBoundUserInterface +# Corvax-Wega-end \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml index 5656b345738..7f36edc343b 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -1346,7 +1346,6 @@ whitelist: components: - FitsInDispenser - - SolutionContainerManager tags: - ChemDispensable - item: BorgGeneratorDonts diff --git a/Resources/Prototypes/_Wega/Actions/cyborg.yml b/Resources/Prototypes/_Wega/Actions/cyborg.yml new file mode 100644 index 00000000000..9cfadbcb485 --- /dev/null +++ b/Resources/Prototypes/_Wega/Actions/cyborg.yml @@ -0,0 +1,23 @@ +- type: entity + parent: BaseAction + id: ActionBlinkBorg + name: Bluespase blink + description: Teleport to the clicked location. + components: + - type: Action + useDelay: 10 + itemIconStyle: BigAction + sound: !type:SoundPathSpecifier + path: "/Audio/Effects/teleport_arrival.ogg" + params: + volume: 3 + icon: + sprite: _Wega/Interface/Actions/actions_borg.rsi + state: blink_borg + - type: TargetAction + range: 16 # default examine-range. + # ^ should probably add better validation that the clicked location is on the users screen somewhere, + repeat: false + checkCanAccess: false + - type: WorldTargetAction + event: !type:TeleportSpellEvent \ No newline at end of file diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Devices/encryption_keys.yml b/Resources/Prototypes/_Wega/Entities/Objects/Devices/encryption_keys.yml new file mode 100644 index 00000000000..6a845e423f0 --- /dev/null +++ b/Resources/Prototypes/_Wega/Entities/Objects/Devices/encryption_keys.yml @@ -0,0 +1,24 @@ +- type: entity + parent: [ EncryptionKey, BaseSecurityLawyerContraband ] + id: EncryptionKeySecurityRadio + name: security encryption key + description: An encryption key used by security. + components: + - type: EncryptionKey + channels: + - Security + - SecSquadOne + - SecSquadTwo + - SecSquadThree + - SecSquadFour + - SecSquadFive + - SecSquadSix + - SecSquadCommand + defaultChannel: Security + - type: Sprite + layers: + - state: crypt_gray + - state: sec_label + - type: Tag + tags: + - EncryptionSecurity \ No newline at end of file diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Specific/Robotics/borg_modules.yml b/Resources/Prototypes/_Wega/Entities/Objects/Specific/Robotics/borg_modules.yml index b0b8615c904..6f60bde0e8b 100644 --- a/Resources/Prototypes/_Wega/Entities/Objects/Specific/Robotics/borg_modules.yml +++ b/Resources/Prototypes/_Wega/Entities/Objects/Specific/Robotics/borg_modules.yml @@ -497,7 +497,6 @@ whitelist: components: - FitsInDispenser - - SolutionContainerManager tags: - ChemDispensable - type: BorgModuleIcon @@ -674,7 +673,6 @@ whitelist: components: - FitsInDispenser - - SolutionContainerManager tags: - ChemDispensable - type: BorgModuleIcon @@ -1074,7 +1072,6 @@ whitelist: components: - FitsInDispenser - - SolutionContainerManager tags: - ChemDispensable - item: BoxFreezer diff --git a/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Throwable/bola.yml b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Throwable/bola.yml index 5aaa28123aa..43d626449d6 100644 --- a/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Throwable/bola.yml +++ b/Resources/Prototypes/_Wega/Entities/Objects/Weapons/Throwable/bola.yml @@ -4,6 +4,132 @@ id: CultBola description: There are some runes depicted on it. components: + - type: EmitSoundOnThrow + sound: /Audio/_Wega/Effects/Vampire/glare.ogg + - type: EmitSoundOnLand + sound: /Audio/Effects/snap.ogg + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:PlaySoundBehavior + sound: + path: /Audio/_Wega/Effects/cult_spell.ogg + - !type:DoActsBehavior + acts: [ "Destruction" ] - type: Sprite sprite: _Wega/Objects/Weapons/Throwable/cult_bola.rsi state: icon + - type: Item + size: Normal + shape: + - 0,0,0,1 + - type: DamageOnLand + damage: + types: + Blunt: 15 + - type: Ensnaring + freeTime: 1.5 + breakoutTime: 6.5 #all bola should generally be fast to remove + walkSpeed: 0.3 #makeshift bola shouldn't slow too much + sprintSpeed: 0.3 + staminaDamage: 30 # anything but this is gamebreaking + canThrowTrigger: true + canMoveBreakout: true + maxEnsnares: 1 + +- type: entity + name: combat bola + parent: [BaseItem, BaseSecurityContraband] + id: SecutiryBola + description: There are some runes depicted on it. + components: + - type: DamageOnLand + damage: + types: + Blunt: 3 + - type: Item + size: Small + sprite: _Wega/Objects/Weapons/Throwable/sec_bola.rsi + heldPrefix: close + - type: ItemToggle + soundActivate: + path: /Audio/Weapons/telescopicon.ogg + params: + volume: -5 + soundDeactivate: + path: /Audio/Weapons/telescopicoff.ogg + params: + volume: -5 + - type: ItemToggleSize + activatedSize: Normal + - type: Sprite + sprite: _Wega/Objects/Weapons/Throwable/sec_bola.rsi + layers: + - state: icon-close + - state: icon-open + visible: false + map: [ "baton" ] + - type: UseDelay + delay: 0.5 + - type: ToggleableVisuals + spriteLayer: baton + inhandVisuals: + left: + - state: inhand-left + right: + - state: inhand-right + - type: Appearance + - type: ComponentToggler + components: + - type: Ensnaring + freeTime: 2.0 + breakoutTime: 3.5 #all bola should generally be fast to remove + walkSpeed: 0.5 #makeshift bola shouldn't slow too much + sprintSpeed: 0.5 + staminaDamage: 0 # anything but this is gamebreaking + canThrowTrigger: true + canMoveBreakout: true + maxEnsnares: 1 + - type: LandAtCursor + - type: Fixtures + fixtures: + fix1: + shape: !type:PhysShapeCircle + radius: 0.4 + density: 20 # derived from base_item + mask: + - ItemMask + restitution: 0.3 + friction: 0.2 + - type: EmitSoundOnThrow + sound: /Audio/Weapons/bolathrow.ogg + - type: EmitSoundOnLand + sound: /Audio/Effects/snap.ogg + - type: Damageable + damageContainer: Inorganic + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 75 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 15 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: MetalBreak + - !type:DoActsBehavior + acts: [ "Destruction" ] \ No newline at end of file diff --git a/Resources/Prototypes/_Wega/borg_types.yml b/Resources/Prototypes/_Wega/borg_types.yml index 8f8af3c7dfe..db321cccecc 100644 --- a/Resources/Prototypes/_Wega/borg_types.yml +++ b/Resources/Prototypes/_Wega/borg_types.yml @@ -22,6 +22,7 @@ addComponents: - type: ShowJobIcons + - type: ShowSquadIcons - type: ShowMindShieldIcons - type: ShowCriminalRecordIcons - type: ShowContrabandDetails diff --git a/Resources/Prototypes/_Wega/radio_channels.yml b/Resources/Prototypes/_Wega/radio_channels.yml new file mode 100644 index 00000000000..e23fb7244e6 --- /dev/null +++ b/Resources/Prototypes/_Wega/radio_channels.yml @@ -0,0 +1,55 @@ +- type: radioChannel + id: SecSquadOne + name: chat-radio-secsquad-one + frequency: 1251 + keycode: ')' + color: "#ff0000" + longRange: true + +- type: radioChannel + id: SecSquadTwo + name: chat-radio-secsquad-two + frequency: 1252 + keycode: '(' + color: "#d62b2b" + longRange: true + +- type: radioChannel + id: SecSquadThree + name: chat-radio-secsquad-three + frequency: 1253 + keycode: '*' + color: "#ff3333" + longRange: true + +- type: radioChannel + id: SecSquadFour + name: chat-radio-secsquad-four + frequency: 1254 + keycode: '?' + color: "#d60000" + longRange: true + +- type: radioChannel + id: SecSquadFive + name: chat-radio-secsquad-five + frequency: 1255 + keycode: '&' + color: "#df0000" + longRange: true + +- type: radioChannel + id: SecSquadSix + name: chat-radio-secsquad-six + frequency: 1256 + keycode: '^' + color: "#df2d2d" + longRange: true + +- type: radioChannel + id: SecSquadCommand + name: chat-radio-seccommand + frequency: 1257 + keycode: '%' + color: "#c22727" + longRange: true diff --git a/Resources/Prototypes/borg_types.yml b/Resources/Prototypes/borg_types.yml index 0bc27d071bf..eaa9ecb31df 100644 --- a/Resources/Prototypes/borg_types.yml +++ b/Resources/Prototypes/borg_types.yml @@ -76,6 +76,7 @@ - Silicon - Android - type: ShowAccessReaderSettings + - type: MagbootsImplant # Corvax-Wega-end # Visual @@ -136,6 +137,7 @@ - type: RadarConsole followEntity: true - type: HandheldGPS + - type: MagbootsImplant # Corvax-Wega-end # Visual diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_borg.rsi/blink_borg.png b/Resources/Textures/_Wega/Interface/Actions/actions_borg.rsi/blink_borg.png new file mode 100644 index 00000000000..7ed5e7d75a0 Binary files /dev/null and b/Resources/Textures/_Wega/Interface/Actions/actions_borg.rsi/blink_borg.png differ diff --git a/Resources/Textures/_Wega/Interface/Actions/actions_borg.rsi/meta.json b/Resources/Textures/_Wega/Interface/Actions/actions_borg.rsi/meta.json index 8ff37539d97..9a8a1fb1dcb 100644 --- a/Resources/Textures/_Wega/Interface/Actions/actions_borg.rsi/meta.json +++ b/Resources/Textures/_Wega/Interface/Actions/actions_borg.rsi/meta.json @@ -100,6 +100,9 @@ { "name": "repeir-xenoborg-module" }, + { + "name": "blink_borg" + {, { "name": "adv-anomaly-module" }, diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/close-inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/close-inhand-left.png new file mode 100644 index 00000000000..c59fd55e8c7 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/close-inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/close-inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/close-inhand-right.png new file mode 100644 index 00000000000..40dff60cbc3 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/close-inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/icon-close.png b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/icon-close.png new file mode 100644 index 00000000000..d831014134c Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/icon-close.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/icon-open.png b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/icon-open.png new file mode 100644 index 00000000000..efcbbebfe91 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/icon-open.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/inhand-left.png b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/inhand-left.png new file mode 100644 index 00000000000..4309a3d4c46 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/inhand-left.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/inhand-right.png b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/inhand-right.png new file mode 100644 index 00000000000..cb6cac5fb59 Binary files /dev/null and b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/inhand-right.png differ diff --git a/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/meta.json b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/meta.json new file mode 100644 index 00000000000..33af7194904 --- /dev/null +++ b/Resources/Textures/_Wega/Objects/Weapons/Throwable/sec_bola.rsi/meta.json @@ -0,0 +1,33 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/ss220-space/Paradise, mody by gamewar816", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon-open" + }, + { + "name": "icon-close" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "close-inhand-left", + "directions": 4 + }, + { + "name": "close-inhand-right", + "directions": 4 + } + ] +}