- type: entity
  parent: RMCCommunicationsConsoleBase
  id: AUbudgetConsole
  name: budget console
  description: A budget console
  components:
  - type: Sprite
    sprite: _RMC14/Structures/Machines/computer.rsi
    state: terminal
  - type: InteractionOutline
  - type: ActivatableUI
    key: enum.BudgetConsoleUi.Key
  - type: UserInterface
    interfaces:
      enum.BudgetConsoleUi.Key:
        type: BudgetConsoleBui
  - type: ActivatableUIBlacklist
    blacklist:
      components:
      - Xeno
  - type: BudgetConsole
  - type: ActivatableUIRequiresAccess
  - type: AccessReader
    access: [ [ "AU14AccessGovforCommand" ], [ "CMAccessColonyCommand" ] ]
  - type: ItemSlots
    slots:
      CashSlot:
        whitelist:
          tags:
          - Currency
  - type: ContainerContainer
    containers:
      CashSlot: !type:ContainerSlot {}




- type: entity
  parent: BaseStructure
  id: AUSubmissionPointBase
  name: submission point
  description: A place to submit  resources for shipping.
  suffix: Any
  components:
  - type: Sprite
    sprite: _AU14/Structures/colony_processor.rsi
    layers:
    - state: icon
      map: ["enum.LatheVisualLayers.IsRunning"]
    - state: unlit
      shader: unshaded
      map: ["enum.PowerDeviceVisualLayers.Powered"]
    - state: inserting
      map: ["enum.MaterialStorageVisualLayers.Inserting"]
    - state: panel
      map: ["enum.WiresVisualLayers.MaintenancePanel"]
  - type: InteractionOutline
  - type: ThrowInsertContainer
    containerId: submission
    probability: 100
  - type: SubmissionStorage
    rewards:
      SteelOre: 5
      AUwood: 20
      Vegetable: 1
      Fruit: 2
      CottonBoll: 2
      CMUGrain: 2
  - type: ContainerContainer
    containers:
      submission: !type:Container
      disposals: !type:Container
  - type: DisposalUnit
    whitelist:
      tags:
      - SteelOre
      - AUwood
      - Vegetable
      - Fruit
      - CottonBoll
      - CMUGrain

- type: entity
  parent: AUSubmissionPointBase
  id: AUSubmissionPointSteel
  name: submission point (steel)
  suffix: Steel
  description: A place to submit  resources for shipping.
  components:
  - type: SubmissionStorage
    rewards:
      SteelOre: 100 # RuCM price-upd
  - type: DisposalUnit
    whitelist:
      tags:
      - SteelOre

- type: Tag
  id: SteelOre

- type: entity
  parent: AUSubmissionPointBase
  id: AUSubmissionPointWood
  name: submission point (wood)
  suffix: Wood
  description: A place to submit  resources for shipping.
  components:
  - type: SubmissionStorage
    rewards:
      # RuCM price-upd
      AUwood: 25
  - type: DisposalUnit
    whitelist:
      tags:
      - AUwood

- type: Tag
  id: AUwood

- type: entity
  parent: AUSubmissionPointBase
  id: AUSubmissionPointVegetables
  name: submission Point (vegetables)
  description: A place to submit  resources for shipping.
  suffix: Vegetables
  components:
  - type: SubmissionStorage
    rewards:
      # RuCM price-upd
      Vegetable: 10
  - type: DisposalUnit
    whitelist:
      tags:
      - Vegetable

- type: entity
  parent: AUSubmissionPointBase
  id: AUSubmissionPointFruit
  name: submission point (fruit)
  description: A place to submit  resources for shipping.
  components:
  - type: SubmissionStorage
    rewards:
      # RuCM price-upd
      Fruit: 20
  - type: DisposalUnit
    whitelist:
      tags:
      - Fruit

# RuCM change start
# We-Yu Submission Points
- type: entity
  parent: AUSubmissionPointBase
  id: AUSubmissionPointSteelWeYu
  name: submission Point (steel - We-Yu)
  description: A place to submit steel for the We-Yu faction.
  components:
    - type: ItemSlots
      slots:
        ItemCabinet:
          whitelist:
            tags:
              - SteelOre
    - type: SubmissionStorage
      isCorporate: true
      rewards:
        SteelOre: 120
    - type: DisposalUnit
      whitelist:
        tags:
        - SteelOre

- type: entity
  parent: AUSubmissionPointBase
  id: AUSubmissionPointWoodWeYu
  name: submission Point (wood - We-Yu)
  description: A place to submit wood for the We-Yu faction.
  components:
    - type: ItemSlots
      slots:
        ItemCabinet:
          whitelist:
            tags:
              - AUwood
    - type: SubmissionStorage
      isCorporate: true
      rewards:
        AUwood: 40
    - type: DisposalUnit
      whitelist:
        tags:
        - AUwood

