- type: entity
  id: StorageTank
  parent: BaseStructureDynamic
  name: storage tank
  description: "A liquids storage tank."
  abstract: true
  components:
  - type: Sprite
    netsync: false
  - type: InteractionOutline
  - type: Physics
  - type: Fixtures
    fixtures:
    - shape:
        !type:PhysShapeAabb
          bounds: "-0.4,-0.4,0.4,0.4"
      mass: 100
      mask:
      - Impassable
      - SmallImpassable
      layer:
      - Opaque
      - Impassable
      - MobImpassable
      - VaultImpassable
      - SmallImpassable
  - type: Damageable
    damageContainer: Inorganic
    damageModifierSet: Metallic
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTypeTrigger
        damageType: Heat
        damage: 5
      behaviors:
      #spill BEFORE exploding, so that one day explosions can ignite puddles
      - !type:SpillBehavior
        solution: tank
      - !type:ExplodeBehavior
        #note: only actually explodes if entity has ExplosiveComponent.
    - trigger:
        !type:DamageTrigger
        damage: 10
      behaviors:
      - !type:SpillBehavior
        solution: tank
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: SolutionContainerManager
    solutions:
      tank:
        maxVol: 1500
  - type: DrainableSolution
    solution: tank
  - type: ReagentTank
