# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Pspritechologist <naaronn@gmail.com>
# SPDX-FileCopyrightText: 2024 VMSolidus <evilexecutive@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  id: VendingMachineFitness
  parent: VendingMachine
  name: SweatMAX
  description: An exercise aid and nutrition supplement vendor that preys on your inadequacy.
  components:
  - type: Sprite
    noRot: true
    sprite: _Goobstation/Structures/Machines/VendingMachines/fitness.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: "screen"
      map: ["enum.VendingMachineVisualLayers.Screen"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: VendingMachine
    pack: FitnessVendInventory
    offState: off
    brokenState: broken
    normalState: normal-unshaded
    denyState: deny-unshaded
    ejectState: eject-unshaded
    screenState: screen
  - type: Advertise
    pack: FitnessVendAds
  - type: SpeakOnUIClosed
    pack: GenericVendGoodbyes
  - type: Transform
    noRot: false
  - type: Rotatable
    rotateWhileAnchored: false
    rotateWhilePulling: true
  - type: PointLight
    radius: 2
    energy: 1.6
    color: "#9dc5c9"
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true

- type: entity
  id: VendingMachineHotfood
  parent: VendingMachine
  name: hot foods
  description: An old vending machine promising 'hot foods'. You doubt any of its contents are still edible.
  components:
  - type: Sprite
    noRot: true
    sprite: _Goobstation/Structures/Machines/VendingMachines/hotfood.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
    - state: heater
  - type: VendingMachine
    pack: HotfoodInventory
    offState: off
    brokenState: broken
    normalState: normal-unshaded
    denyState: deny-unshaded
    ejectState: eject-unshaded
  - type: Rotatable
    rotateWhileAnchored: false
    rotateWhilePulling: true
  - type: Advertise
    pack: HotfoodAds
  - type: SpeakOnUIClosed
    pack: GenericVendGoodbyes
  - type: PointLight
    radius: 2
    energy: 1.6
    color: "#9dc5c9"
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true

- type: entity
  id: VendingMachineSolsnack
  parent: VendingMachine
  name: Mars Mart
  description: A SolCentric vending machine dispensing treats from home.
  components:
  - type: Sprite
    noRot: true
    sprite: _Goobstation/Structures/Machines/VendingMachines/solsnack.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: VendingMachine
    pack: SolsnackInventory
    offState: off
    brokenState: broken
    normalState: normal-unshaded
    ejectState: eject-unshaded
    denyState: deny-unshaded
  - type: Advertise
    pack: SolsnackAds
  - type: SpeakOnUIClosed
    pack: GenericVendGoodbyes
  - type: Transform
    noRot: false
  - type: Rotatable
    rotateWhileAnchored: false
    rotateWhilePulling: true
  - type: PointLight
    radius: 2
    energy: 1.6
    color: "#9dc5c9"
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true

- type: entity
  id: VendingMachineWeeb
  parent: VendingMachine
  name: Nippon-tan
  description: A distressingly ethnic vending machine loaded with high sucrose low calorie for lack of better words snacks.
  components:
  - type: Sprite
    noRot: true
    sprite: _Goobstation/Structures/Machines/VendingMachines/weeb.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
    - state: fan
  - type: VendingMachine
    pack: WeebVendInventory
    offState: off
    brokenState: broken
    normalState: normal-unshaded
    denyState: deny-unshaded
    ejectState: eject-unshaded
  - type: Advertise
    pack: WeebVendAds
  - type: SpeakOnUIClosed
    pack: GenericVendGoodbyes
  - type: Transform
    noRot: false
  - type: Rotatable
    rotateWhileAnchored: false
    rotateWhilePulling: true
  - type: PointLight
    radius: 2
    energy: 1.6
    color: "#9dc5c9"
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true

- type: entity
  parent: VendingMachine
  id: VendingMachineMailDrobe
  name: MailDrobe
  description: Neither solar flares nor meteors nor plasma fire nor void of space stays these couriers from the swift completion of their appointed rounds.
  components:
  - type: VendingMachine
    pack: MailDrobeInventory
    offState: off
    brokenState: broken
    normalState: normal-unshaded
  - type: Advertise
    pack: MailDrobeAds
  - type: Sprite
    sprite: _Goobstation/Structures/Machines/VendingMachines/maildrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: AccessReader
    access: [["Cargo"]]
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#4b93ad"

- type: entity
  id: VendingMachineSweetToof
  parent: VendingMachine
  name: sweet-toof co. candy
  description: A vending machine selling an unhealthy amount of candy. You'd have to have a 'sweet-tooth' to enjoy it.
  components:
  - type: Sprite
    noRot: true
    sprite: _Goobstation/Structures/Machines/VendingMachines/sweettoof.rsi # Todo - Change this
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: "screen"
      map: ["enum.VendingMachineVisualLayers.Screen"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: VendingMachine
    pack: SweetToofInventory
    offState: off
    brokenState: broken
    normalState: normal-unshaded
    denyState: deny-unshaded
    ejectState: eject-unshaded
    screenState: screen
  - type: Advertise
    pack: SweetToofAds # Todo - Make these
  - type: SpeakOnUIClosed
    pack: GenericVendGoodbyes
  - type: Transform
    noRot: false
  - type: Rotatable
    rotateWhileAnchored: false
    rotateWhilePulling: true
  - type: PointLight
    radius: 2
    energy: 1.6
    color: "#9dc5c9"
    mask: /Textures/Effects/LightMasks/cone.png
    autoRot: true