# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Large packages.
- type: entity
  parent: BaseMail
  abstract: true
  id: BaseMailLarge
  name: package
  components:
  - type: Item
    size: Large
    shape:
    - 0,0,2,2
  - type: Sprite
    scale: 0.8, 0.8
    sprite: _NF/Objects/Specific/Mail/mail_large.rsi
    layers:
    - state: icon
      map: ["enum.MailVisualLayers.Icon"]
    - state: fragile
      map: ["enum.MailVisualLayers.FragileStamp"]
      visible: false
    - map: ["enum.MailVisualLayers.JobStamp"]
      scale: 0.8, 0.8
      offset: 0.235, -0.01
    - state: locked
      map: ["enum.MailVisualLayers.Lock"]
    - state: priority
      map: ["enum.MailVisualLayers.PriorityTape"]
      visible: false
      shader: unshaded
    - state: broken
      map: ["enum.MailVisualLayers.Breakage"]
      visible: false
  - type: GenericVisualizer
    visuals:
      enum.MailVisuals.IsTrash:
        enum.MailVisualLayers.Icon:
          True:
            state: trash
          False:
            state: icon
      enum.MailVisuals.IsLocked:
        enum.MailVisualLayers.Lock:
          True:
            visible: true
          False:
            visible: false
      enum.MailVisuals.IsFragile:
        enum.MailVisualLayers.FragileStamp:
          True:
            visible: true
          False:
            visible: false
      enum.MailVisuals.IsPriority:
        enum.MailVisualLayers.PriorityTape:
          True:
            visible: true
          False:
            visible: false
      enum.MailVisuals.IsPriorityInactive:
        enum.MailVisualLayers.PriorityTape:
          True:
            shader: shaded
            state: priority_inactive
          False:
            shader: unshaded
            state: priority
      enum.MailVisuals.IsBroken:
        enum.MailVisualLayers.Breakage:
          True:
            visible: true
          False:
            visible: false
  - type: MultiHandedItem
  - type: Mail
    isLarge: true

- type: entity
  categories: [ HideSpawnMenu ]
  parent: BaseMailLarge
  id: MailLargeAdminFun
  suffix: adminfun
