# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Derby <Derby@ss14>
# SPDX-FileCopyrightText: 2023 DerbyX <50932435+DerbyX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Gotimanga <127038462+Gotimanga@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Hrosts <35345601+Hrosts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@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 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@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 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 YuNii <benjamin@bhenrich.de>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deepdarkdepths <155149356+deepdarkdepths@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 dffdff2423 <dffdff2423@gmail.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@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 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#HUMANOID FIGURINES

- type: entity
  parent: BaseItem
  id: BaseFigurine
  name: figurine
  description: A small miniature.
  abstract: true
  components:
  - type: Sprite
    sprite: Objects/Fun/figurines.rsi
  - type: PhysicalComposition
    materialComposition:
      Plastic: 100
  - type: StaticPrice
    price: 75
  - type: Tag
    tags:
    - Figurine
  - type: UseDelay
    delay: 5
  - type: UseDelayOnTrigger
  - type: UseDelayTriggerCondition # prevent spam
  - type: TriggerOnActivate
  - type: TriggerOnSignal
  - type: Speech
    speechSounds: Pai # it just sounds better
  - type: DeviceNetwork
    deviceNetId: Wireless
    receiveFrequencyId: BasicDevice
  - type: WirelessNetworkConnection
    range: 200
  - type: DeviceLinkSink
    ports:
    - Trigger

- type: entity
  parent: BaseFigurine
  id: ToyFigurineHeadOfPersonnel
  name: head of personnel figure
  description: A figurine depicting the glorious head of all personnel, away from their office as usual.
  components:
  - type: Sprite
    state: hop
  - type: SpeakOnTrigger
    pack: FigurinesHoP

- type: entity
  parent: BaseFigurine
  id: ToyFigurinePassenger
  name: passenger figure
  description: A figurine depicting an every day, run-of-the-mill passenger. No funny business here.
  components:
  - type: Sprite
    state: passenger
  - type: SpeakOnTrigger
    pack: FigurinesPassenger

- type: entity
  parent: BaseFigurine
  id: ToyFigurineGreytider
  name: greytider figure
  description: A figurine depicting a dubious-looking passenger. Greytide worldwide!
  components:
  - type: Sprite
    state: passenger_greytide
  - type: SpeakOnTrigger
    pack: FigurinesGreytider

- type: entity
  parent: BaseFigurine
  id: ToyFigurineClown
  name: clown figure
  description: A figurine depicting a clown. You shudder to think of what people have probably done to this figurine before.
  components:
  - type: Sprite
    state: clown
  - type: SpeakOnTrigger
    pack: FigurinesClown

- type: entity
  parent: BaseFigurine
  id: ToyFigurineHoloClown
  name: holoclown figure
  description: A figurine depicting a holoclown. Even more annoying than a clown and no less real.
  components:
  - type: Sprite
    state: holoclown
  - type: SpeakOnTrigger
    pack: FigurinesHoloClown

- type: entity
  parent: BaseFigurine
  id: ToyFigurineMime
  name: mime figure
  description: A figurine depicting that silent bastard you are all too familiar with.
  components:
  - type: Sprite
    state: mime
  - type: SpeakOnTrigger
    pack: FigurinesMime

- type: entity
  parent: BaseFigurine
  id: ToyFigurineMusician
  name: musician figure
  description: A figurine depicting a Musician, his music was electrifying.
  components:
  - type: Sprite
    state: musician
  - type: SpeakOnTrigger
    pack: FigurinesMusician

- type: entity
  parent: BaseFigurine
  id: ToyFigurineBoxer
  name: boxer figure
  description: A figurine depicting a Boxer holding their red gloves.
  components:
  - type: Sprite
    state: boxer
  - type: SpeakOnTrigger
    pack: FigurinesBoxer

- type: entity
  parent: BaseFigurine
  id: ToyFigurineCaptain
  name: captain figure
  description: A figurine depicting the standard outfit of a captain belonging to a civilian-sector Nanotrasen vessel.
  components:
  - type: Sprite
    state: captain
  - type: SpeakOnTrigger
    pack: FigurinesCaptain

