- type: entity
  id: SLVendingMachine
  parent: BaseMachinePowered
  name: vending machine
  description: Just add capitalism!
  abstract: true
  components:
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/plushiemat.rsi
    snapCardinals: true
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: normal-unshaded
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
  - type: StationAiWhitelist
  - type: AmbientOnPowered
  - type: AmbientSound
    volume: -9
    range: 3
    enabled: false
    sound:
      path: /Audio/Ambience/Objects/vending_machine_hum.ogg
  - type: Physics
    bodyType: Static
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.3,-0.16,0.3,0.40"
        mask:
        - MachineMask
        layer:
        - MachineLayer
        density: 190
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 100
      behaviors:
      - !type:DoActsBehavior
        acts: ["Breakage"]
    - trigger:
        !type:DamageTrigger
        damage: 200
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          SheetSteel1:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
      - !type:PlaySoundBehavior
        sound:
          collection: MetalGlassBreak
  - type: Repairable
    doAfterDelay: 8
  - type: UserInterface
    interfaces:
        enum.StoreUiKey.Key:
          type: StoreBoundUserInterface
  - type: ActivatableUI
    key: enum.StoreUiKey.Key
  - type: WiresPanel
  - type: Wires
   #boardName: wires-board-name-vendingmachine
    layoutId: Vending
  - type: Anchorable
  - type: Electrified
    enabled: false
    usesApcPower: true
  - type: PointLight
    enabled: false
    castShadows: false
    radius: 1.5
  - type: LitOnPowered
  - type: ApcPowerReceiver
    powerLoad: 200
  - type: StaticPrice
    price: 100
  - type: Appearance
  - type: WiresVisuals
  - type: Store
    name: store-preset-name-spellbook
    categories: []
    currencyWhitelist:
    - NTCredit

- type: entity
  parent: SLVendingMachine
  id: SLVendingMachineHugDispenser
  name: hug dispenser
  components:
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/plushiemat.rsi
  - type: Store
    name: vendor-hug-dispenser
    categories:
    - SLPlushies
    - SLSpecies
    - SLCrew
    - SLSecret

- type: entity
  parent: SLVendingMachine
  id: SLVendingMachineFashion
  name: Fashion-o-Mat
  description: Happiness should be expensive.
  components:
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/fashionmat.rsi
  - type: Store
    grid: true
    name: vendor-fashion-o-mat
    categories:
    - SLFashionSkirt
    - SLFashionSuit
    - SLFashionHead
    - SLFashionOther
    - SLSecret

- type: entity
  parent: SLVendingMachine
  id: SLVendingMachineMedical
  name: medical dispenser
  components:
  - type: AccessReader
    access: [["Medical"]]
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/medical.rsi
  - type: Store
    name: vendor-medical-dispenser
    categories:
    - SLChemistry
    - SLMedical
    - SLSurgery
    - SLSecret

- type: entity
  parent: SLVendingMachine
  id: SLVendingMachineEngi
  name: engi dispenser
  components:
  - type: AccessReader
    access: [["Engineering"]]
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/engi.rsi
  - type: Store
    name: vendor-engineering-dispenser
    categories:
    - SLEnginery
    - SLSecret

- type: entity
  parent: SLVendingMachine
  id: VendingMachineClown
  name: HohohonkersVend
  description: Get your honk fix here! Surprise the station with HohohonkersVend — the ultimate machine for hilarious pranks. Hack it, and you'll unlock something special!
  components:
  - type: AccessReader
    access: [["Theatre"]]
  - type: Store
    name: vendor-clown-dispenser
    categories:
    - SLClown
    - SLSecret
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/hohohonkers.rsi

- type: entity
  parent: SLVendingMachine
  id: SLVendingMachineSecurity
  name: security dispenser
  components:
  - type: AccessReader
    access: [["Security"], ["Cadet"]]
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/security.rsi
  - type: Store
    name: vendor-security-dispenser
    categories:
    - SLSecurity
    - SLBrigmedic
    - SLSecret

