# SPDX-FileCopyrightText: 2019 DamianX <DamianX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2019 Injazz <43905364+Injazz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2019 scuffedjays <yetanotherscuffed@gmail.com>
# SPDX-FileCopyrightText: 2020 AJCM-git <60196617+AJCM-git@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Hugo Laloge <hugo.laloge@gmail.com>
# SPDX-FileCopyrightText: 2020 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2020 Swept <jamesurquhartwebb@gmail.com>
# SPDX-FileCopyrightText: 2020 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2020 Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Ygg01 <daniel.fath7@gmail.com>
# SPDX-FileCopyrightText: 2020 a.rudenko <creadth@gmail.com>
# SPDX-FileCopyrightText: 2020 creadth <creadth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 peptron1 <57651027+peptron1@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2022 Flipp Syder <76629141+vulppine@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Interrobang01 <113810873+Interrobang01@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Justin Trotter <trotter.justin@gmail.com>
# SPDX-FileCopyrightText: 2022 Kai Shiba <100050424+KaiShibaa@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Moony <moonheart08@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Myctai <108953437+Myctai@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Veritius <veritiusgaming@gmail.com>
# SPDX-FileCopyrightText: 2022 ZeroDayDaemon <60460608+ZeroDayDaemon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 mirrorcult <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 Errant <35878406+dmnct@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Jackal298 <129199891+Jackal298@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Nim <128169402+Nimfar11@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Puro <103608145+PuroSlavKing@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Unbelievable-Salmon <130604124+Unbelievable-Salmon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 crazybrain23 <44417085+crazybrain23@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 deltanedas <deltanedas@laptop>
# SPDX-FileCopyrightText: 2023 gus <august.eymann@gmail.com>
# SPDX-FileCopyrightText: 2023 router <messagebus@vk.com>
# SPDX-FileCopyrightText: 2024 12rabbits <53499656+12rabbits@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Dimastra <65184747+Dimastra@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Dimastra <dimastra@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Golden Can <greentopcan@gmail.com>
# SPDX-FileCopyrightText: 2024 Hrosts <35345601+Hrosts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <51352440+JIPDawg@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <JIPDawg93@gmail.com>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Magnus Larsen <i.am.larsenml@gmail.com>
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nikita Rαmses Abdoelrahman <ramses@starwolves.io>
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers@gmail.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PopGamer46 <yt1popgamer@gmail.com>
# SPDX-FileCopyrightText: 2024 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PursuitInAshes <pursuitinashes@gmail.com>
# SPDX-FileCopyrightText: 2024 QueerNB <176353696+QueerNB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RedBookcase <Usualmoves@gmail.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Saphire Lattice <lattice@saphi.re>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Spessmann <156740760+Spessmann@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 dffdff2423 <dffdff2423@gmail.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stellar-novas <stellar_novas@riseup.net>
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 Banedon <15725971+Lanedon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GMWQ <garethquaile@gmail.com>
# SPDX-FileCopyrightText: 2025 Gareth Quaile <garethquaile@gmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 ImWeax <59857479+ImWeax@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 JustinWinningham <justinmwinningham@gmail.com>
# SPDX-FileCopyrightText: 2025 K-Dynamic <20566341+K-Dynamic@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 NathanielJ14 <nathanielalbert1202@gmail.com>
# SPDX-FileCopyrightText: 2025 RedBookcase <crazykid1590@gmail.com>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX_7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Weax <59857479+ImWeax@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 paige404 <59348003+paige404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
# SPDX-FileCopyrightText: 2025 themias <89101928+themias@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: ClothingMaskPullableBase
  id: ClothingMaskGas
  name: gas mask
  description: A face-covering mask that can be connected to an air supply.
  components:
  - type: Sprite
    sprite: Clothing/Mask/gas.rsi
  - type: Clothing
    sprite: Clothing/Mask/gas.rsi
  - type: BreathMask
  - type: IngestionBlocker
  - type: IdentityBlocker
  - type: Tag
    tags:
    - HamsterWearable
    - WhitelistChameleon
    - GasMask # goob edit
    - GasMaskFullDefault # goob edit
    - Mask # goob edit
  - type: HideLayerClothing
    layers:
      Snout: Mask
    hideOnToggle: true
  - type: Construction # Goobstation
    graph: GasMaskHalf
    node: start
    deconstructionTarget: null
  # Goobstation
  - type: DiseaseProtection
    # higher protection for gas masks
    incoming:
      powerModifiers:
        Aerial: -0.2
      chanceMultipliers:
        Aerial: 0.7
    outgoing:
      powerModifiers:
        Aerial: -0.2
      chanceMultipliers:
        Aerial: 0.5

