- type: entity
  parent: BaseItem
  id: BaseVendingMachineRestock
  abstract: true
  name: vending machine restock box
  description: A box for restocking vending machines with corporate goodies.
  components:
  - type: VendingMachineRestock
  - type: Sprite
    sprite: Objects/Specific/Service/vending_machine_restock.rsi
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
  - type: MeleeWeapon
    damage:
      types:
        Blunt: 5
    soundHit:
      path: /Audio/Weapons/genhit2.ogg
    soundSwing:
      path: /Audio/Weapons/punchmiss.ogg
  - type: Item
    size: Normal
  - type: Damageable
    damageContainer: Inorganic
    damageModifierSet: Metallic
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 40
      behaviors:
        - !type:DoActsBehavior
          acts: [ "Destruction" ]
    - trigger:
        !type:DamageTrigger
        damage: 20
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalBreak
      - !type:DumpRestockInventory
      - !type:DoActsBehavior
        acts: [ "Destruction" ]

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockBooze
  name: Booze-O-Mat restock box
  description: Slot into your Booze-O-Mat to start the party! Not for sale to passengers below the legal age.
  components:
  - type: VendingMachineRestock
    canRestock:
    - BoozeOMatInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_booze

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockChang
  name: Mr. Chang's restock box
  description: A box covered in white labels with bold red Chinese characters, ready to be loaded into the nearest Mr. Chang's vending machine.
  components:
  - type: VendingMachineRestock
    canRestock:
    - ChangInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_chinese

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockChefvend
  name: ChefVend restock box
  description: Refill the ChefVend. Just don't break any more of the eggs.
  components:
  - type: VendingMachineRestock
    canRestock:
    - ChefvendInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_chef

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockCondimentStation
  name: condiment station restock box
  description: Refill the condiment station. Mmmm, cold sauce.
  components:
  - type: VendingMachineRestock
    canRestock:
    - CondimentInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_condiment

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockClothes
  name: wardrobe restock box
  description: It's time to step up your fashion! Place inside any clothes vendor restock slot to begin.
  components:
  - type: VendingMachineRestock
    canRestock:
    - ClothesMateInventory
    - AtmosDrobeInventory
    - BarDrobeInventory
    - CargoDrobeInventory
    - ChefDrobeInventory
    - ChemDrobeInventory
    - DetDrobeInventory
    - EngiDrobeInventory
    - GeneDrobeInventory
    - HyDrobeInventory
    - JaniDrobeInventory
    - LawDrobeInventory
    - MediDrobeInventory
    - RoboDrobeInventory
    - SciDrobeInventory
    - SecDrobeInventory
    - ViroDrobeInventory
    - WinterDrobeInventory
    - CuraDrobeInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_clothes

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockCostumes
  name: AutoDrobe restock box
  description: A panoply of NanoTrasen employees are prancing about a colorful theater in a tragicomedy. You can join them too! Load this into your nearest AutoDrobe vending machine.
  components:
  - type: VendingMachineRestock
    canRestock:
    - AutoDrobeInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_costume

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockDinnerware
  name: Plasteel Chef's restock box
  description: It's never raw in this kitchen! Drop into the restock slot on the Plasteel Chef to begin.
  components:
  - type: VendingMachineRestock
    canRestock:
    - DinnerwareInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_dinner

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockDiscountDans
  name: Discount Dan's restock box
  description: A box full of salt and starch. Why suffer Quality when you can have Quantity? Discount Dan's!
  components:
  - type: VendingMachineRestock
    canRestock:
    - DiscountDansInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_discount

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockDonut
  name: Robust Donuts restock box
  description: A box full of toroidal bundles of fried dough for restocking a vending machine. Use only as directed by Robust Industries, LLC.
  components:
  - type: VendingMachineRestock
    canRestock:
    - DonutInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_donuts

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockEngineering
  name: EngiVend restock box
  description: Only to be used by certified professionals.
  components:
  - type: VendingMachineRestock
    canRestock:
    - EngiVendInventory
    - YouToolInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_engi

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockGames
  name: Good Clean Fun restock box
  description: It's time to roll for initiative, dice dragons! Load up at the Good Clean Fun vending machine!
  components:
  - type: VendingMachineRestock
    canRestock:
    - GoodCleanFunInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_games

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockGetmoreChocolateCorp
  name: GetMore Chocolate restock box
  description: A box loaded with the finest ersatz cacao. Only to be used in official Getmore Chocolate vending machines.
  components:
  - type: VendingMachineRestock
    canRestock:
    - GetmoreChocolateCorpInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_snack

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockHotDrinks
  name: Solar's Best restock box
  description: Toasty! For use in Solar's Best Hot Drinks or other affiliate vending machines.
  components:
  - type: VendingMachineRestock
    canRestock:
    - HotDrinksMachineInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_joe

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockMedical
  name: NanoMed restock box
  description: Slot into your department's NanoMed or NanoMedPlus to dispense. Handle with care.
  components:
  - type: VendingMachineRestock
    canRestock:
    - NanoMedInventory
    - NanoMedPlusInventory
    - NanoMedCivilianInventory
    - NanoMedCivilianWallInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_medical

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockNutriMax
  name: NutriMax restock box
  description: We'll make your thumbs green with our tools. Let's get to harvesting! Load into a NutriMax vending machine.
  components:
  - type: VendingMachineRestock
    canRestock:
    - NutriMaxInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_plant

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockPTech
  name: PTech restock box
  description: All the bureaucracy you can handle, and more! Load into the PTech vending machine to get started.
  components:
  - type: VendingMachineRestock
    canRestock:
    - PTechInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_ptech

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockRobustSoftdrinks
  name: beverage restock box
  description: A cold, clunky container of colliding chilly cylinders. Use only as directed by Robust Industries, LLC.
  components:
  - type: VendingMachineRestock
    canRestock:
    - RobustSoftdrinksInventory
    - BodaInventory
    - PwrGameInventory
    - ShamblersJuiceInventory
    - StarkistInventory
    - SpaceUpInventory
    - SodaInventory
    - DrGibbInventory
    - SmiteInventory 
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_cola

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockSecTech
  name: SecTech restock box
  description: "Communists beware: the reinforcements have arrived! A label reads SECURITY PERSONNEL ONLY."
  components:
  - type: VendingMachineRestock
    canRestock:
    - SecTechInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_sec

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockSalvageEquipment
  name: Salvage Vendor restock box
  description: Strike the earth ere the space carp nip your behind! Slam into a salvage vendor to begin.
  components:
  - type: VendingMachineRestock
    canRestock:
    - SalvageEquipmentInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_salvage

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockSeeds
  name: MegaSeed restock box
  description: A label says they're heirloom seeds, passed down from our ancestors. Pack it into the MegaSeed Servitor!
  components:
  - type: VendingMachineRestock
    canRestock:
    - MegaSeedServitorInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_plant

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockSmokes
  name: ShadyCigs restock box
  description: It's hard to see anything under all the Surgeon General warnings, but it mentions loading it into a vending machine.
  components:
  - type: VendingMachineRestock
    canRestock:
    - CigaretteMachineInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_smoke

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockTankDispenser
  name: tank dispenser restock box
  description: Capable of replacing tanks in a gas tank dispenser. Handle with care.
  components:
  - type: VendingMachineRestock
    canRestock:
    - TankDispenserEVAInventory
    - TankDispenserEngineeringInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_tanks

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockVendomat
  name: Vendomat restock box
  description: A box full of parts for various machinery. Load it into a Vendomat to begin.
  components:
  - type: VendingMachineRestock
    canRestock:
    - VendomatInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_parts

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockRobotics
  name: Robotech Deluxe restock box
  description: A box full of tools for creating borgs. Load it into a Robotech Deluxe to begin.
  components:
  - type: VendingMachineRestock
    canRestock:
    - RoboticsInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_robotics

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockHappyHonk
  name: Happy Honk restock box
  description: Place this box full of fun into the restock slot on the Happy Honk Dispenser to begin.
  components:
  - type: VendingMachineRestock
    canRestock:
    - HappyHonkDispenserInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_honk

- type: entity
  parent: BaseVendingMachineRestock
  id: VendingMachineRestockChemVend
  name: ChemVend restock box
  description: A box filled with chemicals and covered in dangerous-looking NFPA diamonds. Load it into a ChemVend to begin.
  components:
  - type: VendingMachineRestock
    canRestock:
    - ChemVendInventory
  - type: Sprite
    layers:
    - state: base
    - state: green_bit
      shader: unshaded
    - state: refill_medical
