# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Marcus F <199992874+thebiggestbruh@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 OnsenCapy <101037138+OnsenCapy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 SX_7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 grub <unalterableness@gmail.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
# SPDX-FileCopyrightText: 2025 shityaml <unalterableness@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: ClothingEyesBase
  id: ClothingEyesEyepatchMedical
  name: medical eyepatch
  description: Used by space weeaboos to pretend their eye isn't there, and crewmembers who actually lost their eye to pretend their eye is there.
  suffix: DO NOT MAP
  categories: [ DoNotMap ]
  save: false
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Eyes/eyepatch.rsi
    layers:
    - state: icon
      map: [ "flipped" ]
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Eyes/eyepatch.rsi
  - type: WizardClothes
  - type: Appearance
  - type: GenericVisualizer
    visuals:
      enum.FlippedVisuals.Flipped:
        flipped:
          True: { state: flipped-icon }
          False: { state: icon }
  - type: ChuuniEyepatch
  - type: Tag
    tags:
    - ClothMade
    - WhitelistChameleon

- type: entity
  abstract: true
  id: ClothingHeadHatWizardBaseArmor
  suffix: Wizard Clothes
  components:
  - type: Armor
    traumaDeductions: # prevents traumas at all (kinda)
      Dismemberment: 1
      OrganDamage: 1
      BoneDamage: 1
      VeinsDamage: 1
      NerveDamage: 1
    coverage:
    - Head
    modifiers:
      coefficients:
        Blunt: 0.6
        Slash: 0.6
        Piercing: 0.6
        Heat: 0.6
        Caustic: 0.1
        Radiation: 0.1
  - type: ExplosionResistance
    damageCoefficient: 0.8
  - type: GroupExamine

- type: entity
  abstract: true
  id: ClothingOuterWizardBaseArmor
  suffix: Wizard Clothes
  components:
  - type: Armor
    coverage: # full coverage, idk, magic
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    - Tail
    - Other
    traumaDeductions: # prevents traumas at all (kinda)
      Dismemberment: 1
      OrganDamage: 1
      BoneDamage: 1
      VeinsDamage: 1
      NerveDamage: 1
    modifiers:
      coefficients:
        Blunt: 0.6
        Slash: 0.6
        Piercing: 0.6
        Heat: 0.6
        Radiation: 0.1
        Caustic: 0.1
  - type: ExplosionResistance
    damageCoefficient: 0.25
  - type: GroupExamine
  - type: FireProtection
    reduction: 1
  - type: TemperatureProtection
    heatingCoefficient: 0.1
    coolingCoefficient: 0.1
  - type: ModifyDelayedKnockdown
    delayDelta: 3
    knockdownTimeDelta: -3
  - type: StaminaResistance
    damageCoefficient: 0.5

# Black
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatBlackwizardReal
  name: black wizard hat
  description: Strange-looking black hat-wear that most certainly belongs to a real lich. Spooky.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/blackwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/blackwizard.rsi

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardBase]
  id: ClothingOuterWizardBlackReal
  name: black wizard robes
  description: An unnerving black gem-lined robe that reeks of death and decay.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/blackwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/blackwizard.rsi

# Yellow
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatYellowwizardReal
  name: yellow wizard hat
  description: Strange-looking yellow hat-wear that most certainly belongs to a powerful magic user.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/yellowwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/yellowwizard.rsi

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardBase]
  id: ClothingOuterWizardYellowReal
  name: yellow wizard robes
  description: A magnificent yellow gem-lined robe that seems to radiate power.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/yellowwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/yellowwizard.rsi

# Tape
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatTapewizardReal
  name: tape hat
  description: A magically attuned hat made exclusively from duct tape. You can barely see.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/tapewizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/tapewizard.rsi
    clothingVisuals:
      head:
      - state: equipped-HELMET
        offset: "0, 0.2"

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardBase]
  id: ClothingOuterWizardTapeReal
  name: tape robes
  description: A fine robe made from magically attuned duct tape.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/tapewizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/tapewizard.rsi

