# SPDX-FileCopyrightText: 2022 CommieFlowers <rasmus.cedergren@hotmail.com>
# SPDX-FileCopyrightText: 2022 CrudeWax <75271456+CrudeWax@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 EmoGarbage404 <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jessica M <jessica@jessicamaybe.com>
# SPDX-FileCopyrightText: 2022 Jezithyr <Jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2022 Moony <moonheart08@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 dontbetank <59025279+dontbetank@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 metalgearsloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2022 mirrorcult <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2022 rolfero <45628623+rolfero@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Derby <Derby@ss14>
# SPDX-FileCopyrightText: 2023 DerbyX <50932435+DerbyX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 DrSmugleaf <drsmugleaf@gmail.com>
# SPDX-FileCopyrightText: 2023 I.K <45953835+notquitehadouken@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Jackrost <jackrost@mail.ru>
# SPDX-FileCopyrightText: 2023 Jezithyr <jezithyr@gmail.com>
# SPDX-FileCopyrightText: 2023 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 MisterMecky <mrmecky@hotmail.com>
# SPDX-FileCopyrightText: 2023 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Stealthbomber16 <100171035+Stealthbomber16@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Visne <39844191+Visne@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 faint <46868845+ficcialfaint@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk228 <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 notquitehadouken <1isthisameme>
# SPDX-FileCopyrightText: 2023 pofitlo <107665898+pofitlo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.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 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArkiveDev <95712736+ArkiveDev@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BITTERLYNX <166083655+PaigeMaeForrest@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Boaz1111 <149967078+Boaz1111@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 DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Doomsdrayk <robotdoughnut@comcast.net>
# 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 Flareguy <78941145+Flareguy@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 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 James Simonson <jamessimo89@gmail.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 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 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Redfire1331 <125223432+Redfire1331@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 Rouge2t7 <81053047+Sarahon@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 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 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 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# 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 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 portfiend <109661617+portfiend@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 redfire1331 <Redfire1331@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@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: 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 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aineias1 <dmitri.s.kiselev@gmail.com>
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 FaDeOkno <143940725+FaDeOkno@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Fishbait <Fishbait@git.ml>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 McBosserson <148172569+McBosserson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 MilenVolf <63782763+MilenVolf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Milon <plmilonpl@gmail.com>
# SPDX-FileCopyrightText: 2025 OnsenCapy <101037138+OnsenCapy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Rinary <72972221+Rinary1@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Rouden <149893554+Roudenn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <92227810+SX-7@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 SX-7 <sn1.test.preria.2002@gmail.com>
# SPDX-FileCopyrightText: 2025 Spatison <137375981+Spatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Tayrtahn <tayrtahn@gmail.com>
# SPDX-FileCopyrightText: 2025 TheBorzoiMustConsume <197824988+TheBorzoiMustConsume@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Theodore Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Unlumination <144041835+Unlumy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 YoungThug <ramialanbagy@gmail.com>
# SPDX-FileCopyrightText: 2025 coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2025 fishbait <gnesse@gmail.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <159397573+gluesniffler@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 gluesniffler <linebarrelerenthusiast@gmail.com>
# SPDX-FileCopyrightText: 2025 gus <august.eymann@gmail.com>
# SPDX-FileCopyrightText: 2025 kosticia <kosticia46@gmail.com>
# SPDX-FileCopyrightText: 2025 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 ss14-Starlight <ss14-Starlight@outlook.com>
# SPDX-FileCopyrightText: 2025 thebiggestbruh <marcus2008stoke@gmail.com>
# SPDX-FileCopyrightText: 2025 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 whateverusername0 <whateveremail>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  name: rat king
  id: MobRatKing
  parent: [ SimpleMobBase, MobCombat ]
  description: He's da rat. He make da roolz.
  components:
  - type: VentCrawler # goobstation - Ventcrawl
  - type: CombatMode
  - type: MovementSpeedModifier
    baseWalkSpeed : 4.00
    baseSprintSpeed : 5.00
  - type: InputMover
  - type: MobMover
  - type: HTN
    rootTask:
      task: SimpleHostileCompound
  - type: Reactive
    groups:
      Flammable: [Touch]
      Extinguish: [Touch]
  - type: NpcFactionMember
    factions:
    - SimpleHostile
  - type: Sprite
    drawdepth: SmallMobs
    sprite: Mobs/Animals/regalrat.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: regalrat
    - map: [ "enum.DamageStateVisualLayers.BaseUnshaded" ]
      state: eyes
      shader: unshaded
  - type: TypingIndicator
    proto: regal
  - type: Physics
    bodyType: KinematicController
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.3
        density: 230
        mask:
        - SmallMobMask
        layer:
        - SmallMobLayer
  - type: MobState
  - type: MobThresholds
    thresholds:
      0: Alive
      200: Dead
  - type: MeleeWeapon
    altDisarm: false
    soundHit:
        path: /Audio/Weapons/Xeno/alien_claw_flesh1.ogg
    angle: 0
    animation: WeaponArcClaw
    damage:
      types:
        Slash: 12
        Piercing: 8
  - type: Body
    prototype: RatKing
    requiredLegs: 1 # TODO: More than 1 leg
  - type: Hunger # probably should be prototyped
    thresholds:
      Overfed: 400
      Okay: 250
      Peckish: 125
      Starving: 50
      Dead: 0
    baseDecayRate: 0.01666666666
  - type: Thirst
    thresholds:
      OverHydrated: 600
      Okay: 450
      Thirsty: 300
      Parched: 150
      Dead: 0
    baseDecayRate: 0.1
  - type: DamageStateVisuals
    states:
      Alive:
        Base: regalrat
        BaseUnshaded: eyes
      Critical:
        Base: critical
      Dead:
        Base: dead
  - type: GhostRole
    makeSentient: true
    name: ghost-role-information-rat-king-name
    description: ghost-role-information-rat-king-description
    rules: ghost-role-information-antagonist-rules
    mindRoles:
    - MindRoleGhostRoleSoloAntagonist
    raffle:
      settings: default
    requirements: # Goobstation - ghost roles requirements
    - !type:OverallPlaytimeRequirement
      time: 18000 #5 hours
  - type: GhostTakeoverAvailable
  - type: Tag
    tags:
      - CannotSuicide
      - FootstepSound
  - type: NoSlip
  - type: RatKing
    hungerPerArmyUse: 25
    hungerPerDomainUse: 50
  - type: Rummager # DeltaV: Make rummaging a generic component
  - type: MobsterAccent
  - type: Speech
    speechVerb: SmallMob
  - type: LanguageKnowledge # Einstein Engines - Languages
    speaks:
    - TauCetiBasic
    - Mouse
    understands:
    - TauCetiBasic
    - Mouse
  - type: Butcherable
    spawned:
    - id: ClothingHeadHatFancyCrown #how did that get there?
      amount: 1
  - type: MobPrice
    price: 2500 # rat wealth
  - type: RandomMetadata
    nameSegments:
    - NamesRegalratKingdom
    - NamesRegalratTitle
    nameFormat: name-format-regal-rat
  - type: GuideHelp
    guides:
    - MinorAntagonists
  - type: Grammar
    attributes:
      gender: male
  - type: Sharp
  - type: NightVision # Goobstation - Nigthvision
    color: "#d14343"
    activateSound: null
    deactivateSound: null
  - type: Insulated # Goobstation
    coefficient: 0.5
  - type: CombatPower # Goobstation
    factor: 2
  - type: PassiveDamage #passive Healing
    allowedStates:
    - Alive
    damage:
      types:
        Poison: -0.5
      groups:
        Brute: -0.3
        Burn: -0.3