- type: entity
  parent: [ClothingMaskGas, BaseSecurityContraband]
  id: ClothingMaskGasSecurity
  name: security gas mask
  description: A standard issue Security gas mask.
  components:
  - type: Item
    size: Tiny
  - type: Sprite
    sprite: Clothing/Mask/gassecurity.rsi
  - type: Clothing
    sprite: Clothing/Mask/gassecurity.rsi
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.9
        Slash: 0.9
        Piercing: 0.9
        Heat: 0.9
  - type: Tag # Goobstation - For survial boxes
    tags:
    - PetWearable
    - WhitelistChameleon
    - SecurityBreathMask
  - type: Hailer # Goobstation - Hailer
  - type: IngestionBlocker # Goobstation
    blockSmokeIngestion: true

- type: entity
  parent: [ClothingMaskGas, BaseSyndicateContraband]
  id: ClothingMaskGasSyndicate
  name: syndicate gas mask
  description: A close-fitting tactical mask that can be connected to an air supply.
  components:
  - type: Sprite
    sprite: Clothing/Mask/gassyndicate.rsi
  - type: Clothing
    sprite: Clothing/Mask/gassyndicate.rsi
  - type: FlashImmunity
  - type: EyeProtection
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.9
        Slash: 0.9
        Piercing: 0.9
        Heat: 0.9
  - type: Tag  # Goobstation - For survial boxes
    tags:
    - PetWearable
    - WhitelistChameleon
    - SyndicateBreathMask
  - type: IngestionBlocker # Goobstation
    blockSmokeIngestion: true

- type: entity
  parent: ClothingMaskGas
  id: ClothingMaskGasAtmos
  name: atmospheric gas mask
  description: Improved gas mask utilized by atmospheric technicians. It's flameproof!
  components:
  - type: Sprite
    sprite: Clothing/Mask/gasatmos.rsi
  - type: Clothing
    sprite: Clothing/Mask/gasatmos.rsi
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Heat: 0.5
  - type: Tag # Goobstation
    tags:
    - HamsterWearable
    - WhitelistChameleon
    - GasMask
    - Mask

- type: entity
  parent: [ClothingMaskGasAtmos, BaseCommandContraband]
  id: ClothingMaskGasCaptain
  name: captain's gas mask
  description: Nanotrasen cut corners and repainted a spare atmospheric gas mask, but don't tell anyone.
  components:
  - type: Sprite
    sprite: Clothing/Mask/gascaptain.rsi
  - type: Clothing
    sprite: Clothing/Mask/gascaptain.rsi
  - type: BreathMask
  - type: IngestionBlocker
    blockSmokeIngestion: true # Goobstation


- type: entity
  parent: [ ClothingMaskGasAtmos, BaseCentcommContraband ]
  id: ClothingMaskGasCentcom
  name: CentComm gas mask
  description: Oooh, gold and green. Fancy! This should help as you sit in your office.
  components:
  - type: Sprite
    sprite: Clothing/Mask/gascentcom.rsi
  - type: Clothing
    sprite: Clothing/Mask/gascentcom.rsi
  - type: BreathMask
  - type: IngestionBlocker
    blockSmokeIngestion: true # Goobstation

- type: entity
  parent: [ClothingMaskGas, BaseCargoContraband]
  id: ClothingMaskGasExplorer
  name: explorer gas mask
  description: A military-grade gas mask that can be connected to an air supply.
  components:
  - type: Sprite
    sprite: Clothing/Mask/gasexplorer.rsi
  - type: Clothing
    sprite: Clothing/Mask/gasexplorer.rsi
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.8
        Slash: 0.8
        Piercing: 0.9
        Heat: 0.9
  - type: Tag # Goobstation
    tags:
    - HamsterWearable
    - WhitelistChameleon
    - GasMask
    - Mask