- type: entity
  parent: SLVendingMachine
  id: SLVendingMachineSalvage
  name: salvage ticket machine
  components:
  - type: AccessReader
    access: [["Salvage"]]
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/salvage.rsi
  - type: Store
    name: vendor-salvage-ticket-machine
    categories:
    - SalvageEquipment
    - SalvageWeapons
    - SalvageConsumeables
    - SalvageMercenaryEquipment
    - SalvageCybernetics
    - SLSecret
    currencyWhitelist:
    - SalvageTicket

- type: entity
  parent: SLVendingMachine
  id: SLVendingMachineMining
  name: mining ticket machine
  components:
    - type: AccessReader
      access: [["Mining"]]
    - type: Sprite
      sprite: _Starlight/Structures/Machines/VendingMachines/mining.rsi
    - type: Store
      name: vendor-mining-ticket-machine
      categories:
        - MiningEquipment
        - MiningConsumeables
        - SLSecret
      currencyWhitelist:
        - SalvageTicket # Same currency as salvage vendor to promote sharing

- type: entity
  parent: VendingMachine
  id: VendingMachineAbductorDispenser
  name: alien dispenser
  description: Dispenses something weird.
  components:
    - type: VendingMachine
      pack: AbductorGlandInventory
      offState: icon
      brokenState: icon
      showPrices: false
      normalState: icon
      denyState: icon
      ejectDelay: 2
      forceRandom: RandomOrganDubious
    - type: Sprite
      sprite: _Starlight/Structures/abductor_dispencer.rsi
      layers:
      - state: "icon"
        map: ["enum.VendingMachineVisualLayers.Base"]
      - state: "unshaded"
        map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
    - type: WirelessNetworkConnection
      range: 200
    - type: AbductorDispencer

- type: entity
  parent: VendingMachine
  id: VendingMachineDonk
  name: Donk on the Go
  description: Hot and ready when you're on the run! Donk Pockets- It's food, legally.
  components:
  - type: VendingMachine
    pack: DonkPocketsMachineInventory
    dispenseOnHitChance: 0.25
    dispenseOnHitThreshold: 2
    offState: off
    brokenState: broken
    normalState: normal-unshaded
    ejectState: eject-unshaded
    denyState: deny-unshaded
    ejectDelay: 2
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineDonkCircuitboard # Starlight-edit: Vending Machine boards
  - type: DatasetVocalizer
    dataset: DonkPocketMachineAds
  - type: SpeakOnUIClosed
    pack: DonkPocketMachineGoodbyes
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/donk.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: PointLight
    radius: 1.5
    energy: 2.0
    color: "#ad7c4b"

- type: entity
  parent: VendingMachine
  id: VendingMachineIceCream
  name: I Scream Ice-Cream
  description: A vending machine full of delicious ice cream. ScaryCorp assures that you don't actually have to scream anything.
  components:
  - type: VendingMachine
    pack: IceCreamInventory
    dispenseOnHitChance: 0.25
    dispenseOnHitThreshold: 2
    offState: off
    brokenState: broken
    normalState: normal-unshaded
    ejectState: eject-unshaded
    denyState: deny-unshaded
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineIceCreamCircuitboard # Starlight-edit: Vending Machine boards
  - type: DatasetVocalizer
    dataset: IceCreamAds
  - type: SpeakOnUIClosed
    pack: IceCreamGoodbyes
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/icecream.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#aee8f5"

- type: entity
  parent: VendingMachine
  id: VendingMachineLegalDrobe
  name: LegalDrobe
  description: Objection! This wardrobe dispenses the rule of law... wait, haven't you seen this before?
  components:
  - type: VendingMachine
    pack: LegalDrobeInventory
    offState: off
    brokenState: broken
    normalState: normal-unshaded
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineLegalDrobeCircuitboard # Starlight-edit: Vending Machine boards
  - type: DatasetVocalizer
    dataset: LegalDrobeAds
  - type: SpeakOnUIClosed
    pack: LegalDrobeGoodbyes
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/legaldrobe.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: [["Lawyer"]] # Starlight