# Chanterelle
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatChanterelleReal
  name: chanterelle hat
  description: An oversized chanterelle with hollow out space to fit a head in. Kinda looks like wizard's hat.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/chanterelle.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/chanterelle.rsi

# Paper
- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardBase]
  id: ClothingOuterWizardPaperReal
  name: papier-mâché robes
  description: A robe held together by various bits of clear-tape and paste.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/paperwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/paperwizard.rsi
  - type: ActionGrant
    actions:
    - ActionSummonStickmen
  - type: ItemActionGrant
    activeIfWorn: true
    restrictedSlots:
    - OUTERCLOTHING
    actions:
    - ActionSummonStickmen

- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatPaper, ClothingHeadHatWizardBase]
  id: ClothingHeadHatPaperWizard
  name: paper magic hat

# Mime
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatMimeReal
  name: magical beret
  description: A magical red beret.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/mimewizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/mimewizard.rsi

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardBase]
  id: ClothingOuterWizardMimeReal
  name: mime robes
  description: Red, black, and white robes. There is not much else to say about them.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/mimewizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/mimewizard.rsi

# Clown
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatClownReal
  name: purple wizard hat
  description: Strange-looking purple hat-wear that most certainly belongs to a real magic user.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/clownwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/clownwizard.rsi

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardBase]
  id: ClothingOuterWizardClownReal
  name: clown robes
  description: A set of armoured robes that seem to radiate a dark power. That, and bad fashion decisions.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/clownwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/clownwizard.rsi

# Psy
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatPsyReal
  name: psychic amplifier
  description: A crown-of-thorns psychic amplifier.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/psywizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/psywizard.rsi

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardBase]
  id: ClothingOuterWizardPsyReal
  name: purple robes
  description: Heavy, royal purple robes threaded with psychic amplifiers and weird, bulbous lenses. Do not machine wash.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/psywizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/psywizard.rsi

# Oblibion
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatOblivionEnforcer
  name: oblivion enforcer's hood
  description: A hood worn by an Oblivion Enforcer.
  categories: [ HideSpawnMenu ]
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/oblivionenforcer.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/oblivionenforcer.rsi
  - type: HideLayerClothing
    slots:
    - Hair
  - type: Tag
    tags:
    - WhitelistChameleon

- type: entity
  parent: [ClothingOuterWizardBase, ClothingOuterWizardBaseArmor, ClothingOuterStorageToggleableBase]
  id: ClothingOuterOblivionEnforcer
  name: oblivion enforcer's robes
  description: A set of armored, radiation-proof robes worn by Oblivion Enforcers.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/oblivionenforcer.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/oblivionenforcer.rsi
  - type: ClothingGrantComponent
    component:
    - type: SupermatterImmune
  - type: SupermatterImmune
  - type: Armor
    coverage:
    - Chest
    - Groin
    - Arm
    - Hand
    - Leg
    - Foot
    modifiers:
      coefficients:
        Blunt: 0.45
        Slash: 0.45
        Piercing: 0.45
        Heat: 0.45
        Radiation: 0
        Caustic: 0.1
  - type: ToggleableClothing
    clothingPrototypes:
      head: ClothingHeadHatOblivionEnforcer

- type: entity
  parent: [ClothingMaskGas, BaseMagicalContraband]
  id: ClothingMaskGasOblivionEnforcer
  suffix: Voice Mask, Wizard Clothes
  name: oblivion enforcer's mask
  description: The mask of an Oblivion Enforcer. Don't forget to turn it on before giving your one-liners!
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Mask/oblivionenforcer.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Mask/oblivionenforcer.rsi
  - type: VoiceMask
  - type: HideLayerClothing
    slots:
    - Snout
  - type: UserInterface
    interfaces:
      enum.VoiceMaskUIKey.Key:
        type: VoiceMaskBoundUserInterface
  - type: Tag
    tags:
    - IPCMaskWearable # EE - IPCs
  - type: SupermatterImmune