- type: entity
  parent: ClothingMaskPullableBase
  id: ClothingMaskBreathMedical
  name: medical mask
  description: A close-fitting sterile mask that can be connected to an air supply.
  components:
  - type: Item
    size: Tiny
  - type: Sprite
    sprite: Clothing/Mask/medical.rsi
  - type: Clothing
    sprite: Clothing/Mask/medical.rsi
  - type: BreathMask
  - type: IngestionBlocker
  - type: Tag
    tags:
    - PetWearable
    - WhitelistChameleon
    - BreathMask  # Goobstation - For survial boxes
  - type: PhysicalComposition
    materialComposition:
      Steel: 50
      Plastic: 50
  # Goobstation
  - type: DiseaseProtection
    # full protection if both people are wearing it
    incoming:
      powerModifiers:
        Aerial: -0.4
      chanceMultipliers:
        Aerial: 0.5
    outgoing:
      powerModifiers:
        Aerial: -0.6
      chanceMultipliers:
        Aerial: 0.5

- type: entity
  parent: ClothingMaskBreathMedical
  id: ClothingMaskBreathMedicalSecurity
  name: military-style medical mask
  description: A medical mask with a small layer of protection against damage and viruses, similar to the one used in the medical units of the first corporate war.
  components:
  - type: Item
    size: Tiny
  - type: Sprite
    sprite: Clothing/Mask/medicalsecurity.rsi
  - type: Clothing
    sprite: Clothing/Mask/medicalsecurity.rsi
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.9
        Slash: 0.9
        Piercing: 0.9
        Heat: 0.9
        Caustic: 0.9
  - type: IngestionBlocker # Goobstation
    blockSmokeIngestion: true # Goobstation
  # Goobstation
  - type: DiseaseProtection
    incoming:
      powerModifiers:
        Aerial: -0.35
      chanceMultipliers:
        Aerial: 0.5
    outgoing:
      powerModifiers:
        Aerial: -0.35
      chanceMultipliers:
        Aerial: 0.5

- type: entity
  parent: ClothingMaskPullableBase
  id: ClothingMaskBreath
  name: breath mask
  description: Might as well keep this on 24/7.
  components:
  - type: Item
    size: Tiny
  - type: Sprite
    sprite: Clothing/Mask/breath.rsi
  - type: Clothing
    sprite: Clothing/Mask/breath.rsi
  - type: BreathMask
  - type: IngestionBlocker
  - type: Tag
    tags:
    - PetWearable
    - WhitelistChameleon
    - BreathMask # Goobstation - For survial boxes
  - type: PhysicalComposition #Goobstation - Recycle update
    materialComposition:
      Cloth: 25
      Plastic: 25
  - type: StaticPrice
    price: 30 # increases in price after decomposed into raw materials

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskClownBase
  abstract: true
  name: clown wig and mask
  description: A true prankster's facial attire. A clown is incomplete without his wig and mask.
  components:
  - type: Sprite
    sprite: Clothing/Mask/clown.rsi
  - type: Clothing
    sprite: Clothing/Mask/clown.rsi
  - type: BreathMask
  - type: IdentityBlocker
  - type: Tag
    tags:
    - ClownMask
    - WhitelistChameleon
    - IPCMaskWearable # EE - IPCs
    - Mask
  - type: HideLayerClothing
    slots:
    - Snout

- type: entity
  parent: ClothingMaskClownBase
  id: ClothingMaskClown
  components:
  - type: Tag
    tags:
    - ClownMask
    - HamsterWearable
    - WhitelistChameleon
  - type: HideLayerClothing
    slots:
    - Snout

- type: entity
  parent: ClothingMaskClown
  id: ClothingMaskClownBanana
  name: banana clown wig and mask
  components:
  - type: Sprite
    sprite: Clothing/Mask/clown_banana.rsi
  - type: Clothing
    sprite: Clothing/Mask/clown_banana.rsi
  - type: Construction
    graph: BananaClownMask
    node: mask