# NanoMed Security
- type: entity
  parent: VendingMachineMedicalBase
  id: VendingMachineMedicalSecurity
  name: NanoMed Security
  suffix: Security
  description: It's a medical drug dispenser. Natural chemicals only!
  components:
  - type: VendingMachine
    pack: NanoMedSecurityInventory
    offState: off
    showPrices: false  # Starlight-edit: Vending Machines Prices
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineMedicalCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/medical_sec.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: [["Medical"], ["Security"]]

# Syndicate stuff for Serpentcrest and any other uses
- type: entity
  parent: VendingMachineMedicalBase
  id: VendingMachineMedicalBaseSyndicate
  name: Interdyne Commercial
  suffix: Civilian
  description: It's a medical drug dispenser by Interdyne Pharmaceutics. For the Health of Humankind.
  components:
  - type: VendingMachine
    pack: InterdyneCommercialInventory
    offState: off-civilian
    brokenState: broken
    normalState: normal-unshaded
    ejectState: eject-unshaded
    denyState: deny-unshaded
    ejectDelay: 0.6
    showPrices: True
  - type: DatasetVocalizer
    dataset: InterdyneAds
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/interdyne_medical.rsi
    layers:
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: PointLight
    radius: 1.5
    energy: 3.0
    color: "#9dc5c9" # TODO: Change color

- type: entity
  parent: VendingMachineMedicalBaseSyndicate
  id: VendingMachineMedicalSyndicate
  name: Interdyne Enterprise
  suffix: Departmental
  components:
  - type: VendingMachine
    pack: InterdyneEnterpriseInventory
    offState: off
    showPrices: false  # Starlight-edit: Vending Machines Prices
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineMedicalCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: AccessReader
    access: [["Medical"], ["SyndicateAgent"]]

# Wallmounts
- type: entity
  parent: VendingMachineWallmount
  id: VendingMachineWallMedicalCivilianSyndicate
  name: Interdyne life-aid commercial
  suffix: Civilian, Wallmount
  description: It's a wall-mounted medical equipment dispenser by Interdyne Pharmaceutics. For the Health of Humankind.
  components:
  - type: VendingMachine
    pack: InterdyneCommercialWallInventory
    offState: off-civilian
    showPrices: True # Starlight-edit: Vending Machines Prices
    brokenState: broken
    normalState: normal-unshaded
    denyState: deny-unshaded
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineWallMedicalCivilianCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/interdyne_wallmed.rsi
    layers:
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: PointLight
    radius: 1.3
    energy: 3.0
    color: "#43ccb5"

- type: entity
  parent: VendingMachineWallMedicalCivilianSyndicate
  id: VendingMachineWallMedicalSyndicate
  name: Interdyne life-aid enterprise
  suffix: Departmental, Wallmount
  components:
  - type: VendingMachine
    pack: InterdyneEnterpriseWallInventory
    offState: off
    showPrices: false # Starlight-edit: Vending Machines Prices
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineWallMedicalCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: AccessReader
    access: [["Medical"], ["SyndicateAgent"]]

# DeForest Medical Vending machines
- type: entity
  parent: VendingMachineMedicalBase
  id: VendingMachineMedicalBaseDeforest
  name: DeForest Planetary
  suffix: Civilian
  description: It's a medical drug dispenser by DeForest Medical. Health that Touches the Sky.
  components:
  - type: VendingMachine
    pack: DeforestPlanetaryInventory
    offState: off-civilian
    brokenState: broken
    normalState: normal-unshaded
    ejectState: eject-unshaded
    denyState: deny-unshaded
    ejectDelay: 0.6
    showPrices: True
  - type: DatasetVocalizer
    dataset: DeforestAds
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/deforest_medical.rsi
    layers:
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: PointLight
    radius: 1.5
    energy: 3.0
    color: "#9dc5c9" # TODO: Change color

