# SPDX-FileCopyrightText: 2020 AJCM-git <60196617+AJCM-git@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2020 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Hugo Laloge <hugo.laloge@gmail.com>
# SPDX-FileCopyrightText: 2020 Jackw2As <aaldersjack@gmail.com>
# SPDX-FileCopyrightText: 2020 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2020 nuke <47336974+nuke-makes-games@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Metal Gear Sloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2021 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2021 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Ygg01 <y.laughing.man.y@gmail.com>
# SPDX-FileCopyrightText: 2022 ElectroJr <leonsfriedrich@gmail.com>
# SPDX-FileCopyrightText: 2022 KIBORG04 <bossmira4@gmail.com>
# SPDX-FileCopyrightText: 2022 Lamrr <96937466+Lamrr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Moony <moonheart08@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Peptide90 <78795277+Peptide90@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Rane <60792108+Elijahrane@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Rinkashikachi <15rinkashikachi15@gmail.com>
# SPDX-FileCopyrightText: 2022 Veritius <veritiusgaming@gmail.com>
# SPDX-FileCopyrightText: 2022 ike709 <ike709@github.com>
# SPDX-FileCopyrightText: 2022 ike709 <ike709@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 mirrorcult <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2022 moonheart08 <moonheart08@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 MisterMecky <mrmecky@hotmail.com>
# SPDX-FileCopyrightText: 2023 Tom Richardson <tgrkzus@gmail.com>
# SPDX-FileCopyrightText: 2023 Tunguso4ka <71643624+Tunguso4ka@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 drteaspoon420 <87363733+drteaspoon420@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 potato1234_x <79580518+potato1234x@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Verm <32827189+Vermidia@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 whateverusername0 <whateveremail>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# Welding

- type: entity
  id: WeldingFuelTank
  parent: [StorageTank, StructureWheeled]
  name: fuel tank
  description: A fuel tank. It's used to store high amounts of fuel.
  suffix: Empty
  components:
  - type: StaticPrice
    price: 750
  - type: Sprite
    sprite: Structures/Storage/tanks.rsi
    layers:
      - state: fueltank-2
      - state: fueltank-2-1
        map: ["enum.SolutionContainerLayers.Fill"]
        visible: false
  - type: Appearance
  - type: SolutionContainerVisuals
    maxFillLevels: 3
    fillBaseName: fueltank-2-
  - type: ExaminableSolution
    solution: tank
  - type: ReagentTank
    tankType: Fuel
  - type: DamageOnToolInteract
    tools: Welding
    weldingDamage:
      types:
        Heat: 10
  - type: PacifismDangerousAttack
  - type: Explosive
    explosionType: Default
    totalIntensity: 60 # Mediocre explosion. Not enough to do any meaningful structural damage to anything other then windows, provided you're only using one tank.

- type: entity
  id: WeldingFuelTankFull
  parent: WeldingFuelTank
  suffix: Full
  components:
  - type: SolutionContainerManager
    solutions:
      tank:
        reagents:
        - ReagentId: WeldingFuel
          Quantity: 1500

- type: entity
  parent: [StorageTankBig, WeldingFuelTank] # StorageTankBig must come first, or else the desnity won't get inherited.
  id: WeldingFuelTankHighCapacity
  name: high-capacity fuel tank
  description: A highly pressurized fuel tank made to hold gargantuan amounts of welding fuel.
  suffix: Full
  components:
  - type: StaticPrice
    price: 2500
  - type: Sprite
    sprite: Structures/Storage/tanks.rsi
    layers:
      - state: highfueltank-2
      - state: highfueltank-2-1
        map: ["enum.SolutionContainerLayers.Fill"]
        visible: false
  - type: SolutionContainerVisuals
    maxFillLevels: 7
    fillBaseName: highfueltank-2-
  - type: SolutionContainerManager
    solutions:
      tank:
        reagents:
        - ReagentId: WeldingFuel
          Quantity: 5000
        maxVol: 5000
  - type: Explosive
    explosionType: Default
    totalIntensity: 120

