- type: entity
  id: VendingMachine
  parent: BaseMachinePowered
  name: vending machine
  description: Just add capitalism!
  abstract: true
  components:
  - type: AmbientOnPowered
  - type: AmbientSound
    volume: -9
    range: 3
    sound:
      path: /Audio/Ambience/Objects/vending_machine_hum.ogg
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/empty.rsi
    netsync: false
  - type: Physics
    bodyType: Static
  - type: Fixtures
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.25,-0.5,0.25,0.5"
      mask:
      - Impassable
      - VaultImpassable
      - SmallImpassable
      layer:
      - Opaque
      - MobImpassable
      mass: 100
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 100
      behaviors:
      - !type:DoActsBehavior
        acts: ["Breakage"]
  - type: ActivatableUI
    key: enum.VendingMachineUiKey.Key
  - type: ActivatableUIRequiresPower
  - type: UserInterface
    interfaces:
    - key: enum.VendingMachineUiKey.Key
      type: VendingMachineBoundUserInterface
    - key: enum.WiresUiKey.Key
      type: WiresBoundUserInterface
  - type: Wires
    BoardName: "Vending Machine"
    LayoutId: Vending
  - type: Anchorable
  - type: PointLight
    enabled: false
    castShadows: false
    radius: 1.5
  - type: LitOnPowered
  - type: ApcPowerReceiver
    powerLoad: 200
    priority: Low
  - type: SentienceTarget
    flavorKind: mechanical

- type: entity
  parent: VendingMachine
  id: VendingMachineAmmo
  name: Liberation Station
  description: An overwhelming amount of ancient patriotism washes over you just by looking at the machine.
  components:
  - type: VendingMachine
    pack: AmmoVendInventory
  - type: Advertise
    pack: AmmoVendAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/ammo.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer

- type: entity
  parent: VendingMachine
  id: VendingMachineBooze
  name: Booze-O-Mat
  description: A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one.
  components:
  - type: VendingMachine
    pack: BoozeOMatInventory
  - type: Advertise
    pack: BoozeOMatAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/boozeomat.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Bar"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineCart
  name: PTech
  description: PTech vending! Providing a ROBUST selection of PDA cartridges.
  components:
  - type: VendingMachine
    pack: PTechInventory
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/cart.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1
    energy: 1.3
    color: "#ffb0b0"

- type: entity
  parent: VendingMachine
  id: VendingMachineCigs
  name: ShadyCigs Deluxe
  description: If you want to get cancer, might as well do it in style.
  components:
  - type: VendingMachine
    pack: CigaretteMachineInventory
  - type: Advertise
    pack: CigaretteMachineAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/cigs.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer

- type: entity
  parent: VendingMachine
  id: VendingMachineClothing
  name: ClothesMate
  description: A vending machine for clothing.
  components:
  - type: VendingMachine
    pack: ClothesMateInventory
  - type: Advertise
    pack: ClothesMateAds
  - type: Speech
  - type: Tag
    tags:
      - DroneUsable
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/clothing.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.8
    energy: 1.6
    color: "#3db83b"