- type: entity
  parent: [ClothingMaskClown, BaseSecurityContraband]
  id: ClothingMaskClownSecurity
  name: security clown wig and mask
  description: A debatably oxymoronic but protective mask and wig.
  components:
  - type: Sprite
    sprite: Clothing/Mask/clown_security.rsi
  - type: Clothing
    sprite: Clothing/Mask/clown_security.rsi
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.9
        Slash: 0.9
        Piercing: 0.9
        Heat: 0.9
  - type: IngestionBlocker
    blockSmokeIngestion: true # Goobstation

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskJoy
  name: joy mask
  description: Express your happiness or hide your sorrows with this laughing face with crying tears of joy cutout.
  components:
  - type: Sprite
    sprite: Clothing/Mask/joy.rsi
  - type: Clothing
    sprite: Clothing/Mask/joy.rsi
  - type: BreathMask
  - type: IdentityBlocker
  - type: HideLayerClothing
    slots:
    - Snout
  - type: Tag
    tags:
    - IPCMaskWearable # EE - IPCs

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskMime
  name: mime mask
  description: The traditional mime's mask. It has an eerie facial posture.
  components:
  - type: Sprite
    sprite: Clothing/Mask/mime.rsi
  - type: Clothing
    sprite: Clothing/Mask/mime.rsi
  - type: BreathMask
  - type: IdentityBlocker
  - type: Tag
    tags:
    - HamsterWearable
    - WhitelistChameleon
    - IPCMaskWearable # EE - IPCs
  - type: HideLayerClothing
    slots:
    - Snout

- type: entity
  parent: ClothingMaskPullableBase
  id: ClothingMaskSterile
  name: sterile mask
  description: A sterile mask designed to help prevent the spread of diseases.
  components:
  - type: Sprite
    sprite: Clothing/Mask/sterile.rsi
  - type: Clothing
    sprite: Clothing/Mask/sterile.rsi
  - type: IngestionBlocker
  - type: Item
    size: Tiny
  - type: IdentityBlocker
    coverage: MOUTH
  - type: PhysicalComposition
    materialComposition:
      Plastic: 25
      Cloth: 25
  - type: StaticPrice
    price: 5
  # Goobstation
  - type: DiseaseProtection
    # really strong protection
    incoming:
      powerModifiers:
        Aerial: -0.6
      chanceMultipliers:
        Aerial: 0.4
    outgoing:
      powerModifiers:
        Aerial: -0.6
      chanceMultipliers:
        Aerial: 0.4

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskMuzzle
  name: muzzle
  description: To stop that awful noise.
  components:
  - type: Item
    size: Tiny
  - type: Sprite
    sprite: Clothing/Mask/muzzle.rsi
  - type: Clothing
    sprite: Clothing/Mask/muzzle.rsi
    equipDelay: 3
    unequipDelay: 3
  - type: IngestionBlocker
  - type: AddAccentClothing
    accent: MumbleAccent
  - type: EmoteBlocker
    blocksCategories:
    - Vocal
  - type: Construction
    graph: Muzzle
    node: muzzle
  - type: Tag # Goobstation
    tags:
    - Muzzle

- type: entity
  parent: ClothingMaskPullableBase
  id: ClothingMaskPlague
  name: plague doctor mask
  description: A bad omen.
  components:
  - type: Sprite
    sprite: Clothing/Mask/plaguedoctormask.rsi
  - type: Clothing
    sprite: Clothing/Mask/plaguedoctormask.rsi
  - type: BreathMask
  - type: IngestionBlocker
  - type: IdentityBlocker
  - type: HideLayerClothing
    slots:
    - Snout
    hideOnToggle: true
  # Goobstation
  - type: DiseaseProtection
    # really good incoming but bad outgoing protection
    incoming:
      powerModifiers:
        Aerial: -0.8
      chanceMultipliers:
        Aerial: 0.2
    outgoing:
      powerModifiers:
        Aerial: -0.2
      chanceMultipliers:
        Aerial: 0.8

