- type: entity
  abstract: true
  id: VehicleSPPTankInteriorBase
  name: SPP tank interior piece
  description: A decorative interior piece for an SPP tank.
  placement:
    mode: PlaceFree
  components:
  - type: Sprite
    sprite: _RMC14/Structures/Vehicles/Interiors/spptank.rsi
    drawdepth: Walls
  - type: InteractionTransparency

- type: entity
  abstract: true
  id: VehicleSPPTankChassisBase
  name: SPP tank interior chassis
  description: A chassis segment for an SPP tank interior.
  placement:
    mode: PlaceFree
  components:
  - type: Sprite
    sprite: _RMC14/Structures/Vehicles/Interiors/spptank_chassis.rsi
    drawdepth: FloorTiles
  - type: InteractionTransparency

- type: entity
  parent: VehicleSPPTankChassisBase
  id: VehicleSPPTankChassis
  components:
  - type: Sprite
    state: spptank_chassis

- type: entity
  parent: VehicleSPPTankChassisBase
  id: VehicleSPPTankChassisAlt
  components:
  - type: Sprite
    state: spptank_chassis1

- type: entity
  abstract: true
  parent: VehicleSPPTankInteriorBase
  id: VehicleSPPTankWallBase
  placement:
    mode: PlaceFree
  components:
  - type: Physics
    bodyType: Static
    canCollide: true
  - type: Occluder
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.49,-0.49,0.49,0.49"
        density: 20000
        hard: true
        mask:
        - FullTileMask
        layer:
        - HighImpassable
        - MidImpassable
        - LowImpassable
        - Opaque
        - InteractImpassable

- type: entity
  abstract: true
  parent: VehicleSPPTankWallBase
  id: VehicleSPPTankDoorBase
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: RemoveComponents
    components:
    - type: InteractionTransparency

- type: entity
  parent: VehicleSPPTankDoorBase
  id: VehicleSPPTankHatch
  components:
  - type: Sprite
    state: hatch

- type: entity
  parent: VehicleSPPTankHatch
  id: VehicleSPPTankExitHatch
  components:
  - type: RemoveComponents
    components:
    - type: Fixtures
    - type: Occluder
  - type: Physics
    bodyType: Static
    canCollide: false
  - type: VehicleExit

- type: entity
  parent: VehicleSPPTankInteriorBase
  id: VehicleSPPTankProp0
  components:
  - type: Sprite
    state: prop0

- type: entity
  abstract: true
  parent: CMClosetBase
  id: VehicleSPPTankLockerBase
  name: SPP tank locker
  description: A storage locker for SPP tank interiors.
  placement:
    mode: PlaceFree
  components:
  - type: Transform
    anchored: false
  - type: Physics
    bodyType: Static
  - type: WallMount
    arc: 360
  - type: Sprite
    sprite: _RMC14/Structures/Vehicles/Interiors/spptank.rsi
    drawdepth: Walls
    layers:
    - state: locker
      map: ["enum.StorageVisualLayers.Base"]
    - state: locker
      map: ["enum.StorageVisualLayers.Door"]
  - type: EntityStorageVisuals
    stateBaseClosed: locker
    stateBaseOpen: locker_open
    stateDoorClosed:
    stateDoorOpen:

- type: entity
  parent: VehicleSPPTankLockerBase
  id: VehicleSPPTankLocker
  name: SPP tank locker

- type: entity
  abstract: true
  parent: CMClosetBase
  id: VehicleSPPTankSmallLockerBase
  name: SPP tank small locker
  description: A small storage locker for SPP tank interiors.
  placement:
    mode: PlaceFree
  components:
  - type: Transform
    anchored: false
  - type: Physics
    bodyType: Static
  - type: WallMount
    arc: 360
  - type: Sprite
    sprite: _RMC14/Structures/Vehicles/Interiors/spptank.rsi
    drawdepth: Walls
    layers:
    - state: small_locker
      map: ["enum.StorageVisualLayers.Base"]
    - state: small_locker
      map: ["enum.StorageVisualLayers.Door"]
  - type: EntityStorageVisuals
    stateBaseClosed: small_locker
    stateBaseOpen: small_locker_open
    stateDoorClosed:
    stateDoorOpen:

- type: entity
  parent: VehicleSPPTankSmallLockerBase
  id: VehicleSPPTankSmallLocker
  name: SPP tank small locker

- type: entity
  abstract: true
  parent: CMClosetBase
  id: VehicleSPPTankSmallLockerAltBase
  name: SPP tank small locker (alt)
  description: An alternate small storage locker for SPP tank interiors.
  placement:
    mode: PlaceFree
  components:
  - type: Transform
    anchored: false
  - type: Physics
    bodyType: Static
  - type: WallMount
    arc: 360
  - type: Sprite
    sprite: _RMC14/Structures/Vehicles/Interiors/spptank.rsi
    drawdepth: Walls
    layers:
    - state: small_locker1
      map: ["enum.StorageVisualLayers.Base"]
    - state: small_locker1
      map: ["enum.StorageVisualLayers.Door"]
  - type: EntityStorageVisuals
    stateBaseClosed: small_locker1
    stateBaseOpen: small_locker1_open
    stateDoorClosed:
    stateDoorOpen:

- type: entity
  parent: VehicleSPPTankSmallLockerAltBase
  id: VehicleSPPTankSmallLockerAlt
  name: SPP tank small locker (alt)

- type: entity
  abstract: true
  parent: CMClosetBase
  id: VehicleSPPTankAmmoStorageBase
  name: SPP tank ammunition storage
  description: Ammunition storage for SPP tank interiors.
  placement:
    mode: PlaceFree
  components:
  - type: Transform
    anchored: false
  - type: Physics
    bodyType: Static
  - type: WallMount
    arc: 360
  - type: Sprite
    sprite: _RMC14/Structures/Vehicles/Interiors/spptank.rsi
    drawdepth: Walls
    layers:
    - state: storage_ammo
      map: ["enum.StorageVisualLayers.Base"]
    - state: storage_ammo
      map: ["enum.StorageVisualLayers.Door"]
  - type: EntityStorageVisuals
    stateBaseClosed: storage_ammo
    stateBaseOpen: storage_ammo_open
    stateDoorClosed:
    stateDoorOpen:

- type: entity
  parent: VehicleSPPTankAmmoStorageBase
  id: VehicleSPPTankAmmoStorage
  name: SPP tank ammunition storage

- type: entity
  parent: VehicleInteriorWallMountedBase
  id: VehicleSPPTankAmmoLoader
  name: SPP tank ammo loader
  description: A loader for SPP tank hardpoint ammunition.
  components:
  - type: Sprite
    drawdepth: BelowMobs
    sprite: _RMC14/Structures/Vehicles/Interiors/spptank.rsi
    state: weapons_loader
  - type: VehicleAmmoLoader
  - type: UserInterface
    interfaces:
      enum.VehicleAmmoLoaderUiKey.Key:
        type: VehicleAmmoLoaderBoundUserInterface