# Blue
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizard, ClothingHeadHatWizardBase]
  id: ClothingHeadHatWizardReal
  name: wizard hat

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizard, ClothingOuterWizardBase]
  id: ClothingOuterWizardReal
  name: wizard robes

# Red
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatRedwizard, ClothingHeadHatWizardBase]
  id: ClothingHeadHatRedwizardReal
  name: red wizard hat

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardRed, ClothingOuterWizardBase]
  id: ClothingOuterWizardRedReal
  name: red wizard robes

# Violet
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatVioletwizard, ClothingHeadHatWizardBase]
  id: ClothingHeadHatVioletwizardReal
  name: violet wizard hat

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardViolet, ClothingOuterWizardBase]
  id: ClothingOuterWizardVioletReal
  name: violet wizard robes

# Witch
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWitch1, ClothingHeadHatWizardBase]
  id: ClothingHeadHatWitchReal
  name: witch hat

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterSuitWitchRobes, ClothingOuterWizardBase]
  id: ClothingOuterSuitWitchRobesReal
  name: witch robes

# Shrine maiden
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatShrineMaidenWig, ClothingHeadHatWizardBase]
  id: ClothingHeadHatShrineMaidenWigReal
  name: shrine maiden's wig

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterSuitShrineMaiden, ClothingOuterWizardBase]
  id: ClothingOuterSuitShrineMaidenReal
  name: shrine maiden outfit

# Centcomm
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatCentCommwizardReal
  name: CentComm wizard hat
  suffix: ADMIN
  description: A pristine green and gold wizard hat, regulation issue for Central Command's arcane operatives. Worn only by those authorized to wield classified thaumaturgic instruments.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/comwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/comwizard.rsi

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardBase]
  id: ClothingOuterWizardCentCommReal
  name: CentComm wizard robes
  suffix: ADMIN
  description: A pristine green and gold gem-lined robe, regulation issue for Central Command's arcane operatives. Worn only by those authorized to wield classified thaumaturgic instruments.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/comwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/comwizard.rsi

# Gloves
- type: entity
  parent: ClothingHandsBase
  id: ClothingHandsGlovesWizard
  name: wizard gloves
  description: A magnificent pair of blue gem-lined gloves that seem to be insulated.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Hands/wizgloves.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Hands/wizgloves.rsi
  - type: Insulated
  - type: FingerprintMask
  - type: StaticPrice
    price: 1000

# Crimsom
- type: entity
  parent: [ClothingHeadHatWizardBaseArmor, ClothingHeadHatWizardBase]
  id: ClothingHeadHatCrimsonReal
  name: crimson wizard hat
  description: A wide-brimmed, pointy wizard hat adorned with a crimson band and a touch of theatrical flair. Feels... explosive.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Head/crimsonwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Head/crimsonwizard.rsi

- type: entity
  parent: [ClothingOuterWizardBaseArmor, ClothingOuterWizardBase]
  id: ClothingOuterWizardCrimsonReal
  name: crimson wizard robes
  description: A flowing set of red and gold-trimmed robes, made for dramatic spellcasting. You can feel the power flowing through you...
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/crimsonwizard.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/OuterClothing/crimsonwizard.rsi

- type: entity
  parent: ClothingNeckBase
  id: ClothingNeckCloakCrimson
  name: Crimson Cape
  description: A black cape with a high collar and gold trim. Billows dramatically even when there's no wind.
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Neck/crimsonwizard.rsi

- type: entity
  parent: ClothingShoesBase
  id: ClothingUnderShoesCrimson
  name: crimson boots
  description: Comes with a pair of mismatched thigh-high socks to bring out their full power!
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Clothing/Shoes/crimson.rsi
  - type: Clothing
    sprite: _Goobstation/Wizard/Clothing/Shoes/crimson.rsi
