diff --git a/Resources/Locale/en-US/deltav/clothing/belts.ftl b/Resources/Locale/en-US/deltav/clothing/belts.ftl new file mode 100644 index 00000000000..22f13a790e9 --- /dev/null +++ b/Resources/Locale/en-US/deltav/clothing/belts.ftl @@ -0,0 +1,7 @@ +# Add sidearm and medkit slots to security belts + webbing, medical webbing respectively +clothing-belt-sidearm = Sidearm +clothing-belt-medkit = Medkit + +# Add slots to the daishou +clothing-belt-katana = Katana +clothing-belt-wakizashi = Wakizashi diff --git a/Resources/Prototypes/DeltaV/Catalog/Fills/Items/Belts/belts.yml b/Resources/Prototypes/DeltaV/Catalog/Fills/Items/Belts/belts.yml index ecffae4c361..b563757acb5 100644 --- a/Resources/Prototypes/DeltaV/Catalog/Fills/Items/Belts/belts.yml +++ b/Resources/Prototypes/DeltaV/Catalog/Fills/Items/Belts/belts.yml @@ -3,10 +3,12 @@ parent: ClothingBeltKatanaSheath suffix: Filled components: - - type: StorageFill - contents: - - id: Wakizashi - - id: Katana + - type: ContainerFill + containers: + katanaslot: + - Katana + wakizashislot: + - Wakizashi - type: entity id: ClothingBeltCorpsmanWebbingFilled diff --git a/Resources/Prototypes/DeltaV/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/DeltaV/Entities/Clothing/Belt/belts.yml index 8629ddbf613..cef0cf394c1 100644 --- a/Resources/Prototypes/DeltaV/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/DeltaV/Entities/Clothing/Belt/belts.yml @@ -39,7 +39,7 @@ - type: Appearance - type: entity - parent: ClothingBeltStorageBase + parent: [ClothingBeltStorageBase, ClothingSlotBase] id: ClothingBeltCorpsmanWebbing name: corpsman webbing description: A set of security webbing with blue corpsman highlights. @@ -48,7 +48,28 @@ sprite: DeltaV/Clothing/Belt/corpsman.rsi - type: Clothing sprite: DeltaV/Clothing/Belt/corpsman.rsi + - type: ItemSlots # add medkit slot + slots: + medkit: + name: clothing-belt-medkit + whitelist: + tags: + - Medkit + insertOnInteract: false # or you can't easily stow medkits in your rig. - type: Storage grid: - 0,0,2,1 - 4,0,7,1 + - type: ItemMapper # add stowed medkit sprite + mapLayers: + medkit: + whitelist: + tags: + - Medkit + sprite: DeltaV/Clothing/Belt/belt_overlay.rsi + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + medkit: !type:ContainerSlot {} + - type: Appearance diff --git a/Resources/Prototypes/DeltaV/tags.yml b/Resources/Prototypes/DeltaV/tags.yml index 335749959bf..3f5aca90d4e 100644 --- a/Resources/Prototypes/DeltaV/tags.yml +++ b/Resources/Prototypes/DeltaV/tags.yml @@ -6,6 +6,33 @@ - type: Tag id: BeltSlotNotBelt #not a 'belt' +- type: Tag + id: BionicSyrinxImplant + +- type: Tag + id: BorgModuleSecurity + +- type: Tag + id: BorgSecurityArmour + +- type: Tag + id: BorgSecurityHead + +- type: Tag + id: BorgSecurityLArm + +- type: Tag + id: BorgSecurityLLeg + +- type: Tag + id: BorgSecurityRArm + +- type: Tag + id: BorgSecurityRLeg + +- type: Tag + id: BorgSecurityTorso + - type: Tag id: BulletBB @@ -35,6 +62,9 @@ - type: Tag id: HidesHarpyWings + +- type: Tag + id: HudMedicalSecurity #Craftable Corpsman Glasses - type: Tag id: MagazinePistolSpecial # For the .38 special ammo and pistol @@ -46,46 +76,19 @@ id: ModularTrigger #Craftable Musket - type: Tag - id: SecDogWearable # allows Laika to wear meson goggles (and more later?) - -- type: Tag - id: SpeedLoaderSpecial + id: PaperSlip - type: Tag id: PreventLabel - type: Tag - id: BionicSyrinxImplant - -- type: Tag - id: PaperSlip - -- type: Tag - id: HudMedicalSecurity #Craftable Corpsman Glasses - -- type: Tag - id: BorgModuleSecurity - -- type: Tag - id: BorgSecurityHead - -- type: Tag - id: BorgSecurityTorso - -- type: Tag - id: BorgSecurityRLeg - -- type: Tag - id: BorgSecurityLLeg - -- type: Tag - id: BorgSecurityRArm - -- type: Tag - id: BorgSecurityLArm + id: SecDogWearable # allows Laika to wear meson goggles (and more later?) - type: Tag id: Skirt - type: Tag - id: BorgSecurityArmour + id: SpeedLoaderSpecial + +- type: Tag + id: Wakizashi diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index 53e541b6bac..17bd290d72a 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -456,7 +456,7 @@ - type: Appearance - type: entity - parent: [ClothingBeltStorageBase, BaseRestrictedContraband] + parent: [ClothingBeltStorageBase, BaseRestrictedContraband, ClothingSlotBase] # DeltaV - add parent ClothingSlotBase id: ClothingBeltSecurity name: security belt description: Can hold security gear like handcuffs and flashes. @@ -465,6 +465,14 @@ sprite: DeltaV/Clothing/Belt/security.rsi # DeltaV - resprite - type: Clothing sprite: DeltaV/Clothing/Belt/security.rsi # DeltaV - resprite + - type: ItemSlots # DeltaV - add sidearm slot + slots: + holster: + name: clothing-belt-sidearm + whitelist: + tags: + - Sidearm + insertOnInteract: false - type: Storage whitelist: tags: @@ -489,21 +497,26 @@ - Whistle - HolosignProjector - BalloonPopper - - type: ItemMapper + - type: ItemMapper # DeltaV - adjust for DeltaV sprites. mapLayers: - flashbang: - whitelist: - components: - - FlashOnTrigger - stunbaton: + baton: whitelist: components: - Stunbaton - tear_gas_grenade: + gasgrenade: whitelist: - components: - - SmokeOnTrigger - sprite: Clothing/Belt/belt_overlay.rsi + tags: + - Grenade + slp: + whitelist: + tags: + - Sidearm + sprite: DeltaV/Clothing/Belt/belt_overlay.rsi + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + holster: !type:ContainerSlot {} - type: Appearance - type: entity @@ -610,7 +623,7 @@ - CartridgeAmmo - type: entity - parent: ClothingBeltStorageBase + parent: [ClothingBeltStorageBase, ClothingSlotBase] # DeltaV - add parent ClothingSlotBase id: ClothingBeltSecurityWebbing name: security chest rig # DeltaV - rename from "security carrier" due to already existing plate carrier description: Unique and versatile chest rig, can hold security gear. @@ -619,10 +632,31 @@ sprite: DeltaV/Clothing/Belt/securitywebbing.rsi # DeltaV - resprite - type: Clothing sprite: DeltaV/Clothing/Belt/securitywebbing.rsi # DeltaV - resprite + - type: ItemSlots # DeltaV - add sidearm slot + slots: + holster: + name: clothing-belt-sidearm + whitelist: + tags: + - Sidearm + insertOnInteract: false - type: Storage # Delta-V - Split Inventory grid: - 0,0,2,1 - 4,0,7,1 + - type: ItemMapper # DeltaV - add holstered sidearm sprite + mapLayers: + slp: + whitelist: + tags: + - Sidearm + sprite: DeltaV/Clothing/Belt/belt_overlay.rsi + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + holster: !type:ContainerSlot {} + - type: Appearance # DeltaV - type: entity parent: [ ClothingBeltStorageBase, BaseSecurityCargoContraband ] diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml index 82f91669cd1..71167106029 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/medkits.yml @@ -7,7 +7,20 @@ - type: Sprite sprite: Objects/Specific/Medical/firstaidkits.rsi state: firstaid - - type: Storage + - type: Storage # DeltaV - add whitelist to first aid kits + whitelist: + tags: + - Bloodpack + - Bottle + - Brutepack + - Gauze + - GasTank + - Ointment + - PillCanister + - Syringe + components: + - BreathMask + - Hypospray maxItemSize: Small grid: - 0,0,3,1 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml index a279c56378f..3de77897c41 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/grenades.yml @@ -35,6 +35,9 @@ enum.ConstructionVisuals.Layer: Primed: { state: primed } Unprimed: { state: icon } + - type: Tag # DeltaV - assign grenade tag to all grenades + tags: + - Grenade - type: entity name: explosive grenade diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Belt/belts.yml index c4736f2a3d7..badf017ff5e 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Clothing/Belt/belts.yml @@ -37,7 +37,7 @@ sprite: Nyanotrasen/Clothing/Belt/Martial/black.rsi - type: entity - parent: ClothingBeltStorageBase + parent: ClothingBeltBase # DeltaV - reparent from ClothingBeltStorageBase id: ClothingBeltKatanaSheath name: katana sheaths description: An ornate belt designed to hold a pair of samurai's blades, or daisho. @@ -47,25 +47,52 @@ state: sheath - type: Clothing sprite: Nyanotrasen/Clothing/Belt/katanasheath.rsi - - type: Storage - grid: - - 0,0,3,1 - whitelist: - tags: - - Katana - - type: ItemMapper - mapLayers: - sheath-sabre: + - type: ItemSlots # DeltaV - adjust how objects are stored + slots: + katanaslot: + name: clothing-belt-katana + insertVerbText: sheath-insert-verb + ejectVerbText: sheath-eject-verb + insertSound: /Audio/Items/sheath.ogg + ejectSound: /Audio/Items/unsheath.ogg whitelist: tags: - Katana + priority: 2 + wakizashislot: + name: clothing-belt-wakizashi + insertVerbText: sheath-insert-verb + ejectVerbText: sheath-eject-verb + insertSound: /Audio/Items/sheath.ogg + ejectSound: /Audio/Items/unsheath.ogg + whitelist: + tags: + - Wakizashi + priority: 1 + - type: ItemMapper # DeltaV - adjust how stored objects are displayed + mapLayers: + katana: + whitelist: + tags: + - Katana + wakizashi: + whitelist: + tags: + - Wakizashi + sprite: DeltaV/Clothing/Belt/belt_overlay.rsi + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + katanaslot: !type:ContainerSlot {} + wakizashislot: !type:ContainerSlot {} - type: Appearance - type: Tag tags: - BeltSlotNotBelt - type: entity - parent: ClothingBeltStorageBase + parent: [ClothingBeltStorageBase, ClothingSlotBase] # DeltaV - add parent ClothingSlotBase id: ClothingBeltMilitaryWebbingCMO name: chief medical officer's chest rig description: A medical chest rig with deep pockets, for use by paramedics and health professionals. @@ -76,11 +103,32 @@ sprite: DeltaV/Clothing/Belt/cmowebbing.rsi # DeltaV - resprite - type: Item size: Large + - type: ItemSlots # DeltaV - add medkit slot + slots: + medkit: + name: clothing-belt-medkit + whitelist: + tags: + - Medkit + insertOnInteract: false # or you can't easily stow medkits in your rig. - type: Storage maxItemSize: Normal grid: # DeltaV - Make the grid smaller - 0,0,2,1 - 4,0,7,1 + - type: ItemMapper # DeltaV - add stowed medkit sprite + mapLayers: + medkit: + whitelist: + tags: + - Medkit + sprite: DeltaV/Clothing/Belt/belt_overlay.rsi - type: Tag tags: - BeltSlotNotBelt + - type: ContainerContainer + containers: + storagebase: !type:Container + ents: [] + medkit: !type:ContainerSlot {} + - type: Appearance # DeltaV diff --git a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Melee/sword.yml index f2604f044fd..80207feb037 100644 --- a/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Nyanotrasen/Entities/Objects/Weapons/Melee/sword.yml @@ -6,7 +6,7 @@ components: - type: Tag tags: - - Katana + - Wakizashi # DeltaV - differentiate between Katana and Wakizashi - type: Sharp - type: Utensil types: diff --git a/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/baton.png b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/baton.png new file mode 100644 index 00000000000..a9a9e421328 Binary files /dev/null and b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/baton.png differ diff --git a/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/flashbang.png b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/flashbang.png new file mode 100644 index 00000000000..f3833168475 Binary files /dev/null and b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/flashbang.png differ diff --git a/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/gasgrenade.png b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/gasgrenade.png new file mode 100644 index 00000000000..746f8352211 Binary files /dev/null and b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/gasgrenade.png differ diff --git a/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/katana.png b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/katana.png new file mode 100644 index 00000000000..645b917dca5 Binary files /dev/null and b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/katana.png differ diff --git a/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/medkit.png b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/medkit.png new file mode 100644 index 00000000000..b18bfb58fd8 Binary files /dev/null and b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/medkit.png differ diff --git a/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/meta.json b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/meta.json new file mode 100644 index 00000000000..c98433227c1 --- /dev/null +++ b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/meta.json @@ -0,0 +1,35 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Original work by TJohnson.", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "katana" + }, + { + "name": "wakizashi" + }, + { + "name": "slp" + }, + { + "name": "universal" + }, + { + "name": "flashbang" + }, + { + "name": "gasgrenade" + }, + { + "name": "baton" + }, + { + "name": "medkit" + } + ] +} diff --git a/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/slp.png b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/slp.png new file mode 100644 index 00000000000..975d35cc0ba Binary files /dev/null and b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/slp.png differ diff --git a/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/universal.png b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/universal.png new file mode 100644 index 00000000000..7de9bb56084 Binary files /dev/null and b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/universal.png differ diff --git a/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/wakizashi.png b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/wakizashi.png new file mode 100644 index 00000000000..817105b0bc4 Binary files /dev/null and b/Resources/Textures/DeltaV/Clothing/Belt/belt_overlay.rsi/wakizashi.png differ