# When adding new food also add to random spawner located in Resources\Prototypes\Entities\Markers\Spawners\Random\Food_Drinks\food_baked_whole.yml & food_baked_single.yml
# Base

- type: entity
  parent: FoodInjectableBase
  id: FoodCakeBase
  abstract: true
  components:
  - type: FlavorProfile
    flavors:
      - sweet
  - type: Food
  - type: Sprite
    sprite: Objects/Consumable/Food/Baked/cake.rsi
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 50
        reagents:
        - ReagentId: Nutriment
          Quantity: 20
        - ReagentId: Vitamin
          Quantity: 5
        - ReagentId: Flavorol
          Quantity: 20
  - type: Item
    size: Normal
  - type: Tag
    tags:
    - Cake
  - type: SecretStash
    maxItemSize: "Normal"
    secretStashName: secret-stash-cake
    damageEatenItemInside:
      types:
        Slash: 7.5
  - type: ToolOpenable
    openToolQualityNeeded: Slicing
    closeToolQualityNeeded: Slicing
    verbOnly: true
  - type: ContainerContainer
    containers:
      stash: !type:ContainerSlot {}

- type: entity
  parent: FoodCakeBase
  id: FoodCakeSliceBase
  abstract: true
  description: Just a slice of cake, it is enough for everyone.
  components:
  - type: FlavorProfile
    flavors:
      - sweet
  - type: Food
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 10
        reagents:
        - ReagentId: Nutriment
          Quantity: 4
        - ReagentId: Vitamin
          Quantity: 1
        - ReagentId: Flavorol
          Quantity: 4
  - type: Item
    size: Tiny
  - type: Tag
    tags:
    - Cake
    - Slice

# Custom Cake Example

- type: entity
  name: blueberry cake
  parent: FoodCakeBase
  id: FoodCakeBlueberry
  description: Stains your teeth.
  components:
  - type: Sprite
    layers:
    - state: plain
    - state: alpha-filling
      color: blue
  - type: SliceableFood
    slice: FoodCakeBlueberrySlice
  - type: Tag
    tags:
    - Cake
    - Fruit

- type: entity
  name: blueberry slice
  parent: FoodCakeSliceBase
  id: FoodCakeBlueberrySlice
  description: Stains your teeth.
  components:
  - type: Sprite
    layers:
    - state: plain-slice
    - state: alpha-slice-filling
      color: blue
  - type: Tag
    tags:
    - Cake
    - Fruit
    - Slice

# Cake

- type: entity
  name: cake
  parent: FoodCakeBase
  id: FoodCakePlain
  description: A plain cake, not a lie.
  components:
  - type: Sprite
    state: plain
  - type: SliceableFood
    slice: FoodCakePlainSlice

# Added in type lines above

- type: entity
  name: slice of cake
  parent: FoodCakeSliceBase
  id: FoodCakePlainSlice
  components:
  - type: Sprite
    state: plain-slice
# Tastes like sweetness, cake.

- type: entity
  name: carrot cake
  parent: FoodCakeBase
  id: FoodCakeCarrot
  description: A favorite desert of a certain wascally wabbit.
  components:
  - type: Sprite
    state: carrot
  - type: SliceableFood
    slice: FoodCakeCarrotSlice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 35
        reagents:
        - ReagentId: JuiceCarrot
          Quantity: 15
        - ReagentId: Sugar
          Quantity: 5
        - ReagentId: Vitamin
          Quantity: 5
        - ReagentId: Flavorol
          Quantity: 5
  - type: Tag
    tags:
    - Cake
    - Vegetable

- type: entity
  name: slice of carrot cake
  parent: FoodCakeSliceBase
  id: FoodCakeCarrotSlice
  description: Carrotty slice of carrot cake. Carrots are good for your eyes!
  components:
  - type: Sprite
    state: carrot-slice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 6
        reagents:
        - ReagentId: JuiceCarrot
          Quantity: 3
        - ReagentId: Sugar
          Quantity: 1
        - ReagentId: Vitamin
          Quantity: 1
        - ReagentId: Flavorol
          Quantity: 1
  - type: Tag
    tags:
    - Cake
    - Vegetable
    - Slice