- type: entity
  parent: VendingMachineMedicalBaseDeforest
  id: VendingMachineMedicalDeforest
  name: DeForest Interstellar
  suffix: Departmental
  components:
  - type: VendingMachine
    pack: DeforestInterstellarInventory
    offState: off
    showPrices: false  # Starlight-edit: Vending Machines Prices
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineMedicalCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: AccessReader
    access: [["Medical"], ["Service"]] # They all have a gimmick; this one is service access.

# Wallmounts
- type: entity
  parent: VendingMachineWallmount
  id: VendingMachineWallMedicalCivilianDeforest
  name: DeForest health-aid planetary
  suffix: Civilian, Wallmount
  description: It's a wall-mounted medical equipment dispenser by DeForest Medical. Health that Touches the Sky.
  components:
  - type: VendingMachine
    pack: DeforestPlanetaryWallInventory
    offState: off-civilian
    showPrices: True # Starlight-edit: Vending Machines Prices
    brokenState: broken
    normalState: normal-unshaded
    denyState: deny-unshaded
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineWallMedicalCivilianCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/deforest_wallmed.rsi
    layers:
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: PointLight
    radius: 1.3
    energy: 3.0
    color: "#43ccb5"

- type: entity
  parent: VendingMachineWallMedicalCivilianDeforest
  id: VendingMachineWallMedicalDeforest
  name: DeForest health-aid interstellar
  suffix: Departmental, Wallmount
  components:
  - type: VendingMachine
    pack: DeforestInterstellarWallInventory
    offState: off
    showPrices: false # Starlight-edit: Vending Machines Prices
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineWallMedicalCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: AccessReader
    access: [["Medical"], ["Service"]] # They all have a gimmick; this one is service access.

# NanoMed GOLD Vending machines
- type: entity
  parent: VendingMachineMedicalBase
  id: VendingMachineMedicalBaseGold
  name: NanoMed Civilian GOLD
  suffix: Civilian
  description: The fact that you've arrived here-rather, to this NanoMed GOLD- at this moment in your life is nothing short of a miracle. It delights me to no end.
  components:
  - type: VendingMachine
    pack: GoldNanoMedCivilianInventory
    offState: off-civilian
    brokenState: broken
    normalState: normal-unshaded
    ejectState: eject-unshaded
    denyState: deny-unshaded
    ejectDelay: 0.6
    showPrices: True
  - type: DatasetVocalizer
    dataset: NanoMedGoldAds
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/gold_medical.rsi
    layers:
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: PointLight
    radius: 1.5
    energy: 3.0
    color: "#ccac43" # TODO: Change color

- type: entity
  parent: VendingMachineMedicalBaseGold
  id: VendingMachineMedicalGold
  name: NanoMed Plus GOLD
  suffix: Departmental
  components:
  - type: VendingMachine
    pack: GoldNanoMedPlusInventory
    offState: off
    showPrices: false  # Starlight-edit: Vending Machines Prices
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineMedicalCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: AccessReader
    access: [["Medical"], ["Command"]] # They all have a gimmick; this one is service access.

# Wallmounts
- type: entity
  parent: VendingMachineWallmount
  id: VendingMachineWallMedicalCivilianGold
  name: NanoMed band-aid GOLD
  suffix: Civilian, Wallmount
  description: It's a luxury wall-mounted medical equipment dispenser.  It delights you to no end.
  components:
  - type: VendingMachine
    pack: GoldNanoMedCivilianWallInventory
    offState: off-civilian
    showPrices: True # Starlight-edit: Vending Machines Prices
    brokenState: broken
    normalState: normal-unshaded
    denyState: deny-unshaded
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineWallMedicalCivilianCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    sprite: _Starlight/Structures/Machines/VendingMachines/gold_wallmed.rsi
    layers:
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off-civilian"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: PointLight
    radius: 1.3
    energy: 3.0
    color: "#cca143"

