# Mail-only items. If/when these get used for anything else, please move them to another folder.
# Pranks: admin items or effects put into an envelope, released when opened or damaged.
- type: entity
  id: BaseDelayedItem
  parent: BaseItem
  abstract: true
  name: delayed item
  description: If you're seeing this, something went wrong!
  components:
  - type: Sprite
    sprite: error.rsi
    state: error
  - type: DelayedItem

- type: entity
  id: BaseDamageableDelayedItem
  parent: BaseDelayedItem
  abstract: true
  components:
  - type: Damageable

- type: entity
  id: DelayedSmoke
  parent: BaseDamageableDelayedItem
  categories: [ HideSpawnMenu ]
  name: delayed smoke
  suffix: "(10s)"
  components:
  - type: DelayedItem
    item: AdminInstantEffectSmoke10

- type: entity
  id: AdminInstantEffectEMP7
  categories: [ HideSpawnMenu ]
  suffix: EMP, 7 meters
  parent: AdminInstantEffectBase
  components:
  - type: EmpOnTrigger
    range: 7
    energyConsumption: 2700000

- type: entity
  id: DelayedEMP
  parent: BaseDamageableDelayedItem
  categories: [ HideSpawnMenu ]
  name: delayed EMP (7 meters)
  components:
  - type: DelayedItem
    item: AdminInstantEffectEMP7

# Miscellaneous Items

# Delay the emotional support pet so they don't suffocate.
- type: entity
  id: DelayedPetCarrierNPCEmotionalSupportSafe
  parent: BaseDelayedItem # Do not spawn a ghost role when this takes damage.
  categories: [ HideSpawnMenu ]
  name: delayed emotional support pet
  components:
  - type: DelayedItem
    item: PetCarrierNPCEmotionalSupportSafe

- type: entityTable
  id: NFRandomCritter
  table: !type:GroupSelector
    children:
    # Bugs (weight: 2)
    - id: MobCockroach
      weight: 0.34
    - id: MobSlug
      weight: 0.34
    - id: MobBee
      weight: 0.34
    - id: MobButterfly
      weight: 0.34
    - id: MobSnail
      weight: 0.34
      # Uncommon
    - id: MobMothroach
      weight: 0.15
      # Rare
    - id: MobRosyMothroach
      weight: 0.05
    - id: MobSnailMoth
      weight: 0.05
    - id: MobSnailSpeed
      weight: 0.05
    # Small reptiles (weight: 1)
    - id: MobLizard
      weight: 0.34
    - id: MobSnake
      weight: 0.33
    - id: MobFrog
      weight: 0.33
    # Small mammals (weight: 1)
    - id: MobMouse
      weight: 0.33
    - id: MobMouse1
      weight: 0.33
    - id: MobMouse2
      weight: 0.33
    - id: MobMouseCancer
      weight: 0.01 # Rare

- type: entity
  id: NFRandomCritter
  categories: [ HideSpawnMenu ]
  components:
  - type: EntityTableSpawner
    table: !type:NestedSelector
      tableId: NFRandomCritter

- type: entity
  id: DelayedNFRandomCritter
  parent: BaseDelayedItem # Do not spawn a ghost role when this takes damage.
  categories: [ HideSpawnMenu ]
  name: delayed random critter
  components:
  - type: DelayedItem
    item: NFRandomCritter

- type: entity
  id: SyringeCognizine
  parent: PrefilledSyringe
  suffix: cognizine
  components:
  - type: Label
    currentLabel: reagent-name-cognizine
  - type: SolutionContainerManager
    solutions:
      injector:
        maxVol: 15
        reagents:
          - ReagentId: Cognizine
            Quantity: 15 # Surely three friends is enough.

- type: entity
  id: SyringeOpporozidone
  parent: PrefilledSyringe
  suffix: opporozidone
  components:
  - type: Label
    currentLabel: reagent-name-opporozidone
  - type: SolutionContainerManager
    solutions:
      injector:
        maxVol: 15
        reagents:
          - ReagentId: Opporozidone
            Quantity: 15

- type: entity
  id: ChemistryBottleNecrosol
  parent: BaseChemistryBottleFilled
  suffix: necrosol
  components:
  - type: Label
    currentLabel: reagent-name-necrosol
  - type: SolutionContainerManager
    solutions:
      drink:
        maxVol: 30
        reagents:
        - ReagentId: Necrosol
          Quantity: 30

# Premium Alcohol: wait, it's just marketing?

# TODO: make inhand fill sprites (and I guess inhand sprites)
- type: entity
  id: DrinkBottleVisualsNoInHand
  abstract: true
  components:
  - type: SolutionContainerVisuals
    inHandsMaxFillLevels: 0

