- type: entity
  id: BaseSign
  name: base sign
  abstract: true
  components:
  - type: Clickable
  - type: InteractionOutline
  - type: Physics
    bodyType: Static
    canCollide: false
    fixtures:
    - shape:
        !type:PhysShapeAabb {}
  - type: Damageable
    resistances: metallicResistances
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 5
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: Sprite
    drawdepth: WallTops
    sprite: Constructible/Misc/decals.rsi

# These signs would not have collision otherwise, they simply
# need collision in order for them to be destructible. Once the
# SmallImpassable etc. stuff actually gets implemented in this
# shitheap of a videogame bother swept to go back and fix these.

- type: entity
  parent: BaseSign
  id: PaintingMonkey
  name: monkey painting
  description: Return to monky.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.1,-0.4,0.1,0.4"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: monkey_painting

# Directional Station Guide Signs

- type: entity
  parent: BaseSign
  id: SignDirectionalSec
  name: sec sign
  description: A direction sign, pointing out which way Security is.
  components:
  - type: Rotatable
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.1,-0.4,0.1,0.4"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: direction_sec

- type: entity
  parent: BaseSign
  id: SignDirectionalEvac
  name: evac sign
  description: A direction sign, pointing out which way evac is.
  components:
  - type: Rotatable
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.1,-0.4,0.1,0.4"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: direction_evac


- type: entity
  parent: BaseSign
  id: SignDirectionalBridge
  name: bridge sign
  description: A direction sign, pointing out which way the Bridge is.
  components:
  - type: Rotatable
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.1,-0.4,0.1,0.4"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: direction_bridge


- type: entity
  parent: BaseSign
  id: SignDirectionalMed
  name: medical sign
  description: A direction sign, pointing out which way the Medical department is.
  components:
  - type: Rotatable
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.1,-0.4,0.1,0.4"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: direction_med


- type: entity
  parent: BaseSign
  id: SignDirectionalEng
  name: engineering sign
  description: A direction sign, pointing out which way the Engineering department is.
  components:
  - type: Rotatable
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.1,-0.4,0.1,0.4"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: direction_eng

- type: entity
  parent: BaseSign
  id: SignDirectionalSci
  name: science sign
  description: A direction sign, pointing out which way the Science department is.
  components:
  - type: Rotatable
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.1,-0.4,0.1,0.4"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: direction_sci

- type: entity
  parent: BaseSign
  id: SignDirectionalSupply
  name: supply sign
  description: A direction sign, pointing to some supplies.
  components:
  - type: Rotatable
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.1,-0.4,0.1,0.4"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: direction_supply

# Regular Signs
# Descriptions intentionally left empty.

- type: entity
  parent: BaseSign
  id: SignArmory
  name: armory sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: armory


- type: entity
  parent: BaseSign
  id: SignToolStorage
  name: tool storage sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: ass


- type: entity
  parent: BaseSign
  id: SignAnomaly
  name: anomaly lab sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: anomaly


- type: entity
  parent: BaseSign
  id: SignAtmos
  name: atmos sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: atmos


- type: entity
  parent: BaseSign
  id: SignBar
  name: bar sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: bar


- type: entity
  parent: BaseSign
  id: SignLibrary
  name: library sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: biblio


- type: entity
  parent: BaseSign
  id: SignChapel
  name: chapel sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: chapel


- type: entity
  parent: BaseSign
  id: SignHead
  name: head sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: commander


- type: entity
  parent: BaseSign
  id: SignConference
  name: conference room sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: conference_room


- type: entity
  parent: BaseSign
  id: SignDrones
  name: drones sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: drones

- type: entity
  parent: BaseSign
  id: SignEngine
  name: engine sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: engine

- type: entity
  parent: BaseSign
  id: SignCloning
  name: cloning sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: cloning

- type: entity
  parent: BaseSign
  id: SignInterrogation
  name: interrogation sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: interrogation

- type: entity
  parent: BaseSign
  id: SignSurgery
  name: surgery sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: surgery

- type: entity
  parent: BaseSign
  id: SignTelecomms
  name: telecomms sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: telecoms

- type: entity
  parent: BaseSign
  id: SignCargo
  name: cargo sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: cargo

- type: entity
  parent: BaseSign
  id: SignCargoDock
  name: cargo dock sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: cargo_dock

- type: entity
  parent: BaseSign
  id: SignChem
  name: chemistry sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: chem

- type: entity
  parent: BaseSign
  id: SignShipDock
  name: docking sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: dock

- type: entity
  parent: BaseSign
  id: SignEngineering
  name: engineering sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: eng

- type: entity
  parent: BaseSign
  id: SignEVA
  name: EVA sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: eva

- type: entity
  parent: BaseSign
  id: SignGravity
  name: gravity sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: gravi

- type: entity
  parent: BaseSign
  id: SignMedical
  name: medbay sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: medbay

- type: entity
  parent: BaseSign
  id: SignMorgue
  name: morgue sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: morgue

- type: entity
  parent: BaseSign
  id: SignPrison
  name: prison sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: prison

- type: entity
  parent: BaseSign
  id: SignRND
  name: research and development sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: rnd

- type: entity
  parent: BaseSign
  id: SignScience
  name: science sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: sci

- type: entity
  parent: BaseSign
  id: SignToxins
  name: toxins sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: toxins

- type: entity
  parent: BaseSign
  id: SignBridge
  name: bridge sign
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: bridge

# Atmos Warnings

- type: entity
  parent: BaseSign
  id: WarningAir
  name: air warning sign
  description: WARNING! Air flow tube. Ensure the flow is disengaged before working.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.2,-0.3,0.2,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: atmos_air

- type: entity
  parent: BaseSign
  id: WarningCO2
  name: CO2 warning sign
  description: WARNING! CO2 flow tube. Ensure the flow is disengaged before working.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.2,-0.3,0.2,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: atmos_co2

- type: entity
  parent: BaseSign
  id: WarningN2
  name: N2 warning sign
  description: WARNING! N2 flow tube. Ensure the flow is disengaged before working.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.2,-0.3,0.2,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: atmos_n2

- type: entity
  parent: BaseSign
  id: WarningN2O
  name: N2O warning sign
  description: WARNING! N2O flow tube. Ensure the flow is disengaged before working.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.2,-0.3,0.2,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: atmos_n2o

- type: entity
  parent: BaseSign
  id: WarningO2
  name: O2 warning sign
  description: WARNING! O2 flow tube. Ensure the flow is disengaged before working.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.2,-0.3,0.2,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: atmos_o2

- type: entity
  parent: BaseSign
  id: WarningPlasma
  name: plasma waste sign
  description: WARNING! Plasma flow tube. Ensure the flow is disengaged before working.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.2,-0.3,0.2,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: atmos_plasma

- type: entity
  parent: BaseSign
  id: WarningWaste
  name: atmos waste sign
  description: WARNING! Waste flow tube. Ensure the flow is disengaged before working.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.2,-0.3,0.2,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: atmos_waste

- type: entity
  parent: BaseSign
  id: SignSmoking
  name: no smoking sign
  description: A warning sign which reads 'NO SMOKING'
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: nosmoking2

- type: entity
  parent: BaseSign
  id: SignSomethingOld
  name: old sign
  description: Technical information of some sort, shame its too worn-out to read.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: something-old1

- type: entity
  parent: BaseSign
  id: SignSomethingOld2
  name: old sign
  description: Looks like a planet crashing by some station above it. Its kinda scary.
  components:
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.3,0.4,0.3"
      layer:
      - SmallImpassable
      mask:
      - VaultImpassable
  - type: Sprite
    state: something-old2
