# Frontier-specific contraband targets.
# If you need multiple currency types, specify them in the actual object instead of inheriting multiple parents here.

# region Class 1
- type: entity
  id: BaseC1Contraband
  abstract: true
  components:
  - type: Contraband
    severity: Class1
    # Pretty much everyone.
    allowedDepartments: [ Civilian, Security, Command, Frontier, CentralCommand ]

- type: entity
  parent: BaseC1Contraband
  id: BaseClearContraband
  abstract: true
  components:
  - type: Contraband
    hideValues: true
# endregion Class 1

# region Class 2
# Class 2 contraband: explosives, unregistered firearms,

# Specific parent for sensitive items (e.g. command headset, secway, secway keys) that should not be redeemed for FUCs
- type: entity
  id: BaseC2ContrabandUnredeemable
  abstract: true
  components:
  - type: Contraband
    severity: Class2
    # Security and heads only (finally, shotgun traffic controller)
    allowedDepartments: [ Security, Command ]

# Engineering equipment that's potentially hazardous in use
- type: entity
  parent: BaseC2ContrabandUnredeemable
  id: BaseC2ContrabandEngineeringUnredeemable
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Engineering ]

- type: entity
  parent: BaseC2ContrabandUnredeemable
  id: BaseC2ExpeditionContraband
  abstract: true
  components:
  - type: Contraband
    severity: Class2Expedition
    turnInValues: &oneFUC
      FrontierUplinkCoin: 1
      Doubloon: 1

- type: entity
  parent: BaseC2ContrabandUnredeemable
  id: BaseC2Contraband
  abstract: true
  components:
  - type: Contraband
    turnInValues: &noFUCs
      FrontierUplinkCoin: 0
      Doubloon: 0
# endregion

# region Class 3 Objects
- type: entity
  id: BaseC3ContrabandUnredeemable
  abstract: true
  components:
  - type: Contraband
    severity: Class3General
    allowedDepartments: []

- type: entity
  parent: BaseC3ContrabandUnredeemable
  id: BaseC3ExpeditionContraband
  abstract: true
  components:
  - type: Contraband
    severity: Class3Expedition
    turnInValues:
      FrontierUplinkCoin: 2
      Doubloon: 2

- type: entity
  parent: BaseC3ContrabandUnredeemable
  id: BaseC3Contraband
  abstract: true
  components:
  - type: Contraband
    turnInValues: *oneFUC

- type: entity
  parent: BaseC3ContrabandUnredeemable
  id: BaseC3ContrabandNoValue
  abstract: true
  components:
  - type: Contraband
    turnInValues: *noFUCs

- type: entity
  parent: BaseC3ContrabandUnredeemable
  id: BaseC3CultContrabandUnredeemable
  abstract: true
  components:
  - type: Contraband
    severity: Class3Cult

- type: entity
  parent: BaseC3CultContrabandUnredeemable
  id: BaseC3CultContraband
  abstract: true
  components:
  - type: Contraband
    turnInValues: *oneFUC

- type: entity
  parent: BaseC3CultContraband
  id: BaseC3CultContrabandNoValue
  abstract: true
  components:
  - type: Contraband
    turnInValues: *noFUCs

- type: entity
  parent: BaseC3ContrabandUnredeemable
  id: BaseC3PirateContrabandNoValue
  abstract: true
  components:
  - type: Contraband
    severity: Class3Pirate
    turnInValues: *noFUCs

- type: entity
  parent: BaseC3PirateContrabandNoValue
  id: BaseC3PirateContraband
  abstract: true
  components:
  - type: Contraband
    turnInValues:
      FrontierUplinkCoin: 1

- type: entity
  parent: BaseC3ContrabandUnredeemable
  id: BaseC3SyndicateContrabandUnredeemable
  abstract: true
  components:
  - type: Contraband
    severity: Class3Syndicate

- type: entity
  parent: BaseC3SyndicateContrabandUnredeemable
  id: BaseC3SyndicateContrabandNoValue
  abstract: true
  components:
  - type: Contraband
    turnInValues: *noFUCs

- type: entity
  parent: BaseC3SyndicateContrabandUnredeemable
  id: BaseC3SyndicateContraband
  abstract: true
  components:
  - type: Contraband
    turnInValues: *oneFUC

- type: entity
  parent: BaseC3ContrabandUnredeemable
  id: BaseC3WizardContrabandUnredeemable
  abstract: true
  components:
  - type: Contraband
    severity: Class3Wizard

- type: entity
  parent: BaseC3ContrabandUnredeemable
  id: BaseC3WizardContraband
  abstract: true
  components:
  - type: Contraband
    severity: Class3Wizard
    turnInValues: *oneFUC
# endregion

# region Class 3 Mobs
- type: entity
  parent: BaseC3Contraband
  id: BaseC3MobHuman # For people (should be sapients, humanoids)
  abstract: true
  components:
  - type: Contraband
    severity: Class3MobHuman
    hideCarryStatus: true

- type: entity
  parent: BaseC3Contraband
  id: BaseC3MobCreature # For non-humanoid/non-sapient beasts
  abstract: true
  components:
  - type: Contraband
    severity: Class3MobCreature
    hideCarryStatus: true

- type: entity
  parent: BaseC3MobCreature
  id: BaseC3MobCreatureNoValue # For non-humanoid/non-sapient beasts
  abstract: true
  components:
  - type: Contraband
    turnInValues: *noFUCs

- type: entity
  parent: BaseC3Contraband
  id: BaseC3MobConstruct # For thinking artifacts, robots, etc.
  abstract: true
  components:
  - type: Contraband
    severity: Class3MobConstruct
    hideCarryStatus: true
# endregion

# region Miscellaneous
- type: entity
  id: BasePirateTarget
  abstract: true
  components:
  - type: Contraband
    severity: PirateTarget
    # Security and heads only
    turnInValues:
      Doubloon: 1
    hideCarryStatus: true
# endregion
