# 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: [ MedicalDoctor, Paramedic, ChiefMedicalOfficer, MedicalIntern, Surgeon, Chemist, Psychologist, SecurityOfficer, HeadOfSecurity, Detective, Warden, Brigmedic, DutyOfficer, SecurityCadet] # Starlight. Too easy + Tactical jet injector.
  - type: StealCondition
    stealGroup: Hypospray # Starlight line swap
#    owner: job-name-cmo # Starlight


- type: entity
  parent: BaseVampireStealObjective
  id: RDHardsuitVampireStealObjective
  components:
  - type: NotJobRequirement
    jobs: [ ResearchDirector, ResearchAssistant, Scientist, Roboticist ] # Starlight. Too easy.
  - type: StealCondition
    owner: job-name-rd
    stealGroup: ClothingOuterHardsuitRd
  - type: Objective
    difficulty: 1

#- type: entity Starlight start
#  parent: BaseVampireStealObjective 
#  id: EnergyMagnumVampireStealObjective # Removed in favor of combined shotgun-magnum objective
#  components:
#  - type: Objective
#    difficulty: 1.5 # Starlight, lowered difficulty since it's a lot easier to deal with Det than HoS
#  - type: NotJobRequirement
#    jobs: [ SecurityOfficer, HeadOfSecurity, Detective, Warden, Brigmedic, DutyOfficer, SecurityCadet ] # Starlight - magnum to detective, and rest of department excluded
#  - type: StealCondition
#    stealGroup: WeaponEnergyMagnum
#    owner: job-name-detective # Starlight end

- type: entity
  parent: BaseVampireStealObjective
  id: SecurityRareGunsVampireStealObjective # Starlight
  components:
  - type: Objective
    difficulty: 2
  - type: NotJobRequirement
    jobs: [ SecurityOfficer, HeadOfSecurity, Detective, Warden, Brigmedic, DutyOfficer, SecurityCadet ] # Too easy.
  - type: StealCondition
    stealGroup: SecurityRareGuns # Starlight
    owner: job-name-warden

- type: entity
  parent: BaseVampireStealObjective
  id: HOSWeaponVampireStealObjective # Starlight, HoS weapon variants
  components:
  - type: Objective
    difficulty: 2
  - type: NotJobRequirement
    jobs: [ SecurityOfficer, HeadOfSecurity, Detective, Warden, Brigmedic, DutyOfficer, SecurityCadet ] # Too easy.
  - type: StealCondition
    stealGroup: HOSWeapon # Starlight, HoS weapon variants
#    owner: job-name-hos Starlight, defined in ftl.

- type: entity
  parent: BaseVampireStealObjective
  id: MagbootsVampireStealObjective
  components:
  - type: NotJobRequirement
    jobs: [ ChiefEngineer, StationEngineer, AtmosphericTechnician, TechnicalAssistant ] # Starlight. Too easy.
  - type: StealCondition
    stealGroup: ClothingShoesBootsMagAdv
    owner: job-name-ce

- type: entity
  parent: BaseVampireStealObjective
  id: ClipboardVampireStealObjective
  components:
  - type: NotJobRequirement
    jobs: [ Quartermaster, CargoTechnician, MailTech, MiningSpecialist, SalvageSpecialist, SalvageLead ] # Starlight. Too easy.
  - 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: 600
    max: 1500
    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
