# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: BaseAction
  id: ActionVaporizeFreeman
  name: Vaporize
  description: That will be all.
  components:
  - type: TargetAction
    interactOnMiss: false
  - type: Action
    useDelay: 3
    itemIconStyle: BigAction
    raiseOnUser: true
    sound: !type:SoundPathSpecifier
      path: /Audio/Magic/disintegrate.ogg
    icon:
      sprite: _Goobstation/Wizard/actions.rsi # todo - change this
      state: gib
  - type: EntityTargetAction
    canTargetSelf: false
    whitelist:
      components:
      - Body
    event: !type:SmiteSpellEvent
  - type: SpeakOnAction
    sentence: action-speech-implant-vaporize

- type: entity
  parent: BaseAction
  id: ActionBlinkFreeman
  name: Blink
  description: Wisely done, Mr. Freeman. I will see you up ahead.
  components:
  - type: Sprite
    sprite: Objects/Magic/magicactions.rsi # Todo - Unique sprite?
    state: jaunt
  - type: Action
    useDelay: 3
    raiseOnUser: true
    checkCanInteract: false
    itemIconStyle: NoItem
    icon:
      sprite: _Goobstation/Wizard/actions.rsi # Todo - Change this
      state: jaunt
  - type: InstantAction
    event: !type:PolymorphSpellEvent
      protoId: Jaunt

- type: entity
  parent: BaseAction
  id: ActionShiftFreeman
  name: Shift
  description: Is it really that time again?
  components:
  - type: Action
    useDelay: 1
    itemIconStyle: BigAction
    icon:
      sprite: Objects/Magic/magicactions.rsi
      state: blink
  - type: TargetAction
    checkCanAccess: false
    range: 48
  - type: WorldTargetAction
    event: !type:TeleportSpellEvent

- type: entity
  parent: BaseAction
  id: ActionStopTimeFreeman
  name: Stop Time
  description: I realize this moment may not be the most convienient time for a heart-to-heart.
  components:
  - type: Action
    raiseOnUser: true
    checkCanInteract: false
    useDelay: 1
    itemIconStyle: BigAction
    sound: !type:SoundPathSpecifier
      path: /Audio/_Goobstation/Wizard/timeparadox2.ogg
    icon:
      sprite: _Goobstation/Wizard/actions.rsi # Todo - Change this, but idc.
      state: time
  - type: InstantAction
    event: !type:StopTimeEvent
  - type: SpeakOnAction
    sentence: action-speech-implant-stoptime
  - type: Magic
    requiresClothes: false
    requiresSpeech: true
    school: Forbidden
  - type: Tag
    tags:
    - FrozenIgnoreMindAction
