# TODO: Fix - The idea is that blood and vomit is potentially not tile-bound versions of puddles(?)
- type: entity
  id: PuddleTemporary
  parent: Puddle
  abstract: true
  components:
  - type: Transform
    anchored: true
    noRot: false

- type: entity
  id: PuddleSmear
  parent: PuddleTemporary
  suffix: Smear

- type: entity
  id: PuddleVomit
  parent: PuddleTemporary
  suffix: Vomit
  components:
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
        reagents:
        - ReagentId: Vomit
          Quantity: 10

- type: entity
  id: PuddleEgg
  parent: PuddleTemporary
  suffix: Egg
  components:
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
        reagents:
        - ReagentId: Egg
          Quantity: 6 # same as when cooking

- type: entity
  id: PuddleTomato
  parent: PuddleTemporary
  suffix: Tomato
  components:
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
        reagents:
        - ReagentId: JuiceTomato
          Quantity: 10

- type: entity
  parent: PuddleTemporary
  id: PuddleBloodSmall
  suffix: Blood (5u)
  components:
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
        reagents:
        - ReagentId: Blood
          Quantity: 5

- type: entity
  parent: PuddleTemporary
  id: PuddleBlood
  suffix: Blood (30u)
  components:
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
        reagents:
        - ReagentId: Blood
          Quantity: 30

- type: entity
  parent: PuddleTemporary
  id: PuddleFluorosulfuricAcidSmall
  suffix: FluorosulfuricAcid (5u)
  components:
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
        reagents:
        - ReagentId: FluorosulfuricAcid
          Quantity: 5

- type: entity
  parent: PuddleTemporary
  id: PuddleFluorosulfuricAcid
  suffix: FluorosulfuricAcid (15u)
  components:
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
        reagents:
        - ReagentId: FluorosulfuricAcid
          Quantity: 15

- type: entity
  id: PuddleWatermelon
  parent: PuddleTemporary
  suffix: Watermelon
  components:
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
        reagents:
        - ReagentId: JuiceWatermelon
          Quantity: 30

- type: entity
  id: PuddleFlour
  parent: PuddleTemporary
  suffix: Flour
  components:
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
        reagents:
        - ReagentId: Flour
          Quantity: 15

- type: entity
  id: PuddleSparkle
  name: sparkle
  placement:
    mode: SnapgridCenter
  components:
    # Animation is like 3 something seconds so we just need to despawn it before then.
    - type: TimedDespawn
      lifetime: 1
    - type: EvaporationSparkle
    - type: Transform
      noRot: true
      anchored: true
    - type: Sprite
      layers:
        - sprite: Fluids/wet_floor_sparkles.rsi
          state: sparkles
      drawdepth: Puddles
      color: "#FFFFFF80"

- type: entity
  name: puddle
  id: Puddle
  description: A puddle of liquid.
  placement:
    mode: SnapgridCenter
  components:
  - type: Clickable
  - type: Slippery
    staminaDamage: 0
    frictionStatusTime: 0 # Don't apply friction twice
  - type: Transform
    noRot: true
    anchored: true
  - type: Sprite
    layers:
    - sprite: Fluids/puddle.rsi
      state: splat0
    drawdepth: Puddles
    color: "#FFFFFF80"
  - type: Physics
    bodyType: Static
  - type: Fixtures
    fixtures:
      slipFixture:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.4,-0.4,0.4,0.4"
        mask:
        - ItemMask
        layer:
        - SlipLayer
        hard: false
  - type: IconSmooth
    key: puddles
    additionalKeys:
    - walls
    base: splat
    mode: CardinalFlags
  - type: SolutionContainerManager
    solutions:
      puddle:
        maxVol: 1000
  - type: Puddle
  - type: MixableSolution
    solution: puddle
  - type: Appearance
  - type: ActiveEdgeSpreader
  - type: EdgeSpreader
    id: Puddle
  - type: StepTrigger
  - type: Edible
    edible: Drink
    delay: 3
    transferAmount: 1
    solution: puddle
    utensil: Spoon
  - type: ExaminableSolution
    solution: puddle
    locVolume: "examinable-solution-on-examine-volume-puddle"
  - type: DrawableSolution
    solution: puddle
  - type: BadDrink
  - type: IgnoresFingerprints
  - type: Tag
    tags:
    - DNASolutionScannable
  - type: PuddleFootPrints # DeltaV- Begin updates from EE Blood Puddle

- type: entity
  name: footstep
  id: Footstep
  save: false
  description: Trace of liquid
  components:
  - type: Clickable
  - type: FootstepModifier
    footstepSoundCollection:
      collection: FootstepWater
      params:
        volume: 3
  - type: Transform
    noRot: false
  - type: Sprite
    drawdepth: FloorObjects
    color: "#FFFFFF80"
  - type: Physics
    bodyType: Static
  - type: Fixtures
    fixtures:
      slipFixture:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.4,-0.4,0.4,0.4"
        mask:
        - ItemMask
        layer:
        - SlipLayer
        hard: false
  - type: SolutionContainerManager
    solutions:
      step: { maxVol: 2 }
  - type: FootPrint
  - type: Puddle
    solution: step
  - type: Appearance
  - type: SpawnOnDespawn
    prototype: PuddleSparkle
  - type: TimedDespawn
    lifetime: 60 # DeltaV End updates from EE Blood Puddle