# Tastes like sweetness, cake, carrot.

- type: entity
  name: brain cake
  parent: FoodCakeBase
  id: FoodCakeBrain
  description: A squishy cake-thing.
  components:
  - type: Sprite
    state: brain
  - type: SliceableFood
    slice: FoodCakeBrainSlice
  - type: Tag
    tags:
    - Cake
    - Meat

- type: entity
  name: slice of brain cake
  parent: FoodCakeSliceBase
  id: FoodCakeBrainSlice
  description: Lemme tell you something about prions. THEY'RE DELICIOUS.
  components:
  - type: Sprite
    state: brain-slice
  - type: Tag
    tags:
    - Cake
    - Meat
    - Slice
# Tastes like sweetness, cake, brains.

- type: entity
  name: cheese cake
  parent: FoodCakeBase
  id: FoodCakeCheese
  description: DANGEROUSLY cheesy.
  components:
  - type: Sprite
    state: cheese
  - type: SliceableFood
    slice: FoodCakeCheeseSlice

- type: entity
  name: slice of cheese cake
  parent: FoodCakeSliceBase
  id: FoodCakeCheeseSlice
  description: Slice of pure cheestisfaction.
  components:
  - type: Sprite
    state: cheese-slice
# Tastes like sweetness, cream cheese.

- type: entity
  name: orange cake
  parent: FoodCakeBase
  id: FoodCakeOrange
  description: A cake with added orange.
  components:
  - type: Sprite
    state: orange
  - type: SliceableFood
    slice: FoodCakeOrangeSlice
  - type: Tag
    tags:
    - Cake
    - Fruit

- type: entity
  name: slice of orange cake
  parent: FoodCakeSliceBase
  id: FoodCakeOrangeSlice
  components:
  - type: Sprite
    state: orange-slice
  - type: Tag
    tags:
    - Cake
    - Fruit
    - Slice
# Tastes like sweetness, cake, oranges.

- type: entity
  name: lime cake
  parent: FoodCakeBase
  id: FoodCakeLime
  description: A cake with added lime.
  components:
  - type: Sprite
    state: lime
  - type: SliceableFood
    slice: FoodCakeLimeSlice
  - type: Tag
    tags:
    - Cake
    - Fruit

- type: entity
  name: slice of lime cake
  parent: FoodCakeSliceBase
  id: FoodCakeLimeSlice
  components:
  - type: Sprite
    state: lime-slice
  - type: Tag
    tags:
    - Cake
    - Fruit
    - Slice
# Tastes like sweetness, cake, limes.

- type: entity
  name: lemon cake
  parent: FoodCakeBase
  id: FoodCakeLemon
  description: A cake with added lemon.
  components:
  - type: Sprite
    state: lemon
  - type: SliceableFood
    slice: FoodCakeLemonSlice
  - type: Tag
    tags:
    - Cake
    - Fruit

- type: entity
  name: slice of lemon cake
  parent: FoodCakeSliceBase
  id: FoodCakeLemonSlice
  components:
  - type: Sprite
    state: lemon-slice
  - type: Tag
    tags:
    - Cake
    - Fruit
    - Slice
# Tastes like sweetness, cake, lemons.

- type: entity
  name: lemoon cake
  parent: FoodCakeBase
  id: FoodCakeLemoon
  description: A cake that represents the moon of earth.
  components:
  - type: Sprite
    state: lemoon
  - type: FlavorProfile
    flavors:
      - lemoon
      - berry
  - type: SliceableFood
    slice: FoodCakeLemoonSlice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 30
        reagents:
        - ReagentId: Nutriment
          Quantity: 15
        - ReagentId: Vitamin
          Quantity: 5
        - ReagentId: Milk
          Quantity: 5
  - type: Tag
    tags:
    - Cake
    - Fruit

