# SPDX-FileCopyrightText: 2020 AJCM-git <60196617+AJCM-git@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Metal Gear Sloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2020 Remie Richards <remierichards@gmail.com>
# SPDX-FileCopyrightText: 2020 Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2022 Vera Aguilera Puerto <gradientvera@outlook.com>
# SPDX-FileCopyrightText: 2022 metalgearsloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2023 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  # Just fades out with no movement animation
  id: WeaponArcStatic
  categories: [ HideSpawnMenu ]
  components:
    - type: TimedDespawn
      lifetime: 2.0
    - type: Sprite
      sprite: Effects/arcs.rsi
      state: spear
      drawdepth: Effects
    - type: EffectVisuals
    - type: WeaponArcVisuals
    - type: Tag
      tags:
        - HideContextMenu

- type: entity
  # Plays the state animation then disappears with no fade or swing
  id: WeaponArcAnimated
  categories: [ HideSpawnMenu ]
  components:
    - type: Sprite
      sprite: Effects/arcs.rsi
      state: disarm
      drawdepth: Effects
    - type: EffectVisuals
    - type: WeaponArcVisuals
      fadeOut: false


# Uses TimedDespawn instead of EffectVisuals because auto animation is easier but doesn't raise an animation complete event.

- type: entity
  id: WeaponArcThrust
  parent: WeaponArcStatic
  categories: [ HideSpawnMenu ]
  components:
    - type: WeaponArcVisuals
      animation: Thrust

- type: entity
  id: WeaponArcSlash
  parent: WeaponArcStatic
  categories: [ HideSpawnMenu ]
  components:
    - type: WeaponArcVisuals
      animation: Slash


- type: entity
  id: WeaponArcBite
  parent: WeaponArcStatic
  categories: [ HideSpawnMenu ]
  components:
    - type: WeaponArcVisuals
      fadeOut: false
    - type: Sprite
      state: bite
    - type: TimedDespawn
      lifetime: 0.399

- type: entity
  id: WeaponArcClaw
  parent: WeaponArcStatic
  categories: [ HideSpawnMenu ]
  components:
    - type: WeaponArcVisuals
      fadeOut: false
    - type: Sprite
      state: claw
    - type: TimedDespawn
      lifetime: 0.399

- type: entity
  id: WeaponArcDisarm
  parent: WeaponArcAnimated
  categories: [ HideSpawnMenu ]
  components:
    - type: WeaponArcVisuals
      fadeOut: false
    - type: Sprite
      state: disarm
    - type: TimedDespawn
      lifetime: 0.299

- type: entity
  id: WeaponArcFist
  parent: WeaponArcStatic
  categories: [ HideSpawnMenu ]
  components:
    - type: Sprite
      state: fist

- type: entity
  id: WeaponArcPunch
  parent: WeaponArcStatic
  categories: [ HideSpawnMenu ]
  components:
    - type: WeaponArcVisuals
      fadeOut: false
    - type: Sprite
      state: punch
    - type: TimedDespawn
      lifetime: 0.499

- type: entity
  id: WeaponArcKick
  parent: WeaponArcStatic
  categories: [ HideSpawnMenu ]
  components:
    - type: WeaponArcVisuals
      fadeOut: false
    - type: Sprite
      state: kick
    - type: TimedDespawn
      lifetime: 0.299

- type: entity
  id: WeaponArcSmash
  parent: WeaponArcStatic
  categories: [ HideSpawnMenu ]
  components:
    - type: WeaponArcVisuals
      fadeOut: false
    - type: Sprite
      state: smash
    - type: TimedDespawn
      lifetime: 0.299