From b16a044a2bd5d8abc522cb69e280c775cb052550 Mon Sep 17 00:00:00 2001 From: Swept Date: Tue, 10 Aug 2021 13:36:00 -0700 Subject: [PATCH] Added restrictions for what can be inserted into most belts (#4367) * Belts now restrict what can be inserted into them * Bandolier now only holds shotgun shells * Tiny typo * Another tiny typo --- .../Entities/Clothing/Belt/belts.yml | 206 +++++++++++++----- .../Objects/Consumable/Food/Baked/bread.yml | 3 + .../Objects/Consumable/Food/produce.yml | 3 + .../Smokeables/Cigarettes/packs.yml | 123 ++++++----- .../Consumable/Smokeables/Cigars/cigar.yml | 46 ++-- .../Entities/Objects/Materials/parts.yml | 3 + .../Entities/Objects/Misc/handcuffs.yml | 1 - .../Objects/Specific/Janitorial/soap.yml | 3 + .../Objects/Specific/Medical/healing.yml | 29 ++- .../Entities/Objects/Tools/cable_coils.yml | 156 ++++++------- .../Entities/Objects/Tools/flare.yml | 145 ++++++------ .../Entities/Objects/Tools/flashlight.yml | 47 ++-- .../Entities/Objects/Tools/tools.yml | 1 + .../Guns/Ammunition/Cartridges/shotgun.yml | 3 + .../Weapons/Guns/Battery/battery_guns.yml | 3 + .../Entities/Objects/Weapons/Melee/knife.yml | 15 +- .../Entities/Objects/Weapons/Melee/spear.yml | 3 + .../Entities/Objects/Weapons/Melee/sword.yml | 6 + Resources/Prototypes/Recipes/Lathes/misc.yml | 4 +- Resources/Prototypes/tags.yml | 54 +++++ .../Clothing/Belt/sheath.rsi/meta.json | 24 ++ .../Clothing/Belt/sheath.rsi/sheath-bag.png | Bin 0 -> 202 bytes .../Belt/sheath.rsi/sheath-carrot.png | Bin 0 -> 250 bytes .../Belt/sheath.rsi/sheath-crowbar.png | Bin 0 -> 241 bytes .../Belt/sheath.rsi/sheath-crowbarr.png | Bin 0 -> 263 bytes .../Belt/sheath.rsi/sheath-katana.png | Bin 0 -> 202 bytes .../Clothing/Belt/sheath.rsi/sheath-knife.png | Bin 0 -> 149 bytes .../Clothing/Belt/sheath.rsi/sheath-mop.png | Bin 0 -> 304 bytes .../Clothing/Belt/sheath.rsi/sheath-rod.png | Bin 0 -> 150 bytes 29 files changed, 560 insertions(+), 318 deletions(-) create mode 100644 Resources/Textures/Clothing/Belt/sheath.rsi/sheath-bag.png create mode 100644 Resources/Textures/Clothing/Belt/sheath.rsi/sheath-carrot.png create mode 100644 Resources/Textures/Clothing/Belt/sheath.rsi/sheath-crowbar.png create mode 100644 Resources/Textures/Clothing/Belt/sheath.rsi/sheath-crowbarr.png create mode 100644 Resources/Textures/Clothing/Belt/sheath.rsi/sheath-katana.png create mode 100644 Resources/Textures/Clothing/Belt/sheath.rsi/sheath-knife.png create mode 100644 Resources/Textures/Clothing/Belt/sheath.rsi/sheath-mop.png create mode 100644 Resources/Textures/Clothing/Belt/sheath.rsi/sheath-rod.png diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index 2d96685c81..478c7153f8 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -13,23 +13,25 @@ - type: Storage capacity: 40 # TODO: Fill this out more. - # whitelist: - # tags: - # - Wirecutter - # - Crowbar - # - CrowbarRed - # - Screwdriver - # - Flashlight - # - Welder - # - Wrench - # - Painter - # - GeigerCounter - # - Flare - # - Coilsofwire - # - - # - - # components: - # - SignalLinker + whitelist: + tags: + - Wirecutter + - Crowbar + - Screwdriver + - Flashlight + - Wrench +# - Painter +# - GeigerCounter + - Flare + - CableCoil + - CigPack + components: + - SignalLinker + - RCD + - RCDAmmo + - Welder + - Radio + - PowerCell - type: ItemCounter mapLayers: cutters_red: @@ -72,25 +74,31 @@ - type: Clothing sprite: Clothing/Belt/ce.rsi - type: Storage - # TODO: Fill this out more. - # whitelist: - # tags: - # - Wirecutter - # - Crowbar - # - CrowbarRed - # - Screwdriver - # - Flashlight - # - Welder - # - Wrench - # - Painter - # - GeigerCounter - # - Flare - # - Coilsofwire - # - - # - - # components: - # - SignalLinker capacity: 100 + # TODO: Fill this out more. + whitelist: + tags: + - Wirecutter + - Crowbar + - Screwdriver + - Flashlight + - Wrench +# - Painter +# - GeigerCounter + - Flare + - CableCoil + - Powerdrill + - JawsOfLife + - CigPack + components: + - SignalLinker + - RCD + - RCDAmmo + - Welder + - Flash + - Radio + - Handcuff + - PowerCell - type: ItemCounter mapLayers: drill: @@ -142,6 +150,17 @@ sprite: Clothing/Belt/assault.rsi - type: Storage capacity: 40 + whitelist: + tags: + - CigPack + - Taser + components: + - Stunbaton + - FlashOnTrigger + - Flash + - Handcuff + - RangedMagazine + - Ammo - type: ItemCounter mapLayers: flashbang: @@ -169,6 +188,14 @@ sprite: Clothing/Belt/janitor.rsi - type: Storage capacity: 40 + whitelist: + tags: + - Wrench + - Bottle + - Spray + - Soap + - Flashlight + - CigPack - type: ItemCounter mapLayers: bottle: @@ -179,6 +206,10 @@ whitelist: tags: - Spray + wrench: + whitelist: + tags: + - Wrench - type: Appearance visuals: - type: MappedItemVisualizer @@ -196,6 +227,20 @@ sprite: Clothing/Belt/medical.rsi - type: Storage capacity: 40 + whitelist: + tags: + - Wrench + - Bottle + - Spray + - Brutepack + - Gauze + - Ointment + - CigPack + components: + - Hypospray + - Pill + - SurgeryTool + - Radio - type: ItemCounter mapLayers: bottle: @@ -242,27 +287,29 @@ - type: Clothing sprite: Clothing/Belt/plant.rsi - type: Storage - # whitelist: - # tags: - # - BotanyHoe - # - PlantAnalyzer - # - BotanyHoe - # - BotanyShovel - # - PlantBGone - # - Bottle - # components: - # - Seed capacity: 40 + whitelist: + tags: + - BotanyHoe + # - PlantAnalyzer + - BotanyHoe + - BotanyShovel + - PlantBGone + - Bottle + - CigPack + components: + - Seed + - Smoking - type: ItemCounter mapLayers: hatchet: whitelist: tags: - BotanyHatchet - hydro: - whitelist: - tags: - - PlantAnalyzer # Dunno what to put here, should be aight. + # hydro: + # whitelist: + # tags: + # - PlantAnalyzer # Dunno what to put here, should be aight. hoe: whitelist: tags: @@ -296,6 +343,15 @@ sprite: Clothing/Belt/security.rsi - type: Storage capacity: 40 + whitelist: + tags: + - CigPack + - Taser + components: + - Stunbaton + - FlashOnTrigger + - Flash + - Handcuff - type: ItemCounter mapLayers: flashbang: @@ -324,11 +380,58 @@ sprite: Clothing/Belt/sheath.rsi - type: Storage capacity: 15 + whitelist: + tags: + - CaptainSabre + - Baguette + - Carrot + - Crowbar + - Katana + - Machete + - CombatKnife + - RodMetal1 + - Spear + components: + - Mop - type: StorageFill contents: - id: CaptainSabre - type: ItemCounter mapLayers: + sheath-bag: + whitelist: + tags: + - Baguette + sheath-carrot: + whitelist: + tags: + - Carrot + sheath-crowbar: + whitelist: + tags: + - Crowbar + sheath-crowbarr: + whitelist: + tags: + - CrowbarRed + sheath-katana: + whitelist: + tags: + - Katana + sheath-knife: + whitelist: + tags: + - Machete + - CombatKnife + sheath-mop: + whitelist: + components: + - Mop + sheath-rod: + whitelist: + tags: + - RodMetal1 + - Spear sheath-sabre: whitelist: tags: @@ -350,7 +453,10 @@ - type: Clothing sprite: Clothing/Belt/bandolier.rsi - type: Storage - capacity: 40 + capacity: 60 + whitelist: + tags: + - ShotgunShell - type: entity parent: ClothingBeltBase diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml index 5e08078666..ddac24a2f3 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/bread.yml @@ -317,6 +317,9 @@ id: FoodBreadBaguette description: Bon appétit! components: + - type: Tag + tags: + - Baguette - type: Sprite state: baguette # Tastes like France. diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml index 5d40cb2ea7..9a2b36bf58 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/produce.yml @@ -142,6 +142,9 @@ id: FoodCarrot description: It's good for the eyes! components: + - type: Tag + tags: + - Carrot - type: Food - type: SolutionContainer contents: diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml index c448887047..9750b497f4 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigarettes/packs.yml @@ -4,87 +4,90 @@ name: cigarette pack abstract: true components: - - type: Storage - capacity: 6 - - type: Item - size: 6 - - type: StorageFill - contents: - - id: Cigarette - amount: 6 - - type: StorageCounter - countTag: Cigarette - - type: Appearance - visuals: - - type: BagOpenCloseVisualizer - openIcon: open - - type: StackVisualizer - sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi - composite: true - stackLayers: - - cig1 - - cig2 - - cig3 - - cig4 - - cig5 - - cig6 + - type: Tag + tags: + - CigPack + - type: Storage + capacity: 6 + - type: Item + size: 6 + - type: StorageFill + contents: + - id: Cigarette + amount: 6 + - type: StorageCounter + countTag: Cigarette + - type: Appearance + visuals: + - type: BagOpenCloseVisualizer + openIcon: open + - type: StackVisualizer + sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/visualizer.rsi + composite: true + stackLayers: + - cig1 + - cig2 + - cig3 + - cig4 + - cig5 + - cig6 - type: entity id: CigPackGreen parent: CigPackBase name: Spessman's Smokes packet - description: "A label on the packaging reads, 'Wouldn't a slow death make a change?'" + description: A label on the packaging reads, Wouldn't a slow death make a change? components: - - type: Sprite - netsync: false - sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/green.rsi - layers: - - state: closed - - type: Item - sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/green.rsi - size: 6 + - type: Sprite + netsync: false + sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/green.rsi + layers: + - state: closed + - type: Item + sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/green.rsi + size: 6 - type: entity id: CigPackRed parent: CigPackBase name: DromedaryCo packet - description: "The most popular brand of Space Cigarettes, sponsors of the Space Olympics." + description: The most popular brand of Space Cigarettes, sponsors of the Space Olympics. components: - - type: Sprite - netsync: false - sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/red.rsi - layers: - - state: closed - - type: Item - sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/red.rsi - size: 6 + - type: Sprite + netsync: false + sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/red.rsi + layers: + - state: closed + - type: Item + sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/red.rsi + size: 6 - type: entity id: CigPackBlue parent: CigPackBase name: AcmeCo packet - description: "For those who somehow want to obtain the record for the most amount of cancerous tumors." + description: For those who somehow want to obtain the record for the most amount of cancerous tumors. components: - - type: Sprite - netsync: false - sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/blue.rsi - layers: - - state: closed - - type: Item - sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/blue.rsi - size: 6 + - type: Sprite + netsync: false + sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/blue.rsi + layers: + - state: closed + - type: Item + sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/blue.rsi + size: 6 - type: entity id: CigPackBlack parent: CigPackBase name: Nomads packet - description: "Nomads's extra strong, for when your life is more extra hard." + description: Nomads's extra strong, for when your life is more extra hard. components: - - type: Sprite - netsync: false - sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/black.rsi - layers: - - state: closed - - type: Item - sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/black.rsi - size: 6 + - type: Sprite + netsync: false + sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/black.rsi + layers: + - state: closed + - type: Item + sprite: Objects/Consumable/Smokeables/Cigarettes/Packs/black.rsi + size: 6 diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml index 3c8cb802f9..b68e35f32c 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Smokeables/Cigars/cigar.yml @@ -7,20 +7,20 @@ name: cigar description: "A brown roll of tobacco and... well, you're not quite sure." components: - - type: Smoking - duration: 70 - - type: Sprite - sprite: Objects/Consumable/Smokeables/Cigars/cigar.rsi - netsync: false - state: unlit-icon - - type: Tag - tags: - - Cigar - - type: Clothing - sprite: Objects/Consumable/Smokeables/Cigars/cigar.rsi - Slots: [ mask ] - HeldPrefix: unlit - size: 1 + - type: Smoking + duration: 70 + - type: Sprite + sprite: Objects/Consumable/Smokeables/Cigars/cigar.rsi + netsync: false + state: unlit-icon + - type: Tag + tags: + - Cigar + - type: Clothing + sprite: Objects/Consumable/Smokeables/Cigars/cigar.rsi + Slots: [ mask ] + HeldPrefix: unlit + size: 1 - type: entity id: CigarGold @@ -28,12 +28,12 @@ name: premium Havanian cigar description: "A cigar fit for only the best of the best." components: - - type: Sprite - sprite: Objects/Consumable/Smokeables/Cigars/cigar-gold.rsi - netsync: false - state: unlit-icon - - type: Clothing - sprite: Objects/Consumable/Smokeables/Cigars/cigar-gold.rsi - Slots: [ mask ] - HeldPrefix: unlit - size: 1 + - type: Sprite + sprite: Objects/Consumable/Smokeables/Cigars/cigar-gold.rsi + netsync: false + state: unlit-icon + - type: Clothing + sprite: Objects/Consumable/Smokeables/Cigars/cigar-gold.rsi + Slots: [ mask ] + HeldPrefix: unlit + size: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/parts.yml b/Resources/Prototypes/Entities/Objects/Materials/parts.yml index 9b735dc5c9..f8add04dce 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/parts.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/parts.yml @@ -46,6 +46,9 @@ name: metal rod suffix: Single components: + - type: Tag + tags: + - RodMetal1 - type: Sprite state: rods - type: Stack diff --git a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml index 23229182c1..133356c524 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/handcuffs.yml @@ -14,7 +14,6 @@ - type: Sprite sprite: Objects/Misc/handcuffs.rsi state: handcuff - - type: Clothing sprite: Objects/Misc/handcuffs.rsi Slots: [belt] diff --git a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml index 3fd87810d5..bcf16b543d 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Janitorial/soap.yml @@ -4,6 +4,9 @@ parent: BaseItem description: A cheap bar of soap. Doesn't smell. components: + - type: Tag + tags: + - Soap - type: Sprite sprite: Objects/Specific/Janitorial/soap.rsi state: soap diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml index 5f0c26887b..80b822e0ba 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/healing.yml @@ -1,9 +1,12 @@ - type: entity name: ointment - description: "Used to treat those nasty burns." + description: Used to treat those nasty burns. parent: BaseItem id: Ointment components: + - type: Tag + tags: + - Ointment - type: Sprite sprite: Objects/Specific/Medical/medical.rsi state: ointment @@ -17,24 +20,30 @@ - type: entity name: bruise pack - description: "A therapeutic gel pack and bandages designed to treat blunt-force trauma." + description: A therapeutic gel pack and bandages designed to treat blunt-force trauma. parent: Ointment id: Brutepack components: - - type: Sprite - state: brutepack - - type: Healing - heal: - Blunt: 10 - - type: Stack - stackType: Brutepack + - type: Tag + tags: + - Brutepack + - type: Sprite + state: brutepack + - type: Healing + heal: + Blunt: 10 + - type: Stack + stackType: Brutepack - type: entity name: roll of gauze - description: "Some sterile gauze to wrap around bloody stumps." + description: Some sterile gauze to wrap around bloody stumps. parent: Ointment id: Gauze components: + - type: Tag + tags: + - Gauze - type: Sprite state: gauze - type: Healing diff --git a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml index 6e57604d46..d7c9251777 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/cable_coils.yml @@ -9,16 +9,18 @@ name: cable stack suffix: Full components: - - type: Stack - stackType: Cable - - type: Sprite - sprite: Objects/Tools/cable-coils.rsi - netsync: false - - type: Item - sprite: Objects/Tools/cable-coils.rsi - - type: CablePlacer - - type: Clickable - + - type: Tag + tags: + - CableCoil + - type: Stack + stackType: Cable + - type: Sprite + sprite: Objects/Tools/cable-coils.rsi + netsync: false + - type: Item + sprite: Objects/Tools/cable-coils.rsi + - type: CablePlacer + - type: Clickable - type: entity id: CableHVStack @@ -26,35 +28,35 @@ name: HV cable coil suffix: Full components: - - type: Stack - stackType: CableHV - - type: Sprite - state: coilhv-30 - - type: Item - size: 10 - HeldPrefix: coilhv - - type: CablePlacer - cablePrototypeID: CableHV - blockingCableType: HighVoltage - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - coilhv-10 - - coilhv-20 - - coilhv-30 + - type: Stack + stackType: CableHV + - type: Sprite + state: coilhv-30 + - type: Item + size: 10 + HeldPrefix: coilhv + - type: CablePlacer + cablePrototypeID: CableHV + blockingCableType: HighVoltage + - type: Appearance + visuals: + - type: StackVisualizer + stackLayers: + - coilhv-10 + - coilhv-20 + - coilhv-30 - type: entity parent: CableHVStack id: CableHVStack1 suffix: 1 components: - - type: Sprite - state: coilhv-10 - - type: Item - size: 3 - - type: Stack - count: 1 + - type: Sprite + state: coilhv-10 + - type: Item + size: 3 + - type: Stack + count: 1 - type: entity parent: CableStack @@ -63,33 +65,33 @@ description: Low-Voltage stack of wires for connecting APCs to machines and other purposes. suffix: Full components: - - type: Sprite - state: coillv-30 - - type: Item - size: 10 - HeldPrefix: coillv - - type: CablePlacer - cablePrototypeID: CableApcExtension - blockingCableType: Apc - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - coillv-10 - - coillv-20 - - coillv-30 + - type: Sprite + state: coillv-30 + - type: Item + size: 10 + HeldPrefix: coillv + - type: CablePlacer + cablePrototypeID: CableApcExtension + blockingCableType: Apc + - type: Appearance + visuals: + - type: StackVisualizer + stackLayers: + - coillv-10 + - coillv-20 + - coillv-30 - type: entity parent: CableApcStack id: CableApcStack1 suffix: 1 components: - - type: Sprite - state: coillv-10 - - type: Item - size: 3 - - type: Stack - count: 1 + - type: Sprite + state: coillv-10 + - type: Item + size: 3 + - type: Stack + count: 1 - type: entity parent: CableStack @@ -97,32 +99,32 @@ name: MV cable coil suffix: Full components: - - type: Stack - stackType: CableMV - - type: Sprite - state: coilmv-30 - - type: Item - size: 10 - HeldPrefix: coilmv - - type: CablePlacer - cablePrototypeID: CableMV - blockingCableType: MediumVoltage - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - coilmv-10 - - coilmv-20 - - coilmv-30 + - type: Stack + stackType: CableMV + - type: Sprite + state: coilmv-30 + - type: Item + size: 10 + HeldPrefix: coilmv + - type: CablePlacer + cablePrototypeID: CableMV + blockingCableType: MediumVoltage + - type: Appearance + visuals: + - type: StackVisualizer + stackLayers: + - coilmv-10 + - coilmv-20 + - coilmv-30 - type: entity parent: CableMVStack id: CableMVStack1 suffix: 1 components: - - type: Sprite - state: coilmv-10 - - type: Item - size: 3 - - type: Stack - count: 1 + - type: Sprite + state: coilmv-10 + - type: Item + size: 3 + - type: Stack + count: 1 diff --git a/Resources/Prototypes/Entities/Objects/Tools/flare.yml b/Resources/Prototypes/Entities/Objects/Tools/flare.yml index cf2d18ee78..20e378bfd7 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/flare.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/flare.yml @@ -1,76 +1,79 @@ - type: entity name: emergency flare # todo: we need some sort of IgnitionSourceComponent we can add to this, so when it's lit it will cause fires when touching fuel parent: BaseItem - id: FlareBase + id: Flare description: A flare that produces a very bright light for a short while. Point the flame away from yourself. components: - - type: ExpendableLight - spentName: spent flare - spentDesc: It looks like this flare has burnt out. What a bummer. - glowDuration: 150 - fadeOutDuration: 4 - iconStateOn: flare_unlit - iconStateSpent: flare_spent - turnOnBehaviourID: turn_on - fadeOutBehaviourID: fade_out - litSound: /Audio/Items/Flare/flare_on.ogg - loopedSound: /Audio/Items/Flare/flare_burn.ogg - - type: Sprite - sprite: Objects/Misc/flare.rsi - layers: - - state: flare_base - - state: flare_burn - color: "#FFFFFF" - visible: false - shader: unshaded - - state: flare_unlit - color: "#FF0000" - - type: Icon - sprite: Objects/Misc/flare.rsi - state: icon - - type: Item - sprite: Objects/Misc/flare.rsi - color: "#FF0000" - HeldPrefix: unlit - - type: Appearance - visuals: - - type: ExpendableLightVisualizer - - type: PointLight - enabled: false - color: "#FF8080" - radius: 1.0 - energy: 9.0 - - type: LightBehaviour - behaviours: - - !type:RandomizeBehaviour # immediately make it bright and flickery - id: turn_on - interpolate: Nearest - minDuration: 0.02 - maxDuration: 0.06 - startValue: 6.0 - endValue: 9.0 - property: Energy - isLooped: true - - !type:FadeBehaviour # have the radius start small and get larger as it starts to burn - id: turn_on - interpolate: Linear - maxDuration: 8.0 - startValue: 1.0 - endValue: 6.0 - property: Radius - - !type:RandomizeBehaviour # weaker flicker as it fades out - id: fade_out - interpolate: Nearest - minDuration: 0.02 - maxDuration: 0.06 - startValue: 4.0 - endValue: 8.0 - property: Energy - isLooped: true - - !type:FadeBehaviour # fade out radius as it burns out - id: fade_out - interpolate: Linear - maxDuration: 4.0 - startValue: 6.0 - endValue: 1.0 - property: Radius + - type: Tag + tags: + - Flare + - type: ExpendableLight + spentName: spent flare + spentDesc: It looks like this flare has burnt out. What a bummer. + glowDuration: 150 + fadeOutDuration: 4 + iconStateOn: flare_unlit + iconStateSpent: flare_spent + turnOnBehaviourID: turn_on + fadeOutBehaviourID: fade_out + litSound: /Audio/Items/Flare/flare_on.ogg + loopedSound: /Audio/Items/Flare/flare_burn.ogg + - type: Sprite + sprite: Objects/Misc/flare.rsi + layers: + - state: flare_base + - state: flare_burn + color: "#FFFFFF" + visible: false + shader: unshaded + - state: flare_unlit + color: "#FF0000" + - type: Icon + sprite: Objects/Misc/flare.rsi + state: icon + - type: Item + sprite: Objects/Misc/flare.rsi + color: "#FF0000" + HeldPrefix: unlit + - type: Appearance + visuals: + - type: ExpendableLightVisualizer + - type: PointLight + enabled: false + color: "#FF8080" + radius: 1.0 + energy: 9.0 + - type: LightBehaviour + behaviours: + - !type:RandomizeBehaviour # immediately make it bright and flickery + id: turn_on + interpolate: Nearest + minDuration: 0.02 + maxDuration: 0.06 + startValue: 6.0 + endValue: 9.0 + property: Energy + isLooped: true + - !type:FadeBehaviour # have the radius start small and get larger as it starts to burn + id: turn_on + interpolate: Linear + maxDuration: 8.0 + startValue: 1.0 + endValue: 6.0 + property: Radius + - !type:RandomizeBehaviour # weaker flicker as it fades out + id: fade_out + interpolate: Nearest + minDuration: 0.02 + maxDuration: 0.06 + startValue: 4.0 + endValue: 8.0 + property: Energy + isLooped: true + - !type:FadeBehaviour # fade out radius as it burns out + id: fade_out + interpolate: Linear + maxDuration: 4.0 + startValue: 6.0 + endValue: 1.0 + property: Radius diff --git a/Resources/Prototypes/Entities/Objects/Tools/flashlight.yml b/Resources/Prototypes/Entities/Objects/Tools/flashlight.yml index 80ffa05614..2e8d8954a9 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/flashlight.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/flashlight.yml @@ -4,25 +4,28 @@ id: FlashlightLantern description: It lights the way to freedom. components: - - type: HandheldLight - - type: ItemActions - actions: - - actionType: ToggleLight - - type: PowerCellSlot - startingCellType: PowerCellSmallHigh - - type: Sprite - sprite: Objects/Tools/flashlight.rsi - layers: - - state: lantern_off - - state: HandheldLightOnOverlay - shader: unshaded - visible: false - - type: Item - sprite: Objects/Tools/flashlight.rsi - HeldPrefix: off - - type: PointLight - enabled: false - radius: 3 - - type: Appearance - visuals: - - type: FlashLightVisualizer + - type: Tag + tags: + - Flashlight + - type: HandheldLight + - type: ItemActions + actions: + - actionType: ToggleLight + - type: PowerCellSlot + startingCellType: PowerCellSmallHigh + - type: Sprite + sprite: Objects/Tools/flashlight.rsi + layers: + - state: lantern_off + - state: HandheldLightOnOverlay + shader: unshaded + visible: false + - type: Item + sprite: Objects/Tools/flashlight.rsi + HeldPrefix: off + - type: PointLight + enabled: false + radius: 3 + - type: Appearance + visuals: + - type: FlashLightVisualizer diff --git a/Resources/Prototypes/Entities/Objects/Tools/tools.yml b/Resources/Prototypes/Entities/Objects/Tools/tools.yml index 990ad18342..afdfa6e243 100644 --- a/Resources/Prototypes/Entities/Objects/Tools/tools.yml +++ b/Resources/Prototypes/Entities/Objects/Tools/tools.yml @@ -119,6 +119,7 @@ components: - type: Tag tags: + - Crowbar - CrowbarRed - type: Sprite sprite: Objects/Tools/crowbar_red.rsi diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml index d8be2765fa..d312a87c6d 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/shotgun.yml @@ -4,6 +4,9 @@ parent: BaseItem abstract: true components: + - type: Tag + tags: + - ShotgunShell - type: Ammo caliber: Shotgun ammoSpread: 40 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml index e853d05048..1a7ce4b061 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Battery/battery_guns.yml @@ -123,6 +123,9 @@ id: TaserGun description: A low-capacity, energy-based stun gun used by security teams to subdue targets at range. components: + - type: Tag + tags: + - Taser - type: Sprite netsync: false sprite: Objects/Weapons/Guns/Battery/taser.rsi diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml index f26e4bd96d..ac2e831056 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml @@ -3,6 +3,9 @@ id: BaseKnife abstract: true components: + - type: Tag + tags: + - Knife - type: Utensil types: - Knife @@ -20,11 +23,13 @@ id: KitchenKnife description: A general purpose Chef's Knife made by Asters Merchant Guild. Guaranteed to stay sharp for years to come.. components: + - type: Tag + tags: + - Knife - type: Sprite sprite: Objects/Weapons/Melee/kitchen_knife.rsi size: 2 state: icon - - type: Item size: 10 sprite: Objects/Weapons/Melee/kitchen_knife.rsi @@ -37,11 +42,13 @@ id: ButchCleaver description: A huge blade used for chopping and chopping up meat. This includes clowns and clown-by-products. components: + - type: Tag + tags: + - Knife - type: Sprite sprite: Objects/Weapons/Melee/cleaver.rsi size: 4 state: butch - - type: MeleeWeapon damage: 15 - type: Item @@ -55,6 +62,10 @@ id: CombatKnife description: A deadly knife intended for melee confrontations. components: + - type: Tag + tags: + - CombatKnife + - Knife - type: Sprite sprite: Objects/Weapons/Melee/combat_knife.rsi size: 2 diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml index 343ae38299..3e151f89e4 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/spear.yml @@ -4,6 +4,9 @@ id: Spear description: Definition of a Classic. Keeping murder affordable since 200,000 BCE. components: + - type: Tag + tags: + - Spear - type: Sprite sprite: Objects/Weapons/Melee/spear.rsi state: spear diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml index f244df99a5..c2e58883f2 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/sword.yml @@ -23,6 +23,9 @@ id: Katana description: Ancient craftwork made with not so ancient plasteel. components: + - type: Tag + tags: + - Katana - type: Sprite sprite: Objects/Weapons/Melee/katana.rsi state: icon @@ -39,6 +42,9 @@ id: Machete description: A large, vicious looking blade. components: + - type: Tag + tags: + - Machete - type: Sprite sprite: Objects/Weapons/Melee/machete.rsi state: icon diff --git a/Resources/Prototypes/Recipes/Lathes/misc.yml b/Resources/Prototypes/Recipes/Lathes/misc.yml index 81ba54ceb8..73e528f1f1 100644 --- a/Resources/Prototypes/Recipes/Lathes/misc.yml +++ b/Resources/Prototypes/Recipes/Lathes/misc.yml @@ -34,9 +34,9 @@ Plastic: 50 - type: latheRecipe - id: FlareBase + id: Flare icon: Objects/Misc/flare.rsi - result: FlareBase + result: Flare completetime: 500 materials: Plastic: 50 diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 3b4028d5e7..c66e905f1c 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -1,3 +1,9 @@ +- type: Tag + id: Baguette + +- type: Tag + id: Brutepack + - type: Tag id: BotanyHatchet @@ -13,12 +19,21 @@ - type: Tag id: Bottle +- type: Tag + id: CableCoil + +- type: Tag + id: Carrot + - type: Tag id: CanPilot - type: Tag id: CaptainSabre +- type: Tag + id: CigPack + - type: Tag id: Crayon @@ -55,6 +70,9 @@ - type: Tag id: ConveyorAssembly +- type: Tag + id: CombatKnife + - type: Tag id: DoorElectronics @@ -73,9 +91,18 @@ - type: Tag id: FirelockElectronics +- type: Tag + id: Flare + +- type: Tag + id: Flashlight + - type: Tag id: FootstepSound +- type: Tag + id: Gauze + - type: Tag id: GlassBeaker @@ -91,12 +118,24 @@ - type: Tag id: JawsOfLife +- type: Tag + id: Katana + +- type: Tag + id: Knife + +- type: Tag + id: Machete + - type: Tag id: MonkeyCube - type: Tag id: NoSpinOnThrow +- type: Tag + id: Ointment + - type: Tag id: Ore @@ -115,6 +154,9 @@ - type: Tag id: Powerdrill +- type: Tag + id: RodMetal1 + - type: Tag id: RollingPaper @@ -124,12 +166,24 @@ - type: Tag id: Sheet +- type: Tag + id: ShotgunShell + - type: Tag id: Shovel +- type: Tag + id: Soap + - type: Tag id: Spray +- type: Tag + id: Spear + +- type: Tag + id: Taser + - type: Tag id: Wall diff --git a/Resources/Textures/Clothing/Belt/sheath.rsi/meta.json b/Resources/Textures/Clothing/Belt/sheath.rsi/meta.json index 13c88a8821..315422c42d 100644 --- a/Resources/Textures/Clothing/Belt/sheath.rsi/meta.json +++ b/Resources/Textures/Clothing/Belt/sheath.rsi/meta.json @@ -15,6 +15,30 @@ "name": "sheath-sabre-equipped-BELT", "directions": 4 }, + { + "name": "sheath-bag" + }, + { + "name": "sheath-carrot" + }, + { + "name": "sheath-crowbar" + }, + { + "name": "sheath-crowbarr" + }, + { + "name": "sheath-katana" + }, + { + "name": "sheath-knife" + }, + { + "name": "sheath-mop" + }, + { + "name": "sheath-rod" + }, { "name": "sheath-sabre" }, diff --git a/Resources/Textures/Clothing/Belt/sheath.rsi/sheath-bag.png b/Resources/Textures/Clothing/Belt/sheath.rsi/sheath-bag.png new file mode 100644 index 0000000000000000000000000000000000000000..81091d9a6182f88b80cd71372a4db944c3c5aeaf GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJiJmTwArY;~60D08jxf9BFm5n% z{JMX_7M8=im+MO$62Eh7Ra;a8=XA?CGG}u-J0e`#iUd+o!`XZ}`P4HAvW`}&Ljkb?0{uQLZtiZxr7Nl%!S!M`n_tm|<7HZSg3 zk>^@`1F9zdtv4%EW9x0z`(ODZQZnM^MyhC=$?E-v2Br?eiNDs=UnyZYIED91hfy;Bq^t0d#Le&Vd657#JFMTh4!bDf$@DGYp=telF{r5}E*GylHv> literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Belt/sheath.rsi/sheath-crowbar.png b/Resources/Textures/Clothing/Belt/sheath.rsi/sheath-crowbar.png new file mode 100644 index 0000000000000000000000000000000000000000..c7e735941f72f4ed9345860e75884f78f8416b73 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ9iA?ZArY-_Ct33yRuFIz*Y3UC zI_=&|3+8i;7Ch`-JKgSFwu+5WlTuk@Y8rA=UGbx4S{a+rKRMB48>0{R>MIo#S&p7R zxAR$L?2aGF^ZfgFtoGfK_TbU{+T~M%;%+=%=eN}KR8)1x{_VYSuV<;gyX<1V_N7(d zmzZfW?%TO`RCLNrKFpGNc5+6X`#Of;YX>-Z4o0k8%+A~*u+dQM_&MwKJ|#bUoCTXW n;~Z0+4z?(8G=Y#wdq>?5w=Dl3Zx7T1{lMVq>gTe~DWM4fgqLBK literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Belt/sheath.rsi/sheath-crowbarr.png b/Resources/Textures/Clothing/Belt/sheath.rsi/sheath-crowbarr.png new file mode 100644 index 0000000000000000000000000000000000000000..c763911d14d2bb98a2f719250dce24254bf957cb GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJbDl1aArY;~60FK{2LJMZ@bfeO zE&cU>BJ-1^3$AV{cFD}jR}Xiy-YimgcNg)TAhAn%1@DXry8plZwLW}#x&J|lBW#@u z+qtgFHst*LUH)Do@7^xfV+v-rGK_spDW?-1`8I{b`t~+DdUPy&{;PC`@(MZG2O19^ zJvlOg!II^P!nMfF67T;1<1J&+We`5GsP^}FV-Ig{_-?ECy4Yk1sZU<9n_FuU7S$C477ydqd};pefpVoK*uq7y85}Sb4q9e0PFHd A+5i9m literal 0 HcmV?d00001 diff --git a/Resources/Textures/Clothing/Belt/sheath.rsi/sheath-knife.png b/Resources/Textures/Clothing/Belt/sheath.rsi/sheath-knife.png new file mode 100644 index 0000000000000000000000000000000000000000..b85a4db7b248b945db3cb56f614eac8cb42e97eb GIT binary patch literal 149 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ7*7|+kcif|7Zv#$3ArY;~HU$qDn5}LU#s2<( zPFogmtHc?*lqi?r$I(wVKD;-Uo3 z)PMNFdqZ&P=lcyuBv-x_6HDcTH9x9gw$VBa`9SyJ-aI_pyfv)K3!LxXpX&`Heh+ioYd*CO1r&xp!%p