# Combat action
- type: entity
  id: ActionCombatModeToggleXenomorph
  parent: ActionCombatModeToggle
  components:
  - type: Action
    icon: { sprite: _White/Interface/Actions/xenomorph.rsi, state: help }
    iconOn: { sprite: _White/Interface/Actions/xenomorph.rsi, state: harm }

# Thermal action
- type: entity
  id: ToggleThermalVisionXenomorph
  parent: ToggleThermalVision
  components:
  - type: Action
    icon: { sprite: _White/Interface/Actions/xenomorph.rsi, state: vision_off }
    iconOn: { sprite: _White/Interface/Actions/xenomorph.rsi, state: vision_on }

# Evolution actions
- type: entity
  id: ActionEvolution
  parent: BaseAction
  name: Evolve
  description: Evolve into a higher xenomorph caste.
  components:
  - type: Action
    checkCanInteract: false
    itemIconStyle: BigAction
    useDelay: 0
    icon: { sprite: _White/Interface/Actions/xenomorph.rsi, state: evolve }
  - type: InstantAction
    event: !type:EvolutionsActionEvent

- type: entity
  id: ActionEvolutionPraetorian
  parent: ActionEvolution
  name: Evolve to praetorian (500)
  description: Evolve into the main defender of the hive.
  components:
  - type: Action
    icon: { sprite: _White/Interface/Actions/xenomorph.rsi, state: evolve_praetorian }
  - type: PlasmaCostAction
    plasmaCost: 500

- type: entity
  id: ActionEvolutionQueen
  parent: ActionEvolutionPraetorian
  name: Evolve to queen (500)
  description: Produce an internal egg sac capable of spawning children. Only one queen can exist at a time.
  components:
  - type: Action
    icon: { sprite: _White/Interface/Actions/xenomorph.rsi, state: evolve_queen }

# Structures actions
- type: entity
  id: ActionSpawnResinWeedNode
  parent: BaseAction
  name: Plant weeds (50)
  description: Plants some xenomorph weeds.
  components:
  - type: Action
    itemIconStyle: BigAction
    useDelay: 2
    icon: { sprite: _RMC14/Structures/Xenos/xeno_weeds.rsi, state: constructionnode } # Goobstation new sprites
  - type: InstantAction
    event: !type:SpawnTileEntityActionEvent
      entity: ResinWeedNode
      blockedCollisionMask:
      - SlipLayer
      blockedCollisionLayer:
      - Impassable
      - MidImpassable
      - LowImpassable
  - type: PlasmaCostAction
    plasmaCost: 50 # Goobstation

- type: entity
  id: ActionSpawnXenomorphEgg
  name: Lay egg (75)
  description: Lay an egg to produce facehuggers to impregnate prey with.
  components:
  - type: Action
    checkCanInteract: false
    itemIconStyle: BigAction
    useDelay: 2
    icon: { sprite: _White/Interface/Actions/xenomorph.rsi, state: egg }
  - type: InstantAction
    event: !type:SpawnTileEntityActionEvent
      entity: XenomorphEgg
      blockedCollisionMask:
      - TableMask
      blockedCollisionLayer:
      - TableLayer
      - BulletImpassable
  - type: PlasmaCostAction
    plasmaCost: 75

# TODO: delete it
- type: entity
  id: ActionSpawnWallResin
  parent: BaseAction
  name: Build a resin wall (50)
  description: Secrete tough malleable resin.
  components:
  - type: Action
    useDelay: 2 # Goobstation
    itemIconStyle: BigAction
    icon: { sprite: _RMC14/Structures/Xenos/xeno_resin_wall.rsi, state: resin } # Goobstation new sprites
  - type: TargetAction
    range: 2
  - type: WorldTargetAction
    event: !type:PlaceTileEntityEvent
      entity: WallResin
      length: 2 # Goobstation
      blockedCollisionMask:
      - FullTileMask
      blockedCollisionLayer:
      - WallLayer
  - type: PlasmaCostAction
    plasmaCost: 50 # Goobstation

# TODO: delete it # Goobstation - removed
#- type: entity
#  id: ActionSpawnResinMembrane
#  parent: BaseAction
#  name: Build a resin membrane (50)
#  description: Secrete tough malleable resin.
#  components:
#  - type: Action
#    useDelay: 1
#    itemIconStyle: BigAction
#    icon: { sprite: _RMC14/Structures/Xenos/xeno_resin_wall.rsi, state: membrane } # Goobstation new sprites
#  - type: TargetAction
#    range: 2
#  - type: WorldTargetAction
#    event: !type:PlaceTileEntityEvent
#      entity: ResinMembrane
#      length: 0.5
#      blockedCollisionMask:
#      - FullTileMask
#      blockedCollisionLayer:
#      - GlassLayer
#  - type: PlasmaCostAction