- type: entity
  parent: VendingMachine
  id: VendingMachineCoffee
  name: Solar's Best Hot Drinks
  description: Served boiling so it stays hot all shift!
  components:
  - type: VendingMachine
    pack: HotDrinksMachineInventory
  - type: Advertise
    pack: HotDrinksMachineAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/coffee.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: "screen"
      map: ["enum.VendingMachineVisualLayers.Screen"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      screen: true
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.3
    color: "#ad7c4b"

- type: entity
  parent: VendingMachine
  id: VendingMachineCola
  name: Robust Softdrinks
  description: A softdrink vendor provided by Robust Industries, LLC.
  components:
  - type: VendingMachine
    pack: RobustSoftdrinksInventory
  - type: Advertise
    pack: RobustSoftdrinksAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/cola.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#3c5eb5"

- type: entity
  parent: VendingMachine
  id: VendingMachineDinnerware
  name: Plasteel Chef's Dinnerware Vendor
  description: A kitchen and restaurant equipment vendor.
  components:
  - type: VendingMachine
    pack: DinnerwareInventory
  - type: Advertise
    pack: DinnerwareAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/dinnerware.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Service"]]
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#4b93ad"

- type: entity
  parent: VendingMachine
  id: VendingMachineDiscount
  name: Discount Dan's
  description: A vending machine containing discount snacks from the infamous 'Discount Dan' franchise.
  components:
  - type: VendingMachine
    pack: DiscountDansInventory
  - type: Advertise
    pack: DiscountDansAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/discount.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#6148c7"

- type: entity
  parent: VendingMachine
  id: VendingMachineEngivend
  name: Engi-Vend
  description: Spare tool vending. What? Did you expect some witty description?
  components:
  - type: VendingMachine
    pack: EngiVendInventory
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/engivend.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Engineering"]]
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#b89e2a"

- type: entity
  parent: VendingMachine
  id: VendingMachineMedical
  name: NanoMed Plus
  description: It's a medical drug dispenser. Natural chemicals only!
  components:
  - type: VendingMachine
    pack: NanoMedPlusInventory
  - type: Advertise
    pack: NanoMedAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/medical.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Medical"]]
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#9dc5c9"

- type: entity
  parent: VendingMachine
  id: VendingMachineNutri
  name: NutriMax
  description: A vending machine containing nutritional substances for plants and botanical tools.
  components:
  - type: VendingMachine
    pack: NutriMaxInventory
  - type: Advertise
    pack: NutriMaxAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/nutri.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Hydroponics"]]
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#326e3f"

- type: entity
  parent: VendingMachine
  id: VendingMachineSec
  name: SecTech
  description: A vending machine containing Security equipment. A label reads SECURITY PERSONNEL ONLY.
  components:
  - type: VendingMachine
    pack: SecTechInventory
  - type: Advertise
    pack: SecTechAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/sec.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Security"]]
  - type: PointLight
    radius: 1
    energy: 1.2
    color: "#78645c"

- type: entity
  parent: VendingMachine
  id: VendingMachineSeeds
  name: MegaSeed Servitor
  description: For when you need seeds fast. Hands down the best seed selection on the station!
  components:
  - type: VendingMachine
    pack: MegaSeedServitorInventory
  - type: Advertise
    pack: MegaSeedAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/seeds.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Hydroponics"]]
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#326e3f"

- type: entity
  parent: VendingMachine
  id: VendingMachineSmartFridge
  name: SmartFridge
  description: A refrigerated storage unit for keeping items cold and fresh.
  components:
  - type: VendingMachine
    pack: SmartFridgeInventory
  - type: Advertise
    pack: SmartFridgeAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/smartfridge.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#9dc5c9"

- type: entity
  parent: VendingMachine
  id: VendingMachineSnack
  name: Getmore Chocolate Corp
  description: A snack machine courtesy of the Getmore Chocolate Corporation, based out of Mars.
  components:
  - type: VendingMachine
    pack: GetmoreChocolateCorpInventory
  - type: Advertise
    pack: GetmoreChocolateCorpAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/snack.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#c73434"

- type: entity
  parent: VendingMachine
  id: VendingMachineSovietSoda
  name: BODA
  description: An old vending machine containing sweet water.
  components:
  - type: VendingMachine
    pack: BodaInventory
  - type: Advertise
    pack: BodaAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/sovietsoda.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#389690"

- type: entity
  parent: VendingMachine
  id: VendingMachineTheater
  name: AutoDrobe
  description: A vending machine containing costumes.
  components:
  - type: VendingMachine
    pack: AutoDrobeInventory
  - type: Advertise
    pack: AutoDrobeAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/theater.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
    - state: "screen"
      map: ["enum.VendingMachineVisualLayers.Screen"]
      shader: unshaded
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      screen: true
      normalUnshaded: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#c73434"
  - type: Tag
    tags:
      - DroneUsable

- type: entity
  parent: VendingMachine
  id: VendingMachineVendomat
  name: Vendomat
  description: Only the finest robust equipment in space!
  components:
  - type: VendingMachine
    pack: VendomatInventory
  - type: Advertise
    pack: VendomatAds
  - type: Speech
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/vendomat.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      eject: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#9dc5c9"

- type: entity
  parent: VendingMachine
  id: VendingMachineWallMedical
  name: NanoMed
  description: "It's a wall-mounted medical equipment dispenser. Natural chemicals only!"
  components:
  - type: VendingMachine
    pack: NanoMedInventory
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/wallmed.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - texture: Structures/Machines/VendingMachines/maintenance_panel.png
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Medical"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineYouTool
  name: YouTool
  description: "A vending machine containing standard tools. A label reads: Tools for tools."
  components:
  - type: VendingMachine
    pack: YouToolInventory
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/youtool.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Base"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      eject: true
      ejectUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#d4ab33"
  - type: Tag
    tags:
      - DroneUsable

- type: entity
  parent: VendingMachine
  id: VendingMachineGames
  name: Good Clean Fun
  description: Vends things that the Captain and Head of Personnel are probably not going to appreciate you fiddling with instead of your job...
  components:
  - type: VendingMachine
    pack: GoodCleanFunInventory
  - type: Advertise
    pack: GoodCleanFunAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/games.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      ejectUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#326e3f"

- type: entity
  parent: VendingMachine
  id: VendingMachineHydrobe
  name: HyDrobe
  description: A machine with a catchy name. It dispenses botany related clothing and gear.
  components:
  - type: VendingMachine
    pack: HyDrobeInventory
  - type: Advertise
    pack: HyDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/hydrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Hydroponics"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineLawDrobe
  name: LawDrobe
  description: Objection! This wardrobe dispenses the rule of law... and lawyer clothing..
  components:
  - type: VendingMachine
    pack: LawDrobeInventory
  - type: Advertise
    pack: LawDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/lawdrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Brig"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineSecDrobe
  name: SecDrobe
  description: A vending machine for security and security-related clothing!
  components:
  - type: VendingMachine
    pack: SecDrobeInventory
  - type: Advertise
    pack: SecDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/secdrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Security"]]

- type: entity
  parent: VendingMachine
  id: VendingBarDrobe
  name: BarDrobe
  description: A stylish vendor to dispense the most stylish bar clothing!
  components:
  - type: VendingMachine
    pack: BarDrobeInventory
  - type: Advertise
    pack: BarDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/bardrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Bar"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineChapel
  name: PietyVend
  components:
  - type: VendingMachine
    pack: PietyVendInventory
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/chapdrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: AccessReader
    access: [["Chapel"]]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      denyUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: PointLight
    radius: 1.5
    energy: 1.6
    color: "#CCCCCC" #The holy C

- type: entity
  parent: VendingMachine
  id: VendingMachineCargoDrobe
  name: CargoDrobe
  description: A highly advanced vending machine for buying cargo related clothing for free.
  components:
  - type: VendingMachine
    pack: CargoDrobeInventory
  - type: Advertise
    pack: CargoDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/cargodrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Cargo"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineMediDrobe
  name: MediDrobe
  description: A vending machine rumoured to be capable of dispensing clothing for medical personnel.
  components:
  - type: VendingMachine
    pack: MediDrobeInventory
  - type: Advertise
    pack: MediDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/medidrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Medical"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineChemDrobe
  name: ChemDrobe
  description: A vending machine for dispensing chemistry related clothing.
  components:
  - type: VendingMachine
    pack: ChemDrobeInventory
  - type: Advertise
    pack: ChemDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/chemdrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Chemistry"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineAtmosDrobe
  name: AtmosDrobe
  description: This relatively unknown vending machine delivers clothing for Atmospherics Technicians, an equally unknown job.
  components:
  - type: VendingMachine
    pack: AtmosDrobeInventory
  - type: Advertise
    pack: AtmosDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/atmosdrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Engineering"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineEngiDrobe
  name: EngiDrobe
  description: A vending machine renowned for vending industrial grade clothing.
  components:
  - type: VendingMachine
    pack: EngiDrobeInventory
  - type: Advertise
    pack: EngiDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/engidrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Engineering"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineChefDrobe
  name: ChefDrobe
  description: This vending machine might not dispense meat, but it certainly dispenses chef related clothing.
  components:
  - type: VendingMachine
    pack: ChefDrobeInventory
  - type: Advertise
    pack: ChefDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/chefdrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Kitchen"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineDetDrobe
  name: DetDrobe
  description: A machine for all your detective needs, as long as you need clothes.
  components:
  - type: VendingMachine
    pack: DetDrobeInventory
  - type: Advertise
    pack: DetDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/detdrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Security"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineJaniDrobe
  name: JaniDrobe
  description: A self cleaning vending machine capable of dispensing clothing for janitors.
  components:
  - type: VendingMachine
    pack: JaniDrobeInventory
  - type: Advertise
    pack: JaniDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/janidrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Janitor"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineSciDrobe
  name: SciDrobe
  description: A simple vending machine suitable to dispense well tailored science clothing. Endorsed by Space Cubans.
  components:
  - type: VendingMachine
    pack: SciDrobeInventory
  - type: Advertise
    pack: SciDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/scidrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Research"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineRoboDrobe
  name: RoboDrobe
  description: A vending machine designed to dispense clothing known only to roboticists.
  components:
  - type: VendingMachine
    pack: RoboDrobeInventory
  - type: Advertise
    pack: RoboDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/robodrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Research"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineGeneDrobe
  name: GeneDrobe
  description: A machine for dispensing clothing related to genetics.
  components:
  - type: VendingMachine
    pack: GeneDrobeInventory
  - type: Advertise
    pack: GeneDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/genedrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Medical"]]

- type: entity
  parent: VendingMachine
  id: VendingMachineViroDrobe
  name: ViroDrobe
  description: An unsterilized machine for dispending virology related clothing.
  components:
  - type: VendingMachine
    pack: ViroDrobeInventory
  - type: Advertise
    pack: ViroDrobeAds
  - type: Sprite
    sprite: Structures/Machines/VendingMachines/virodrobe.rsi
    layers:
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.Unlit"]
    - state: "off"
      map: ["enum.VendingMachineVisualLayers.BaseUnshaded"]
      shader: unshaded
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: Appearance
    visuals:
    - type: VendingMachineVisualizer
      normalUnshaded: true
      broken: true
    - type: WiresVisualizer
  - type: AccessReader
    access: [["Medical"]]
