- type: entity
  name: Wisp
  parent: [ BaseSimpleMob, FlyingMobBase ]
  id: MobCosmicWisp
  components:
  - type: AntagImmune
  - type: Sprite
    drawdepth: Mobs
    sprite: _ST/CosmicCult/Mobs/wisp.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: wisp
      shader: unshaded
  - type: Physics
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.25
        density: 10
        mask:
        - FlyingMobMask
        layer:
        - FlyingMobLayer
  - type: Body
    prototype: Animal
  - type: Speech
    speechSounds: Alto
    speechVerb: Ghost
    allowedEmotes: []
  - type: TypingIndicator
    proto: alien
  - type: DamageStateVisuals
    states:
      Alive:
        Base: wisp
      Critical:
        Base: wisp
      Dead:
        Base: wisp
  - type: Grammar
    attributes:
      proper: true
      gender: epicene
  - type: Tag
    tags:
    - CannotSuicide
  - type: PointLight
    color: "#43286a"
    radius: 2.25
    energy: 12
    castShadows: false
  - type: LightBehaviour
    behaviours:
     - !type:FadeBehaviour
       interpolate: Linear
       minDuration: 5.5
       maxDuration: 5.5
       startValue: 4
       endValue: 12
       property: Energy
       enabled: true
       isLooped: true
       reverseWhenFinished: true

- type: entity
  categories: [ HideSpawnMenu ]
  parent: BaseStructure
  id: CosmicChantryWisp
  name: Wisp
  components:
  - type: Sprite
    sprite: _ST/CosmicCult/Mobs/wisp.rsi
    layers:
      - state: wisp
        shader: unshaded
  - type: Speech
  - type: Transform
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.1,-0.1,0.1,0.1"
        mask:
        - LargeMobMask
        layer:
        - WallLayer
  #region Starlight languages
  - type: UniversalLanguageSpeaker
  #endregion
