- type: entity
  id: GravityGenerator
  name: gravity generator
  description: It's what keeps you to the floor.
  components:
  - type: Sprite
    netsync: false
    sprite: Constructible/Power/gravity_generator.rsi
    layers:
      - state: on
        map: ["enum.GravityGeneratorVisualLayers.Base"]
      - sprite: Constructible/Power/gravity_generator_core.rsi
        state: activated
        shader: unshaded
        map: ["enum.GravityGeneratorVisualLayers.Core"]
  - type: SnapGrid
  - type: PowerReceiver
    powerLoad: 500
  - type: Physics
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-1.5,-1.5,1.5,1.5"
      layer:
      - Opaque
      - Impassable
      - MobImpassable
      - VaultImpassable
  - type: Clickable
  - type: InteractionOutline
  - type: Damageable
    resistances: metallicResistances
  - type: Repairable
    fuelCost: 10
    doAfterDelay: 5
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:DoActsBehavior
        acts: ["Breakage"]
  - type: GravityGenerator
  - type: UserInterface
    interfaces:
      - key: enum.GravityGeneratorUiKey.Key
        type: GravityGeneratorBoundUserInterface
  - type: Appearance
    visuals:
    - type: GravityGeneratorVisualizer
      spritemap:
        broken: "broken"
        unpowered: "off"
        off: "off"
        on: "on"

  placement:
    mode: AlignTileAny