- type: entity
  parent: BaseFigurine
  id: ToyFigurineHeadOfSecurity
  name: head of security figure
  description: A figurine depicting the glorious head of the Security department.
  components:
  - type: Sprite
    state: hos
  - type: SpeakOnTrigger
    pack: FigurinesHoS

- type: entity
  parent: BaseFigurine
  id: ToyFigurineWarden
  name: warden figure
  description: A figurine depicting a Warden, ready to jail someone at any moment.
  components:
  - type: Sprite
    state: warden
  - type: SpeakOnTrigger
    pack: FigurinesWarden

- type: entity
  parent: BaseFigurine
  id: ToyFigurineDetective
  name: detective figure
  description: A figurine depicting a Detective wearing their iconic trench coat.
  components:
  - type: Sprite
    state: detective
  - type: SpeakOnTrigger
    pack: FigurinesDetective

- type: entity
  parent: BaseFigurine
  id: ToyFigurineSecurity
  name: security officer figure
  description: A figurine depicting a Security Officer holding a stunbaton, ready to defend the station.
  components:
  - type: Sprite
    state: security
  - type: SpeakOnTrigger
    pack: FigurinesSecurity

- type: entity
  parent: BaseFigurine
  id: ToyFigurineLawyer
  name: lawyer figure
  description: A figurine depicting a Lawyer sporting a freshly tailored suit.
  components:
  - type: Sprite
    state: lawyer
  - type: SpeakOnTrigger
    pack: FigurinesLawyer

- type: entity
  parent: BaseFigurine
  id: ToyFigurineCargoTech
  name: cargo technican figure
  description: A figurine depicting a reptillian Cargo Technican.
  components:
  - type: Sprite
    state: cargotech
  - type: SpeakOnTrigger
    pack: FigurinesCargoTech

- type: entity
  parent: BaseFigurine
  id: ToyFigurineSalvage
  name: salvage specialist figure
  description: A figurine depicting a Salvage Specialist holding a survival knife.
  components:
  - type: Sprite
    state: salvage
  - type: SpeakOnTrigger
    pack: FigurinesSalvage

- type: entity
  parent: BaseFigurine
  id: ToyFigurineQuartermaster
  name: quartermaster figure
  description: A figurine depicting the glorious head of the Cargo department.
  components:
  - type: Sprite
    state: qm
  - type: SpeakOnTrigger
    pack: FigurinesQM

- type: entity
  parent: BaseFigurine
  id: ToyFigurineChiefEngineer
  name: chief engineer figure
  description: A figurine depicting the glorious head of the Engineering department.
  components:
  - type: Sprite
    state: ce
  - type: SpeakOnTrigger
    pack: FigurinesCE

- type: entity
  parent: BaseFigurine
  id: ToyFigurineEngineer
  name: station engineer figure
  description: A figurine depicting a Station Engineer holding a crowbar at-ready.
  components:
  - type: Sprite
    state: engineer
  - type: SpeakOnTrigger
    pack: FigurinesEngineer

- type: entity
  parent: BaseFigurine
  id: ToyFigurineAtmosTech
  name: atmospheric technician figure
  description: A figurine depicting an Atmos Tech holding an unlit welder.
  components:
  - type: Sprite
    state: atmos
  - type: SpeakOnTrigger
    pack: FigurinesAtmosTech

- type: entity
  parent: BaseFigurine
  id: ToyFigurineResearchDirector
  name: research director figure
  description: A figurine depicting the glorious head of the Science department.
  components:
  - type: Sprite
    state: rd
  - type: SpeakOnTrigger
    pack: FigurinesRD

- type: entity
  parent: BaseFigurine
  id: ToyFigurineScientist
  name: scientist figurine
  description: A figurine depicting a Scientist donning a labcoat.
  components:
  - type: Sprite
    state: scientist
  - type: SpeakOnTrigger
    pack: FigurinesScientist