- type: entity
  name: shard of lemoon cake
  parent: FoodCakeSliceBase
  id: FoodCakeLemoonSlice
  description: A shard of moon, has the smell of milk.
  components:
  - type: Sprite
    state: lemoon-slice
  - type: FlavorProfile
    flavors:
      - lemoon
      - berry
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 15
        reagents:
        - ReagentId: Nutriment
          Quantity: 3
        - ReagentId: Vitamin
          Quantity: 1
        - ReagentId: Milk
          Quantity: 1
  - type: Tag
    tags:
    - Cake
    - Fruit
    - Slice

- type: entity
  name: chocolate cake
  parent: FoodCakeBase
  id: FoodCakeChocolate
  description: A cake with added chocolate.
  components:
  - type: Sprite
    state: chocolate
  - type: SliceableFood
    slice: FoodCakeChocolateSlice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 55
        reagents:
        - ReagentId: Nutriment
          Quantity: 20
        - ReagentId: Theobromine
          Quantity: 5
        - ReagentId: Vitamin
          Quantity: 5
        - ReagentId: Flavorol
          Quantity: 20

- type: entity
  name: slice of chocolate cake
  parent: FoodCakeSliceBase
  id: FoodCakeChocolateSlice
  components:
  - type: Sprite
    state: chocolate-slice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 8
        reagents:
        - ReagentId: Nutriment
          Quantity: 4
        - ReagentId: Theobromine
          Quantity: 1
        - ReagentId: Vitamin
          Quantity: 1
        - ReagentId: Flavorol
          Quantity: 4
# Tastes like sweetness, cake, chocolate.

- type: entity
  name: apple cake
  parent: FoodCakeBase
  id: FoodCakeApple
  description: A cake centred with apple.
  components:
  - type: Sprite
    state: apple
  - type: SliceableFood
    slice: FoodCakeAppleSlice
  - type: Tag
    tags:
    - Cake
    - Fruit

- type: entity
  name: slice of apple cake
  parent: FoodCakeSliceBase
  id: FoodCakeAppleSlice
  description: A slice of heavenly cake.
  components:
  - type: Sprite
    state: apple-slice
  - type: Tag
    tags:
    - Cake
    - Fruit
    - Slice
# Tastes like sweetness, cake, slime.

- type: entity
  name: slime cake
  parent: FoodCakeBase
  id: FoodCakeSlime
  description: A cake made of slimes. Probably not electrified.
  components:
  - type: Sprite
    state: slime
  - type: SliceableFood
    slice: FoodCakeSlimeSlice
  - type: Tag
    tags:
    - Cake
    - Meat

- type: entity
  name: slice of slime cake
  parent: FoodCakeSliceBase
  id: FoodCakeSlimeSlice
  description: A slice of slime cake.
  components:
  - type: Sprite
    state: slime-slice
  - type: Tag
    tags:
    - Cake
    - Meat
    - Slice
# Tastes like sweetness, cake, slime.

- type: entity
  name: pumpkin-spice cake
  parent: FoodCakeBase
  id: FoodCakePumpkin
  description: A hollow cake with real pumpkin.
  components:
  - type: Sprite
    state: pumpkinspice
  - type: SliceableFood
    slice: FoodCakePumpkinSlice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 70
        reagents:
        - ReagentId: Nutriment
          Quantity: 32
        - ReagentId: Vitamin
          Quantity: 11
        - ReagentId: Flavorol
          Quantity: 20
  - type: Tag
    tags:
    - Cake
    - Fruit

- type: entity
  name: slice of pumpkin-spice cake
  parent: FoodCakeSliceBase
  id: FoodCakePumpkinSlice
  description: A spicy slice of pumpkin goodness.
  components:
  - type: Sprite
    state: pumpkinspice-slice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 15
        reagents:
        - ReagentId: Nutriment
          Quantity: 6.4
        - ReagentId: Vitamin
          Quantity: 2.2
        - ReagentId: Flavorol
          Quantity: 4
  - type: Tag
    tags:
    - Cake
    - Fruit
    - Slice