- type: entity
  parent: AUSubmissionPointBase
  id: AUSubmissionPointVegetablesWeYu
  name: submission Point (vegetables - We-Yu)
  description: A place to submit vegetables for the We-Yu faction.
  components:
    - type: ItemSlots
      slots:
        ItemCabinet:
          whitelist:
            tags:
              - Vegetable
    - type: SubmissionStorage
      isCorporate: true
      rewards:
        Vegetable: 15
    - type: DisposalUnit
      whitelist:
        tags:
        - Vegetable

- type: entity
  parent: AUSubmissionPointBase
  id: AUSubmissionPointFruitWeYu
  name: submission Point (fruit - We-Yu)
  description: A place to submit fruit for the We-Yu faction.
  components:
    - type: ItemSlots
      slots:
        ItemCabinet:
          whitelist:
            tags:
              - Fruit
    - type: SubmissionStorage
      isCorporate: true
      rewards:
        Fruit: 30
    - type: DisposalUnit
      whitelist:
        tags:
        - Fruit
# RuCM change end

- type: entity
  parent: AUSubmissionPointBase
  id: AUSubmissionPointCrop
  name: submission point (crop)
  components:
  - type: SubmissionStorage
    rewards:
      Fruit: 2
      Vegetable: 2
  - type: DisposalUnit
    whitelist:
      tags:
      - Fruit
      - Vegetable

- type: entity
  parent: RMCCommunicationsConsoleBase
  id: AUColonyCommsConsole
  name: Colony Communications Console
  description: Used to send announcements to all colony intercoms in range.
  components:
  - type: Sprite
    sprite: _RMC14/Structures/Machines/computer.rsi
    state: terminal
  - type: InteractionOutline
  - type: ActivatableUI
    key: enum.ColonyCommsConsoleUI.Key
  - type: UserInterface
    interfaces:
      enum.ColonyCommsConsoleUI.Key:
        type: ColonyCommsConsoleBui
  - type: AccessReader
    access: [[ "CMAccessColonyCommand" ]]
  - type: ActivatableUIBlacklist
    blacklist:
      components:
      - Xeno
  - type: ColonyCommsConsole


- type: entity
  id: AUColonyIntercom
  name: Colony Intercom
  description: A public intercom for colony-wide announcements.
  components:
  - type: IntrinsicRadioReceiver
  - type: Speech
  - type: ActiveRadio
    channels:
    - colonyAlert
  - type: RadioSpeaker
    enabled: true
    channels:
    - colonyAlert
  - type: Sprite
    noRot: false
    drawdepth: SmallObjects
    sprite: _RMC14/Structures/Wallmounts/intercom.rsi
    layers:
    - state: intercom-p
    - state: intercom
      map: ["enum.PowerDeviceVisualLayers.Powered"]
      shader: unshaded
    - state: broadcasting
      map: ["enum.RadioDeviceVisualLayers.Broadcasting"]
      shader: unshaded
      visible: false
    - state: speaker
      map: ["enum.RadioDeviceVisualLayers.Speaker"]
      shader: unshaded
      visible: false
  - type: Transform
    noRot: false
    anchored: true


- type: entity
  id: colonysiren
  name: Colony Siren
  parent: BaseStructure
  description: Emits a loud siren when activated.
  components:
  - type: Transform
    anchored: true
  - type: Physics
    bodyType: Static
  - type: Anchorable
    flags:
    - Anchorable
  - type: Sprite
    noRot: true
    sprite: _RMC14/Objects/Misc/Lights/trafficlights.rsi
    offset: 0.65,0.8
    layers:
    - state: trafficlight
    - state: trafficlight_on
      visible: false
      map: [ "light" ]
    drawdepth: Mobs
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.1,-0.1,0.1,0.1"
        density: 50
        mask:
        - MachineMask
        layer:
        - WallLayer
  - type: ColonySiren

- type: entity
  parent: RMCCommunicationsConsoleBase
  id: AUColonyATM
  name: Colony ATM
  description: Swipe your ID card on the machine to withdraw cash from your personal account.
  components:
  - type: Sprite
    sprite: _CMU14/Structures/Machines/atm.rsi
    state: atm
  - type: InteractionOutline
  - type: UserInterface
    interfaces:
      enum.ColonyAtmUi.Key:
        type: ColonyAtmBui
  - type: ColonyAtm