- type: entity
  parent: BaseFigurine
  id: ToyFigurineChiefMedicalOfficer
  name: chief medical officer figure
  description: A figurine depicting the glorious head of the Medical department.
  components:
  - type: Sprite
    state: cmo
  - type: SpeakOnTrigger
    pack: FigurinesCMO

- type: entity
  parent: BaseFigurine
  id: ToyFigurineChemist
  name: chemist figure
  description: A figurine depicting a Chemist probably planning to make meth.
  components:
  - type: Sprite
    state: chemist
  - type: SpeakOnTrigger
    pack: FigurinesChemist

- type: entity
  parent: BaseFigurine
  id: ToyFigurineParamedic
  name: paramedic figure
  description: A figurine depicting a Paramedic wearing their void suit.
  components:
  - type: Sprite
    state: paramedic
  - type: SpeakOnTrigger
    pack: FigurinesParamedic

- type: entity
  parent: BaseFigurine
  id: ToyFigurineMedicalDoctor
  name: medical doctor figure
  description: A figurine depicting a Medical Doctor, donning a labcoat & syringe.
  components:
  - type: Sprite
    state: medical
  - type: SpeakOnTrigger
    pack: FigurinesDoctor

- type: entity
  parent: BaseFigurine
  id: ToyFigurineLibrarian
  name: librarian figure
  description: A figurine depicting the one-and-only librarian.
  components:
  - type: Sprite
    state: librarian
  - type: SpeakOnTrigger
    pack: FigurinesLibrarian

- type: entity
  parent: BaseFigurine
  id: ToyFigurineChaplain
  name: chaplain figure
  description: A figurine depicting a Chaplain hopefully praying for good things.
  components:
  - type: Sprite
    state: chaplain
  - type: SpeakOnTrigger
    pack: FigurinesChaplain

- type: entity
  parent: BaseFigurine
  id: ToyFigurineChef
  name: chef figure
  description: A figurine depicting a chef, master of the culinary arts!.. most of the time.
  components:
  - type: Sprite
    state: chef
  - type: SpeakOnTrigger
    pack: FigurinesChef

- type: entity
  parent: BaseFigurine
  id: ToyFigurineBartender
  name: bartender figure
  description: A figurine depicting a Bartender looking stylish with their rockin shades and tophat.
  components:
  - type: Sprite
    state: bartender
  - type: SpeakOnTrigger
    pack: FigurinesBartender

- type: entity
  parent: BaseFigurine
  id: ToyFigurineBotanist
  name: botanist figure
  description: A figurine depicting a Botanist that surely won't let kudzu get out of control.
  components:
  - type: Sprite
    state: botanist
  - type: SpeakOnTrigger
    pack: FigurinesBotanist

- type: entity
  parent: BaseFigurine
  id: ToyFigurineJanitor
  name: janitor figure
  description: A figurine depicting a Janitor with their galoshes.
  components:
  - type: Sprite
    state: janitor
  - type: SpeakOnTrigger
    pack: FigurinesJanitor

- type: entity
  parent: BaseFigurine
  id: ToyFigurineNukie
  name: syndicate operative figure
  description: A figurine depicting someone in a blood-red hardsuit, similar to what someone on a nuclear operative team might wear.
  components:
  - type: Sprite
    state: nukie
  - type: SpeakOnTrigger
    pack: FigurinesNukie

- type: entity
  parent: BaseFigurine
  id: ToyFigurineNukieElite
  name: elite syndicate operative figure
  description: A figurine depicting someone in an elite blood-red hardsuit, similar to what someone on a nuclear operative team might wear.
  components:
  - type: Sprite
    state: nukie_elite
  - type: SpeakOnTrigger
    pack: FigurinesNukieElite

- type: entity
  parent: BaseFigurine
  id: ToyFigurineNukieCommander
  name: syndicate operative commander figure
  description: A figurine depicting someone in a beefed-up blood-red hardsuit, similar to what the commander of a nuclear operative team might wear.
  components:
  - type: Sprite
    state: nukie_commander
  - type: SpeakOnTrigger
    pack: FigurinesNukieCommander