- type: entity
  id: MobRatKingBuff
  parent: MobRatKing
  suffix: Buff
  components:
  - type: Sprite
    sprite: Mobs/Animals/buffrat.rsi
    scale: 1.2, 1.2
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: regalrat
    - map: [ "enum.DamageStateVisualLayers.BaseUnshaded"]
      state: eyes
      shader: unshaded
  - type: MobState
  - type: MobThresholds
    thresholds:
      0: Alive
      350: Dead
  - type: MeleeWeapon
    altDisarm: false
    soundHit:
        path: /Audio/Weapons/Xeno/alien_claw_flesh2.ogg
    angle: 0
    attackRate: 0.75
    animation: WeaponArcFist
    damage:
      types:
        Blunt: 66 #oof ouch owie my bones
  - type: SlowOnDamage
    speedModifierThresholds:
      200: 0.7
      250: 0.5
  - type: GuideHelp
    guides:
    - MinorAntagonists


- type: entity
  name: rat servant
  id: MobRatServant
  parent: [ SimpleMobBase, MobCombat ]
  description: He's da mini rat. He don't make da roolz.
  categories: [ HideSpawnMenu ] #Must be configured to a King or the AI breaks.
  components:
  - type: VentCrawler # goobstation - Ventcrawl
  - type: CombatMode
  - type: MovementSpeedModifier
    baseWalkSpeed : 4.0
    baseSprintSpeed : 4.0
  - type: InputMover
  - type: MobMover
  - type: HTN
    rootTask:
      task: RatServantCompound
    blackboard:
      IdleRange: !type:Single
        3.5
      FollowCloseRange: !type:Single
        2.0
      FollowRange: !type:Single
        3.0
  - type: Reactive
    groups:
      Flammable: [Touch]
      Extinguish: [Touch]
  - type: NpcFactionMember
    factions:
    - SimpleHostile
  - type: Sprite
    drawdepth: SmallMobs
    sprite: Mobs/Animals/rat.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base", "movement"]
      state: rat
    - map: [ "enum.DamageStateVisualLayers.BaseUnshaded"]
      state: eyes
      shader: unshaded
  - type: Insulated # Goobstation
  - type: LanguageKnowledge # Einstein Engines - Language
    speaks:
    - Mouse
    understands:
    - Mouse
    - TauCetiBasic
  - type: PassiveDamage #passive Healing
    allowedStates:
    - Alive
    damage:
      groups:
        Brute: -0.1
        Burn: -0.1
  - type: SpriteMovement
    movementLayers:
      movement:
        state: rat-moving
    noMovementLayers:
      movement:
        state: rat
  - type: Physics
    bodyType: KinematicController
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.2
        density: 15 # Goob edit #Bulky by mouse standards...
        mask:
        - SmallMobMask
        layer:
        - SmallMobLayer
  - type: MobState
  - type: MobThresholds
    thresholds:
      0: Alive
      15: Dead #goob
  - type: Bloodstream
    bloodMaxVolume: 10 #goob (he is very small)
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 15
      behaviors:
      - !type:GibBehavior
        gibContents: Skip # goob - rat servants dont spawn organs.
        recursive: false
  - type: Stamina
    critThreshold: 60
    animationThreshold: 30 # Goob edit
  - type: MeleeWeapon
    soundHit:
        path: /Audio/Weapons/bladeslice.ogg
    angle: 0
    animation: WeaponArcClaw
    damage:
      types:
        Slash: 5
        Piercing: 3
  - type: Body
    prototype: Rat
    requiredLegs: 1 # TODO: More than 1 leg
  - type: Hunger # probably should be prototyped
    thresholds:
      Overfed: 200
      Okay: 150
      Peckish: 100
      Starving: 50
      Dead: 0
    baseDecayRate: 0.01666666666
  - type: Thirst
    thresholds:
      OverHydrated: 600
      Okay: 450
      Thirsty: 300
      Parched: 150
      Dead: 0
    baseDecayRate: 0.1
  - type: DamageStateVisuals
    states:
      Alive:
        Base: rat
        BaseUnshaded: eyes
      Critical:
        Base: dead
      Dead:
        Base: splat
  - type: Butcherable
    spawned:
    - id: FoodMeatRat
      amount: 1
  - type: Vocal
    sounds:
      Male: Mouse
      Female: Mouse
      Unsexed: Mouse
    wilhelmProbability: 0.001
  - type: Tag
    tags:
      - CannotSuicide
      - FootstepSound
  - type: NoSlip
  - type: MobPrice
    price: 500 # rat wealth
  - type: MobsterAccent
    isBoss: false
  - type: Speech
    speechVerb: SmallMob
  - type: GuideHelp
    guides:
    - MinorAntagonists
  - type: FireVisuals
    sprite: Mobs/Effects/onfire.rsi
    normalState: Mouse_burning
  - type: FelinidFood # Nyanotrasen - Felinid, ability to eat rat, see Content.Server/Nyanotrasen/Abilities/Felinid/FelinidSystem.cs
  - type: Food
  - type: Item
    size: Tiny # Delta V - Make them edible and pickable.
  - type: NightVision # Goobstation - Nigthvision
    color: "#808080"
    activateSound: null
    deactivateSound: null

