# Base

- type: entity
  abstract: true
  parent: BaseObjective
  id: BaseVampireObjective
  components:
  - type: Objective
    difficulty: 1.5
    issuer: objective-issuer-vampire
  - type: RoleRequirement
    roles:
    - VampireRole

- type: entity
  abstract: true
  parent: [BaseVampireObjective, BaseStealObjective]
  id: BaseVampireStealObjective
  components:
  - type: StealCondition
    verifyMapExistence: false
  - type: Objective
    difficulty: 1.5
  - type: ObjectiveLimit
    limit: 2

# Steal

- type: entity
  parent: BaseVampireStealObjective
  id: CMOHyposprayVampireStealObjective
  components:
  - type: NotJobRequirement
    jobs: [ ChiefMedicalOfficer ]
  - type: StealCondition
    owner: job-name-cmo
    stealGroup: Hypospray

- type: entity
  parent: BaseVampireStealObjective
  id: RDHardsuitVampireStealObjective
  components:
  - type: NotJobRequirement
    jobs: [ ResearchDirector ]
  - type: StealCondition
    owner: job-name-rd
    stealGroup: ClothingOuterHardsuitRd
  - type: Objective
    difficulty: 1

- type: entity
  parent: BaseVampireStealObjective
  id: EnergyMagnumVampireStealObjective
  components:
  - type: Objective
    difficulty: 2
  - type: NotJobRequirement
    jobs: [ Detective ]
  - type: StealCondition
    stealGroup: WeaponEnergyMagnum
    owner: job-name-detective

- type: entity
  parent: BaseVampireStealObjective
  id: EnergyShotgunVampireStealObjective
  components:
  - type: Objective
    difficulty: 2
  - type: NotJobRequirement
    jobs: [ Warden ]
  - type: StealCondition
    stealGroup: WeaponEnergyShotgun
    owner: job-name-warden

- type: entity
  parent: BaseVampireStealObjective
  id: Proto5xVampireStealObjective
  components:
  - type: Objective
    difficulty: 2
  - type: NotJobRequirement
    jobs: [ HeadOfSecurity ]
  - type: StealCondition
    stealGroup: Proto5x
    owner: job-name-hos

- type: entity
  parent: BaseVampireStealObjective
  id: MagbootsVampireStealObjective
  components:
  - type: NotJobRequirement
    jobs: [ ChiefEngineer ]
  - type: StealCondition
    stealGroup: ClothingShoesBootsMagAdv
    owner: job-name-ce

- type: entity
  parent: BaseVampireStealObjective
  id: ClipboardVampireStealObjective
  components:
  - type: NotJobRequirement
    jobs: [ Quartermaster ]
  - type: StealCondition
    stealGroup: BoxFolderQmClipboard
    owner: job-name-qm

- type: entity
  abstract: true
  parent: BaseVampireStealObjective
  id: BaseCaptainVampireObjective
  components:
  - type: Objective
    difficulty: 2.5
  - type: NotJobRequirement
    jobs: [ Captain ]

- type: entity
  parent: BaseCaptainVampireObjective
  id: CaptainIDVampireStealObjective
  components:
  - type: StealCondition
    stealGroup: CaptainIDCard

- type: entity
  parent: BaseCaptainVampireObjective
  id: CaptainJetpackVampireStealObjective
  components:
  - type: StealCondition
    stealGroup: JetpackCaptainFilled

- type: entity
  parent: BaseCaptainVampireObjective
  id: CaptainGunVampireStealObjective
  components:
  - type: StealCondition
    stealGroup: WeaponAntiqueLaser
    owner: job-name-captain

# States

- type: entity
  parent: [BaseVampireObjective, BaseSurviveObjective]
  id: VampireSurviveObjective
  name: Survive
  description: I must survive no matter what.
  components:
  - type: Objective
    icon:
      sprite: /Textures/_Starlight/Vampire/actions_vampire.rsi
      state: survive_icon
      
- type: entity
  parent: [BaseVampireObjective, BaseLivingObjective]
  id: VampireEscapeObjective
  name: Escape to centcomm alive and unrestrained.
  description: I need to escape on the evacuation shuttle. Undercover.
  components:
  - type: Objective
    difficulty: 1.3
    icon:
      sprite: Structures/Furniture/chairs.rsi
      state: shuttle
  - type: EscapeShuttleCondition

# Kill

- type: entity
  parent: [BaseVampireObjective, BaseKillObjective]
  id: VampireKillRandomPersonObjective
  description: Do it however you like, just make sure they don't make it to centcomm.
  components:
  - type: Objective
    difficulty: 1.75
    unique: false
  - type: TargetObjective
    title: objective-condition-kill-person-title
  - type: PickRandomPerson
  - type: KillPersonCondition
    requireMaroon: true

# Drain

- type: entity
  parent: BaseVampireObjective
  id: VampireDrainObjective
  components:
  - type: Objective
    icon:
      sprite: _Starlight/Vampire/actions_vampire.rsi
      state: blood_objective
  - type: NumberObjective
    min: 400
    max: 880
    title: objective-condition-drain-title
    description: objective-condition-drain-description
  - type: BloodDrainCondition

# Thrall

- type: entity
  parent: BaseObjective
  id: VampireThrallObeyMasterObjective
  name:  Obey your master
  description: You are enthralled. Follow your master's commands.
  components:
  - type: Objective
    issuer: objective-issuer-vampire
    difficulty: 0.1
    unique: false
    icon:
      sprite: /Textures/_Starlight/Vampire/Dantalion.rsi
      state: thralls_up
  - type: FreeObjective
  - type: TargetObjective
    title: objective-vampire-thrall-obey-master-title