- type: entity
  parent: BaseFigurine
  id: ToyFigurineFootsoldier
  name: syndicate footsoldier figure
  description: A figurine depicting the outfit of a syndicate footsoldier.
  components:
  - type: Sprite
    state: footsoldier
  - type: SpeakOnTrigger
    pack: FigurinesFootsoldier

- type: entity
  parent: BaseFigurine
  id: ToyFigurineWizard
  name: wizard figure
  description: A figurine depicting someone with a long, silky beard wearing a wizard outfit. Warlocks wish they had anything on this.
  components:
  - type: Sprite
    state: wizard
  - type: SpeakOnTrigger
    pack: FigurinesWizard

- type: entity
  parent: BaseFigurine
  id: ToyFigurineWizardFake
  name: fake wizard figure
  description: A figurine depicting someone in a fake-ass wizard costume. What a ripoff!
  components:
  - type: Sprite
    state: wizard_fake
  - type: SpeakOnTrigger
    pack: FigurinesWizard

#Nonhuman Figurines

- type: entity
  parent: BaseFigurine
  id: ToyFigurineSpaceDragon
  name: space dragon figure
  description: A large figurine depicting a space dragon, its red eyes on gazing on its prey.
  components:
  - type: Sprite
    state: spacedragon
  - type: SpeakOnTrigger
    pack: FigurinesSpaceDragon

- type: entity
  parent: BaseFigurine
  id: ToyFigurineQueen
  name: xeno queen figure
  description: A large figurine depicting a xeno queen, ready to attack.
  components:
  - type: Sprite
    state: queen
  # - type: SpeakOnTrigger # TODO add something
  #   pack: FigurinesQueen

- type: entity
  parent: BaseFigurine
  id: ToyFigurineRatKing
  name: rat king figure
  description: A large figurine depicting a rat king, prepared to make its nest.
  components:
  - type: Sprite
    state: ratking
  - type: SpeakOnTrigger
    pack: FigurinesRatKing

- type: entity
  parent: BaseFigurine
  id: ToyFigurineRatServant
  name: rat servant figure
  description: A figurine depicting a rat serving the king of rats!
  components:
  - type: Sprite
    state: ratservant
  - type: SpeakOnTrigger
    pack: FigurinesRatServant

- type: entity
  parent: BaseFigurine
  id: ToyFigurineMouse
  name: mouse figure
  description: A figurine depicting a mouse scuttling away to the nearest piece of food.
  components:
  - type: Sprite
    state: mouse
  - type: SpeakOnTrigger
    pack: FigurinesMouse

- type: entity
  parent: BaseFigurine
  id: ToyFigurineSlime
  name: slime figure
  description: A figurine depicting a translucent blue slime.
  components:
  - type: Sprite
    state: slime
  - type: SpeakOnTrigger
    pack: FigurinesSlime

- type: entity
  parent: BaseFigurine
  id: ToyFigurineHamlet
  name: hamlet figure
  description: A figurine depicting Hamlet, microwave not included.
  components:
  - type: Sprite
    state: hamlet
  - type: SpeakOnTrigger
    pack: FigurinesHamlet

#TODO: Convert these to the new figurine sprite template and rename their sprite name.
#Yes, these are humanoids, but they need to be updated first.

- type: entity
  parent: BaseFigurine
  id: ToyGriffin
  name: griffin figure
  description: An action figure modeled after 'The Griffin', criminal mastermind.
  components:
  - type: Sprite
    state: griffinprize

- type: entity
  parent: BaseFigurine
  id: ToyOwlman
  name: owl figure
  description: An action figure modeled after 'The Owl', defender of justice.
  components:
  - type: Sprite
    state: owlprize

- type: entity
  parent: BaseFigurine
  id: ToySkeleton
  name: skeleton figure
  description: Spooked ya!
  components:
  - type: Sprite
    state: skeletonprize

- type: entity
  parent: BaseFigurine
  id: ToyFigurineThief
  name: thief character figure
  description: Hiding in the shadows...
  components:
  - type: Sprite
    state: thiefcharacter
