# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BramvanZijp <56019239+BramvanZijp@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Ignaz "Ian" Kraft <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2025 John <35928781+sporkyz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ScarKy0 <106310278+ScarKy0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 pheenty <fedorlukin2006@gmail.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

# used by the unique items of xenoborgs (like modules and stuff)
- type: entity
  id: BaseXenoborgContraband
  abstract: true
  components:
  - type: Contraband
    severity: Major # placeholder until they make a better severity
  - type: ScannableForPoints # Goobstation - NTR update
    points: 1 # idk how much points they would cost so whatever

# any type of magical items used by wizards and similiar
- type: entity
  id: BaseMagicalContraband
  abstract: true
  components:
  - type: Contraband
    severity: Magical
  - type: ScannableForPoints # Goobstation - NTR update
    points: 10

# non-stealth syndicate stuff
- type: entity
  id: BaseSyndicateContraband
  abstract: true
  components:
  - type: Contraband
    severity: Syndicate
  - type: ScannableForPoints # Goobstation - NTR update
    points: 5

# minor contraband not departmentally restricted -- improvised weapons etc
- type: entity
  id: BaseMinorContraband
  abstract: true
  components:
  - type: Contraband
    severity: Minor

# major contraband, for things like guns or weaponry that don't belong to any department and aren't syndicate specific
- type: entity
  id: BaseMajorContraband
  abstract: true
  components:
  - type: Contraband
    severity: Major

# base department restricted contraband, this should only be used as a parent for other contraband prototypes, not the restricted items themselves.
- type: entity
  id: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    severity: Restricted
    allowedDepartments: [  ]
    allowedJobs: [  ]

# one department restricted contraband
- type: entity
  id: BaseCentcommContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ CentralCommand ]

- type: entity
  id: BaseCommandContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Command ]

- type: entity
  id: BaseSecurityContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Security ]
    allowedJobs: [ BlueshieldOfficer ] # Goob - effectively almost a sec member

- type: entity
  id: BaseEngineeringContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Engineering ]

- type: entity
  id: BaseScienceContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Science ]

- type: entity
  id: BaseMedicalContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Medical ]
    allowedJobs: [ Brigmedic, BlueshieldOfficer ] # goob

- type: entity
  id: BaseCivilianContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Civilian ]

- type: entity
  id: BaseCargoContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Cargo ]

# multiple departments restricted contraband
- type: entity
  id: BaseCentcommCommandContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ CentralCommand, Command ]

- type: entity
  id: BaseSecurityCommandContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Security, Command ]

- type: entity
  id: BaseSecurityScienceCommandContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Security, Science, Command ]

- type: entity
  id: BaseSecurityEngineeringContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Security, Engineering ]

- type: entity
  id: BaseSiliconScienceContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Science, Silicon ]

- type: entity
  id: BaseSecurityCargoContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Security, Cargo ]

- type: entity
  id: BaseMedicalScienceContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Medical, Science ]

# contraband restricted by job by some degree
- type: entity
  id: BaseSecurityBartenderContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Security ]
    allowedJobs: [ Bartender ]

- type: entity
  id: BaseSecurityBartenderZookeeperContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Security ]
    allowedJobs: [ Bartender, Zookeeper ]

- type: entity
  id: BaseSecurityLawyerContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedDepartments: [ Security ]
    allowedJobs: [ Lawyer ]

- type: entity
  id: BaseJanitorContraband
  parent: BaseRestrictedContraband
  abstract: true
  components:
  - type: Contraband
    allowedJobs: [ Janitor ]

# for ~objective items
- type: entity
  id: BaseGrandTheftContraband
  abstract: true
  components:
  - type: Contraband
    severity: GrandTheft
    allowedDepartments: [ Command ]
    allowedJobs: [ Warden ] # Goob - energy shotgun

- type: entity
  id: BaseHonkraband
  abstract: true
  components:
  - type: Contraband
    severity: Honkraband
    allowedJobs: [ Clown ]