- type: entity
  parent: ClothingMaskClownBase
  id: ClothingMaskCluwne
  name: cluwne face and hair
  suffix: Unremoveable
  description: Cursed cluwne face and hair.
  components:
  - type: Sprite
    sprite: Clothing/Mask/cluwne.rsi
  - type: Clothing
    sprite: Clothing/Mask/cluwne.rsi
  - type: Unremoveable
  - type: AddAccentClothing
    accent: StutteringAccent

- type: entity
  parent: [ ClothingMaskGas, BaseSecurityContraband ]
  id: ClothingMaskGasSwat
  name: swat gas mask
  description: A elite issue Security gas mask.
  components:
  - type: Sprite
    sprite: Clothing/Mask/swat.rsi
  - type: Clothing
    sprite: Clothing/Mask/swat.rsi
  - type: Tag
    tags:
    - WhitelistChameleon
  - type: HideLayerClothing
    slots:
    - Hair
    - Snout
    - HeadTop
    - HeadSide
    hideOnToggle: true
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.8
        Slash: 0.8
        Piercing: 0.9
        Heat: 0.9
  - type: IngestionBlocker # Goobstation
    blockSmokeIngestion: true

- type: entity
  parent: [ ClothingMaskGas, BaseSecurityCargoContraband ]
  id: ClothingMaskGasMerc
  name: mercenary gas mask
  description: Slightly outdated, but reliable military-style gas mask.
  components:
  - type: Sprite
    sprite: Clothing/Mask/merc.rsi
  - type: Clothing
    sprite: Clothing/Mask/merc.rsi
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.8
        Slash: 0.8
        Piercing: 0.8
        Heat: 0.8
  - type: IngestionBlocker # Goobstation
    blockSmokeIngestion: true
  - type: Tag # Goobstation
    tags:
    - HamsterWearable
    - WhitelistChameleon
    - GasMask
    - Mask

- type: entity
  parent: [ ClothingMaskGas, BaseCentcommContraband ]
  id: ClothingMaskGasERT
  name: ert gas mask
  description: The gas mask of the elite squad of the ERT.
  components:
  - type: Sprite
    sprite: Clothing/Mask/ert.rsi
  - type: Clothing
    sprite: Clothing/Mask/ert.rsi
  - type: Tag
    tags:
    - WhitelistChameleon
  - type: HideLayerClothing
    slots:
    - Hair
    - Snout
    hideOnToggle: true
  - type: FlashImmunity
  - type: EyeProtection
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.9
        Slash: 0.9
        Piercing: 0.9
        Heat: 0.9
  - type: IngestionBlocker # Goobstation
    blockSmokeIngestion: true

