From dfaf1a701376edf638f8c8d19f3de7ab625996c6 Mon Sep 17 00:00:00 2001 From: Ko-mp-otik Date: Mon, 3 Aug 2026 18:00:09 +0400 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9C=D0=BD=D0=BE=D0=B3=D0=B0=20=D0=B2?= =?UTF-8?q?=D1=81=D0=B5=D0=B3=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resources/Locale/ru-RU/_Forge/currency.ftl | 1 + .../_Forge/research/nanotrasen-research.ftl | 2 +- .../ru-RU/_Forge/store/store-preset-name.ftl | 1 + .../ru-RU/_Forge/store/uplink-catalog.ftl | 50 ++ .../entities/Structures/machines/uplinks.ftl | 2 + .../_Forge/entities/objects/specific/tti.ftl | 15 + .../_Forge/Catalog/tti_uplink_catalog.yml | 313 +++++++++++ .../Objects/Specific/Medical/misc.yml | 10 + .../_Forge/Entities/Objects/Specific/tti.yml | 74 +++ .../Tools/blueprints/blueprints_medical.yml | 11 + .../Tools/blueprints/blueprints_service.yml | 30 + .../Entities/Structures/Machines/uplinks.yml | 54 ++ .../Lathes/Factions/Nanotrasen/medical.yml | 14 +- .../Recipes/Lathes/Packs/blueprints.yml | 2 +- .../_Forge/Research/Nanotrasen/nanotrasen.yml | 523 +++++++++--------- .../_Forge/Stacks/Materials/crystals.yml | 6 + .../Prototypes/_Forge/Store/categories.yml | 26 + .../_Forge/Store/{preset.yml => presets.yml} | 18 + Resources/Prototypes/_Forge/currency.yml | 6 + Resources/Prototypes/_Forge/tags.yml | 3 + Resources/Prototypes/_Mono/companies.yml | 2 + .../ttiuplinkcoin.rsi/coin-inhand-left.png | Bin 0 -> 230 bytes .../ttiuplinkcoin.rsi/coin-inhand-right.png | Bin 0 -> 230 bytes .../Materials/TTI/ttiuplinkcoin.rsi/coin.png | Bin 0 -> 375 bytes .../TTI/ttiuplinkcoin.rsi/coin_2.png | Bin 0 -> 375 bytes .../TTI/ttiuplinkcoin.rsi/coin_3.png | Bin 0 -> 372 bytes .../TTI/ttiuplinkcoin.rsi/coin_4.png | Bin 0 -> 374 bytes .../TTI/ttiuplinkcoin.rsi/coin_5.png | Bin 0 -> 376 bytes .../Materials/TTI/ttiuplinkcoin.rsi/meta.json | 34 ++ .../VendingMachines/tti_vendor.rsi/broken.png | Bin 0 -> 3475 bytes .../tti_vendor.rsi/deny-unshaded.png | Bin 0 -> 239 bytes .../tti_vendor.rsi/eject-unshaded.png | Bin 0 -> 243 bytes .../VendingMachines/tti_vendor.rsi/meta.json | 75 +++ .../tti_vendor.rsi/normal-unshaded.png | Bin 0 -> 463 bytes .../VendingMachines/tti_vendor.rsi/panel.png | Bin 0 -> 443 bytes .../VendingMachines/tti_vendor.rsi/tti.png | Bin 0 -> 2220 bytes 36 files changed, 1005 insertions(+), 267 deletions(-) create mode 100644 Resources/Locale/ru-RU/_Forge/currency.ftl create mode 100644 Resources/Locale/ru-RU/_Forge/store/store-preset-name.ftl create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/Structures/machines/uplinks.ftl create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/specific/tti.ftl create mode 100644 Resources/Prototypes/_Forge/Catalog/tti_uplink_catalog.yml create mode 100644 Resources/Prototypes/_Forge/Entities/Objects/Specific/tti.yml create mode 100644 Resources/Prototypes/_Forge/Entities/Objects/Tools/blueprints/blueprints_service.yml create mode 100644 Resources/Prototypes/_Forge/Entities/Structures/Machines/uplinks.yml create mode 100644 Resources/Prototypes/_Forge/Stacks/Materials/crystals.yml rename Resources/Prototypes/_Forge/Store/{preset.yml => presets.yml} (61%) create mode 100644 Resources/Prototypes/_Forge/currency.yml create mode 100644 Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin-inhand-left.png create mode 100644 Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin-inhand-right.png create mode 100644 Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin.png create mode 100644 Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_2.png create mode 100644 Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_3.png create mode 100644 Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_4.png create mode 100644 Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_5.png create mode 100644 Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/meta.json create mode 100644 Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/broken.png create mode 100644 Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/deny-unshaded.png create mode 100644 Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/eject-unshaded.png create mode 100644 Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/meta.json create mode 100644 Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/normal-unshaded.png create mode 100644 Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/panel.png create mode 100644 Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/tti.png diff --git a/Resources/Locale/ru-RU/_Forge/currency.ftl b/Resources/Locale/ru-RU/_Forge/currency.ftl new file mode 100644 index 00000000000..e285e838b8f --- /dev/null +++ b/Resources/Locale/ru-RU/_Forge/currency.ftl @@ -0,0 +1 @@ +store-currency-display-tti-telecrystal = МК diff --git a/Resources/Locale/ru-RU/_Forge/research/nanotrasen-research.ftl b/Resources/Locale/ru-RU/_Forge/research/nanotrasen-research.ftl index 6cacef2f3cf..a81c768a462 100644 --- a/Resources/Locale/ru-RU/_Forge/research/nanotrasen-research.ftl +++ b/Resources/Locale/ru-RU/_Forge/research/nanotrasen-research.ftl @@ -26,4 +26,4 @@ research-technology-tti-equipment-t5 = Боевое снаряжение Trauma research-technology-tti-supplies-t1 = Медицинские припасы research-technology-tti-supplies-t2 = Невозможное возможно research-technology-tti-circuitboard-t1 = Медицинские приборы -research-technology-tti-circuitboard-t2 = Технология клонирования \ No newline at end of file +research-technology-tti-circuitboard-t2 = Технология клонирования diff --git a/Resources/Locale/ru-RU/_Forge/store/store-preset-name.ftl b/Resources/Locale/ru-RU/_Forge/store/store-preset-name.ftl new file mode 100644 index 00000000000..cfc9e5d1c59 --- /dev/null +++ b/Resources/Locale/ru-RU/_Forge/store/store-preset-name.ftl @@ -0,0 +1 @@ +store-preset-name-tti-uplink = Аплинк TTI diff --git a/Resources/Locale/ru-RU/_Forge/store/uplink-catalog.ftl b/Resources/Locale/ru-RU/_Forge/store/uplink-catalog.ftl index 0866735b607..14beaae5702 100644 --- a/Resources/Locale/ru-RU/_Forge/store/uplink-catalog.ftl +++ b/Resources/Locale/ru-RU/_Forge/store/uplink-catalog.ftl @@ -83,3 +83,53 @@ forge-uplink-security-researchpoointsmall-name = диск исследовате forge-uplink-security-researchpoointsmall-desc = Диск для сервера РНД, содержащий 1000 очков. forge-uplink-security-researchpoointmedium-name = диск исследовательских очков (5000) forge-uplink-security-researchpoointmedium-desc = Диск для сервера РНД, содержащий 5000 очков. + +store-category-ttiutility = Утилиты +store-category-ttihardsuits = Скафандры +store-category-ttiweapons = Оружие +store-category-ttiammo = Боеприпасы +store-category-ttibundles = Наборы +store-category-ttiblueprints = Чертежи +# Weapon +uplink-tti-launchersyringe-name = Шприцемёт +uplink-tti-launchersyringe-desc = Лучшее оружие любого медика! Наверное... +# Ammo +uplink-tti-minisyringe-name = Набор мини-шприцов +uplink-tti-minisyringe-desc = Включает в себя 8 мини-шприцов и кейс. +# Utility +uplink-tti-hypobrigmedic-name = Мини-гипоспрей +uplink-tti-hypobrigmedic-desc = Не лучшая версия гипоспрея, но со своими задачами справляется. Вмещает 25 единиц. +uplink-tti-medicaltechfabcircuitboard-name = Медицинский ТехФаб +uplink-tti-medicaltechfabcircuitboard-desc = Машинная плата медицинского ТехФаба. +uplink-tti-hypospray-name = Гипоспрей +uplink-tti-hypospray-desc = Обычный гипоспрей. Вмещает 30 единиц. Что ты ещё ожидал здесь увидеть? +uplink-tti-clothingshoesbootsmagtrauma-name = Магнитные ботинки +uplink-tti-clothingshoesbootsmagtrauma-desc = Фирменные магнитные ботинки TTI. +uplink-tti-cloningconsolecomputercircuitboard-name = Консоль клонирования +uplink-tti-cloningconsolecomputercircuitboard-desc = Консольная плата консоли клонирования. Смешная тавтология, ну, или не очень. +uplink-tti-medicalbiofabmachineboard-name = Медицинский биофабрикатор +uplink-tti-medicalbiofabmachineboard-desc = Машинная плата медицинского биофабрикатора. +uplink-tti-cloningpodmachinecircuitboard-name = Капсула клонирования +uplink-tti-cloningpodmachinecircuitboard-desc = Машинная плата капсулы клонирования. +uplink-tti-medicalscannermachinecircuitboard-name = Медицинский сканер +uplink-tti-medicalscannermachinecircuitboard-desc = Машинная плата медицинского сканера. +uplink-tti-omnizinechemistrybottle-name = Бутылочка омнизина +uplink-tti-omnizinechemistrybottle-desc = Невозможное возможно! Кто-то научился производить омнизин, но это, к сожалению, оказались не вы. +# Hardsuits (Armor) +uplink-tti-clothingheadhatarmoredtrauma-name = Шлем +uplink-tti-clothingheadhatarmoredtrauma-desc = Фирменный шлем для врачей. +uplink-tti-clothingheadhatarmoredtraumashooter-name = Шлем +uplink-tti-clothingheadhatarmoredtraumashooter-desc = Фирменный шлем для стрелков. +uplink-tti-clothingouterarmorbodytrauma-name = Бронежилет +uplink-tti-clothingouterarmorbodytrauma-desc = Фирменный бронежилет и для врачей, и для стрелков. +uplink-tti-clothingouterhardsuittrauma-name = Скафандр +uplink-tti-clothingouterhardsuittrauma-desc = Фирменный скафандр для врачей. +uplink-tti-clothingouterhardsuittraumashooter-name = Скафандр +uplink-tti-clothingouterhardsuittraumashooter-desc = Фирменный скафандр для стрелков. +# Blueprints +uplink-tti-blueprinttechmed-name = Продвинутые медикаменты +uplink-tti-blueprinttechmed-desc = Рецепт продвинутых медикаментов. Включает в себя регенеративную сеть и медицинскую нить. +uplink-tti-blueprinttticlothing-name = Униформа +uplink-tti-blueprinttticlothing-desc = Чертёж униформы. Включает в себя... Да много чего он в себя включает. +uplink-tti-blueprintttiouterclothing-name = Экипировка +uplink-tti-blueprintttiouterclothing-desc = Чертёж экипировки. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/Structures/machines/uplinks.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/Structures/machines/uplinks.ftl new file mode 100644 index 00000000000..e2a40f76ff6 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/Structures/machines/uplinks.ftl @@ -0,0 +1,2 @@ +ent-VendingMachineTTIUplink = станция запроса оборудования TTI + .desc = Центральный лифт для доступа к материалам TTI. Позволяет получать доступ к глубинному хранилищу в обмен на ТМК - ресурс, отражающий заслуги и накопленные запасы. diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/specific/tti.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/specific/tti.ftl new file mode 100644 index 00000000000..e13c104e958 --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/_Forge/entities/objects/specific/tti.ftl @@ -0,0 +1,15 @@ +ent-TTIMedicalCredit = медицинский кредит TTI + .desc = Жетон, выдаваемый сотрудникам TTI за спасение умерших. Может быть обменян через станцию запроса оборудования TTI на различные инструменты и снаряжение для медицинской деятельности. + .suffix = 100 +ent-TTIMedicalCredit1 = { ent-TTIMedicalCredit } + .suffix = 1 + .desc = { ent-TTIMedicalCredit.desc } +ent-TTIMedicalCredit5 = { ent-TTIMedicalCredit } + .suffix = 5 + .desc = { ent-TTIMedicalCredit.desc } +ent-TTIMedicalCredit25 = { ent-TTIMedicalCredit } + .suffix = 25 + .desc = { ent-TTIMedicalCredit.desc } +ent-TTIMedicalCredit50 = { ent-TTIMedicalCredit } + .suffix = 50 + .desc = { ent-TTIMedicalCredit.desc } diff --git a/Resources/Prototypes/_Forge/Catalog/tti_uplink_catalog.yml b/Resources/Prototypes/_Forge/Catalog/tti_uplink_catalog.yml new file mode 100644 index 00000000000..be314b8f7d3 --- /dev/null +++ b/Resources/Prototypes/_Forge/Catalog/tti_uplink_catalog.yml @@ -0,0 +1,313 @@ +# region Weapon + +- type: listing + id: UplinkTTILauncherSyringe + name: uplink-tti-launchersyringe-name + description: uplink-tti-launchersyringe-desc + productEntity: LauncherSyringe + icon: { sprite: Objects/Weapons/Guns/Cannons/syringe_gun.rsi, state: syringe_gun } + cost: + TTIMedicalCredit: 10 + categories: + - UplinkTTIWeapons + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +# region Ammo + +- type: listing + id: UplinkTTIMiniSyringe + name: uplink-tti-minisyringe-name + description: uplink-tti-minisyringe-desc + productEntity: SyringeCaseMiniSyringeFilled + icon: { sprite: _Mono/Objects/Misc/syringecase.rsi, state: closed } + cost: + TTIMedicalCredit: 3 + categories: + - UplinkTTIAmmo + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +# region Utility + +- type: listing + id: UplinkTTIHypoBrigmedic + name: uplink-tti-hypobrigmedic-name + description: uplink-tti-hypobrigmedic-desc + productEntity: HypoBrigmedic + icon: { sprite: _NF/Objects/Specific/Medical/hypobrigmedic.rsi, state: hypo } + cost: + TTIMedicalCredit: 5 + categories: + - UplinkTTIUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIMedicalTechFabCircuitboard + name: uplink-tti-medicaltechfabcircuitboard-name + description: uplink-tti-medicaltechfabcircuitboard-desc + productEntity: MedicalTechFabCircuitboard + icon: { sprite: Structures/Machines/techfab.rsi, state: icon } + cost: + TTIMedicalCredit: 10 + categories: + - UplinkTTIUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIHypospray + name: uplink-tti-hypospray-name + description: uplink-tti-hypospray-desc + productEntity: Hypospray + icon: { sprite: Objects/Specific/Medical/hypospray.rsi, state: hypo } + cost: + TTIMedicalCredit: 15 + categories: + - UplinkTTIUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIClothingShoesBootsMagTrauma + name: uplink-tti-clothingshoesbootsmagtrauma-name + description: uplink-tti-clothingshoesbootsmagtrauma-desc + productEntity: ClothingShoesBootsMagTrauma + icon: { sprite: Forge/Clothing/Shoes/Boots/tti_magboots.rsi, state: icon } + cost: + TTIMedicalCredit: 15 + categories: + - UplinkTTIUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTICloningConsoleComputerCircuitboard + name: uplink-tti-cloningconsolecomputercircuitboard-name + description: uplink-tti-cloningconsolecomputercircuitboard-desc + productEntity: CloningConsoleComputerCircuitboard + icon: { sprite: Objects/Misc/module.rsi, state: cpu_medical } + cost: + TTIMedicalCredit: 15 + categories: + - UplinkTTIUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIMedicalBiofabMachineBoard + name: uplink-tti-medicalbiofabmachineboard-name + description: uplink-tti-medicalbiofabmachineboard-desc + productEntity: MedicalBiofabMachineBoard + icon: { sprite: Objects/Misc/module.rsi, state: medical } + cost: + TTIMedicalCredit: 15 + categories: + - UplinkTTIUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTICloningPodMachineCircuitboard + name: uplink-tti-cloningpodmachinecircuitboard-name + description: uplink-tti-cloningpodmachinecircuitboard-desc + productEntity: CloningPodMachineCircuitboard + icon: { sprite: Objects/Misc/module.rsi, state: medical } + cost: + TTIMedicalCredit: 15 + categories: + - UplinkTTIUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIMedicalScannerMachineCircuitboard + name: uplink-tti-medicalscannermachinecircuitboard-name + description: uplink-tti-medicalscannermachinecircuitboard-desc + productEntity: MedicalScannerMachineCircuitboard + icon: { sprite: Objects/Misc/module.rsi, state: medical } + cost: + TTIMedicalCredit: 15 + categories: + - UplinkTTIUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIOmnizineChemistryBottle + name: uplink-tti-omnizinechemistrybottle-name + description: uplink-tti-omnizinechemistrybottle-desc + productEntity: OmnizineChemistryBottle + icon: { sprite: _DV/Objects/Specific/Chemistry/bottle.rsi, state: bottle-1 } + cost: + TTIMedicalCredit: 5 + categories: + - UplinkTTIUtility + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +# region Hardsuits (Armor) + +- type: listing + id: UplinkTTIClothingHeadHatArmoredTrauma + name: uplink-tti-clothingheadhatarmoredtrauma-name + description: uplink-tti-clothingheadhatarmoredtrauma-desc + productEntity: ClothingHeadHatArmoredTrauma + icon: { sprite: Forge/Clothing/Head/Helmets/tti.rsi, state: icon } + cost: + TTIMedicalCredit: 5 + categories: + - UplinkTTIHardsuits + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIClothingHeadHatArmoredTraumaShooter + name: uplink-tti-clothingheadhatarmoredtraumashooter-name + description: uplink-tti-clothingheadhatarmoredtraumashooter-desc + productEntity: ClothingHeadHatArmoredTraumaShooter + icon: { sprite: Forge/Clothing/Head/Hardsuits/tti_hardsuit_shooter.rsi, state: icon } + cost: + TTIMedicalCredit: 5 + categories: + - UplinkTTIHardsuits + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIClothingOuterArmorBodyTrauma + name: uplink-tti-clothingouterarmorbodytrauma-name + description: uplink-tti-clothingouterarmorbodytrauma-desc + productEntity: ClothingOuterArmorBodyTrauma + icon: { sprite: Forge/Clothing/OuterClothing/Armor/tti_west.rsi, state: icon } + cost: + TTIMedicalCredit: 10 + categories: + - UplinkTTIHardsuits + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIClothingOuterHardsuitTrauma + name: uplink-tti-clothingouterhardsuittrauma-name + description: uplink-tti-clothingouterhardsuittrauma-desc + productEntity: ClothingOuterHardsuitTrauma + icon: { sprite: Forge/Clothing/OuterClothing/Hardsuits/tti_hardsuit.rsi, state: icon } + cost: + TTIMedicalCredit: 15 + categories: + - UplinkTTIHardsuits + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIClothingOuterHardsuitTraumaShooter + name: uplink-tti-clothingouterhardsuittraumashooter-name + description: uplink-tti-clothingouterhardsuittraumashooter-desc + productEntity: ClothingOuterHardsuitTraumaShooter + icon: { sprite: Forge/Clothing/OuterClothing/Hardsuits/tti_shooter_hardsuit.rsi, state: icon } + cost: + TTIMedicalCredit: 20 + categories: + - UplinkTTIHardsuits + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +# region Blueprints + +- type: listing + id: UplinkTTIBlueprintTechMed + name: uplink-tti-blueprinttechmed-name + description: uplink-tti-blueprinttechmed-desc + productEntity: BlueprintTechMed + icon: { sprite: _DV/Objects/Specific/medical.rsi, state: medicated-suture } + cost: + TTIMedicalCredit: 30 + categories: + - UplinkTTIBlueprints + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIBlueprintTTIClothing + name: uplink-tti-blueprinttticlothing-name + description: uplink-tti-blueprinttticlothing-desc + productEntity: BlueprintTTIClothing + icon: { sprite: Forge/Clothing/Uniforms/Jumpsuits/tti_suit.rsi, state: icon } + cost: + TTIMedicalCredit: 15 + categories: + - UplinkTTIBlueprints + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI + +- type: listing + id: UplinkTTIBlueprintTTIOuterClothing + name: uplink-tti-blueprintttiouterclothing-name + description: uplink-tti-blueprintttiouterclothing-desc + productEntity: BlueprintTTIOuterClothing + icon: { sprite: Forge/Clothing/OuterClothing/Coats/tti_bomber.rsi, state: icon } + cost: + TTIMedicalCredit: 15 + categories: + - UplinkTTIBlueprints + conditions: + - !type:StoreWhitelistCondition + whitelist: + tags: + - FactionStaticUplinkTTI diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Specific/Medical/misc.yml b/Resources/Prototypes/_Forge/Entities/Objects/Specific/Medical/misc.yml index 3a201d5ed0b..ba7e0e6cee3 100644 --- a/Resources/Prototypes/_Forge/Entities/Objects/Specific/Medical/misc.yml +++ b/Resources/Prototypes/_Forge/Entities/Objects/Specific/Medical/misc.yml @@ -25,3 +25,13 @@ reagents: - ReagentId: Tabex Quantity: 10 + +- type: entity + id: SyringeCaseMiniSyringeFilled + parent: SyringeCase + suffix: Filled, MiniSyringe + components: + - type: StorageFill + contents: + - id: MiniSyringe + amount: 8 diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Specific/tti.yml b/Resources/Prototypes/_Forge/Entities/Objects/Specific/tti.yml new file mode 100644 index 00000000000..9350735477b --- /dev/null +++ b/Resources/Prototypes/_Forge/Entities/Objects/Specific/tti.yml @@ -0,0 +1,74 @@ +- type: entity + name: TTI Medical Credit + parent: BaseItem + id: TTIMedicalCredit + suffix: 100 TMC + description: A token awarded to TTI personnel for turning in contraband. It can be exchanged in an TSFMC uplink device for a variety of law enforcement tools. + components: + - type: Sprite + sprite: Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi + state: coin_5 + layers: + - state: coin_5 + map: ["base"] + - type: Item + sprite: Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi + size: Tiny + - type: Stack + count: 100 + stackType: TTIMedicalCredit + baseLayer: base + layerStates: + - coin + - coin_2 + - coin_3 + - coin_4 + - coin_5 + - type: StaticPrice + price: 0 + - type: StackPrice + price: 40 + - type: Currency + price: + TTIMedicalCredit: 1 + - type: Appearance + +- type: entity + parent: TTIMedicalCredit + id: TTIMedicalCredit1 + suffix: 1 TMC + components: + - type: Sprite + state: coin + - type: Stack + count: 1 + +- type: entity + parent: TTIMedicalCredit + id: TTIMedicalCredit5 + suffix: 5 TMC + components: + - type: Sprite + state: coin_2 + - type: Stack + count: 5 + +- type: entity + parent: TTIMedicalCredit + id: TTIMedicalCredit25 + suffix: 25 TMC + components: + - type: Sprite + state: coin_3 + - type: Stack + count: 25 + +- type: entity + parent: TTIMedicalCredit + id: TTIMedicalCredit50 + suffix: 50 TMC + components: + - type: Sprite + state: coin_4 + - type: Stack + count: 50 diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Tools/blueprints/blueprints_medical.yml b/Resources/Prototypes/_Forge/Entities/Objects/Tools/blueprints/blueprints_medical.yml index 5e080fd0adb..5c91f469d8c 100644 --- a/Resources/Prototypes/_Forge/Entities/Objects/Tools/blueprints/blueprints_medical.yml +++ b/Resources/Prototypes/_Forge/Entities/Objects/Tools/blueprints/blueprints_medical.yml @@ -69,3 +69,14 @@ - ForgeVoiceModuleImplanter - ForgeSubdermalArmorImplant - ForgeReflectiveSubdermalArmorImplant + +- type: entity + parent: NFBaseBlueprintMedical + id: BlueprintTechMed + name: tech med blueprint + description: A blueprint with a schematic of a subdermal implants. It can be inserted into an autolathe or a techfab. + components: + - type: Blueprint + providedRecipes: + - BrutepackAdvanced1 + - OintmentAdvanced1 diff --git a/Resources/Prototypes/_Forge/Entities/Objects/Tools/blueprints/blueprints_service.yml b/Resources/Prototypes/_Forge/Entities/Objects/Tools/blueprints/blueprints_service.yml new file mode 100644 index 00000000000..336d6f94114 --- /dev/null +++ b/Resources/Prototypes/_Forge/Entities/Objects/Tools/blueprints/blueprints_service.yml @@ -0,0 +1,30 @@ +- type: entity + parent: NFBaseBlueprintService + id: BlueprintTTIClothing + name: tti clothing blueprint + description: A blueprint with a schematic of an advanced mop. It can be inserted into an autolathe or a techfab. + components: + - type: Blueprint + providedRecipes: + - ClothingUniformJumpsuitATU + - ClothingUniformJumpskirtTAF + - ClothingUniformJumpsuitTraumaBlue + - ClothingUniformJumpskirtTraumaBlue + - ClothingUniformJumpsuitTraumaStandart + - ClothingUniformJumpsuitTraumaDirector + +- type: entity + parent: NFBaseBlueprintService + id: BlueprintTTIOuterClothing + name: tti outer clothing blueprint + description: A blueprint with a schematic of an advanced mop. It can be inserted into an autolathe or a techfab. + components: + - type: Blueprint + providedRecipes: + - ClothingOuterRobeTraumaBomber + - ClothingOuterCoatTrauma + - ClothingMaskSterileTrauma + - ClothingNeckCloakTrauma + - ClothingNeckMantleTrauma + - ClothingHeadHatTraumaDirectorBeret + - ClothingHeadHatTraumaBeret diff --git a/Resources/Prototypes/_Forge/Entities/Structures/Machines/uplinks.yml b/Resources/Prototypes/_Forge/Entities/Structures/Machines/uplinks.yml new file mode 100644 index 00000000000..9f3dbc16c1b --- /dev/null +++ b/Resources/Prototypes/_Forge/Entities/Structures/Machines/uplinks.yml @@ -0,0 +1,54 @@ +- type: entity + parent: [StorePresetTTIUplink, VendingMachine] + id: VendingMachineTTIUplink + name: TTI equipment requisition station + description: A central TSFMC material access lift. Lets you access deep storage at the cost of FMC, which represent merit and accumulated resources. + components: + - type: VendingMachine + cashSlot: Null + offState: tti + brokenState: broken + normalState: normal-unshaded + ejectState: eject-unshaded + denyState: deny-unshaded + - type: Advertise + pack: FactionUplinkAds + - type: Sprite + sprite: Forge/Structures/Machines/VendingMachines/tti_vendor.rsi + noRot: true + layers: + - state: tti + map: [ "enum.VendingMachineVisualLayers.Base" ] + - state: normal-unshaded + map: [ "enum.VendingMachineVisualLayers.BaseUnshaded" ] + shader: unshaded + - state: panel + map: [ "enum.WiresVisualLayers.MaintenancePanel" ] + - type: PointLight + radius: 1.5 + energy: 1.3 + color: "#00d1a0" + - type: UserInterface + interfaces: + enum.StoreUiKey.Key: + type: StoreBoundUserInterface + - type: ActivatableUI + key: enum.StoreUiKey.Key + - type: Store + categories: + - UplinkTTIUtility + - UplinkTTIHardsuits + - UplinkTTIWeapons + - UplinkTTIAmmo + - UplinkTTIBundles + - UplinkTTIBlueprints + balance: + TTIMedicalCredit: 25 + - type: AccessReader + access: [["Medical"]] + - type: CompanyAccessReader + requiredCompanies: + - MD + - type: Tag + tags: + - FactionStaticUplinkTTI diff --git a/Resources/Prototypes/_Forge/Recipes/Lathes/Factions/Nanotrasen/medical.yml b/Resources/Prototypes/_Forge/Recipes/Lathes/Factions/Nanotrasen/medical.yml index e4e7a47dc60..ec48a8d14c3 100644 --- a/Resources/Prototypes/_Forge/Recipes/Lathes/Factions/Nanotrasen/medical.yml +++ b/Resources/Prototypes/_Forge/Recipes/Lathes/Factions/Nanotrasen/medical.yml @@ -2,7 +2,7 @@ id: OmnizineChemistryBottle result: OmnizineChemistryBottle parent: BioGenFoodRecipe - completetime: 5 + completetime: 5 materials: Biomass: 20 Plasma: 1000 @@ -17,7 +17,7 @@ Biomass: 180 Plasma: 3000 Glass: 1000 - + - type: latheRecipe parent: BaseToolRecipe id: Hypospray @@ -29,7 +29,7 @@ Gold: 2500 Plastic: 3000 UraniumDepleted: 500 - + - type: latheRecipe parent: BaseToolRecipe id: HypoBrigmedic @@ -51,7 +51,7 @@ Silver: 1500 Gold: 1500 Plastic: 2000 - + - type: latheRecipe parent: BaseToolRecipe id: CentCommHypo @@ -63,7 +63,7 @@ Gold: 3000 Plastic: 4000 UraniumFissile: 100 - + - type: latheRecipe parent: BaseToolRecipe id: BrutepackAdvanced1 @@ -72,7 +72,7 @@ materials: Steel: 1000 Plastic: 1000 - + - type: latheRecipe parent: BaseToolRecipe id: OintmentAdvanced1 @@ -81,5 +81,5 @@ materials: Glass: 1000 Plastic: 1000 - + diff --git a/Resources/Prototypes/_Forge/Recipes/Lathes/Packs/blueprints.yml b/Resources/Prototypes/_Forge/Recipes/Lathes/Packs/blueprints.yml index e25a74ca7db..2188ccb1da3 100644 --- a/Resources/Prototypes/_Forge/Recipes/Lathes/Packs/blueprints.yml +++ b/Resources/Prototypes/_Forge/Recipes/Lathes/Packs/blueprints.yml @@ -20,4 +20,4 @@ - ForgeBlueprintUraniumAmmo - ForgeBlueprintAPAmmo - ForgeBlueprintRIPAmmo - - ForgeBlueprintExplosives \ No newline at end of file + - ForgeBlueprintExplosives diff --git a/Resources/Prototypes/_Forge/Research/Nanotrasen/nanotrasen.yml b/Resources/Prototypes/_Forge/Research/Nanotrasen/nanotrasen.yml index a8ed5ef1173..63ec984693e 100644 --- a/Resources/Prototypes/_Forge/Research/Nanotrasen/nanotrasen.yml +++ b/Resources/Prototypes/_Forge/Research/Nanotrasen/nanotrasen.yml @@ -11,7 +11,7 @@ 3: 0.5 4: 0.5 uiName: NT-EQ - + - type: technology id: NanotrasenCircuitBoard name: research-technology-nanotrasen-circuitboard @@ -33,24 +33,25 @@ - StationAiUploadCircuitboard technologyPrerequisites: - UniversalMaterialResearchT1 - position: 13, -1 - -- type: technology - id: NanotrasenLaserDrill - name: research-technology-nanotrasen-flatpack-drill - entityIcon: LaserDrill - discipline: Nanotrasen - tier: 1 - cost: 30000 - recipeUnlocks: - - LaserDrillCircuitboard - technologyPrerequisites: - - UniversalMaterialResearchT1 - position: 14, -1 + position: 2, 0 + +# Не заслужили +# - type: technology +# id: NanotrasenLaserDrill +# name: research-technology-nanotrasen-flatpack-drill +# entityIcon: LaserDrill +# discipline: Nanotrasen +# tier: 1 +# cost: 30000 +# recipeUnlocks: +# - LaserDrillCircuitboard +# technologyPrerequisites: +# - UniversalMaterialResearchT1 +# position: 14, -1 - type: technology id: NanotrasenArmorT1 - name: research-technology-nanotrasen-equipment-t1 + name: research-technology-nanotrasen-equipment-t1 entityIcon: ClothingHeadHelmetJustice discipline: Nanotrasen tier: 1 @@ -64,7 +65,7 @@ - ClothingOuterHardsuitSecurity technologyPrerequisites: - UniversalMaterialResearchT1 - position: 14, 1 + position: 0, 0 - type: technology id: NanotrasenArmorT2 @@ -87,8 +88,8 @@ - ClothingOuterHardsuitSecurityRed technologyPrerequisites: - NanotrasenArmorT1 - position: 14, 3 - + position: 0, 1 + - type: technology id: NanotrasenArmorT3 name: research-technology-nanotrasen-equipment-t3 @@ -100,22 +101,22 @@ - ClothingOuterHardsuitERTSecurity - ClothingOuterHardsuitCBURN - ClothingUniformJumpsuitERTSecurity - - ClothingUniformJumpsuitERTMedic - - ClothingUniformJumpsuitERTMailCarrier - - ClothingUniformJumpsuitERTEngineer + # - ClothingUniformJumpsuitERTMedic + # - ClothingUniformJumpsuitERTMailCarrier + # - ClothingUniformJumpsuitERTEngineer - ClothingUniformJumpsuitERTJanitor - - ClothingUniformJumpsuitERTChaplain + # - ClothingUniformJumpsuitERTChaplain - ClothingHeadHelmetERTSecurity - - ClothingHeadHelmetERTMedic - - ClothingHeadHelmetERTMailCarrier - - ClothingHeadHelmetERTEngineer + # - ClothingHeadHelmetERTMedic + # - ClothingHeadHelmetERTMailCarrier + # - ClothingHeadHelmetERTEngineer - ClothingHeadHelmetERTJanitor - ClothingMaskGasERT technologyPrerequisites: - NanotrasenArmorT2 - UniversalMaterialResearchT2 - position: 14, 5 - + position: 0, 2 + - type: technology id: NanotrasenArmorT4 name: research-technology-nanotrasen-equipment-t4 @@ -125,48 +126,50 @@ cost: 40000 recipeUnlocks: - ClothingBackpackERTSecurity - - ClothingBackpackERTMedical - - ClothingBackpackERTChaplain - - ClothingBackpackERTMailCarrier - - ClothingBackpackERTEngineer + # - ClothingBackpackERTMedical + # - ClothingBackpackERTChaplain + # - ClothingBackpackERTMailCarrier + # - ClothingBackpackERTEngineer - ClothingBackpackERTJanitor technologyPrerequisites: - NanotrasenArmorT3 - position: 15, 7 + position: 0, 3 + +# Не заслужили +# - type: technology +# id: NanotrasenArmorT5 +# name: research-technology-nanotrasen-equipment-t5 +# entityIcon: ClothingOuterHardsuitERTJanitor +# discipline: Nanotrasen +# tier: 3 +# cost: 70000 +# recipeUnlocks: +# - ClothingOuterHardsuitERTMedical +# - ClothingOuterHardsuitERTJanitor +# - ClothingOuterHardsuitERTEngineer +# - ClothingOuterHardsuitERTMailCarrier +# technologyPrerequisites: +# - NanotrasenArmorT3 +# position: 14, 8 + +# Не заслужили +# - type: technology +# id: NanotrasenArmorT6 +# name: research-technology-nanotrasen-equipment-t6 +# entityIcon: ClothingOuterHardsuitERTChaplain +# discipline: Nanotrasen +# tier: 3 +# cost: 90000 +# recipeUnlocks: +# - ClothingOuterHardsuitERTChaplain +# technologyPrerequisites: +# - NanotrasenArmorT5 +# - UniversalMaterialResearchT3 +# position: 13, 10 -- type: technology - id: NanotrasenArmorT5 - name: research-technology-nanotrasen-equipment-t5 - entityIcon: ClothingOuterHardsuitERTJanitor - discipline: Nanotrasen - tier: 3 - cost: 70000 - recipeUnlocks: - - ClothingOuterHardsuitERTMedical - - ClothingOuterHardsuitERTJanitor - - ClothingOuterHardsuitERTEngineer - - ClothingOuterHardsuitERTMailCarrier - technologyPrerequisites: - - NanotrasenArmorT3 - position: 14, 8 - -- type: technology - id: NanotrasenArmorT6 - name: research-technology-nanotrasen-equipment-t6 - entityIcon: ClothingOuterHardsuitERTChaplain - discipline: Nanotrasen - tier: 3 - cost: 90000 - recipeUnlocks: - - ClothingOuterHardsuitERTChaplain - technologyPrerequisites: - - NanotrasenArmorT5 - - UniversalMaterialResearchT3 - position: 13, 10 - - type: technology id: NanotrasenWeaponT1 - name: research-technology-nanotrasen-weapon-equipment-t1 + name: research-technology-nanotrasen-weapon-equipment-t1 entityIcon: WeaponRevolverInspector discipline: Nanotrasen tier: 1 @@ -177,7 +180,7 @@ - WeaponFlareGunSecurity technologyPrerequisites: - UniversalMaterialResearchT1 - position: 18, 10 + position: 1, 0 - type: technology id: NanotrasenWeaponT2 @@ -191,11 +194,11 @@ - WeaponRevolverMateba technologyPrerequisites: - NanotrasenWeaponT1 - position: 19, 10 - + position: 1, 1 + - type: technology id: NanotrasenWeaponT3 - name: research-technology-nanotrasen-weapon-equipment-t3 + name: research-technology-nanotrasen-weapon-equipment-t3 entityIcon: WeaponPulsePistol discipline: Nanotrasen tier: 2 @@ -207,7 +210,7 @@ technologyPrerequisites: - NanotrasenWeaponT2 - UniversalMaterialResearchT3 - position: 20, 10 + position: 1, 2 - type: technology id: NanotrasenWeaponT4 @@ -221,197 +224,201 @@ - WeaponEnergyShotgun technologyPrerequisites: - NanotrasenWeaponT3 - position: 21, 9 - -- type: technology - id: NanotrasenWeaponT5 - name: research-technology-nanotrasen-weapon-equipment-t5 - entityIcon: WeaponPulseCarbine - discipline: Nanotrasen - tier: 3 - cost: 80000 - recipeUnlocks: - - WeaponPulseCarbine - - WeaponRifleNtsfLtr - - WeaponSubMachineGunVectorNtsfHclm - - Magazine45_magnumPistolHighCapacityFMJ - - Magazine45_magnumPistolHighCapacityEmpty - technologyPrerequisites: - - NanotrasenWeaponT3 - position: 21, 10 + position: 1, 3 -- type: technology - id: NanotrasenWeaponT6 - name: research-technology-nanotrasen-weapon-equipment-t6 - entityIcon: WeaponLRC21PPL - discipline: Nanotrasen - tier: 3 - cost: 65000 - recipeUnlocks: - - WeaponLRC21PPL - - PulsedPlasmaLaserCanister - - WeaponPulseRifle - - WeaponLauncherMPSSM - - CartridgeMPSSMHEAT - - CartridgeMPSSMMissile - technologyPrerequisites: - - NanotrasenWeaponT3 - position: 21, 11 - -- type: technology - id: NanotrasenWeaponT7 - name: research-technology-nanotrasen-weapon-equipment-t7 - entityIcon: WeaponHeavyPulseCannon - discipline: Nanotrasen - tier: 4 - cost: 100000 - recipeUnlocks: - - WeaponMechCombatPulseRifleTSF - - WeaponLauncherMk348 - - WeaponHeavyPulseCannon - technologyPrerequisites: - - NanotrasenWeaponT4 - - NanotrasenWeaponT5 - - NanotrasenWeaponT6 - position: 22, 10 +# Не заслужили +# - type: technology +# id: NanotrasenWeaponT5 +# name: research-technology-nanotrasen-weapon-equipment-t5 +# entityIcon: WeaponPulseCarbine +# discipline: Nanotrasen +# tier: 3 +# cost: 80000 +# recipeUnlocks: +# - WeaponPulseCarbine +# - WeaponRifleNtsfLtr +# - WeaponSubMachineGunVectorNtsfHclm +# - Magazine45_magnumPistolHighCapacityFMJ +# - Magazine45_magnumPistolHighCapacityEmpty +# technologyPrerequisites: +# - NanotrasenWeaponT3 +# position: 21, 10 -- type: technology - id: TTItechGypoT1 - name: research-technology-tti-equipment-t1 - entityIcon: HypoMiniLimitedEdition - discipline: Nanotrasen - tier: 1 - cost: 30000 - recipeUnlocks: - - HypoBrigmedic - - HypoMiniLimitedEdition - technologyPrerequisites: - - UniversalMaterialResearchT1 - position: 17, -1 +# Не заслужили +# - type: technology +# id: NanotrasenWeaponT6 +# name: research-technology-nanotrasen-weapon-equipment-t6 +# entityIcon: WeaponLRC21PPL +# discipline: Nanotrasen +# tier: 3 +# cost: 65000 +# recipeUnlocks: +# - WeaponLRC21PPL +# - PulsedPlasmaLaserCanister +# - WeaponPulseRifle +# - WeaponLauncherMPSSM +# - CartridgeMPSSMHEAT +# - CartridgeMPSSMMissile +# technologyPrerequisites: +# - NanotrasenWeaponT3 +# position: 21, 11 -- type: technology - id: TTItechGypoT2 - name: research-technology-tti-equipment-t2 - entityIcon: CentCommHypo - discipline: Nanotrasen - tier: 1 - cost: 70000 - recipeUnlocks: - - Hypospray - - CentCommHypo - technologyPrerequisites: - - TTItechGypoT1 - position: 17, -2 +# Не заслужили +# - type: technology +# id: NanotrasenWeaponT7 +# name: research-technology-nanotrasen-weapon-equipment-t7 +# entityIcon: WeaponHeavyPulseCannon +# discipline: Nanotrasen +# tier: 4 +# cost: 100000 +# recipeUnlocks: +# - WeaponMechCombatPulseRifleTSF +# - WeaponLauncherMk348 +# - WeaponHeavyPulseCannon +# technologyPrerequisites: +# - NanotrasenWeaponT4 +# - NanotrasenWeaponT5 +# - NanotrasenWeaponT6 +# position: 22, 10 -- type: technology - id: TTItechMed - name: research-technology-tti-supplies-t1 - entityIcon: MedicatedSuture - discipline: Nanotrasen - tier: 1 - cost: 20000 - recipeUnlocks: - - BrutepackAdvanced1 - - OintmentAdvanced1 - technologyPrerequisites: - - UniversalMaterialResearchT1 - position: 18, -1 - -- type: technology - id: TTItechOmnisine - name: research-technology-tti-supplies-t2 - entityIcon: OmnizineChemistryBottle - discipline: Nanotrasen - tier: 1 - cost: 50000 - recipeUnlocks: - - OmnizineChemistryBottle - - JugOmnizine - technologyPrerequisites: - - TTItechMed - position: 18, -2 - -- type: technology - id: TTItechClothingT1 - name: research-technology-tti-equipment-t3 - entityIcon: ClothingUniformJumpsuitATU - discipline: Nanotrasen - tier: 1 - cost: 30000 - recipeUnlocks: - - ClothingUniformJumpsuitATU - - ClothingUniformJumpskirtTAF - - ClothingUniformJumpsuitTraumaBlue - - ClothingUniformJumpskirtTraumaBlue - - ClothingUniformJumpsuitTraumaStandart - - ClothingUniformJumpsuitTraumaDirector - technologyPrerequisites: - - UniversalMaterialResearchT1 - position: 21, 0 - -- type: technology - id: TTItechClothingT3 - name: research-technology-tti-equipment-t4 - entityIcon: ClothingOuterRobeTraumaBomber - discipline: Nanotrasen - tier: 1 - cost: 50000 - recipeUnlocks: - - ClothingOuterRobeTraumaBomber - - ClothingOuterCoatTrauma - - ClothingMaskSterileTrauma - - ClothingNeckCloakTrauma - - ClothingNeckMantleTrauma - - ClothingHeadHatTraumaDirectorBeret - - ClothingHeadHatTraumaBeret - technologyPrerequisites: - - TTItechClothingT1 - position: 23, 0 +# Ну и всё что ниже тоже не заслужили +# - type: technology +# id: TTItechGypoT1 +# name: research-technology-tti-equipment-t1 +# entityIcon: HypoMiniLimitedEdition +# discipline: Nanotrasen +# tier: 1 +# cost: 30000 +# recipeUnlocks: +# - HypoBrigmedic +# - HypoMiniLimitedEdition +# technologyPrerequisites: +# - UniversalMaterialResearchT1 +# position: 17, -1 -- type: technology - id: TTItechClothingT2 - name: research-technology-tti-equipment-t5 - entityIcon: ClothingOuterHardsuitTrauma - discipline: Nanotrasen - tier: 1 - cost: 70000 - recipeUnlocks: - - ClothingOuterHardsuitTrauma - - ClothingOuterHardsuitTraumaShooter - - ClothingOuterArmorBodyTrauma - - ClothingHeadHatArmoredTrauma - - ClothingHeadHatArmoredTraumaShooter - - ClothingShoesBootsMagTrauma - technologyPrerequisites: - - TTItechClothingT3 - - UniversalMaterialResearchT3 - position: 24, 0 - -- type: technology - id: TTItechMachineT1 - name: research-technology-tti-circuitboard-t1 - entityIcon: MedicalTechFabCircuitboard - discipline: Nanotrasen - tier: 1 - cost: 15000 - recipeUnlocks: - - MedicalTechFabCircuitboard - technologyPrerequisites: - - UniversalMaterialResearchT1 - position: 19, -1 - -- type: technology - id: TTItechMachineT2 - name: research-technology-tti-circuitboard-t2 - entityIcon: CloningConsoleComputerCircuitboard - discipline: Nanotrasen - tier: 1 - cost: 40000 - recipeUnlocks: - - CloningConsoleComputerCircuitboard - - MedicalBiofabMachineBoard - - CloningPodMachineCircuitboard - - MedicalScannerMachineCircuitboard - technologyPrerequisites: - - TTItechMachineT1 - position: 19, -2 \ No newline at end of file +# - type: technology +# id: TTItechGypoT2 +# name: research-technology-tti-equipment-t2 +# entityIcon: CentCommHypo +# discipline: Nanotrasen +# tier: 1 +# cost: 70000 +# recipeUnlocks: +# - Hypospray +# - CentCommHypo +# technologyPrerequisites: +# - TTItechGypoT1 +# position: 17, -2 + +# - type: technology +# id: TTItechMed +# name: research-technology-tti-supplies-t1 +# entityIcon: MedicatedSuture +# discipline: Nanotrasen +# tier: 1 +# cost: 20000 +# recipeUnlocks: +# - BrutepackAdvanced1 +# - OintmentAdvanced1 +# technologyPrerequisites: +# - UniversalMaterialResearchT1 +# position: 18, -1 + +# - type: technology +# id: TTItechOmnisine +# name: research-technology-tti-supplies-t2 +# entityIcon: OmnizineChemistryBottle +# discipline: Nanotrasen +# tier: 1 +# cost: 50000 +# recipeUnlocks: +# - OmnizineChemistryBottle +# - JugOmnizine +# technologyPrerequisites: +# - TTItechMed +# position: 18, -2 + +# - type: technology +# id: TTItechClothingT1 +# name: research-technology-tti-equipment-t3 +# entityIcon: ClothingUniformJumpsuitATU +# discipline: Nanotrasen +# tier: 1 +# cost: 30000 +# recipeUnlocks: +# - ClothingUniformJumpsuitATU +# - ClothingUniformJumpskirtTAF +# - ClothingUniformJumpsuitTraumaBlue +# - ClothingUniformJumpskirtTraumaBlue +# - ClothingUniformJumpsuitTraumaStandart +# - ClothingUniformJumpsuitTraumaDirector +# technologyPrerequisites: +# - UniversalMaterialResearchT1 +# position: 21, 0 + +# - type: technology +# id: TTItechClothingT3 +# name: research-technology-tti-equipment-t4 +# entityIcon: ClothingOuterRobeTraumaBomber +# discipline: Nanotrasen +# tier: 1 +# cost: 50000 +# recipeUnlocks: +# - ClothingOuterRobeTraumaBomber +# - ClothingOuterCoatTrauma +# - ClothingMaskSterileTrauma +# - ClothingNeckCloakTrauma +# - ClothingNeckMantleTrauma +# - ClothingHeadHatTraumaDirectorBeret +# - ClothingHeadHatTraumaBeret +# technologyPrerequisites: +# - TTItechClothingT1 +# position: 23, 0 + +# - type: technology +# id: TTItechClothingT2 +# name: research-technology-tti-equipment-t5 +# entityIcon: ClothingOuterHardsuitTrauma +# discipline: Nanotrasen +# tier: 1 +# cost: 70000 +# recipeUnlocks: +# - ClothingOuterHardsuitTrauma +# - ClothingOuterHardsuitTraumaShooter +# - ClothingOuterArmorBodyTrauma +# - ClothingHeadHatArmoredTrauma +# - ClothingHeadHatArmoredTraumaShooter +# - ClothingShoesBootsMagTrauma +# technologyPrerequisites: +# - TTItechClothingT3 +# - UniversalMaterialResearchT3 +# position: 24, 0 + +# - type: technology +# id: TTItechMachineT1 +# name: research-technology-tti-circuitboard-t1 +# entityIcon: MedicalTechFabCircuitboard +# discipline: Nanotrasen +# tier: 1 +# cost: 15000 +# recipeUnlocks: +# - MedicalTechFabCircuitboard +# technologyPrerequisites: +# - UniversalMaterialResearchT1 +# position: 19, -1 + +# - type: technology +# id: TTItechMachineT2 +# name: research-technology-tti-circuitboard-t2 +# entityIcon: CloningConsoleComputerCircuitboard +# discipline: Nanotrasen +# tier: 1 +# cost: 40000 +# recipeUnlocks: +# - CloningConsoleComputerCircuitboard +# - MedicalBiofabMachineBoard +# - CloningPodMachineCircuitboard +# - MedicalScannerMachineCircuitboard +# technologyPrerequisites: +# - TTItechMachineT1 +# position: 19, -2 diff --git a/Resources/Prototypes/_Forge/Stacks/Materials/crystals.yml b/Resources/Prototypes/_Forge/Stacks/Materials/crystals.yml new file mode 100644 index 00000000000..f01fa927043 --- /dev/null +++ b/Resources/Prototypes/_Forge/Stacks/Materials/crystals.yml @@ -0,0 +1,6 @@ +- type: stack + id: TTIMedicalCredit + name: tti medical credit + icon: { sprite: /Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi, state: coin } + spawn: TTIMedicalCredit1 + maxCount: 100 diff --git a/Resources/Prototypes/_Forge/Store/categories.yml b/Resources/Prototypes/_Forge/Store/categories.yml index daf46adcd96..ec50ea27dde 100644 --- a/Resources/Prototypes/_Forge/Store/categories.yml +++ b/Resources/Prototypes/_Forge/Store/categories.yml @@ -58,3 +58,29 @@ id: ContractorUplinkPointless name: store-category-pointless priority: 11 + +# region TTI + +- type: storeCategory + id: UplinkTTIUtility + name: store-category-ttiutility + +- type: storeCategory + id: UplinkTTIHardsuits + name: store-category-ttihardsuits + +- type: storeCategory + id: UplinkTTIWeapons + name: store-category-ttiweapons + +- type: storeCategory + id: UplinkTTIAmmo + name: store-category-ttiammo + +- type: storeCategory + id: UplinkTTIBundles + name: store-category-ttibundles + +- type: storeCategory + id: UplinkTTIBlueprints + name: store-category-ttiblueprints diff --git a/Resources/Prototypes/_Forge/Store/preset.yml b/Resources/Prototypes/_Forge/Store/presets.yml similarity index 61% rename from Resources/Prototypes/_Forge/Store/preset.yml rename to Resources/Prototypes/_Forge/Store/presets.yml index a50d5933066..846422856dc 100644 --- a/Resources/Prototypes/_Forge/Store/preset.yml +++ b/Resources/Prototypes/_Forge/Store/presets.yml @@ -21,3 +21,21 @@ - Telecrystal balance: Telecrystal: 0 + +- type: entity + id: StorePresetTTIUplink + abstract: true + components: + - type: Store + name: store-preset-name-tti-uplink + categories: + - UplinkTTIUtility + - UplinkTTIHardsuits + - UplinkTTIWeapons + - UplinkTTIAmmo + - UplinkTTIBundles + - UplinkTTIBlueprints + currencyWhitelist: + - TTIMedicalCredit + balance: + TTIMedicalCredit: 0 diff --git a/Resources/Prototypes/_Forge/currency.yml b/Resources/Prototypes/_Forge/currency.yml new file mode 100644 index 00000000000..65cc1a91156 --- /dev/null +++ b/Resources/Prototypes/_Forge/currency.yml @@ -0,0 +1,6 @@ +- type: currency + id: TTIMedicalCredit + displayName: store-currency-display-tti-telecrystal + cash: + 1: TTIMedicalCredit1 + canWithdraw: true diff --git a/Resources/Prototypes/_Forge/tags.yml b/Resources/Prototypes/_Forge/tags.yml index b5600f9b672..1976f418a13 100644 --- a/Resources/Prototypes/_Forge/tags.yml +++ b/Resources/Prototypes/_Forge/tags.yml @@ -254,3 +254,6 @@ - type: Tag id: ForgeCartridgeUllman127x85mm + +- type: Tag + id: FactionStaticUplinkTTI diff --git a/Resources/Prototypes/_Mono/companies.yml b/Resources/Prototypes/_Mono/companies.yml index 4eca62fdd2e..da72bc6a122 100644 --- a/Resources/Prototypes/_Mono/companies.yml +++ b/Resources/Prototypes/_Mono/companies.yml @@ -33,6 +33,7 @@ color: "#00d1a0" # Forge-change whitelisted: true hidden: true # Forge-change: hide cauz' i dont have description and im lazy to create it. If u add the desc: please switch to false + companyUplinkCurrency: TTIMedicalCredit # Forge-change - type: company id: Colonial @@ -317,6 +318,7 @@ color: "#B82121" image: /Textures/_Mono/Companies/thevipergroup.png # Example whitelisted: true + hidden: true # Forge-change # Forge-change: delete logins, add icon, note & special's note: viper-group-company-note icon: ViperGroup diff --git a/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin-inhand-left.png b/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..21115248db1bdaf695ef052c3cd313574da8d23d GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijkc)B=-RK&f#wUN`wP=xh@!n%Z|b6e+jES;+`?f$3rDKDA&9y3`r7rV%% zG|gY(dM;B)ZV&hR{hUCp3=LlAuUpIOJ+Ik&w^-6QX!n2f!aqA=o?p!iE_Hb0?)PMB zVDaWpW~MU7zeJq5Tvx3%IWx(=NQob$6{z{1tNg;6-yxUXe|XtHxE}RYkfCATk}r%( W*HjoMZ2DCKQse3B=d#Wzp$PzJ|5gA1 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin-inhand-right.png b/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..e6dac10be24964fb866eceac15b7f21293471d3d GIT binary patch literal 230 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCijkc)B=-RK&f#wULv_P^96Z!n%Z|b6e+jES;+mKJV$;l$T6>kD08Ri(TZF z*zk$8-uYPT`yjOb(lb?{UIvD)`$~>hH|#n0?XfK4)#0Jj?8oZQ@=n z$vbQ6=J4t_mue0Df4^Pn^GbZ}MVYr?oeT^$**?3O>Oa2xU;UQtJM*s}_3RAG6qlMW WeyXe^YU(l@q{`FP&t;ucLK6Uy@Kv_} literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin.png b/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin.png new file mode 100644 index 0000000000000000000000000000000000000000..a282ce99d02a99980951ab2e8ba91b7af0e30846 GIT binary patch literal 375 zcmV--0f_#IP)Px$F-b&0R9J=Wlrc-gKorM+7MJdABMug%TQWI!s!Pcr_yMX@rZ{(VFHS*l%woTR zL+FymEE!tJkXqESLZLzjMIFT993mlZxfBQCe$yRy_ul`#|KmWRP$(4ton*EY1IHC* z-*1}c*F6}Y4I*d2}ov3k$Mj8(4_7syuZ9s4c4Gl z@cfZR!^^~z7&(TRLM7He;g+igo^9_JZ Vc9a6~S#kgX002ovPDHLkV1h^jq`UwC literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_2.png b/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_2.png new file mode 100644 index 0000000000000000000000000000000000000000..a282ce99d02a99980951ab2e8ba91b7af0e30846 GIT binary patch literal 375 zcmV--0f_#IP)Px$F-b&0R9J=Wlrc-gKorM+7MJdABMug%TQWI!s!Pcr_yMX@rZ{(VFHS*l%woTR zL+FymEE!tJkXqESLZLzjMIFT993mlZxfBQCe$yRy_ul`#|KmWRP$(4ton*EY1IHC* z-*1}c*F6}Y4I*d2}ov3k$Mj8(4_7syuZ9s4c4Gl z@cfZR!^^~z7&(TRLM7He;g+igo^9_JZ Vc9a6~S#kgX002ovPDHLkV1h^jq`UwC literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_3.png b/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_3.png new file mode 100644 index 0000000000000000000000000000000000000000..71c5490b30557f4cd755d8b8acb6e76d4908c1c3 GIT binary patch literal 372 zcmV-)0gL{LP)Px$E=fc|R9J=WlfO#CP!xwhi%a*Gf=fZV=^MCJhmwL%(28`8575OuV;09O_5lhG zp-XC}3?1%}T8v|bfr)S3s>gBV&(tbV&xge`X+g;D|Wd?oXl=hTCkkGFTK_iJcW z@PmnB8&FX(_Jauzi&yxS{jpVJon|~8RtuX*2wsxK&M}oY)^R;)opu1Q`fd390^rKN zE|Sk?;m&cDcOVj?`1_-2A-ihl+6Cmx_4m}u$yK^XX9Q)oH?JzY!C){L%KQK(BZ!ag Sh&B)a0000Px$FiAu~R9J=WlfO#>VHn3hNsGH8vxY5ZLJ8^)IvwF1Iw^U{0?uTprhU&$|Wh2VQuG=jZo%9xxaT2E%_Rnk-e@ah0zB zwytBp)l~rddnKR-j;n$&Fvi_uK2*Wbx&JFYrDwMA-(73jCR>fq!M zfO@A1z~g+5*BeSh=@qb{-f2=O?@;t3sFbl9)l?C-$~p>B0nucs;+e-3{fPIMSMt{@ zDCO|{fv^q8NsK*z!0q%Ier3O_6j;4|@vxguY=SW4>3*6yrg&r9j;pMr8UR+K3Ll>U zoZ06|^6~g4b6oKb1Ywx`z1}d9UD~;J0r7JEJ+*XlN%!cCAkF6HrLr3g27@8Z56-@a U>)x@I>i_@%07*qoM6N<$f>$@MQUCw| literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_5.png b/Resources/Textures/Forge/Objects/Materials/TTI/ttiuplinkcoin.rsi/coin_5.png new file mode 100644 index 0000000000000000000000000000000000000000..1726a6be0666bc8845c62d4912e4a75a7af111dd GIT binary patch literal 376 zcmV-;0f+vHP)Px$GD$>1R9J=Wlrc-gKorM+7MJcV0S61xK}aU&PH`z21V2Fa1H`GjTM5M}2rh*z zcFF7zx}-W~=x{@7QO61eg${~3h{HKVLfm>O4#NGWJMQki|9k((fkvazX#P9tbRqkG zAj`hrEc>wQ4kUnO8bBNTKqf+Pb$PMz=K{L!K-#U{d~cZsmU+zCIe;rwL{!#E?u9*C zhYs6&CbzR^)ljgG1zy;r*4UyRr_gNRbZnyG_~&%>E+`2|rwf^R4qgcLIOYB2mFo2p zj0#aaQZ7Wvf+!y4t$v)(xog%~zJ2kqQ_b%rLhy7yTREoE!~*pFKsx(v0Gy5uAD;l6 zxTksY$>e6`xXLq-2$8R&;W%%*YUQN`WW(kD`gn@TRjQ|q1w{^yG9jvM*Jv~vO_6VV Wcy_YqkFOs90000P)Px#1ZP1_K>z@;j|==^1pojIJxN4CRCr$Hn+tFi)fvZ6NPQqd7-*mfLM@f@Qmj~z zX%$h+0M=%(h>n6n3nEw*#;NtuQR|F|6e`tLLFfb&8HGp-7R4xvbu5K~4+Noz4&^c&5d(~yJ|$Ju z`gnVmOzOy&rug%ewA-~Wl_O~Qyww6(2F{&nb}NgX(7mM&bJ@%ydpF#~=Hj!9w~zmWT&e3!1>Lh0S_yK=n{py-Et zszSl}(j|*bO?8zy=bV9|oZ6{NhO|4W#5B~_nTC({X9$!xZBDS?-b};*?0qPB^VPSQ zRZA-5+yy@ZzJI|8Id&}V916g7{;j1z;ho#xG_S8;8w$>0Xm}S50``4cV;T-0GJE&z zF?-+LW#-l$PIpY8Y`brsB2x7Awx)aEUUI+7*X%Kt+OcDeX>DC7aCy+Kv}5=qq^|Z8 zIiiPn)ZPHY@SY^_nbUf7Gj+;~_?-aXH)q(>=JC!e6{v%rX~WQl2(Mz}uBSG;7QI zh?4!!8YoKOs67HowG@8d{mw2UrKpS4V_~;IK=21oaC5+|1AWVEjLV#`#m#6FCi_07Ln^Bzu ziw3R_SNq5Ij&jd6!^cZJZY{kch|{%UoXY1^H8^4P5mU1&oi~y|tZR@*(Cbi~-UPz1 zP@zbVB&Exj8&kQ#p84^XL1y<1f*g`FC^M;JHtxVt%C}-IQLNGu}#u3|h zZImOPspEH|9;(TCASCrOh$k(m04yUD?|DMx{9*G=`&L~tNEAgcgKAR|w52IIVdmuYb<$z*S+ti{~Sn6f>0VU3}s;q4SU>8a0ml<%dr4C0M!G%zrXrJxdub9_lZt&%m3Uk21ofIA6QJO@J`4myxIn2pzeDsAlzY`+KeIIiZmUOdAZd{#SJ3k)i(&awU_BD6#5dgi2XoQjhaw)ZZ{gE& z?!!A2#;Ok{6F&5c(3EM@&4Nef$ZRUTDB7CmE5Ktaq-vWw5Zs`-h zLlrRqlbu+VmIcl^voU&=LVVYNTho2ya!(TI`Q?w7i4g1$V1p;rO%Vx!QJ4KVc2!n$ zQgQr9F^P&5%MwFi%;i^wzt7Ne(MCGl)G~uTw{msH??(*aqt~7*QpmFBo_I9z;r|y& zGywMMk#Vu_2e1W(7^``2zMKPug0D8?dbT})Y{({!#T|d-3d*3n7odqxf)>>Kt8cBB zy|`t!-7aMYbr=dV53miv{d$a02vGX2=`+oWl2X~1gkY1FOWwIiHWCfs_AG{`*pVe% zwZ##l@Ar8{zPvMOhHQ2sks+bwy7LRNc}`Xj@PYEQprpv$xcd!L)~2hydhBUc^M(2S zyx*EJA*c`okW!0zQgTN3y z-}_kZx!{7KBF6&E_UL5(@-3AR?c$o2vPO5I9g3jP)((QNA5Uffu~;=PBmkhQEhzs=#}5eI-Z60r&sr z(G)C&x{b*QcVqtg`f53X*hNRqx&nhxS(G0!Ofap+?D2{FAI@t$fak)_@^K|8Sr}nB z;8{7$hLL>eDRa^UEc5`l6XHKI0kIQ}xNs1|DCGgC%(APjrlo~I`?#>00P^?jK&rR3gD{YO0K*E}QHZY(%BW6pD&x&W~A_)cF0p)p5 zTvY?%P?(bttiRD9^^MgL1+>xx%0D#!E_>D-7W{0!A@JDZl_|tB^O5fHkwK!>96ET= zEU#D_DotRJao0|gw(k|4ND{;%hx;WOD1P&dS)w|&1DiLF2G3ha2mr=0j_&$`>jiPRRZSBbK(F2~j$EK9 z-5p07ghyX^6bgHlM|uI3*T*=6pn^d7jsfxkDh%3T4nX;%wW)kAub_$2YNd!30j_`a zvlC45>BkpT2604(ApW7e?iiiu01Uv8AowiHI!B89%N!mB;QYR$Stirr7fk ziEridE>J#~DQOb!MhlrdX}l@B^n6he_>?E8Xs+_~q|gA!j*z4!D=2f~$?d|Jhj)k| zG5#u;1K4s&@cw=wxcdn#Z}5hawr$O(H$E^kW=xa6L3xzT(PbCOxrWL@c^DMJYLK`h z#J5JJrvv3s*8vAQyq*C)f`$m%Nh>l*y!gtd6!sUeHpnDMPbIj<^2mi4^fs@Yz zvzPn^7}|Gz3Y#JJG#vtg_&gv(?0x?!;MNe`>ssgmypL?1(`0J5UuVxUiS>Xx-h9fo zvLrz*_C6A~#hxpA4FIrbb+2oQ^8l@jONIfu_3D+{^-*1F;>@A40YZ|JU^evo1ph7I z4cY^s3v_~R(9vENA|8NM-TMCNm0b|JbW9S=5E}w$1Kyi2bZfSA4FM)WZ3O7V6>Cj~ z0jhTGlH@R;{6zD&syT9vd+g!Xa?;=if75?I1_L3TvC-D&F8mv_KIb#g1v&xhNFpA< zHU8TdE2S-B2>a%kygkMdp9lGD@b~a7vphiALT^$LANV`&qqz6t9J)X!=;jhT7g%@a zBdNJN((YF%?w)+E=ywGQVQQ}*n2YY4=6MEV{tb1rrF>^`j|cz&002ovPDHLkV1h|} Bpe6tS literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/deny-unshaded.png b/Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/deny-unshaded.png new file mode 100644 index 0000000000000000000000000000000000000000..50b4ad95e4fc113595d407481ac6316ebaa12d0d GIT binary patch literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^4M6O`!3HERU8}DLQjEnx?oJHr&dIz4a#+$GeH|GX zHuiJ>Nn{1`XL`CghE&A8y=KVeWXQvCVbyGTnLQ1=**{v%J9pICk|X}kl=xrl6Mvbv zKe6R_c}Y=)R~M)Y2pj@dPurjKeRsHZUB#VucdaL;tgOFVbiJ~8#l)*mE7u5KJrbgfwu@}jQC^3fZf1l14Qrn9N=)@naR2s;5n>uD*-)?Xl($Dyb@ln+ Qzopr0Q$60C;$Ke literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/eject-unshaded.png b/Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/eject-unshaded.png new file mode 100644 index 0000000000000000000000000000000000000000..732610a4ea4f2d8982f946b2928098834ec9ec46 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^2Y}dtgAGXfNn{1`=X$z0hE&A8y==&J$Uvmw;d9QC!fPj2dMsSL{R@lV-n69?rU<-P#HUzy zf715W`FmJ^TF}6j2NTZq$FAG1+B^I4%Q?$B66Yk<+3w%BJap&&9KFBJ^>_D~O^O4}ync{1sUn^)ptHdE(K64LfuH#csQnEQHP&&^6_+sD6G-nRUH_h|L^ebwhh zfz~~!U$yDu?MpKsANulQNlBUdo5}p@?vlcjbsZ&p_)k6yb!a>8JjttMXWjMuRogxu zf6b};Q;NSI(u+>LFv6FX<_IBRG5*y`C;r5C>z zCn;yQK3~pVd{6da-TWu~aZ5L@JNBizN_o@9^01xT9bU#?|Gd8YQ_()9ix2khx%=*h z;QOMz48Ov^uE{Q$HLrXxYuEY%ch_3ZuAKZjcjfj5-`=l(=XCDkzEx8U8zsI!B-m81Tu}4nNHT3#Uopu!f1_d&h>iI-=+rzY}rUGVFAaPGuKbLh*2~7ae CS=3Yj literal 0 HcmV?d00001 diff --git a/Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/panel.png b/Resources/Textures/Forge/Structures/Machines/VendingMachines/tti_vendor.rsi/panel.png new file mode 100644 index 0000000000000000000000000000000000000000..d9fdf151a1bd49b0882de1d7ac7f54644c801b10 GIT binary patch literal 443 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WChBldb&7_qRTB;fvgA7i#WgNlsUdV) zTY$ww=A`LL7ju?&$A*K8rkzPUC!&|RKzQ5k|MO?Qd#d$r_g+D3KA@M!EDd!y4-!Iy2Y|_(5!mmCO^1-*Nw9%Q~yH;np2cz<9d) KxvXPx#1ZP1_K>z@;j|==^1pojDR!KxbRCr$Hn_Y+&RT#%-T{1t`4|d&Zea+Rv3_ofk zGsKLd0*h1#yAdmIs*B9L>%!~uq8lk9tS+=9f+SEO0t1&!C{fzT7K=bvT_x7t+H?yA zeS81M`M*8yndi(obLKSyfABDKW@qL-=Q+>E`Iv1jQLAGoi7q(3eBss4RA*|lwZ!|#tvj}1(1 zn^HgK3Fzp&)f`coJmGyI6n&>wHz~YFBclNJzUu*rya$z`Xk~y(`;hn8@370DNIf;n zRxLo|&x;q5(V<}@8pA`s89CN>)R-@hycSE*cd~w{YbdG$rcG)~&#r-&!hfK_X`LPE z)kfGei+b)iy@;dit-0O)-Y2}*_f8ws4Ru6a?T)hBM1m{;FNSF5#>y7$tq^?g)Rc-k zvc4f?6aejk5HsRE3`oA-3W@BzC-j{~>dCfA)HFD|yE`rUd9>&8^vut`J$r)E;Houi z(vqJ8eP5+#eohSxWYS<(0rTcmTW0*5K5T4_V;m3ydhJl}m&wi@@8>Gug$*xNmp`&H z*mXk30cg+Y$+O9>4|ez!U`{6AYz`U5E+r$wBWWR=70aGXj{o$1kOJ;rcwbub<5B=S zP5r5=y@Y$K-9NEHbBF1gcz$-#8`1nV6n7X4OIbnVC2*}RroTy;VjbvCN7&`#8y%$ z?D1VYKQw{>iWmaW@KEedv&nUVZ}#u2i-y)PsSFU)c!EYFBR~k1&@2~FvjBQ|_~(K2 zN+TWfyUpK<2DbJozZT8{XdvAHqd+kF$50}(#C6F6L|TAt1@LnoDJ(Cp+*21`j{&AG zhrVFi^iHFgP>e;yy1+wEtZI-D;PV%ceN-1Bhp$DTsiWs11l9zxO`lRK3lR3Y-TQ#S zjX{s)GCgjC1~S^C=OI)A+yJ6w07$7U0RMrnui3b<;Rw0?mM(J-gBy+%07WnbLa3M+ z&|pFfkk>*m7LnruY7jKqbIhMX-@$MHvmgl04xTW_$&;_uNm{~{>5kV~rVlF!4uTj2 zo$CK3>0GwmG#2v8$oDR?WRHV?zj*vF)@IRoLQM$Z~WNUMRWAI08Ky21q`*x z(9uspk!7D-` zSpZ;sP-thUR`0MCAp|?75e7a{#;g!4JRG4BR!qAFa6Lo;d>Z2UpM8?+0&AaLSO0yN1xSVbb)}eczW97^!|!J*bHjfh zAQiy9`WWCMzD*Dx>o>n#w+3H6cY!o$Z-z+RK`;gR9)bpi2=8wOXf&4N0n&1e_{dd& z-TPRc;u4j1F7J=E9F5rC2T>!z{|n>JT}oPqTFmy_y_F?KP!18^@7ual6#(Cdq{TX% z-Jy52^Jaq)A+3zy_cZIX&qK*5fV;C03^PyuemwbM@JMo{vznZ_eA+9x7ta(KqUJ%x z78!PvkY_RqkQ($&B=W$sh~hGm7X>Rw46YK*`dpT1KWmdo59>B;s$$Xtu-sJSTLB4H zju62ydHQ(kJ5lLy>s#+tfBdd5nK5gIvB(&F-y~%I&^_lavp)~MKD5`YtlHlM_(1x> zk~E(!tALx@s%Ce{?p+^9$G#b8#s%yNOwq;zK7+MIOhKDL(Z++2XEF*1jp|4*z7%7= zDacun^no5+{9sR7(m}BG1zcBF18N%70#6Jv)?*X9nj~RX)0B`=fZUDIuzNnw63miR z2^YYID7MBm?4A#?1Z|AqjR9r2S~H?DE&!TQAAVz?;dB8kXKTc0z6{NPU6@!G0AYIM=}C0yT+}hrp z4YB~!ASo{FzvtZ>h-@s*U5y9)yX!tJ!{sU<=6{2TdA4Q+_?jdZj!E*OxDWZP_MTi9 uc@R$bOrUB>w;i^{p|M1gE6{0000 Date: Mon, 3 Aug 2026 18:27:58 +0400 Subject: [PATCH 2/2] =?UTF-8?q?=D0=A7=D1=83=D1=82=D1=8C-=D1=87=D1=83=D1=82?= =?UTF-8?q?=D1=8C=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B2=D0=BE=D0=B4=D0=B8=D0=BA?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Resources/Locale/ru-RU/_Forge/company/company-access.ftl | 1 + .../Prototypes/_Forge/Entities/Structures/Machines/uplinks.yml | 1 + 2 files changed, 2 insertions(+) create mode 100644 Resources/Locale/ru-RU/_Forge/company/company-access.ftl diff --git a/Resources/Locale/ru-RU/_Forge/company/company-access.ftl b/Resources/Locale/ru-RU/_Forge/company/company-access.ftl new file mode 100644 index 00000000000..00fe98e4b5e --- /dev/null +++ b/Resources/Locale/ru-RU/_Forge/company/company-access.ftl @@ -0,0 +1 @@ +company-md-access-denied = Доступ запрещен: требуется биометрия TTI. diff --git a/Resources/Prototypes/_Forge/Entities/Structures/Machines/uplinks.yml b/Resources/Prototypes/_Forge/Entities/Structures/Machines/uplinks.yml index 9f3dbc16c1b..c896124689a 100644 --- a/Resources/Prototypes/_Forge/Entities/Structures/Machines/uplinks.yml +++ b/Resources/Prototypes/_Forge/Entities/Structures/Machines/uplinks.yml @@ -49,6 +49,7 @@ - type: CompanyAccessReader requiredCompanies: - MD + popupMessage: company-md-access-denied - type: Tag tags: - FactionStaticUplinkTTI