- type: entity
  parent: VendingMachineWallMedicalCivilianGold
  id: VendingMachineWallMedicalGold
  name: NanoMed GOLD
  suffix: Departmental, Wallmount
  components:
  - type: VendingMachine
    pack: GoldNanoMedInventory
    offState: off
    showPrices: false # Starlight-edit: Vending Machines Prices
  - type: Machine # Starlight-edit: Vending Machine boards
    board: VendingMachineWallMedicalCircuitboard # Starlight-edit: Vending Machine boards
  - type: Sprite
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: AccessReader
    access: [["Medical"], ["Command"]] # They all have a gimmick; this one is command access.

- type: entity
  parent: VendingMachine
  id: VendingMachineCAD
  name: AdmiMax
  description: Need to manage some documents? CAD has you covered!
  components:
    - type: VendingMachine
      pack: AdmiMaxInventory
      showPrices: false
      offState: off
      brokenState: broken
      normalState: normal-unshaded
    - type: Sprite
      sprite: _Starlight/Structures/Machines/VendingMachines/admimax.rsi
      layers:
        - state: "off"
          map: ["enum.VendingMachineVisualLayers.Base"]
        - state: "off"
          map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
          shader: unshaded
        - state: panel
          map: ["enum.WiresVisualLayers.MaintenancePanel"]
    - type: PointLight
      radius: 1.5
      energy: 3.0
      color: "#568ef0"
    - type: AccessReader
      access: [["CentralCommand"]]

