# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Zoldorf <silvertorch5@gmail.com>
# SPDX-FileCopyrightText: 2023 vanx <#vanxxxx>
# SPDX-FileCopyrightText: 2023 vanx <61917534+Vaaankas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 AJCM-git <60196617+AJCM-git@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2024 Alex Pavlenko <diraven@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Alice "Arimah" Heurlin <30327355+arimah@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArkiveDev <95712736+ArkiveDev@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 AsnDen <75905158+AsnDen@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Doomsdrayk <robotdoughnut@comcast.net>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 FoxxoTrystan <45297731+FoxxoTrystan@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ghagliiarghii <68826635+Ghagliiarghii@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 HS <81934438+HolySSSS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ilya246 <ilyukarno@gmail.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <51352440+JIPDawg@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <JIPDawg93@gmail.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Naive817 <lyx2020@sjtu.edu.cn>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Partmedia <kevinz5000@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Pspritechologist <naaronn@gmail.com>
# SPDX-FileCopyrightText: 2024 Redfire1331 <125223432+Redfire1331@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Rouge2t7 <81053047+Sarahon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
# SPDX-FileCopyrightText: 2024 Truoizys <153248924+Truoizys@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 VMSolidus <evilexecutive@gmail.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Verm <32827189+Vermidia@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 lapatison <100279397+lapatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 neutrino <67447925+neutrino-laser@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 no <165581243+pissdemon@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 osjarw <62134478+osjarw@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 redfire1331 <Redfire1331@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Арт <123451459+JustArt1m@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Theodore Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  parent: [BaseItem, BaseSyndicateAnchoredContraband]
  abstract: true
  id: ReinforcementRadio
  name: syndicate reinforcement radio
  description: Call in a syndicate agent of questionable quality, instantly! Only basic equipment provided.
  components:
  - type: Sprite
    sprite: Objects/Devices/communication.rsi
    layers:
    - state: radio
  - type: UserInterface
    interfaces:
      enum.GhostRoleRadioUiKey.Key:
        type: GhostRoleRadioBoundUserInterface
  - type: ActivatableUI
    key: enum.GhostRoleRadioUiKey.Key

- type: entity
  parent: ReinforcementRadio
  id: ReinforcementRadioSyndicate
  name: syndicate reinforcement radio
  description: Call in a syndicate agent of questionable quality, instantly!
  components:
  - type: GhostRole
    name: ghost-role-information-syndicate-reinforcement-spy-name
    description: ghost-role-information-syndicate-reinforcement-spy-description
    rules: ghost-role-information-syndicate-reinforcement-rules
    mindRoles:
    - MindRoleGhostRoleFamiliar
    raffle:
      settings: default
    requirements: # Goobstation - ghost roles requirements
    - !type:OverallPlaytimeRequirement
      time: 18000 #5 hours
  - type: GhostRoleMobSpawner
    prototype: MobHumanSyndicateAgentSpy
    selectablePrototypes: ["SyndicateAgentMedic", "SyndicateAgentSpy", "SyndicateAgentThief"]

# Goobstation - Nukeop reinforcement
- type: entity
  parent: ReinforcementRadio
  id: ReinforcementRadioSyndicateNukeops # Reinforcement radio exclusive to nukeops uplink
  name: nuclear operative radio
  description: Call in a nuclear operative of questionable quality, instantly! Basic nukeop equipment provided.
  suffix: NukeOps
  components:
  - type: GhostRole
    name: ghost-role-information-nukeop-reinforcement-name
    description: ghost-role-information-nukeop-reinforcement-description
    rules: ghost-role-information-nukeop-reinforcement-rules
    mindRoles:
    - MindRoleGhostRoleTeamAntagonist
    raffle:
      settings: default
    requirements: # Goobstation - ghost roles requirements
    - !type:OverallPlaytimeRequirement
      time: 18000 #5 hours
  - type: GhostRoleMobSpawner
    prototype: MobHumanSyndicateAgentNukeops

- type: entity
  parent: ReinforcementRadio
  id: ReinforcementRadioSyndicateAncestor
  name: syndicate genetic ancestor reinforcement radio
  description: Calls in a specially trained ancestor of your choosing to assist you.
  components:
  - type: GhostRole
    name: ghost-role-information-syndicate-monkey-reinforcement-name
    description: ghost-role-information-syndicate-monkey-reinforcement-description
    rules: ghost-role-information-syndicate-reinforcement-rules
    mindRoles:
    - MindRoleGhostRoleFamiliar
    raffle:
      settings: default
    requirements: # Goobstation - ghost roles requirements
    - !type:OverallPlaytimeRequirement
      time: 18000 #5 hours
  - type: GhostRoleMobSpawner
    prototype: MobMonkeySyndicateAgent
    selectablePrototypes: ["SyndicateMonkey", "SyndicateKobold"]

- type: entity
  parent: ReinforcementRadioSyndicateAncestor
  id: ReinforcementRadioSyndicateAncestorNukeops # Reinforcement radio exclusive to nukeops uplink
  suffix: NukeOps
  components:
  - type: GhostRole
    rules: ghost-role-information-nukeop-reinforcement-rules
  - type: GhostRoleMobSpawner
    prototype: MobMonkeySyndicateAgentNukeops
    selectablePrototypes: ["SyndicateMonkeyNukeops", "SyndicateKoboldNukeops"]

- type: entity
  parent: ReinforcementRadio
  id: ReinforcementRadioSyndicateSyndiCat
  name: syndicat reinforcement radio
  description: Calls in a faithfully trained cat with a microbomb to assist you.
  components:
  - type: GhostRole
    name: ghost-role-information-SyndiCat-name
    description: ghost-role-information-SyndiCat-description
    rules: ghost-role-information-syndicate-reinforcement-rules
    mindRoles:
    - MindRoleGhostRoleFamiliar
    raffle:
      settings: default
    requirements: # Goobstation - ghost roles requirements
    - !type:OverallPlaytimeRequirement
      time: 18000 #5 hours
  - type: GhostRoleMobSpawner
    prototype: MobCatSyndy
  - type: EmitSoundOnUse
    sound: /Audio/Animals/cat_meow.ogg

- type: entity
  parent: ReinforcementRadio
  id: ReinforcementRadioSyndicateCyborgAssault # Reinforcement radio exclusive to nukeops uplink
  name: syndicate assault cyborg reinforcement radio
  description: Call in a well armed assault cyborg, instantly!
  suffix: NukeOps
  components:
    - type: GhostRole
      name: ghost-role-information-syndicate-cyborg-assault-name
      description: ghost-role-information-syndicate-cyborg-description
      rules: ghost-role-information-silicon-rules
      mindRoles:
      - MindRoleGhostRoleSilicon
      raffle:
        settings: default
      requirements: # Goobstation - ghost roles requirements
      - !type:OverallPlaytimeRequirement
        time: 18000 #5 hours
    - type: GhostRoleMobSpawner
      prototype: PlayerBorgSyndicateAssaultBattery
