- type: entity
  parent: [BaseItem, BaseCommandContraband] # Frontier: Added BaseCommandContraband
  id: AccessConfigurator
  name: access configurator
  description: Used to modify the access level requirements for airlocks and other lockable devices.
  components:
    - type: EmitSoundOnLand
      sound:
        path: /Audio/Items/multitool_drop.ogg
    - type: Sprite
      sprite: Objects/Tools/access_configurator.rsi
      state: icon
    - type: Item
      size: Small
    - type: Clothing
      sprite: Objects/Tools/access_configurator.rsi
      quickEquip: false
      slots:
        - Belt
    - type: AccessOverrider
      accessLevels:
      - Armory
      # - Atmospherics # Frontier
      # - Bar # Frontier
      - Bailiff # Frontier
      - Brig
      - Brigmedic # Frontier
      - Captain
      # - Cargo # Frontier
      # - Chapel # Frontier
      # - Chemistry # Frontier
      # - ChiefMedicalOfficer # Frontier
      - Command
      - Detective # Frontier - moved down
      - Engineering
      - External
      - Frontier # Frontier
      # - Hydroponics # Frontier
      - Janitor
      # - Kitchen # Frontier
      # - Lawyer # Frontier
      - Mail # Frontier
      - Maintenance
      - Medical
      - Mercenary # Frontier
      - ChiefEngineer # Frontier: reordered for "Plant Manager"
      # - Quartermaster # Frontier
      # - Research # Frontier
      # - ResearchDirector # Frontier
      # - Salvage # Frontier
      - Security
      - Sergeant # Frontier
      - Service
      - HeadOfSecurity # Frontier: reordered for "Sheriff"
      - HeadOfPersonnel # Frontier: reordered for "Station Representative"
      - StationTrafficController # Frontier
      # - Theatre # Frontier
      - GenpopEnter
      - GenpopLeave
      privilegedIdSlot:
        name: id-card-console-privileged-id
        ejectSound: /Audio/Machines/id_swipe.ogg
        insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
        ejectOnBreak: true
        swap: false
        whitelist:
          components:
          - IdCard
      denialSound:
        path: /Audio/Machines/custom_deny.ogg
      doAfter: 0.5
    - type: UserInterface
      interfaces:
        enum.AccessOverriderUiKey.Key:
          type: AccessOverriderBoundUserInterface
    - type: ActivatableUI
      key: enum.AccessOverriderUiKey.Key
      requiresComplex: true
      requireActiveHand: false
      singleUser: true
      inHandsOnly: true
    - type: ItemSlots
    - type: ContainerContainer
      containers:
        AccessOverrider-privilegedId: !type:ContainerSlot

- type: entity
  parent: AccessConfigurator
  id: AccessConfiguratorUniversal
  name: universal access configurator
  suffix: Admin
  description: A modified access configurator used only by the mythical Administrator.
  components:
  - type: Sprite
    sprite: Objects/Tools/universal_access_configurator.rsi
  - type: Clothing
    sprite: Objects/Tools/universal_access_configurator.rsi
  - type: AccessOverrider
    accessLevels:
    - Armory
    - StationAi # Frontier: reordered for "Artificial Intelligence"
    - Atmospherics
    - Bar
    - Brig
    - Brigmedic # Frontier
    - Captain
    - Cargo
    - Chapel
    - Chemistry
    - ChiefMedicalOfficer
    - Command
    - Cryogenics
    - Borg # Frontier: reordered for "Cyborg"
    - Detective # Frontier: moved down
    - EmergencyShuttleRepealAll
    - Engineering
    - External
    - Frontier # Frontier
    - Hydroponics
    - Janitor
    - Kitchen
    - Lawyer
    - Mail # Frontier
    - Maintenance
    - Medical
    - Mercenary # Frontier
    - ChiefEngineer # Frontier: reordered for "Plant Manager"
    - Pirate # Frontier
    - Quartermaster
    - Research
    - ResearchDirector
    - BasicSilicon # Frontier: reordered for "Robot"
    - Salvage
    - Security
    - Service
    - HeadOfSecurity # Frontier: reordered for "Sheriff"
    - HeadOfPersonnel # Frontier: reordered for "Station Representative"
    - StationTrafficController # Frontier
    - Theatre
    - CentralCommand
    - NuclearOperative
    - SyndicateAgent
    - Wizard
    - Xenoborg
    - GenpopEnter
    - GenpopLeave
    privilegedIdSlot:
      name: id-card-console-privileged-id
      startingItem: UniversalIDCard
      ejectSound: /Audio/Machines/id_swipe.ogg
      insertSound: /Audio/Weapons/Guns/MagIn/batrifle_magin.ogg
      ejectOnBreak: true
      swap: false
      whitelist:
        components:
        - IdCard
    denialSound:
      path: /Audio/Machines/custom_deny.ogg
    doAfter: 0.5