# Empty
- type: entity
  parent: VendingMachineCondiments
  id: VendingMachineCondimentsEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineAmmo
  id: VendingMachineAmmoEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineBooze
  id: VendingMachineBoozeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineBoozeSyndicate
  id: VendingMachineBoozeSyndicateEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineCart
  id: VendingMachineCartEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineChefvend
  id: VendingMachineChefvendEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineCigs
  id: VendingMachineCigsEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineClothing
  id: VendingMachineClothingEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineWinter
  id: VendingMachineWinterEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineCoffee
  id: VendingMachineCoffeeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineCola
  id: VendingMachineColaEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineColaBlack
  id: VendingMachineColaBlackEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineColaRed
  id: VendingMachineColaRedEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSpaceUp
  id: VendingMachineSpaceUpEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSoda
  id: VendingMachineSodaEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineStarkist
  id: VendingMachineStarkistEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineShamblersJuice
  id: VendingMachineShamblersJuiceEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachinePwrGame
  id: VendingMachinePwrGameEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineDrGibb
  id: VendingMachineDrGibbEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSmite
  id: VendingMachineSmiteEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineDinnerware
  id: VendingMachineDinnerwareEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMagivend
  id: VendingMachineMagivendEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineDiscount
  id: VendingMachineDiscountEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineEngivend
  id: VendingMachineEngivendEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMedicalBase
  id: VendingMachineMedicalBaseEmpty
  suffix: Empty, Civilian
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMedical
  id: VendingMachineMedicalEmpty
  suffix: Empty, Departmental
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMedicalBaseSyndicate
  id: VendingMachineMedicalBaseSyndicateEmpty
  suffix: Empty, Civilian
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMedicalSyndicate
  id: VendingMachineMedicalSyndicateEmpty
  suffix: Empty, Departmental
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMedicalBaseDeforest
  id: VendingMachineMedicalBaseDeforestEmpty
  suffix: Empty, Civilian
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMedicalDeforest
  id: VendingMachineMedicalDeforestEmpty
  suffix: Empty, Departmental
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMedicalBaseGold
  id: VendingMachineMedicalBaseGoldEmpty
  suffix: Empty, Civilian
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMedicalGold
  id: VendingMachineMedicalGoldEmpty
  suffix: Empty, Departmental
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineNutri
  id: VendingMachineNutriEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSec
  id: VendingMachineSecEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSeedsUnlocked
  id: VendingMachineSeedsUnlockedEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSeeds
  id: VendingMachineSeedsEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSnack
  id: VendingMachineSnackEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSustenance
  id: VendingMachineSustenanceEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSnackBlue
  id: VendingMachineSnackBlueEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSnackOrange
  id: VendingMachineSnackOrangeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSnackGreen
  id: VendingMachineSnackGreenEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSnackTeal
  id: VendingMachineSnackTealEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSovietSoda
  id: VendingMachineSovietSodaEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineTheater
  id: VendingMachineTheaterEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineVendomat
  id: VendingMachineVendomatEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineRobotics
  id: VendingMachineRoboticsEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineYouTool
  id: VendingMachineYouToolEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineGames
  id: VendingMachineGamesEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineChang
  id: VendingMachineChangEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSalvage
  id: VendingMachineSalvageEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineDonut
  id: VendingMachineDonutEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineHydrobe
  id: VendingMachineHydrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineLawDrobe
  id: VendingMachineLawDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSecDrobe
  id: VendingMachineSecDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingBarDrobe
  id: VendingBarDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineChapel
  id: VendingMachineChapelEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineCargoDrobe
  id: VendingMachineCargoDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMediDrobe
  id: VendingMachineMediDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineChemDrobe
  id: VendingMachineChemDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineCuraDrobe
  id: VendingMachineCuraDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineAtmosDrobe
  id: VendingMachineAtmosDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineEngiDrobe
  id: VendingMachineEngiDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineChefDrobe
  id: VendingMachineChefDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineDetDrobe
  id: VendingMachineDetDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineJaniDrobe
  id: VendingMachineJaniDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSciDrobe
  id: VendingMachineSciDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineSyndieDrobe
  id: VendingMachineSyndieDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineRoboDrobe
  id: VendingMachineRoboDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineGeneDrobe
  id: VendingMachineGeneDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineViroDrobe
  id: VendingMachineViroDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineCentDrobe
  id: VendingMachineCentDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineHappyHonk
  id: VendingMachineHappyHonkEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachinePride
  id: VendingMachinePrideEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineTankDispenserEVA
  id: VendingMachineTankDispenserEVAEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineTankDispenserEngineering
  id: VendingMachineTankDispenserEngineeringEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineChemicals
  id: VendingMachineChemicalsEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineChemicalsSyndicate
  id: VendingMachineChemicalsSyndicateEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineWallMedicalCivilian
  id: VendingMachineWallMedicalCivilianEmpty
  suffix: Empty, Civilian, Wallmount
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineWallMedical
  id: VendingMachineWallMedicalEmpty
  suffix: Empty, Departmental, Wallmount
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineWallMedicalCivilianSyndicate
  id: VendingMachineWallMedicalCivilianSyndicateEmpty
  suffix: Empty, Civilian, Wallmount
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineWallMedicalSyndicate
  id: VendingMachineWallMedicalSyndicateEmpty
  suffix: Empty, Departmental, Wallmount
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineWallMedicalCivilianDeforest
  id: VendingMachineWallMedicalCivilianDeforestEmpty
  suffix: Empty, Civilian, Wallmount
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineWallMedicalDeforest
  id: VendingMachineWallMedicalDeforestEmpty
  suffix: Empty, Departmental, Wallmount
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineWallMedicalCivilianGold
  id: VendingMachineWallMedicalCivilianGoldEmpty
  suffix: Empty, Civilian, Wallmount
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineWallMedicalGold
  id: VendingMachineWallMedicalGoldEmpty
  suffix: Empty, Departmental, Wallmount
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineDonk
  id: VendingMachineDonkEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineIceCream
  id: VendingMachineIceCreamEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineLegalDrobe
  id: VendingMachineLegalDrobeEmpty
  suffix: Empty
  components:
    - type: EmptyVendingMachine

- type: entity
  parent: VendingMachineMedicalSecurity
  id: VendingMachineMedicalSecurityEmpty
  suffix: Empty, Security
  components:
    - type: EmptyVendingMachine