# Tastes like sweetness, cake, pumpkin.

- type: entity
  name: christmas cake
  parent: FoodCakeBase
  id: FoodCakeChristmas
  description: A cake made of christmas.
  components:
  - type: Sprite
    state: christmas
  - type: SliceableFood
    slice: FoodCakeChristmasSlice
  - type: Tag
    tags:
    - Cake
    - Fruit

- type: entity
  name: slice of christmas cake
  parent: FoodCakeSliceBase
  id: FoodCakeChristmasSlice
  components:
  - type: Sprite
    state: christmas-slice
  - type: Tag
    tags:
    - Cake
    - Fruit
    - Slice
# Tastes like sweetness, cake, christmas.

- type: entity
  name: birthday cake
  parent: FoodCakeBase
  id: FoodCakeBirthday
  description: Happy Birthday little clown...
  components:
  - type: Sprite
    state: birthday
  - type: SliceableFood
    slice: FoodCakeBirthdaySlice

- type: entity
  name: slice of birthday cake
  parent: FoodCakeSliceBase
  id: FoodCakeBirthdaySlice
  description: A slice of your birthday.
  components:
  - type: Sprite
    state: birthday-slice
# Tastes like sweetness, cake, christmas.

- type: entity
  name: vanilla cake
  parent: FoodCakeBase
  id: FoodCakeVanilla
  description: A vanilla frosted cake.
  components:
  - type: Sprite
    state: vanilla
  - type: SliceableFood
    slice: FoodCakeVanillaSlice
  - type: SolutionContainerManager #TODO Sprinkles
    solutions:
      food:
        maxVol: 65
        reagents:
        - ReagentId: Nutriment
          Quantity: 20
        - ReagentId: Vitamin
          Quantity: 5
        - ReagentId: Sugar
          Quantity: 15
        - ReagentId: Flavorol
          Quantity: 20

- type: entity
  name: slice of vanilla cake
  parent: FoodCakeSliceBase
  id: FoodCakeVanillaSlice
  description: A slice of vanilla frosted cake.
  components:
  - type: Sprite
    state: vanilla-slice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 45
        reagents:
        - ReagentId: Nutriment
          Quantity: 4
        - ReagentId: Vitamin
          Quantity: 1
        - ReagentId: Sugar
          Quantity: 3
        - ReagentId: Flavorol
          Quantity: 4
# Tastes like sweetness, cake, vanilla.

- type: entity
  name: clown cake
  parent: FoodCakeBase
  id: FoodCakeClown
  description: A funny cake with a clown face on it.
  components:
  - type: Sprite
    state: clown
  - type: SliceableFood
    slice: FoodCakeClownSlice
  - type: SolutionContainerManager #TODO Sprinkles
    solutions:
      food:
        maxVol: 65
        reagents:
        - ReagentId: Nutriment
          Quantity: 20
        - ReagentId: Vitamin
          Quantity: 5
        - ReagentId: Sugar
          Quantity: 15
        - ReagentId: Flavorol
          Quantity: 20

- type: entity
  name: slice of clown cake
  parent: FoodCakeSliceBase
  id: FoodCakeClownSlice
  description: A slice of bad jokes, and silly props.
  components:
  - type: Sprite
    state: clown-slice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 45
        reagents:
        - ReagentId: Nutriment
          Quantity: 4
        - ReagentId: Vitamin
          Quantity: 1
        - ReagentId: Sugar
          Quantity: 3
        - ReagentId: Flavorol
          Quantity: 4
# Tastes like sweetness, cake, clown.

- type: entity
  name: spaceman's cake
  parent: FoodCakeBase
  id: FoodCakeSpaceman
  description: A spaceman's trumpet frosted cake.
  components:
  - type: Sprite
    state: trumpet
  - type: SliceableFood
    slice: FoodCakeSpacemanSlice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 45
        reagents:
        - ReagentId: Nutriment
          Quantity: 20
        - ReagentId: Vitamin
          Quantity: 5
        - ReagentId: PolypyryliumOligomers
          Quantity: 15

