# SPDX-FileCopyrightText: 2024 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
# SPDX-FileCopyrightText: 2024 Vyacheslav Kovalevsky <40753025+Slava0135@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  abstract: true
  parent: BaseObjective
  id: BaseNinjaObjective
  components:
  - type: Objective
    # difficulty isn't used since all objectives are picked
    difficulty: 1.5
    issuer: objective-issuer-spiderclan
  - type: RoleRequirement
    roles:
    - NinjaRole

- type: entity
  parent: BaseNinjaObjective
  id: DoorjackObjective
  components:
  - type: Objective
    icon:
      sprite: Objects/Tools/emag.rsi
      state: icon
  - type: NumberObjective
    min: 15
    max: 40
    title: objective-condition-doorjack-title
    description: objective-condition-doorjack-description
  - type: DoorjackCondition

- type: entity
  parent: BaseNinjaObjective
  id: StealResearchObjective
  description: Your gloves can be used to hack a research server and steal its precious data. If science has been slacking you'll have to get to work.
  components:
  - type: Objective
    icon:
      sprite: Structures/Machines/server.rsi
      state: server
  - type: NumberObjective
    min: 9
    max: 13
    title: objective-condition-steal-research-title
  - type: StealResearchCondition

- type: entity
  parent: [BaseNinjaObjective, BaseCodeObjective]
  id: SpiderChargeObjective
  description: This bomb can be detonated in a specific location. Note that the bomb will not work anywhere else!
  components:
  - type: Objective
    icon:
      sprite: Objects/Weapons/Bombs/spidercharge.rsi
      state: icon
  - type: SpiderChargeCondition

- type: entity
  parent: [BaseNinjaObjective, BaseSurviveObjective]
  id: NinjaSurviveObjective
  name: Survive
  description: You wouldn't be a very good ninja if you died, now would you?
  components:
  - type: Objective
    icon:
      sprite: Clothing/Mask/ninja.rsi
      state: icon

- type: entity
  parent: [BaseNinjaObjective, BaseCodeObjective]
  id: TerrorObjective
  name: Call in a threat
  description: Use your gloves on a communication console in order to bring another threat to the station.
  components:
  - type: Objective
    icon:
      sprite: Objects/Fun/Instruments/otherinstruments.rsi
      state: red_phone

- type: entity
  parent: [BaseNinjaObjective, BaseCodeObjective]
  id: MassArrestObjective
  name: Set everyone to wanted
  description: Use your gloves to hack a criminal records console, setting the entire station to be wanted!
  components:
  - type: Objective
    icon:
      sprite: Objects/Weapons/Melee/stunbaton.rsi
      state: stunbaton_on