diff --git a/Content.Shared/ADT/NoShowFov/NoShowFovComponent.cs b/Content.Shared/ADT/NoShowFov/NoShowFovComponent.cs new file mode 100644 index 00000000000..5bb48758d1d --- /dev/null +++ b/Content.Shared/ADT/NoShowFov/NoShowFovComponent.cs @@ -0,0 +1,9 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.ADT.NoShowFov; + +/// +/// Applies a fog of war effect to a unit when this component is equipped to the eyes, head, or mask slot. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class NoShowFovComponent : Component { } diff --git a/Content.Shared/ADT/NoShowFov/NoShowFovSystem.cs b/Content.Shared/ADT/NoShowFov/NoShowFovSystem.cs new file mode 100644 index 00000000000..2441c4fe89d --- /dev/null +++ b/Content.Shared/ADT/NoShowFov/NoShowFovSystem.cs @@ -0,0 +1,36 @@ +using Content.Shared.Inventory.Events; +using Content.Shared.ADT.NoShowFov; + +namespace Content.Client.ADT.NoShowFov; + +public sealed class NoShowFovSystem : EntitySystem +{ + [Dependency] private readonly SharedEyeSystem _eye = default!; + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnEquipped); + SubscribeLocalEvent(OnUnequipped); + } + + private void OnEquipped(EntityUid uid, NoShowFovComponent component, ref GotEquippedEvent args) + { + ToggleFov(args.Equipee, false); + } + + private void OnUnequipped(EntityUid uid, NoShowFovComponent component, ref GotUnequippedEvent args) + { + ToggleFov(args.Equipee, true); + } + + private void ToggleFov(EntityUid entity, bool drawFov) + { + if (TryComp(entity, out var _)) + { + _eye.SetDrawFov(entity, drawFov); + } + } +} + + diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Head/hats.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Head/hats.ftl index fbd4ff9371b..f2fd5e3b885 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Head/hats.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Head/hats.ftl @@ -21,3 +21,7 @@ ent-ADTClothingHeadCapIlisium = фуражка ent-ADTClothingHeadHatsInvestigatorCap = фуражка следователя Службы Безопасности .desc = Слава NanoTrasen! .suffix = { "" } + +ent-ADTClothingHeadHatsBeretArmy = армейский берет + .desc = Потрёпанный на службе военный берет. Имеет золотую нашивку сбоку. + .suffix = { "Новая Мекка" } diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Mask/mask.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Mask/mask.ftl index 256872065ce..363163bf9ea 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Mask/mask.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Mask/mask.ftl @@ -5,13 +5,12 @@ ###ent-ADTClothingMaskBorodaDedMoroz = Борода и усы Дед Мороза ### .desc = Борода Деда Мороза с усами люкс качества, позволит создать вам полный образ Деда Мороза или Санта Клауса. Дети не узнают папу, соседа, или актера. ### .suffix = { "Новый Год" } -### -###ent-ADTChronosMask = визор "Жертва Хроноса" -### .desc = Продвинутый визор, сделанный на заказ неким учёным. На боковой стороне визора видна роспись: Х.К. ### ent-ADTClothingMaskGasCE = противогаз старшего инженера .desc = Это элитный противогаз Старшего Инженера, которому может позавидовать даже Центральное Командование. Защищает от сварки. - ent-ADTClothingMaskGasIlisium = дыхательная маска .suffix = Иллизиум - .desc = Плотно прилегающая тактическая маска, которую можно подсоединить к системе подачи воздуха. \ No newline at end of file + .desc = Плотно прилегающая тактическая маска, которую можно подсоединить к системе подачи воздуха. +ent-ADTChronosMask = визор "Жертва Хроноса" + .desc = Продвинутый визор, сделанный на заказ неким учёным. На боковой стороне визора видна роспись: Х.К. + .suffix = { "Новая Мекка" } diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Neck/cloaks.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Neck/cloaks.ftl index 21c003e1c48..17063cc3d58 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Neck/cloaks.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Neck/cloaks.ftl @@ -7,4 +7,8 @@ ent-ADTClothingNeckDarkGreyCloak = темно-серый плащ ent-ADTClothingNeckGothicCloak = готический плащ .desc = Для классических вампиров, ценящих старый стиль. - .suffix = { "" } \ No newline at end of file + .suffix = { "" } + +ent-ADTClothingNeckNewMekkaCloak = накидка Новой Мекки + .desc = Зеленая накидка, очень удобная в носке. Скреплена застёжкой на шее. + .suffix = { "Новая Мекка" } diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Shoes/boots.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Shoes/boots.ftl index bcfda4438e6..08b48730f5d 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Shoes/boots.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Shoes/boots.ftl @@ -1,3 +1,6 @@ ent-ADTClothingSandals = сандали .desc = Пара простых сандалей. НИ. В КОЕМ. СЛУЧАЕ. НЕ СОВМЕЩАТЬ. С НОСКАМИ - .suffix = { "" } \ No newline at end of file + .suffix = { "" } +ent-ADTClothingFootNewMekkaBoots = сапоги Новой Мекки + .desc = Явно потрёпанные сапоги, в которых прошли уж точно не одну милю. + .suffix = { "Новая Мекка" } diff --git a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Uniforms/jumpsuits.ftl b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Uniforms/jumpsuits.ftl index 89d7d54e61e..e7f120fdb72 100644 --- a/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Uniforms/jumpsuits.ftl +++ b/Resources/Locale/ru-RU/ADT/prototypes/Entities/Clothing/Uniforms/jumpsuits.ftl @@ -195,3 +195,7 @@ ent-ADTClothingUniformIlisium = костюм Иллизиума ent-ADTClothingUniformInvestigatorSuit = форма следователя Службы Безопасности .desc = Одежда для того, кто намерен докопаться до сути всех тайн. .suffix = { "" } + +ent-ADTClothingUniformNewMekka = униформа Новой Мекки + .desc = Эта униформа имеет очень долгую и кровавую историю... + .suffix = { "Новая Мекка" } diff --git a/Resources/Prototypes/ADT/Entities/Clothing/Head/hats.yml b/Resources/Prototypes/ADT/Entities/Clothing/Head/hats.yml index 0e3e8ad0e81..2709141fec6 100644 --- a/Resources/Prototypes/ADT/Entities/Clothing/Head/hats.yml +++ b/Resources/Prototypes/ADT/Entities/Clothing/Head/hats.yml @@ -114,3 +114,15 @@ sprite: ADT/Clothing/Head/Hats/investigator_cap.rsi - type: Clothing sprite: ADT/Clothing/Head/Hats/investigator_cap.rsi + +- type: entity + parent: ClothingHeadBase + id: ADTClothingHeadHatsBeretArmy + name: army beret + description: army beret + suffix: New Mekka + components: + - type: Sprite + sprite: ADT/Clothing/Head/Hats/armyberet.rsi + - type: Clothing + sprite: ADT/Clothing/Head/Hats/armyberet.rsi diff --git a/Resources/Prototypes/ADT/Entities/Clothing/Masks/mask.yml b/Resources/Prototypes/ADT/Entities/Clothing/Masks/mask.yml index e6f5d7523ed..0deab815c2d 100644 --- a/Resources/Prototypes/ADT/Entities/Clothing/Masks/mask.yml +++ b/Resources/Prototypes/ADT/Entities/Clothing/Masks/mask.yml @@ -197,21 +197,22 @@ # - state: equipped-MASK # - type: BreathMask -# - type: entity -# parent: ClothingMaskBase -# id: ADTChronosMask -# name: chronos victim mask -# description: chronos victim mask -# components: -# - type: Sprite -# sprite: ADT/Clothing/Mask/chronosvisor.rsi -# - type: Clothing -# sprite: ADT/Clothing/Mask/chronosvisor.rsi -# - type: BreathMask -# - type: ShowSecurityIcons -# - type: FlashImmunity -# - type: EyeProtection -# protectionTime: 5 +- type: entity + parent: ClothingMaskBase + id: ADTChronosMask + name: chronos victim mask + description: chronos victim mask + suffix: New Mekka + components: + - type: Sprite + sprite: ADT/Clothing/Mask/chronosvisor.rsi + - type: Clothing + sprite: ADT/Clothing/Mask/chronosvisor.rsi + - type: BreathMask + - type: NoShowFov # Отключает Fov при надевании + - type: FlashImmunity + - type: EyeProtection + protectionTime: 5 # #противогаз СССП diff --git a/Resources/Prototypes/ADT/Entities/Clothing/Neck/Cloaks.yml b/Resources/Prototypes/ADT/Entities/Clothing/Neck/Cloaks.yml index bf7334fc08b..bf077ed3483 100644 --- a/Resources/Prototypes/ADT/Entities/Clothing/Neck/Cloaks.yml +++ b/Resources/Prototypes/ADT/Entities/Clothing/Neck/Cloaks.yml @@ -28,4 +28,14 @@ - type: Sprite sprite: ADT/Clothing/Neck/Cloaks/gothic_cloak.rsi #спрайты от floppo4ka - type: StaticPrice - price: 5 \ No newline at end of file + price: 5 + +- type: entity + parent: ClothingNeckBase + id: ADTClothingNeckNewMekkaCloak + name: New Mekka cloak + description: Protect from cold evening on a nukie planet. + suffix: New Mekka + components: + - type: Sprite + sprite: ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi diff --git a/Resources/Prototypes/ADT/Entities/Clothing/Neck/fill.txt b/Resources/Prototypes/ADT/Entities/Clothing/Neck/fill.txt deleted file mode 100644 index b4954caf47d..00000000000 --- a/Resources/Prototypes/ADT/Entities/Clothing/Neck/fill.txt +++ /dev/null @@ -1 +0,0 @@ -# Данный файл существует по причине того что Githab плохо дружит с пустыми папками, при работе с этой папкой этот файл можно спокойно удалить \ No newline at end of file diff --git a/Resources/Prototypes/ADT/Entities/Clothing/Neck/misc.yml b/Resources/Prototypes/ADT/Entities/Clothing/Neck/misc.yml index 94c98f708a7..bd0dfc2f379 100644 --- a/Resources/Prototypes/ADT/Entities/Clothing/Neck/misc.yml +++ b/Resources/Prototypes/ADT/Entities/Clothing/Neck/misc.yml @@ -5,12 +5,12 @@ description: A chain made of gold. components: - type: Sprite - sprite: ADT/Clothing/Neck/Misc/gold_chain.rsi + sprite: ADT/Clothing/Neck/Misc/gold_chain.rsi - type: Clothing sprite: ADT/Clothing/Neck/Misc/gold_chain.rsi #спрайты от prazat911 - type: StaticPrice price: 500 - + - type: entity parent: ClothingNeckBase id: ADTSpaceSecToken diff --git a/Resources/Prototypes/ADT/Entities/Clothing/Shoes/Boots.yml b/Resources/Prototypes/ADT/Entities/Clothing/Shoes/Boots.yml new file mode 100644 index 00000000000..43f0f33c953 --- /dev/null +++ b/Resources/Prototypes/ADT/Entities/Clothing/Shoes/Boots.yml @@ -0,0 +1,11 @@ +- type: entity + parent: ClothingShoesBaseButcherable + id: ADTClothingFootNewMekkaBoots + name: New Mekka boots + description: Comfortable for bullies! + suffix: New Mekka + components: + - type: Sprite + sprite: ADT/Clothing/Shoes/Boots/newmekka.rsi + - type: Clothing + sprite: ADT/Clothing/Shoes/Boots/newmekka.rsi #спрайты от prazat911 diff --git a/Resources/Prototypes/ADT/Entities/Clothing/Shoes/misc.yml b/Resources/Prototypes/ADT/Entities/Clothing/Shoes/misc.yml index dee9310799b..d693e41897b 100644 --- a/Resources/Prototypes/ADT/Entities/Clothing/Shoes/misc.yml +++ b/Resources/Prototypes/ADT/Entities/Clothing/Shoes/misc.yml @@ -36,7 +36,7 @@ sprite: ADT/Clothing/Shoes/Boots/black_boots.rsi #спрайты от dion_clawed - type: StaticPrice price: 240 - + - type: entity parent: ClothingShoesBaseButcherable id: ADTClothingSandals diff --git a/Resources/Prototypes/ADT/Entities/Clothing/Uniforms/Jumpsuits.yml b/Resources/Prototypes/ADT/Entities/Clothing/Uniforms/Jumpsuits.yml index ea5ae544632..00a1c8c31fb 100644 --- a/Resources/Prototypes/ADT/Entities/Clothing/Uniforms/Jumpsuits.yml +++ b/Resources/Prototypes/ADT/Entities/Clothing/Uniforms/Jumpsuits.yml @@ -246,6 +246,7 @@ id: ADTClothingUniformNewMekka name: New Mekka jumpsuit description: New Mekka jumpsuit + suffix: New Mekka components: - type: Sprite sprite: ADT/Clothing/Uniforms/Jumpsuit/newmekkauniform.rsi diff --git a/Resources/Textures/ADT/Clothing/Head/Hats/armyberet.rsi/equipped-HELMET.png b/Resources/Textures/ADT/Clothing/Head/Hats/armyberet.rsi/equipped-HELMET.png new file mode 100644 index 00000000000..004a04f63c4 Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Head/Hats/armyberet.rsi/equipped-HELMET.png differ diff --git a/Resources/Textures/ADT/Clothing/Head/Hats/armyberet.rsi/icon.png b/Resources/Textures/ADT/Clothing/Head/Hats/armyberet.rsi/icon.png new file mode 100644 index 00000000000..0469f93e812 Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Head/Hats/armyberet.rsi/icon.png differ diff --git a/Resources/Textures/ADT/Clothing/Head/Hats/armyberet.rsi/meta.json b/Resources/Textures/ADT/Clothing/Head/Hats/armyberet.rsi/meta.json new file mode 100644 index 00000000000..55fccbeecaa --- /dev/null +++ b/Resources/Textures/ADT/Clothing/Head/Hats/armyberet.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Adventure Time MRP, discord: prazat911", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-HELMET", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/ADT/Clothing/Mask/chronosvisor.rsi/equipped-MASK.png b/Resources/Textures/ADT/Clothing/Mask/chronosvisor.rsi/equipped-MASK.png new file mode 100644 index 00000000000..a51aea872f6 Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Mask/chronosvisor.rsi/equipped-MASK.png differ diff --git a/Resources/Textures/ADT/Clothing/Mask/chronosvisor.rsi/icon.png b/Resources/Textures/ADT/Clothing/Mask/chronosvisor.rsi/icon.png new file mode 100644 index 00000000000..894494cb627 Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Mask/chronosvisor.rsi/icon.png differ diff --git a/Resources/Textures/ADT/Clothing/Mask/chronosvisor.rsi/meta.json b/Resources/Textures/ADT/Clothing/Mask/chronosvisor.rsi/meta.json new file mode 100644 index 00000000000..00614f1f89e --- /dev/null +++ b/Resources/Textures/ADT/Clothing/Mask/chronosvisor.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by discord:prazat911", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-MASK", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi/equipped-NECK.png b/Resources/Textures/ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi/equipped-NECK.png new file mode 100644 index 00000000000..ed5648cfe3b Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi/equipped-NECK.png differ diff --git a/Resources/Textures/ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi/icon.png b/Resources/Textures/ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi/icon.png new file mode 100644 index 00000000000..8214bed5af1 Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi/icon.png differ diff --git a/Resources/Textures/ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi/meta.json b/Resources/Textures/ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi/meta.json new file mode 100644 index 00000000000..29e7358d84e --- /dev/null +++ b/Resources/Textures/ADT/Clothing/Neck/Cloaks/newmekkacloak.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Adventure Time MRP, discord: prazat911", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "equipped-NECK", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/ADT/Clothing/Shoes/Boots/newmekka.rsi/equipped-FEET.png b/Resources/Textures/ADT/Clothing/Shoes/Boots/newmekka.rsi/equipped-FEET.png new file mode 100644 index 00000000000..e288ed827d3 Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Shoes/Boots/newmekka.rsi/equipped-FEET.png differ diff --git a/Resources/Textures/ADT/Clothing/Shoes/Boots/newmekka.rsi/icon.png b/Resources/Textures/ADT/Clothing/Shoes/Boots/newmekka.rsi/icon.png new file mode 100644 index 00000000000..d03d473d852 Binary files /dev/null and b/Resources/Textures/ADT/Clothing/Shoes/Boots/newmekka.rsi/icon.png differ diff --git a/Resources/Textures/ADT/Clothing/Shoes/Boots/newmekka.rsi/meta.json b/Resources/Textures/ADT/Clothing/Shoes/Boots/newmekka.rsi/meta.json new file mode 100644 index 00000000000..f24a7b9cf3b --- /dev/null +++ b/Resources/Textures/ADT/Clothing/Shoes/Boots/newmekka.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Adventure Time MRP, discord: prazat911", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "equipped-FEET", + "directions": 4 + }, + { + "name": "icon" + } + ] +}