- type: weightedRandomEntity
  id: RatKingLoot
  weights: # DeltaV: Rebalanced for Rodentia rummaging because we don't have Rat King
    RandomSpawner100: 50 #garbage
    FoodCheeseSlice: 25 #food
    RandomSnacks: 10
    RandomFoodSingle: 15

- type: entity
  parent: BaseAction
  id: ActionRatKingRaiseArmy
  name: Raise Army
  description: Spend some hunger to summon an allied rat to help defend you.
  components:
  - type: Action
    useDelay: 4
    icon:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: ratKingArmy
  - type: InstantAction
    event: !type:RatKingRaiseArmyActionEvent

- type: entity
  parent: BaseAction
  id: ActionRatKingDomain
  name: Rat King's Domain
  description: Spend some hunger to release a cloud of ammonia into the air.
  components:
  - type: Action
    useDelay: 6
    icon:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: ratKingDomain
  - type: InstantAction
    event: !type:RatKingDomainActionEvent

- type: entity
  parent: BaseAction
  id: ActionRatKingOrderStay
  name: Stay
  description: Command your army to stand in place.
  components:
  - type: Action
    useDelay: 1
    icon:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: stayOff
    iconOn:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: stay
    priority: 5
  - type: InstantAction
    event: !type:RatKingOrderActionEvent
      type: Stay

- type: entity
  parent: BaseAction
  id: ActionRatKingOrderFollow
  name: Follow
  description: Command your army to follow you around.
  components:
  - type: Action
    useDelay: 1
    icon:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: followOff
    iconOn:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: follow
    priority: 6
  - type: InstantAction
    event: !type:RatKingOrderActionEvent
      type: Follow

- type: entity
  parent: BaseAction
  id: ActionRatKingOrderCheeseEm
  name: Cheese 'Em
  description: Command your army to attack whoever you point at.
  components:
  - type: Action
    useDelay: 1
    icon:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: attackOff
    iconOn:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: attack
    priority: 7
  - type: InstantAction
    event: !type:RatKingOrderActionEvent
      type: CheeseEm

- type: entity
  parent: BaseAction
  id: ActionRatKingOrderLoose
  name: Loose
  description: Command your army to act at their own will.
  components:
  - type: Action
    useDelay: 1
    icon:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: looseOff
    iconOn:
      sprite: Interface/Actions/actions_rat_king.rsi
      state: loose
    priority: 8
  - type: InstantAction
    event:
      !type:RatKingOrderActionEvent
      type: Loose