# TODO: different sprites would be nice.
- type: entity
  id: DrinkPremiumVodkaBottleFull
  parent: [ DrinkBottleVisualsNoInHand, DrinkVodkaBottleFull ]
  name: Moment of Clarity vodka bottle
  description: When things get a bit hectic, all you need is a Moment of Clarity.
  components:
  - type: Sprite
    sprite: _NF/Objects/Consumable/Drinks/premium_vodkabottle.rsi

- type: entity
  id: DrinkPremiumGinBottleFull
  parent: [ DrinkBottleVisualsNoInHand, DrinkGinBottleFull ]
  name: Harry's gin bottle
  description: An interesting set of botanicals, for sure. Is that pumpkin?
  components:
  - type: Sprite
    sprite: _NF/Objects/Consumable/Drinks/premium_ginbottle.rsi

- type: entity
  id: DrinkPremiumTequilaBottleFull
  parent: [ DrinkBottleVisualsNoInHand, DrinkTequilaBottleFull ]
  name: Casa del Eorg tequila bottle
  description: Save the best for last. Casa del Eorg, 100% agave.
  components:
  - type: Sprite
    sprite: _NF/Objects/Consumable/Drinks/premium_tequilabottle.rsi

- type: entity
  id: DrinkPremiumWhiskeyBottleFull
  parent: [ DrinkBottleVisualsNoInHand, DrinkWhiskeyBottleFull ]
  name: Ol' Prowler 18 whiskey bottle
  description: Surprisingly smooth, it has a nasty habit of sneaking up on you.
  components:
  - type: Sprite
    sprite: _NF/Objects/Consumable/Drinks/premium_whiskeybottle.rsi

- type: entity
  id: DrinkPremiumRumBottleFull
  parent: [ DrinkBottleVisualsNoInHand, DrinkRumBottleFull ]
  name: Redeemer's Bounty rum bottle
  description: Well, you asked for it. Navy strength.
  components:
  - type: Sprite
    sprite: _NF/Objects/Consumable/Drinks/premium_rumbottle.rsi

- type: entity
  id: DrinkPremiumAbsintheBottleFull
  parent: [ DrinkBottleVisualsNoInHand, DrinkAbsintheBottleFull ]
  name: Bureaucracy's Kiss absinthe bottle
  description: A refined taste that tends to linger.
  components:
  - type: Sprite
    sprite: _NF/Objects/Consumable/Drinks/premium_absinthebottle.rsi

- type: entity
  id: CigarPlatinumCase
  parent: CigarCase
  name: Generalissimo No. 3 cigar case
  description: Subtly embossed, and labelled "12/40". Smells of cedar.
  components:
  - type: StorageFill
    contents:
    - id: CigarPlatinum
      amount: 8
  - type: Sprite
    sprite: _NF/Objects/Consumable/Smokeables/Cigars/case-platinum.rsi

- type: entity
  id: CigarPlatinum
  parent: CigarGold
  name: Generalissimo No. 3 cigar
  description: You feel dignified just looking at it. Smells of cedar.
  components:
  - type: Sprite
    scale: 1.2, 1.2
    sprite: _NF/Objects/Consumable/Smokeables/Cigars/cigar-platinum.rsi
    state: unlit-icon
  - type: Clothing
    sprite: _NF/Objects/Consumable/Smokeables/Cigars/cigar-platinum.rsi
    equippedPrefix: unlit

- type: entity
  id: CigarPlatinumSpent
  parent: CigarPlatinum
  suffix: spent
  components:
  - type: Sprite
    state: burnt-icon
  - type: Smokable
    state: Burnt
  - type: SolutionContainerManager
    solutions:
      smokable:
        maxVol: 20

- type: entity
  name: lil vulp cannon
  parent: WeaponImprovisedPneumaticCannon
  id: WeaponVulpCannon
  description: With a widened barrel, this friend launcher can huck your little buddies further than you ever could.
  components:
  - type: Storage
    maxItemSize: Ginormous
    grid:
    - 0,0,6,4
    whitelist:
      components:
        - HumanoidAppearance
  - type: PneumaticCannon
    throwItems: false # must be false to get the TOOMP
    baseProjectileSpeed: 25.0 # zoom

- type: entity
  name: plushie cannon
  parent: WeaponImprovisedPneumaticCannon
  id: WeaponPlushieCannon
  description: Embossed on the barrel are the words "FRONT TOWARD FRIEND".
  components:
  - type: Sprite
    sprite: _NF/Objects/Weapons/Guns/Launchers/plushie_cannon.rsi
  - type: Storage
    areaInsert: true
    grid:
    - 0,0,3,3
    whitelist:
      components:
        - NFPlushie
  - type: Gun
    fireRate: 10
    selectedMode: FullAuto
    availableModes:
    - SemiAuto
    - FullAuto
