From 32f1ea455469f1516d59d8b6f4c4d8dfafc9189b Mon Sep 17 00:00:00 2001 From: keslik <114428094+keslik1313@users.noreply.github.com> Date: Sat, 2 Nov 2024 00:38:07 +0300 Subject: [PATCH] [Add] Pouches (#762) * Add: Pouches base and sprites * Add: Micro-resprite, pouches in secdrobe * Minus suffix --- .../entities/clothing/pouches/pouches.ftl | 10 ++ .../VendingMachines/Inventories/secdrobe.yml | 5 + .../Clothing/Pouches/base_clothingpouch.yml | 57 ++++++ .../Entities/Clothing/Pouches/pouches.yml | 169 ++++++++++++++++++ .../Pouches/cartridge_belt.rsi/base.png | Bin 0 -> 218 bytes .../Pouches/cartridge_belt.rsi/mag-1.png | Bin 0 -> 173 bytes .../Pouches/cartridge_belt.rsi/mag-2.png | Bin 0 -> 180 bytes .../Pouches/cartridge_belt.rsi/mag-3.png | Bin 0 -> 180 bytes .../Pouches/cartridge_belt.rsi/mag-4.png | Bin 0 -> 184 bytes .../Pouches/cartridge_belt.rsi/meta.json | 26 +++ .../Clothing/Pouches/grenade.rsi/icon.png | Bin 0 -> 288 bytes .../Clothing/Pouches/grenade.rsi/meta.json | 14 ++ .../Pouches/handcuff_holder.rsi/fill-1.png | Bin 0 -> 196 bytes .../Pouches/handcuff_holder.rsi/icon.png | Bin 0 -> 325 bytes .../Pouches/handcuff_holder.rsi/meta.json | 17 ++ .../Clothing/Pouches/magazine.rsi/icon.png | Bin 0 -> 306 bytes .../Clothing/Pouches/magazine.rsi/meta.json | 14 ++ .../Clothing/Pouches/medical.rsi/icon.png | Bin 0 -> 311 bytes .../Clothing/Pouches/medical.rsi/meta.json | 14 ++ 19 files changed, 326 insertions(+) create mode 100644 Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/pouches/pouches.ftl create mode 100644 Resources/Prototypes/Entities/Clothing/Pouches/base_clothingpouch.yml create mode 100644 Resources/Prototypes/Entities/Clothing/Pouches/pouches.yml create mode 100644 Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/base.png create mode 100644 Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/mag-1.png create mode 100644 Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/mag-2.png create mode 100644 Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/mag-3.png create mode 100644 Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/mag-4.png create mode 100644 Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/meta.json create mode 100644 Resources/Textures/Clothing/Pouches/grenade.rsi/icon.png create mode 100644 Resources/Textures/Clothing/Pouches/grenade.rsi/meta.json create mode 100644 Resources/Textures/Clothing/Pouches/handcuff_holder.rsi/fill-1.png create mode 100644 Resources/Textures/Clothing/Pouches/handcuff_holder.rsi/icon.png create mode 100644 Resources/Textures/Clothing/Pouches/handcuff_holder.rsi/meta.json create mode 100644 Resources/Textures/Clothing/Pouches/magazine.rsi/icon.png create mode 100644 Resources/Textures/Clothing/Pouches/magazine.rsi/meta.json create mode 100644 Resources/Textures/Clothing/Pouches/medical.rsi/icon.png create mode 100644 Resources/Textures/Clothing/Pouches/medical.rsi/meta.json diff --git a/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/pouches/pouches.ftl b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/pouches/pouches.ftl new file mode 100644 index 0000000000..c0e2e5a49a --- /dev/null +++ b/Resources/Locale/ru-RU/ss14-ru/prototypes/entities/clothing/pouches/pouches.ftl @@ -0,0 +1,10 @@ +ent-ClothingPouchMedical = медицинский подсумок + .desc = Прочный и вместительный подсумок, который предоставляет быстрый доступ к медикаментам. Белый крест призывает вас помогать окружающим. +ent-ClothingPouchGrenade = гранатный подсумок + .desc = Подсумок для переноски гранат, который надёжно защищает содержимое от погодных условий. Не очень актуально в космосе. +ent-ClothingPouchMagazine = подсумок для магазинов + .desc = Рассчитан на 4 винтовочных магазина, но способен переносить любые необходимые виды. +ent-ClothingPouchHandcuffHolder = чехол для наручников + .desc = Износостойкий чехол для переноски стяжек или наручников. Арестуй их всех! +ent-ClothingPouchCartridgeBelt = поясной патронташ + .desc = Складной патронташ для патронов пятидесятого калибра. diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/secdrobe.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/secdrobe.yml index bbb485afd5..a9b01ba045 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/secdrobe.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/secdrobe.yml @@ -4,6 +4,11 @@ ClothingBackpackSecurity: 4 ClothingBackpackSatchelSecurity: 4 ClothingBackpackDuffelSecurity: 4 + ClothingPouchHandcuffHolder: 4 + ClothingPouchMedical: 3 + ClothingPouchCartridgeBelt: 3 + ClothingPouchMagazine: 2 + ClothingPouchGrenade: 2 ClothingHeadHatBeret: 4 ClothingHeadHatSecsoft: 4 ClothingHeadBandRed: 4 diff --git a/Resources/Prototypes/Entities/Clothing/Pouches/base_clothingpouch.yml b/Resources/Prototypes/Entities/Clothing/Pouches/base_clothingpouch.yml new file mode 100644 index 0000000000..5c845561ae --- /dev/null +++ b/Resources/Prototypes/Entities/Clothing/Pouches/base_clothingpouch.yml @@ -0,0 +1,57 @@ +- type: entity # WD feature + abstract: true + parent: Clothing + id: ClothingPouchBase + components: + - type: Sprite + state: icon + - type: Item + size: Normal + - type: Clothing + slots: [pocket, belt] + quickEquip: false + - type: PhysicalComposition + materialComposition: + Cloth: 35 + - type: StaticPrice + price: 200 + - type: EmitSoundOnPickup + sound: + path: /Audio/White/Web/walk1.ogg + +- type: entity + abstract: true + parent: ClothingPouchBase + id: ClothingPouchStorageBase + components: + - type: Storage + maxItemSize: Small + defaultStorageOrientation: Horizontal + grid: + - 0,0,3,1 + - type: Item + size: Normal + shape: + - 0, 0, 1, 2 + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + - type: UserInterface + interfaces: + enum.StorageUiKey.Key: + type: StorageBoundUserInterface + +- type: entity + abstract: true + parent: ClothingPouchBase + id: ClothingPouchAmmoProviderBase + components: + - type: BallisticAmmoProvider + mayTransfer: true + - type: Item + size: Ginormous + - type: ContainerContainer + containers: + ballistic-ammo: !type:Container + diff --git a/Resources/Prototypes/Entities/Clothing/Pouches/pouches.yml b/Resources/Prototypes/Entities/Clothing/Pouches/pouches.yml new file mode 100644 index 0000000000..ebc399e942 --- /dev/null +++ b/Resources/Prototypes/Entities/Clothing/Pouches/pouches.yml @@ -0,0 +1,169 @@ +- type: entity # WD feature + parent: ClothingPouchStorageBase + id: ClothingPouchMedical + name: medical pouch + description: Medical pouch. + components: + - type: Sprite + sprite: Clothing/Pouches/medical.rsi + - type: Clothing + sprite: Clothing/Pouches/medical.rsi + - type: Storage + grid: + - 0,0,1,4 + whitelist: + tags: + - Brutepack + - Bloodpack + - Gauze + - Ointment + - CigPack + - PillCanister + - DiscreteHealthAnalyzer + components: + - Hypospray + - Injector + - Pill + - Patch + - Healing + - type: StaticPrice + price: 250 + - type: Appearance + +- type: entity + parent: ClothingPouchStorageBase + id: ClothingPouchGrenade + name: grenade pouch + description: Grenade pouch. + components: + - type: Sprite + sprite: Clothing/Pouches/grenade.rsi + - type: Clothing + sprite: Clothing/Pouches/grenade.rsi + - type: Storage + defaultStorageOrientation: Vertical + grid: + - 0,0,2,1 + whitelist: + components: + - FlashOnTrigger + - SmokeOnTrigger + - ClusterGrenade + - ExplodeOnTrigger + - type: StaticPrice + price: 125 + - type: Appearance + +- type: entity + parent: ClothingPouchStorageBase + id: ClothingPouchMagazine + name: magazine pouch + description: Magazine pouch. + components: + - type: Sprite + sprite: Clothing/Pouches/magazine.rsi + - type: Clothing + sprite: Clothing/Pouches/magazine.rsi + - type: Storage + defaultStorageOrientation: Vertical + grid: + - 0,0,3,1 + whitelist: + tags: + - MagazinePistol + - MagazineMagnum + - MagazineHeavyRifle + - MagazineCaselessRifle + - MagazineLightRifle + - MagazinePistolHighCapacity + - MagazinePistolCaselessRifle + - MagazineRifle + - MagazinePistolSubMachineGunTopMounted + - MagazineShotgun + - MagazineMagnumSubMachineGun + - MagazinePistolSubMachineGun + - Cartridge + - type: Appearance + +- type: entity + parent: ClothingPouchStorageBase + id: ClothingPouchHandcuffHolder + name: handcuff holder + description: Handcuff holder. + components: + - type: EmitSoundOnPickup + sound: + path: /Audio/White/Object/Tools/Key/pickup.ogg + - type: EmitSoundOnDrop + sound: + path: /Audio/White/Object/Tools/Key/drop.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/White/Object/Tools/Key/drop.ogg + - type: Sprite + sprite: Clothing/Pouches/handcuff_holder.rsi + layers: + - state: icon + - map: [ "enum.StorageContainerVisualLayers.Fill" ] + visible: false + - type: Clothing + sprite: Clothing/Pouches/handcuff_holder.rsi + - type: Storage + grid: + - 0,0,2,2 + whitelist: + components: + - Handcuff + - type: StorageContainerVisuals + maxFillLevels: 1 + fillBaseName: fill- + - type: StaticPrice + price: 110 + - type: Appearance + +- type: entity + parent: BaseItem + id: ClothingPouchCartridgeBelt + name: cartridge belt + description: Cartridge belt. + components: + - type: EmitSoundOnPickup + sound: + path: /Audio/White/Items/handling/component_pickup.ogg + - type: EmitSoundOnDrop + sound: + path: /Audio/White/Items/handling/component_drop.ogg + - type: EmitSoundOnLand + sound: + path: /Audio/White/Items/handling/component_drop.ogg + - type: BallisticAmmoProvider + mayTransfer: true + whitelist: + tags: + - ShellShotgun + capacity: 12 + soundRack: + path: /Audio/White/Gun/Modules/insertmodule.ogg + - type: Item + size: Small + - type: ContainerContainer + containers: + ballistic-ammo: !type:Container + - type: Sprite + sprite: Clothing/Pouches/cartridge_belt.rsi + layers: + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: false + - type: Clothing + sprite: Clothing/Pouches/cartridge_belt.rsi + slots: [pocket, belt] + quickEquip: false + - type: StaticPrice + price: 150 + - type: Appearance diff --git a/Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/base.png b/Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..b8294fae23477662487a4f38b2d0f5fb4c3e9556 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJg`O^sArbD$DG~_>EDn4#?y*WR zVd>ywOiq6Me~H?S&FSZbOy)0Onz2-Y{l|}=%{$BU?xyT0e9YFoXN^smxoyoK0Uh>5 zoR&>0>@LTSH0s*aKNGpZsPON(zr3N$#?;GhY!i|lzkDb<(BRIvvQuEmyj6h)4-^e% zaj@HPxd}haP?GU&VU}ZB+*xp7al@5K69PhcjQU@wNv@nGyt?iR<6=by2A2RG1Eq!6 R_X8cv;OXk;vd$@?2>>{mPsacN literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/mag-1.png b/Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/mag-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2c31b35f660c7055d1fde046ee124d0ebd4755b9 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ5>FS$kO=qW6p4fb76-l=_gE#E zu(XA7oOzh~ga5Rt=KPQ95B{&c^IvlHexWZ4j;tqciacSMd0vR8Uh;^<9!b52SAW;H zAFg-nXJ$F8z9Qj*WrD-v2C=1To`D9h8ZHV*@HV0miIPkVT2mDi_il4L3bdcW)78&q Iol`;+0BWi{y#N3J literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/mag-2.png b/Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/mag-2.png new file mode 100644 index 0000000000000000000000000000000000000000..c4b7a73160d2aafb4124bd3c449a4004fb34c84f GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJYEKu(kO=qW6p4fb76-l=_gE#E zu(XA7oOzh~ga5Rt=KPQ95B{&c^IvlHexWZ4j;tqciacSMd0vR8Uh;^<9!b52SAW;H zAFg-nXJ$F8z9Qj*WrD-v2C=1TCj$)@C>qS-VBaGn@xjI7Rl`LA3EoCH!5G!Tz%Wh6 WL2+a6g6BYIFnGH9xvXqS-VBaGn;oGvfv%o}3v^gsqjPaBZ9 bpv1xuE1aO%@%B*&&>0M#u6{1-oD!MqS-VBaGn;oGvfv%o}I0p^;OXk;vd$@?2>=vTKh*#L literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/meta.json b/Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/meta.json new file mode 100644 index 0000000000..21e8020409 --- /dev/null +++ b/Resources/Textures/Clothing/Pouches/cartridge_belt.rsi/meta.json @@ -0,0 +1,26 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Keslik", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base" + }, + { + "name": "mag-1" + }, + { + "name": "mag-2" + }, + { + "name": "mag-3" + }, + { + "name": "mag-4" + } + ] + } diff --git a/Resources/Textures/Clothing/Pouches/grenade.rsi/icon.png b/Resources/Textures/Clothing/Pouches/grenade.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8ad34a3961b3a90f3a88ccdc955619298b674137 GIT binary patch literal 288 zcmV+*0pI?KP)|QVixc=ZYG4R_2=$>g3?4XW*%^983C`Yk-3g{!6gd=`NTg7Sb m^FBsLocx_Vgn$rmPT&sp^{XNDAKC%{0000aO6?qYvOI3WDgdBM6F4K7dD$g5E2HVuX=Z)|`-B} z`0*C*4+@|Pr~;~hDlkidG)+IYD?H0GaXoPYH4lQI$57XG`!0nL0gN>#k~t78fH;mj z$&)1c`2o%Iyjw4dVzT~Z09HeQFbvzmRaLs${#OkP^1jz?u4C-YfvlQRK!bfGY3> X((I@qC>^A$00000NkvXXu0mjfpeTzD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Pouches/handcuff_holder.rsi/meta.json b/Resources/Textures/Clothing/Pouches/handcuff_holder.rsi/meta.json new file mode 100644 index 0000000000..f17bc2de6b --- /dev/null +++ b/Resources/Textures/Clothing/Pouches/handcuff_holder.rsi/meta.json @@ -0,0 +1,17 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Keslik", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "fill-1" + } + ] + } diff --git a/Resources/Textures/Clothing/Pouches/magazine.rsi/icon.png b/Resources/Textures/Clothing/Pouches/magazine.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..632dde4e5e663181c356fa3f9c24a832c4afb93e GIT binary patch literal 306 zcmV-20nPr2P)(wF4{YeGqCTD9cQ+HYOgt^#GNl;eW| zSOzQumH{>cUDth_bEkf_t}DbCD^BMcT@e7Cql3Qh4?p|9LtWR$dRdmAZ_@K%q$6Yr zf(7v2L)*3|fRqx15Fpp{K%|QS@N`YnoDQ*V+mQuMAIA}NOyK1>8I5bTNRm2EXO|U#p-JF!0%5LjV8(07*qoM6N<$ Ef-N3-fdBvi literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Pouches/magazine.rsi/meta.json b/Resources/Textures/Clothing/Pouches/magazine.rsi/meta.json new file mode 100644 index 0000000000..21471c4507 --- /dev/null +++ b/Resources/Textures/Clothing/Pouches/magazine.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Keslik", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + } + ] + } diff --git a/Resources/Textures/Clothing/Pouches/medical.rsi/icon.png b/Resources/Textures/Clothing/Pouches/medical.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c60a97b55b3fdf18d792414bbdbd45374042c312 GIT binary patch literal 311 zcmV-70m%M|P)AjSb8bs$Gj-2sFwhXoBR6sYb1QqllTLI4)GFo(dR1)Dh49RRabU0of_ zym|8`N`PP!r)m`F>gtjb0}PihU#4y%1UZ18pPwj4eEj%v7(3v`jT?AFK|@1>fuB1)B&R*0004A_95si&-(xX002ov JPDHLkV1l9UcHjU2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Pouches/medical.rsi/meta.json b/Resources/Textures/Clothing/Pouches/medical.rsi/meta.json new file mode 100644 index 0000000000..21471c4507 --- /dev/null +++ b/Resources/Textures/Clothing/Pouches/medical.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Made by Keslik", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + } + ] + }