# Department Consoles
- type: entity
  parent: RMCCommunicationsConsoleBase
  id: AUDepartmentConsoleBase
  abstract: true
  name: Department Console
  description: A console for managing department employees, salaries, and communications. Insert cash to fund the department.
  components:
  - type: Sprite
    sprite: _RMC14/Structures/Machines/computer.rsi
    state: terminal
  - type: InteractionOutline
  - type: ActivatableUI
    key: enum.DepartmentConsoleUi.Key
  - type: UserInterface
    interfaces:
      enum.DepartmentConsoleUi.Key:
        type: DepartmentConsoleBui
  - type: ActivatableUIBlacklist
    blacklist:
      components:
      - Xeno
  - type: DepartmentConsole
  - type: ActivatableUIRequiresAccess
  - type: AccessReader
    access: [["CMAccessColonyCommand"]] # auadmin & aucmb
  - type: ItemSlots
    slots:
      CashSlot:
        whitelist:
          tags:
          - RMCSpaceCash
  - type: ContainerContainer
    containers:
      CashSlot: !type:ContainerSlot {}

- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleMedical
  name: Medical Department Console
  description: Manages employees, salaries, and announcements for the Medical department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Medical
    departmentId: AU14DepartmentColonyMedical
    departmentAccessLevel: CMAccessColonyMedbay
    defaultSalary: 50
  - type: AccessReader
    access: [["AU14AccessColonyHeadPhysician"]]

- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleEngineering
  name: Engineering Department Console
  description: Manages employees, salaries, and announcements for the Engineering department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Engineering
    departmentId: AU14DepartmentEngineering
    departmentAccessLevel: CMAccessColonyEngineering
    defaultSalary: 50
  - type: AccessReader
    access: [["AU14AccessColonyHeadEngineer"]]

- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleSecurity
  name: Security Department Console
  description: Manages employees, salaries, and announcements for the Security department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Security
    departmentId: AU14DepartmentColonySecurity
    departmentAccessLevel: CMAccessColonyBrig
    defaultSalary: 60
  - type: AccessReader
    access: [["AU14AccessColonyMarshall"]]


- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleLabor
  name: Labor Department Console
  description: Manages employees, salaries, and announcements for the Labor department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Cargo
    departmentId: AU14DepartmentLabor
    departmentAccessLevel: CMAccessColonyLogistics
    defaultSalary: 45
  - type: AccessReader
    access: [["AU14AccessColonyForeman"]]

- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleCommand
  name: Command Department Console
  description: Manages employees, salaries, and announcements for the Command department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Command
    departmentId: AU14DepartmentColonyCommand
    departmentAccessLevel: CMAccessColonyCommand
    defaultSalary: 75
  - type: AccessReader
    access: [["AU14AccessColonyAdministrator"]]

- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleCivilian
  name: Civilian Department Console
  description: Manages employees, salaries, and announcements for the Civilian department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Civilian
    departmentId: AU14DepartmentCivilian
    departmentAccessLevel: CMAccessColonyPublic
    defaultSalary: 40
  - type: AccessReader
    access: [["AU14AccessColonyHeadOfService"]]

- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleServices
  name: Services Department Console
  description: Manages employees, salaries, and announcements for the Services department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Services
    departmentId: AU14DepartmentServices
    departmentAccessLevel: CMAccessColonyPublic
    defaultSalary: 40
  - type: AccessReader
    access: [["AU14AccessColonyHeadOfService"]]

- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleCorporate
  name: Corporate Department Console
  description: Manages employees, salaries, and announcements for the Corporate department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Corporate
    departmentId: AU14DepartmentCorporate
    departmentAccessLevel: CMAccessColonyResearch
    defaultSalary: 55
    colonyManaged: false
    asrsFaction: corporate
  - type: AccessReader
    access: [["AU14AccessCorporateWEYULiaison"]]

- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleHydroponics
  name: Hydroponics Department Console
  description: Manages employees, salaries, and announcements for the Hydroponics department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Hydroponics
    departmentId: AU14DepartmentHydroponics
    departmentAccessLevel: CMAccessColonyPublic
    defaultSalary: 45
  - type: AccessReader
    access: [["AU14AccessColonyHeadOfService"]]

- type: entity
  parent: AUDepartmentConsoleBase
  id: AUDepartmentConsoleLumbermill
  name: Lumbermill Department Console
  description: Manages employees, salaries, and announcements for the Lumbermill department.
  components:
  - type: DepartmentConsole
    departmentName: department-AU14Lumbermill
    departmentId: AU14DepartmentLumbermill
    departmentAccessLevel: CMAccessColonyPublic
    defaultSalary: 45
  - type: AccessReader
    access: [["AU14AccessColonyForeman"]]
