- 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
    blacklist:
      tags:
      - GhostOnlyWarp
      - NinjaBombingTargetBlocker

- 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