- type: entity # Goobstation - new action
  id: ActionSpawnResinDoor
  parent: BaseAction
  name: Build a resin door (75)
  description: Secrete tough malleable resin.
  components:
  - type: Action
    useDelay: 2
    itemIconStyle: BigAction
    icon: { sprite :  _RMC14/Structures/Xenos/xeno_resin_door.rsi, state: resin }
  - type: TargetAction
    range: 2
  - type: WorldTargetAction
    event: !type:PlaceTileEntityEvent
      entity: ResinDoor
      length: 2
      blockedCollisionMask:
      - TableMask
      blockedCollisionLayer:
      - TableLayer
      - BulletImpassable
  - type: PlasmaCostAction
    plasmaCost: 75

# TODO: delete it
- type: entity
  id: ActionSpawnResinNest
  parent: BaseAction
  name: Build a resin nest (50)
  description: Secrete tough malleable resin.
  components:
  - type: Action
    useDelay: 1
    itemIconStyle: BigAction
    icon: { sprite : _White/Structures/Windows/resin_membrane.rsi, state: full }
  - type: TargetAction
    range: 2
  - type: WorldTargetAction
    event: !type:PlaceTileEntityEvent
      entity: ResinNest
      length: 2 # Goobstation
      blockedCollisionMask:
      - TableMask
      blockedCollisionLayer:
      - TableLayer
      - BulletImpassable
  - type: PlasmaCostAction
    plasmaCost: 50 # Goobstation

# Tail lash action
- type: entity
  id: ActionTailLash
  parent: BaseAction
  name: Tail lash
  description: Hit your opponent with your tail.
  components:
  - type: Action
    useDelay: 11
    itemIconStyle: BigAction
    icon: { sprite : _White/Interface/Actions/xenomorph.rsi, state: tail_attack }
  - type: TargetAction
    range: 10
  - type: WorldTargetAction
    event: !type:TailLashActionEvent

# Acid action - Goob Commented out until future fix
#- type: entity
#  id: ActionAcid
#  parent: BaseAction
#  name: Corrosive acid (200)
#  description: Drench an object in acid, destroying it over time.
#  components:
#  - type: Action
#    useDelay: 11
#    itemIconStyle: BigAction # Goobstation
#    icon: { sprite: _White/Interface/Actions/xenomorph.rsi, state: acid } # Goobstation
#  - type: TargetAction
#    interactOnMiss: false
#    range: 2
#    targetingIndicator: true # Goobstation
#    checkCanAccess: true # Goobstation
#  - type: EntityTargetAction
#    event: !type:AcidActionEvent
#  - type: PlasmaCostAction
#    plasmaCost: 200

# Jump action
- type: entity
  id: ActionJumpXenomorph
  parent: BaseAction
  name: Jump
  description: Stun your enemies with a quick jump.
  components:
  - type: Action
    priority: 0
    useDelay: 3
    icon: { sprite : _White/Interface/Actions/xenomorph.rsi, state: leap_off }
    iconOn: { sprite : _White/Interface/Actions/xenomorph.rsi, state: leap_on }
  - type: TargetAction
    range: 10
  - type: WorldTargetAction
    event: !type:JumpActionEvent

# Transfer plasma action
- type: entity
  id: ActionTransferPlasma
  parent: BaseAction
  name: Transfer plasma (50)
  description: Passes plasma to your friend.
  components:
  - type: Action
    priority: 0
    icon: { sprite : _White/Interface/Actions/xenomorph.rsi, state: plasma_transfer_off }
    iconOn: { sprite : _White/Interface/Actions/xenomorph.rsi, state: plasma_transfer_on }
  - type: TargetAction
    interactOnMiss: false
    range: 2
  - type: EntityTargetAction
    event: !type:TransferPlasmaActionEvent

# Promotion action
- type: entity
  id: ActionXenomorphPromotion
  parent: BaseAction
  name: Promote to Praetorian (500) # Goobstation
  description: Directly promote a xenomorph to Praetorian status. # Goobstation
  components:
  - type: Action
    itemIconStyle: BigAction
    useDelay: 5 # Goobstation
    icon: { sprite : _White/Interface/Actions/xenomorph.rsi, state: promote }
  - type: TargetAction # Goobstation start
    checkCanAccess: true
    range: 2
  - type: EntityTargetAction
    canTargetSelf: false
    whitelist:
      requireAll: true
      components:
        - XenomorphComponent # Goobstation end
    event: !type:PromotionActionEvent
  - type: PlasmaCostAction
    plasmaCost: 500
