- type: entity
  id: ToolboxBase
  parent: [BaseStorageItem, RecyclableItemSteelMedium] # Frontier: added RecyclableItemSteelMedium
  abstract: true
  components:
  - type: Sprite
    layers:
      - map: [ base ]
        state: icon
  # Goobstation edit start
  - type: EmitSoundOnPickup
    sound:
      path: /Audio/_Goobstation/Items/handling/toolbox_pickup.ogg
  - type: EmitSoundOnDrop
    sound:
      path: /Audio/Items/toolbox_drop.ogg
  # Goobstation edit end
  - type: EmitSoundOnLand
    sound:
      path: /Audio/Items/toolbox_drop.ogg
  - type: Storage
    maxItemSize: Normal
    grid:
    - 0,0,6,3
  - type: Item
    size: Ginormous
  - type: MeleeWeapon
    heavyStaminaCost: 10 # goob edit
    damage:
      types:
        Blunt: 20
    soundHit:
      path: "/Audio/Weapons/smash.ogg"
  - type: Tag
    tags:
    - Toolbox
  - type: GenericVisualizer
    visuals:
      enum.StorageVisuals.Open:
        base:
          True: { state: icon-open }
          False: { state: icon }
  - type: Appearance

- type: entity
  name: emergency toolbox
  parent: ToolboxBase
  id: ToolboxEmergency
  description: A bright red toolbox, stocked with emergency tools.
  components:
  - type: Sprite
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_red.rsi #imp edit
    state: icon
  - type: Item
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_red.rsi #imp edit

- type: entity
  name: mechanical toolbox
  parent: ToolboxBase
  id: ToolboxMechanical
  description: A blue box, stocked with mechanical tools.
  components:
  - type: Sprite
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_blue.rsi #imp edit
    state: icon
  - type: Item
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_blue.rsi #imp edit

- type: entity
  name: electrical toolbox
  parent: ToolboxBase
  id: ToolboxElectrical
  description: A toolbox typically stocked with electrical gear.
  components:
  - type: Sprite
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_yellow.rsi #imp edit
    state: icon
  - type: Item
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_yellow.rsi #imp edit

- type: entity
  name: electrical toolbox
  suffix: Syndicate, Turret
  parent: ToolboxElectrical
  id: ToolboxElectricalTurret
  description: A toolbox typically stocked with electrical gear.
  components:
  - type: Damageable
    damageContainer: Inorganic
  - type: Destructible
    thresholds:
      - trigger:
          !type:DamageTrigger
          damage: 100
        behaviors:
          - !type:DoActsBehavior
            acts: [ "Destruction" ]
      - trigger:
          !type:DamageTrigger
          damage: 1
        behaviors:
          - !type:DoActsBehavior
            acts: [ "Destruction" ]
          - !type:SpawnEntitiesBehavior
            spawn:
              WeaponTurretSyndicateDisposable:
                min: 1
                max: 1
  - type: StaticPrice
    price: 1350

- type: entity
  name: artistic toolbox
  parent: ToolboxBase
  id: ToolboxArtistic
  description: A toolbox typically stocked with artistic supplies.
  components:
  - type: Sprite
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_green.rsi #imp edit
    state: icon
  - type: Item
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_green.rsi #imp edit

- type: entity
  name: suspicious toolbox
  parent: ToolboxBase
  id: ToolboxSyndicate
  description: A sinister looking toolbox filled with elite syndicate tools.
  components:
  - type: Sprite
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_syn.rsi #imp edit
    state: icon
  - type: Item
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_syn.rsi #imp edit
  - type: Storage
    maxItemSize: Huge
    grid:
    - 0,0,7,3
  - type: MeleeWeapon
    heavyStaminaCost: 10 # goob edit
    damage:
      types:
        Blunt: 30

- type: entity
  name: golden toolbox
  parent: ToolboxBase
  id: ToolboxGolden
  description: A solid gold toolbox. A rapper would kill for this.
  components:
  - type: Sprite
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_gold.rsi #imp edit
    state: icon
  - type: Item
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_gold.rsi #imp edit

- type: entity
  id: ToolboxThief
  name: thief undetermined toolbox
  description: This is where your favorite thief's supplies lie. Try to remember which ones.
  parent: BaseItem
  components:
  - type: Sprite
    sprite: _Impstation/Objects/Tools/Toolboxes/toolbox_thief.rsi
    state: icon
  - type: ThiefUndeterminedBackpack
    possibleSets:
    # TODO Thief pinpointer needed
    - ChemistrySet
    - ToolsSet
    - ChameleonSet # TODO Chameleon stump PR needed
    - SyndieSet
    - SleeperSet
    - CommunicatorSet
    - SmugglerSet
  - type: ActivatableUI
    key: enum.ThiefBackpackUIKey.Key
  - type: UserInterface
    interfaces:
      enum.ThiefBackpackUIKey.Key:
        type: ThiefBackpackBoundUserInterface