- type: entity
  parent: ClothingMaskGasERT
  id: ClothingMaskGasDeathSquad
  name: death squad gas mask
  description: A unique gas mask for the NT's most elite squad.
  components:
  - type: Sprite
    sprite: Clothing/Mask/squadron.rsi
  - type: Clothing
    sprite: Clothing/Mask/squadron.rsi
  - type: HideLayerClothing
    slots:
    - Hair
    - HeadTop
    - HeadSide
  - type: Armor
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.75
        Slash: 0.75
        Piercing: 0.75
        Heat: 0.75
  - type: Tag
    tags: [] # ignore "WhitelistChameleon" tag
  # Goobstation
  - type: DiseaseProtection
    # full immunity
    incoming:
      powerModifiers:
        Aerial: -1
      chanceMultipliers:
        Aerial: 0
    outgoing:
      powerModifiers:
        Aerial: -1
      chanceMultipliers:
        Aerial: 0

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskRat
  name: rat mask
  description: A mask of a rat that looks like a rat. Perhaps they will take you for a fellow rat.
  components:
  - type: Sprite
    sprite: Clothing/Mask/rat.rsi
  - type: Clothing
    sprite: Clothing/Mask/rat.rsi
  - type: Tag
    tags:
    - HamsterWearable
    - CursedAnimalMask # Goobstation
    - WhitelistChameleon
    - IPCMaskWearable # EE - IPCs
  - type: HideLayerClothing
    slots:
    - Snout
  - type: IdentityBlocker
  - type: AddAccentClothing # Goobstation
    accent: RatAccent

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskFox
  name: fox mask
  description: What does the fox say?
  components:
  - type: Sprite
    sprite: Clothing/Mask/fox.rsi
  - type: Clothing
    sprite: Clothing/Mask/fox.rsi
  - type: IdentityBlocker
  - type: HideLayerClothing
    slots:
    - Snout
  - type: Tag
    tags:
    - CursedAnimalMask # Goobstation
    - WhitelistChameleon # Goobstation
    - IPCMaskWearable # EE - IPCs
  - type: AddAccentClothing # Goobstation
    accent: FoxAccent

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskBee
  name: bee mask
  description: For the queen!
  components:
  - type: Sprite
    sprite: Clothing/Mask/bee.rsi
  - type: Clothing
    sprite: Clothing/Mask/bee.rsi
  - type: IdentityBlocker
  - type: HideLayerClothing
    slots:
    - Snout
  - type: Tag
    tags:
    - CursedAnimalMask # Goobstation
    - WhitelistChameleon # Goobstation
    - IPCMaskWearable # EE - IPCs
  - type: AddAccentClothing # Goobstation
    accent: BeeAccent

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskBear
  name: bear mask
  description: I'm a cloudy, cloudy, cloudy, I'm not a bear at all.
  components:
  - type: Sprite
    sprite: Clothing/Mask/bear.rsi
  - type: Clothing
    sprite: Clothing/Mask/bear.rsi
  - type: IdentityBlocker
  - type: HideLayerClothing
    slots:
    - Snout
  - type: Tag
    tags:
    - CursedAnimalMask # Goobstation
    - WhitelistChameleon # Goobstation
    - IPCMaskWearable # EE - IPCs
  - type: AddAccentClothing # Goobstation
    accent: BearAccent

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskRaven
  name: raven mask
  description: Where I am, death... or glitter.
  components:
  - type: Sprite
    sprite: Clothing/Mask/raven.rsi
  - type: Clothing
    sprite: Clothing/Mask/raven.rsi
  - type: IdentityBlocker
  - type: HideLayerClothing
    slots:
    - Snout
  - type: Tag
    tags:
    - CursedAnimalMask # Goobstation
    - WhitelistChameleon # Goobstation
    - IPCMaskWearable # EE - IPCs
  - type: AddAccentClothing # Goobstation
    accent: RavenAccent

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskJackal
  name: jackal mask
  description: It is better not to turn your back to the owner of the mask, it may bite.
  components:
  - type: Sprite
    sprite: Clothing/Mask/jackal.rsi
  - type: Clothing
    sprite: Clothing/Mask/jackal.rsi
  - type: IdentityBlocker
  - type: HideLayerClothing
    slots:
    - Snout
  - type: Tag
    tags:
    - CursedAnimalMask # Goobstation
    - WhitelistChameleon # Goobstation
    - IPCMaskWearable # EE - IPCs
  - type: AddAccentClothing # Goobstation
    accent: JackalAccent

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskBat
  name: bat mask
  description: A bloodsucker by night, and a cute, blinded beast by day.
  components:
  - type: Sprite
    sprite: Clothing/Mask/bat.rsi
  - type: Clothing
    sprite: Clothing/Mask/bat.rsi
  - type: IdentityBlocker
  - type: HideLayerClothing
    slots:
    - Snout
  - type: Tag
    tags:
    - CursedAnimalMask # Goobstation
    - WhitelistChameleon # Goobstation
    - IPCMaskWearable # EE - IPCs
  - type: AddAccentClothing # Goobstation
    accent: BatAccent

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskNeckGaiter
  name: neck gaiter
  description: Stylish neck gaiter for your neck, can protect from the cosmic wind?...
  components:
  - type: Sprite
    sprite: Clothing/Mask/neckgaiter.rsi
  - type: Clothing
    sprite: Clothing/Mask/neckgaiter.rsi
  - type: IdentityBlocker
    coverage: MOUTH
  - type: Tag
    tags:
    - WhitelistChameleon
    - IPCMaskWearable # EE - IPCs

- type: entity
  parent: ClothingMaskNeckGaiter
  id: ClothingMaskNeckGaiterRed
  name: red neck gaiter
  components:
  - type: Sprite
    sprite: Clothing/Mask/neckgaiterred.rsi
  - type: Clothing
    sprite: Clothing/Mask/neckgaiterred.rsi

