# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX_7 <sn1.test.preria.2002@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  id: MultiWand
  name: wizard wand
  description: Apparently a wand used by the wizard.
  parent: [BaseItem, BaseMagicalContraband]
  suffix: DO NOT MAP
  categories: [ DoNotMap ]
  components:
  - type: Sprite
    sprite: _Goobstation/Wizard/Objects/Weapons/Wands/wand.rsi
    layers:
    - state: basic
    - state: mode
      color: orange
      shader: unshaded
      map: [ "Firemode" ]
  - type: Item
    sprite: _Goobstation/Wizard/Objects/Weapons/Wands/wand.rsi
    heldPrefix: basic
    size: Normal
  - type: AmmoCounter
  - type: Gun
    projectileSpeed: 20
    soundEmpty: null
    soundMode: null
    clumsyProof: true
    fireRate: 1
    selectedMode: SemiAuto
    availableModes:
    - SemiAuto
    soundGunshot:
      path: /Audio/Weapons/Guns/Gunshots/Magic/staff_healing.ogg
  - type: Battery
    maxCharge: 10000
    startingCharge: 10000
  - type: BatteryAmmoProvider
    proto: ProjectileFireball
    fireCost: 250
  - type: Appearance
  - type: AmmoSelector
    soundSelect:
      path: /Audio/Magic/forcewall.ogg
      params:
        volume: -5
    prototypes:
    - ProjectileFireball
    - ProjectileHealingBolt
    - ProjectileSpellCardPurpleSpread
    - ProjectileTeleBolt
    - ProjectileFieryBolt
    - ProjectileDeathBolt
    - ProjectileIceCubeBolt
    - ProjectileSwapBolt
    - ProjectileBeeBolt
    # - ProjectileXRayBolt - Too op with scrying orb
    - ProjectileEmpBolt
    - ProjectileSmokeBolt
    - ProjectileBlindingBolt
    - ProjectileVampiricBolt
    - ProjectileMagicMissileLesser
  - type: UserInterface
    interfaces:
      enum.AmmoSelectorUiKey.Key:
        type: AmmoSelectorMenuBoundUserInterface
  - type: ActivatableUI
    inHandsOnly: true
    key: enum.AmmoSelectorUiKey.Key
  - type: ToggleableVisuals
    spriteLayer: Firemode
    inhandVisuals:
      left:
      - state: mode-inhand-left
        shader: unshaded
      right:
      - state: mode-inhand-right
        shader: unshaded
  - type: ItemToggle
    activated: true
    onActivate: false
    onUse: false
    wieldToggle: false
  - type: ItemToggleColor
  - type: PointLight
    enabled: true
    radius: 1.5
    energy: 1
    color: orange
    netsync: false
  - type: EmpImmune
  - type: StaticPrice
    price: 30000
  - type: Tag
    tags:
    - WizardWand
    - GunCanAimShooter

- type: entity
  id: MultiWandWizard
  parent: MultiWand
  suffix: Wizard, DO NOT MAP
  categories: [ DoNotMap ]
  components:
  - type: ActivatableUiUserWhitelist
    whitelist:
      components:
      - Wizard
      - Apprentice
      - Ghost