- type: entity
  name: slice of spaceman's cake
  parent: FoodCakeSliceBase
  id: FoodCakeSpacemanSlice
  description: A spaceman's trumpet frosted cake.
  components:
  - type: Sprite
    state: trumpet-slice
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 10
        reagents:
        - ReagentId: Nutriment
          Quantity: 4
        - ReagentId: Vitamin
          Quantity: 1
        - ReagentId: PolypyryliumOligomers
          Quantity: 3
# Tastes like sweetness, cake, jam.

- type: entity
  name: cak
  id: MobCatCake
  parent: EdibleBase
  description: It's a cake. It's a cat. It's a cak.
  components:
  - type: FlavorProfile
    flavors:
    - sweet
  - type: InjectableSolution
    solution: food
  - type: RefillableSolution
    solution: food
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 30
        reagents:
        - ReagentId: Nutriment
          Quantity: 20
        - ReagentId: Vitamin
          Quantity: 5
  - type: Sprite
    noRot: true
    drawdepth: Mobs
    sprite: Mobs/Pets/cat.rsi
    layers:
    - map: ["enum.DamageStateVisualLayers.Base"]
      state: cak
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeCircle
          radius: 0.35
        density: 50
        mask:
        - MobMask
        layer:
        - MobLayer
  - type: RotationVisuals
    defaultRotation: 0
    horizontalRotation: 0
  - type: Item
    size: Ginormous
    heldPrefix: cak
  - type: Clothing
    quickEquip: false
    sprite: Mobs/Pets/cat.rsi
    equippedPrefix: cak
    slots:
    - HEAD
  - type: GhostRole
    prob: 1
    name: ghost-role-information-Cak-name
    allowMovement: true
    description: ghost-role-information-Cak-description
    rules: ghost-role-information-nonantagonist-rules
    raffle:
      settings: short
  - type: GhostTakeoverAvailable
  - type: OwOAccent
  - type: Speech
    speechSounds: Cat
    speechVerb: SmallMob
  - type: MovementSpeedModifier
    baseWalkSpeed : 5
    baseSprintSpeed : 3
  - type: Tag
    tags:
    - VimPilot
    - DoorBumpOpener
    - Cake
  - type: CanEscapeInventory
    baseResistTime: 2
  - type: Puller
    needsHands: false
  - type: Examiner
  - type: DoAfter
  - type: CombatMode
  - type: MeleeWeapon
    soundHit:
      path: /Audio/Animals/cat_hiss.ogg
    hidden: true
    damage:
      groups:
        Brute: 1

# Suppermatter
# I can't figure out where to put this. It kind of acts like a cake I guess?

- type: entity
  name: suppermatter
  parent: FoodCakeBase
  id: FoodCakeSuppermatter
  description: Extremely dense and powerful food.
  components:
  - type: Sprite
    state: suppermatter
  - type: SliceableFood
    slice: FoodCakeSuppermatterSlice
    count: 8
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 48
        reagents:
        - ReagentId: Flavorol
          Quantity: 48
  - type: Food
    transferAmount: 12
  - type: Item
    size: Normal
  - type: PointLight
    color: "#FFFF00"
    radius: 2
    energy: 1.4

- type: entity
  name: suppermatter shard
  parent: FoodCakeSliceBase
  id: FoodCakeSuppermatterSlice
  description: A single portion of power.
  components:
  - type: Sprite
    state: suppermatter-shard
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 12
        reagents:
        - ReagentId: Flavorol
          Quantity: 12
  - type: Food
    transferAmount: 3
  - type: PointLight
    color: "#FFFF00"
    radius: 1.4
    energy: 1.4
  - type: Tag
    tags:
    - Slice
  - type: FoodSequenceElement
    entries:
      Taco: Suppermatter
      Burger: SuppermatterBurger