- type: entity
  parent: ClothingMaskClownBase
  id: ClothingMaskSexyClown
  name: sexy clown mask
  description: Some naughty clowns think this is what the Honkmother looks like.
  components:
  - type: Sprite
    sprite: Clothing/Mask/sexyclown.rsi
  - type: Clothing
    sprite: Clothing/Mask/sexyclown.rsi

- type: entity
  parent: ClothingMaskMime
  id: ClothingMaskSexyMime
  name: sexy mime mask
  description: Those ruddy cheeks just want to be rubbed.
  components:
  - type: Sprite
    sprite: Clothing/Mask/sexymime.rsi
  - type: Clothing
    sprite: Clothing/Mask/sexymime.rsi

- type: entity
  parent: ClothingMaskMime
  id: ClothingMaskSadMime
  name: sad mime mask
  description: Many people think this is what a real mime mask looks like.
  components:
  - type: Sprite
    sprite: Clothing/Mask/sadmime.rsi
  - type: Clothing
    sprite: Clothing/Mask/sadmime.rsi

- type: entity
  parent: ClothingMaskMime
  id: ClothingMaskScaredMime
  name: scared mime mask
  description: Looks like it would scream if it wasn't a mask.
  components:
  - type: Sprite
    sprite: Clothing/Mask/scaredmime.rsi
  - type: Clothing
    sprite: Clothing/Mask/scaredmime.rsi

- type: entity
  parent: [ClothingMaskMime, BaseSecurityContraband]
  id: ClothingMaskMimeSecurity
  name: security mime mask
  description: You have the right to remain silent.
  components:
  - type: Sprite
    sprite: Clothing/Mask/mime_security.rsi
  - type: Clothing
    sprite: Clothing/Mask/mime_security.rsi
  - type: Armor
    modifiers:
      coefficients:
        Blunt: 0.95
        Slash: 0.95
        Piercing: 0.95
        Heat: 0.95

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskItalianMoustache
  name: italian moustache
  description: Made from authentic Italian moustache hairs. Gives the wearer an irresistable urge to gesticulate wildly.
  components:
  - type: Sprite
    sprite: Clothing/Mask/italian_moustache.rsi
  - type: Clothing
    sprite: Clothing/Mask/italian_moustache.rsi
  - type: Item
    storedRotation: -90
  - type: AddAccentClothing
    accent: ReplacementAccent
    replacement: italian
  - type: HandheldTranslator # Goob - Magic Moustache
    spoken:
    - SpaceItalian
    understood:
    - SpaceItalian
    toggleOnInteract: false
    setLanguageOnInteract: false
    showInfoOnExamine: false

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskNinja
  name: ninja mask
  description: A close-fitting nano-enhanced mask that acts both as an air filter and a post-modern fashion statement.
  components:
  - type: Sprite
    sprite: Clothing/Mask/ninja.rsi
  - type: Clothing
    sprite: Clothing/Mask/ninja.rsi
  - type: Item
    storedRotation: -90
  - type: EyeProtection
  - type: BreathMask
  - type: IdentityBlocker
  - type: Tag
    tags:
    - IPCMaskWearable # EE - IPCs

- type: entity
  parent: ClothingMaskBase
  id: ClothingMaskWeldingGas
  name: welding gas mask
  description: A gas mask with built in welding goggles and face shield. Looks like a skull, clearly designed by a nerd.
  components:
  - type: Sprite
    sprite: Clothing/Mask/welding-gas.rsi
    state: icon
  - type: Clothing
    sprite: Clothing/Mask/welding-gas.rsi
  - type: BreathMask
  - type: IngestionBlocker
  - type: IdentityBlocker
  - type: FlashImmunity
  - type: EyeProtection
  - type: PhysicalComposition #Goobstation - Recycle update
    materialComposition:
      Steel: 150
      Glass: 50
  - type: StaticPrice
    price: 100
  - type: Tag
    tags:
    - WhitelistChameleon
  - type: HideLayerClothing
    slots:
    - Snout