# Water

- type: entity
  id: WaterTank
  parent: [StorageTank, StructureWheeled]
  name: water tank
  description: A water tank. It's used to store high amounts of water.
  suffix: Empty
  components:
  - type: Tag # goob edit
    tags:
    - WaterTank
  - type: StaticPrice
    price: 500
  - type: Sprite
    sprite: Structures/Storage/tanks.rsi
    layers:
      - state: watertank-2
      - state: watertank-2-1
        map: ["enum.SolutionContainerLayers.Fill"]
        visible: false
  - type: Appearance
  - type: SolutionContainerVisuals
    maxFillLevels: 5
    fillBaseName: watertank-2-
  - type: ExaminableSolution
    solution: tank

- type: entity
  parent: WaterTank
  id: WaterTankFull
  suffix: Full
  components:
  - type: SolutionContainerManager
    solutions:
      tank:
        reagents:
        - ReagentId: Water
          Quantity: 1500

- type: entity
  parent: StorageTank
  id: WaterCooler
  name: water cooler
  description: Seems like a good place to stand and waste time. It has a stock of paper cups on the side.
  components:
  - type: Sprite
    sprite: Structures/Storage/tanks.rsi
    layers:
      - state: watercooler-2
      - state: watercooler-2-1
        map: ["enum.SolutionContainerLayers.Fill"]
        visible: false
  - type: Appearance
  - type: SolutionContainerVisuals
    maxFillLevels: 4
    fillBaseName: watercooler-2-
  - type: SolutionContainerManager
    solutions:
      tank:
        reagents:
        - ReagentId: Water
          Quantity: 500
  - type: ContainerContainer
    containers:
      bin-container: !type:Container
  - type: Bin
    initialContents:
    - DrinkWaterCup
    - DrinkWaterCup
    - DrinkWaterCup
    - DrinkWaterCup
    - DrinkWaterCup
    - DrinkWaterCup
    - DrinkWaterCup
    - DrinkWaterCup
    - DrinkWaterCup
    - DrinkWaterCup
    whitelist:
      requireAll: true
      components:
      - FitsInDispenser
      tags:
      - Trash
  - type: ExaminableSolution
    solution: tank
  - type: StaticPrice
    price: 500

- type: entity
  parent: [StorageTankBig, WaterTank]
  id: WaterTankHighCapacity
  name: high-capacity water tank
  description: A highly pressurized water tank made to hold gargantuan amounts of water.
  suffix: Full
  components:
  - type: StaticPrice
    price: 2500
  - type: Sprite
    sprite: Structures/Storage/tanks.rsi
    layers:
      - state: highwatertank-2
      - state: highwatertank-2-1
        map: ["enum.SolutionContainerLayers.Fill"]
        visible: false
  - type: Appearance
  - type: SolutionContainerVisuals
    maxFillLevels: 7
    fillBaseName: highwatertank-2-
  - type: SolutionContainerManager
    solutions:
      tank:
        reagents:
        - ReagentId: Water
#         This is *100, 000* on /tg/
          Quantity: 10000
        maxVol: 10000
#   It's pressurized...
  - type: ExaminableSolution
    solution: tank
  - type: ReagentTank
    transferAmount: 100

- type: entity
  id: GenericTank
  parent: [StorageTank, StructureWheeled]
  suffix: Empty
  components:
    - type: StaticPrice
      price: 500
    - type: Sprite
      sprite: Structures/Storage/tanks.rsi
      layers:
        - state: generictank-1
        - state: watertank-2-1
          map: ["enum.SolutionContainerLayers.Fill"]
          visible: false
    - type: Appearance
    - type: SolutionContainerVisuals
      maxFillLevels: 5
      fillBaseName: watertank-2-
    - type: ExaminableSolution
      solution: tank