# SPDX-FileCopyrightText: 2019 Acruid <shatter66@gmail.com>
# SPDX-FileCopyrightText: 2019 DamianX <DamianX@users.noreply.github.com>
# SPDX-FileCopyrightText: 2019 Injazz <43905364+Injazz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2019 L.E.D <10257081+unusualcrow@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 AJCM-git <60196617+AJCM-git@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 Campbell Suter <znix@znix.xyz>
# SPDX-FileCopyrightText: 2020 ComicIronic <comicironic@gmail.com>
# SPDX-FileCopyrightText: 2020 Exp <theexp111@gmail.com>
# SPDX-FileCopyrightText: 2020 GlassEclipse <tsymall5@gmail.com>
# SPDX-FileCopyrightText: 2020 Hugo Laloge <hugo.laloge@gmail.com>
# SPDX-FileCopyrightText: 2020 Paul Ritter <ritter.paul1@googlemail.com>
# SPDX-FileCopyrightText: 2020 Peter Wedder <burneddi@gmail.com>
# SPDX-FileCopyrightText: 2020 Víctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 V�ctor Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 ike709 <ike709@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 py01 <60152240+collinlunn@users.noreply.github.com>
# SPDX-FileCopyrightText: 2020 py01 <pyronetics01@gmail.com>
# SPDX-FileCopyrightText: 2020 silicons <2003111+silicons@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 20kdc <asdd2808@gmail.com>
# SPDX-FileCopyrightText: 2021 Galactic Chimp <GalacticChimpanzee@gmail.com>
# SPDX-FileCopyrightText: 2021 Metal Gear Sloth <metalgearsloth@gmail.com>
# SPDX-FileCopyrightText: 2021 SETh lafuente <cetaciocascarudo@gmail.com>
# SPDX-FileCopyrightText: 2021 SethLafuente <84478872+SethLafuente@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Swept <sweptwastaken@protonmail.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <6766154+Zumorica@users.noreply.github.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <gradientvera@outlook.com>
# SPDX-FileCopyrightText: 2021 Vera Aguilera Puerto <zddm@outlook.es>
# SPDX-FileCopyrightText: 2021 mirrorcult <notzombiedude@gmail.com>
# SPDX-FileCopyrightText: 2022 Alex Evgrashin <aevgrashin@yandex.ru>
# SPDX-FileCopyrightText: 2022 ChilbroBaggins <107660393+ChilbroBaggins@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 CrudeWax <75271456+CrudeWax@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Fishfish458 <47410468+Fishfish458@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Jeff <velcroboy333@hotmail.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 Scribbles0 <91828755+Scribbles0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Visne <39844191+Visne@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 fishfish458 <fishfish458>
# SPDX-FileCopyrightText: 2022 mirrorcult <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2023 Bixkitts <72874643+Bixkitts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 NULL882 <104377798+NULL882@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 PixelTK <85175107+PixelTheKermit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Puro <103608145+PuroSlavKing@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Velcroboy <107660393+IamVelcroboy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Vordenburg <114301317+Vordenburg@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 avery <51971268+graevy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 daerSeebaer <61566539+daerSeebaer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 12rabbits <53499656+12rabbits@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 AJCM <AJCM@tutanota.com>
# SPDX-FileCopyrightText: 2024 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2024 Alzore <140123969+Blackern5000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Brandon Hu <103440971+Brandon-Huu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CaasGit <87243814+CaasGit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 CatMagic <135462166+CatMagic1@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DieselMohawk <gavin.drinka@gmail.com>
# SPDX-FileCopyrightText: 2024 Dimastra <65184747+Dimastra@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Dimastra <dimastra@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 DrSmugleaf <DrSmugleaf@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Emisse <99158783+Emisse@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 EmoGarbage404 <retron404@gmail.com>
# SPDX-FileCopyrightText: 2024 Eoin Mcloughlin <helloworld@eoinrul.es>
# SPDX-FileCopyrightText: 2024 Errant <35878406+Errant-4@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 HS <81934438+HolySSSS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Hrosts <35345601+Hrosts@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ian <ignaz.k@live.de>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <51352440+JIPDawg@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JIPDawg <JIPDawg93@gmail.com>
# SPDX-FileCopyrightText: 2024 Joel Zimmerman <JoelZimmerman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustCone <141039037+JustCone14@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 JustinWinningham <justinmwinningham@gmail.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2024 Killerqu00 <47712032+Killerqu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ko4ergaPunk <62609550+Ko4ergaPunk@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kukutis96513 <146854220+Kukutis96513@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Lye <128915833+Lyroth001@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MACMAN2003 <macman2003c@gmail.com>
# SPDX-FileCopyrightText: 2024 MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mervill <mervills.email@gmail.com>
# SPDX-FileCopyrightText: 2024 MisterMecky <mrmecky@hotmail.com>
# SPDX-FileCopyrightText: 2024 Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 MureixloI <132683811+MureixloI@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nairod <110078045+Nairodian@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 NakataRin <45946146+NakataRin@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 OrangeMoronage9622 <whyteterry0092@gmail.com>
# SPDX-FileCopyrightText: 2024 PJBot <pieterjan.briers+bot@gmail.com>
# SPDX-FileCopyrightText: 2024 Partmedia <kevinz5000@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
# SPDX-FileCopyrightText: 2024 Pieter-Jan Briers <pieterjan.briers@gmail.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2024 Plykiya <58439124+Plykiya@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PopGamer46 <yt1popgamer@gmail.com>
# SPDX-FileCopyrightText: 2024 Preston Smith <92108534+thetolbean@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 PursuitInAshes <pursuitinashes@gmail.com>
# SPDX-FileCopyrightText: 2024 QueerNB <176353696+QueerNB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Repo <47093363+Titian3@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 RumiTiger <154005209+RumiTiger@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Saphire Lattice <lattice@saphi.re>
# SPDX-FileCopyrightText: 2024 ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Simon <63975668+Simyon264@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 SonicHDC <100022571+SonicHDC@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Spatison <137375981+Spatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Spessmann <156740760+Spessmann@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Stalen <33173619+stalengd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TakoDragon <69509841+BackeTako@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Tayrtahn <tayrtahn@gmail.com>
# SPDX-FileCopyrightText: 2024 Thomas <87614336+Aeshus@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ubaser <134914314+UbaserB@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Unisol <1929445+Unisol@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Unkn0wn_Gh0st <shadowstalkermll@gmail.com>
# SPDX-FileCopyrightText: 2024 Vasilis <vasilis@pikachu.systems>
# SPDX-FileCopyrightText: 2024 Vigers Ray <60344369+VigersRay@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Winkarst <74284083+Winkarst-cpu@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 beck-thompson <107373427+beck-thompson@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 chromiumboy <50505512+chromiumboy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 coolboy911 <85909253+coolboy911@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deathride58 <deathride58@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 degradka <69397649+degradka@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <39013340+deltanedas@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 deltanedas <@deltanedas:kde.org>
# SPDX-FileCopyrightText: 2024 dffdff2423 <dffdff2423@gmail.com>
# SPDX-FileCopyrightText: 2024 eoineoineoin <github@eoinrul.es>
# SPDX-FileCopyrightText: 2024 foboscheshir <156405958+foboscheshir@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 keronshb <54602815+keronshb@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 lanse12 <cloudability.ez@gmail.com>
# SPDX-FileCopyrightText: 2024 lunarcomets <140772713+lunarcomets@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 metalgearsloth <comedian_vs_clown@hotmail.com>
# SPDX-FileCopyrightText: 2024 nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 osjarw <oskariwjarvinen@gmail.com>
# SPDX-FileCopyrightText: 2024 plykiya <plykiya@protonmail.com>
# SPDX-FileCopyrightText: 2024 saintmuntzer <47153094+saintmuntzer@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 shamp <140359015+shampunj@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 slarticodefast <161409025+slarticodefast@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stellar-novas <stellar_novas@riseup.net>
# SPDX-FileCopyrightText: 2024 strO0pwafel <153459934+strO0pwafel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 stroopwafel <j.o.luijkx@student.tudelft.nl>
# SPDX-FileCopyrightText: 2024 themias <89101928+themias@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 to4no_fix <156101927+chavonadelal@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 voidnull000 <18663194+voidnull000@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 BombasterDS <deniskaporoshok@gmail.com>
# SPDX-FileCopyrightText: 2025 BombasterDS2 <shvalovdenis.workmail@gmail.com>
# SPDX-FileCopyrightText: 2025 DoutorWhite <thedoctorwhite@gmail.com>
# SPDX-FileCopyrightText: 2025 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 Southbridge <7013162+southbridge-fur@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Ted Lukin <66275205+pheenty@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 yavuz <58685802+yahay505@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  abstract: true
  parent: BaseStructure
  id: BaseStructureWall
  name: basewall
  description: Keeps the air in and the greytide out.
  placement:
    mode: SnapgridCenter
    snap:
    - Wall
  components:
  - type: RangedDamageSound
    soundGroups:
      Brute:
        collection:
          MetalBulletImpact
    soundTypes:
      Heat:
        collection:
          MetalLaserImpact
  - type: Tag
    tags:
    - Wall
  - type: IsRoof
  - type: Sprite
    drawdepth: Walls
  - type: Icon
    state: full
  - type: PlacementReplacement
    key: walls
  - type: Damageable
    damageContainer: StructuralInorganic
    damageModifierSet: StructuralMetallic
  - type: Physics
    bodyType: Static
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.5,-0.5,0.5,0.5"
        mask:
        - FullTileMask
        layer:
        - WallLayer
        density: 1000
  - type: Airtight
  - type: StaticPrice
    price: 75
  - type: BlockWeather
  - type: SunShadowCast
  # <Goobstation>
  - type: Penetratable
    penetrateDamage: 50
    damagePenalty: 0.1
  - type: ExaminableDamage
    messages: WindowMessages
  # </Goobstation>

- type: entity
  abstract: true
  parent: BaseStructureWall
  id: BaseWall
  components:
  - type: Occluder # Breaks on diagonal walls

- type: entity
  abstract: true
  parent: BaseStructureWall
  id: WallDiagonalBase
  suffix: Diagonal
  components:
  - type: Tag
    tags:
    - Wall
    - Diagonal
  - type: IconSmooth
    mode: Diagonal
    key: walls
    base: state
  - type: Airtight
    noAirWhenFullyAirBlocked: false
    airBlockedDirection:
    - South
    - East
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PolygonShape
            vertices:
            - "-0.5,-0.5"
            - "0.5,0.5"
            - "0.5,-0.5"
        mask:
        - FullTileMask
        layer:
        - WallLayer

- type: entity
  parent: BaseWall
  id: WallBrick
  name: brick wall
  components:
  - type: Sprite
    sprite: Structures/Walls/brick.rsi
  - type: Icon
    sprite: Structures/Walls/brick.rsi
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: brick
  - type: RustRequiresPathStage # Goobstation
    pathStage: 4 # Mark of rust
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallClock
  name: clock wall
  components:
  - type: Sprite
    sprite: Structures/Walls/clock.rsi
  - type: Icon
    sprite: Structures/Walls/clock.rsi
  - type: Construction
    graph: ClockworkGirder
    node: clockworkWall
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          ClockworkGirder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: clock
  - type: RustRequiresPathStage # Goobstation
    pathStage: 4 # Mark of rust
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallClown
  name: bananium wall
  components:
  - type: Sprite
    sprite: Structures/Walls/clown.rsi
  - type: Icon
    sprite: Structures/Walls/clown.rsi
  - type: Construction
    graph: Girder
    node: bananiumWall
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: RadiationBlocker # Goobstation
    resistance: 40
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: clown
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.5,-0.5,0.5,0.5"
        mask:
        - FullTileMask
        layer:
        - WallLayer
        density: 8000 # really good ramming wall, bananium is rare so it's probably fine
  - type: RustRequiresPathStage # Goobstation
    pathStage: 4 # Mark of rust
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallMeat
  name: meat wall
  description: Sticky.
  components:
  - type: Tag
    tags:
      - Wall
      - Structure
  - type: Sprite
    sprite: Structures/Walls/meat.rsi
  - type: Icon
    sprite: Structures/Walls/meat.rsi
  - type: Construction
    graph: Girder
    node: meatWall
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 100 # weak
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: meat

- type: entity
  parent: BaseWall
  id: WallCult
  name: cult wall
  components:
  - type: Sprite
    sprite: Structures/Walls/cult.rsi
  - type: Icon
    sprite: Structures/Walls/cult.rsi
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: cult
  - type: RustRequiresPathStage # Goobstation
    pathStage: 4 # Mark of rust

- type: entity
  parent: BaseWall
  id: WallDebug
  name: debug wall
  suffix: DEBUG
  components:
  - type: Tag
    tags:
      - Wall
      - Debug
  - type: Sprite
    sprite: Structures/Walls/debug.rsi
  - type: Icon
    sprite: Structures/Walls/debug.rsi
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: debug
  - type: RustRequiresPathStage # Goobstation
    pathStage: 4 # Mark of rust

- type: entity
  parent: BaseWall
  id: WallDiamond
  name: diamond wall
  components:
  - type: Sprite
    sprite: Structures/Walls/diamond.rsi
  - type: Icon
    sprite: Structures/Walls/diamond.rsi
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: diamond
  - type: RustRequiresPathStage # Goobstation
    pathStage: 4 # Mark of rust
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallGold
  name: gold wall
  components:
  - type: Sprite
    sprite: Structures/Walls/gold.rsi
  - type: Icon
    sprite: Structures/Walls/gold.rsi
  - type: Construction
    graph: Girder
    node: goldWall
  - type: RadiationBlocker # Goobstation
    resistance: 10
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:DoActsBehavior
        acts: ["Destruction"]
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.5,-0.5,0.5,0.5"
        mask:
        - FullTileMask
        layer:
        - WallLayer
        density: 4000
  - type: IconSmooth
    key: walls
    base: gold
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallIce
  name: ice wall
  components:
  - type: Sprite
    sprite: Structures/Walls/ice.rsi
  - type: Icon
    sprite: Structures/Walls/ice.rsi
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: ice
  - type: RustRequiresPathStage # Goobstation
    pathStage: 4 # Mark of rust
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallPlasma
  name: plasma wall
  components:
  - type: Sprite
    sprite: Structures/Walls/plasma.rsi
  - type: Icon
    sprite: Structures/Walls/plasma.rsi
  - type: Construction
    graph: Girder
    node: plasmaWall
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:DoActsBehavior
        acts: ["Destruction"]
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: IconSmooth
    key: walls
    base: plasma
  - type: RadiationBlocker
    resistance: 10 # Goobstation - Radiation Overhaul
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallPlastic
  name: plastic wall
  components:
  - type: Sprite
    sprite: Structures/Walls/plastic.rsi
  - type: Icon
    sprite: Structures/Walls/plastic.rsi
  - type: Construction
    graph: Girder
    node: plasticWall
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: IconSmooth
    key: walls
    base: plastic
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallPlastitaniumIndestructible
  name: plastitanium wall
  suffix: indestructible
  components:
    - type: Sprite
      sprite: Structures/Walls/plastitanium.rsi
    - type: Icon
      sprite: Structures/Walls/plastitanium.rsi
    - type: IconSmooth
      key: walls
      base: plastitanium
    - type: Fixtures
      fixtures:
        fix1:
          shape:
            !type:PhysShapeAabb
            bounds: "-0.5,-0.5,0.5,0.5"
          mask:
          - FullTileMask
          layer:
          - WallLayer
          density: 4000
    - type: RustRequiresPathStage # Goobstation
      pathStage: 11 # Can't rust
    - type: Penetratable # Goobstation - Better snipers
      penetrateDamage: 1000
      damagePenalty: 0.8
    - type: Damageable
      damageContainer: StructuralInorganic
      damageModifierSet: StructuralMetallicStrong
    - type: RadiationBlocker
      resistance: 10

- type: entity
  parent: WallPlastitaniumIndestructible
  id: WallPlastitanium
  name: plastitanium wall
  suffix: ""
  components:
    - type: Destructible
      thresholds:
        - trigger:
            !type:DamageTrigger
            damage: 1000
          behaviors:
            - !type:SpawnEntitiesBehavior
              spawn:
                Girder:
                  min: 1
                  max: 1
            - !type:DoActsBehavior
              acts: [ "Destruction" ]
    - type: RustRequiresPathStage # Goobstation
      pathStage: 10 # Ascension
    - type: Penetratable # Goobstation - Better snipers
      penetrateDamage: 200
      damagePenalty: 0.5

- type: entity
  parent: WallDiagonalBase
  id: WallPlastitaniumDiagonalIndestructible
  name: plastitanium wall
  suffix: diagonal, indestructible
  components:
  - type: Sprite
    drawdepth: Walls
    sprite: Structures/Walls/plastitanium_diagonal.rsi
    state: state0
  - type: Icon
    sprite: Structures/Walls/plastitanium_diagonal.rsi
    state: state0
  - type: Damageable
    damageContainer: StructuralInorganic
    damageModifierSet: StructuralMetallicStrong
  - type: RadiationBlocker
    resistance: 10

- type: entity
  parent: WallPlastitaniumDiagonalIndestructible
  id: WallPlastitaniumDiagonal
  name: plastitanium wall
  suffix: diagonal
  components:
  - type: Sprite
    drawdepth: Walls
    sprite: Structures/Walls/plastitanium_diagonal.rsi
    state: state0
  - type: Icon
    sprite: Structures/Walls/plastitanium_diagonal.rsi
    state: state0
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 1000
      behaviors:
        - !type:SpawnEntitiesBehavior
          spawn:
            Girder:
              min: 1
              max: 1
        - !type:DoActsBehavior
          acts: [ "Destruction" ]
        - !type:PlaySoundBehavior
          sound:
            collection: MetalSlam

- type: entity
  parent: BaseWall
  id: WallReinforced
  name: reinforced wall
  components:
  - type: Sprite
    sprite: Structures/Walls/solid.rsi
  - type: Icon
    sprite: Structures/Walls/solid.rsi
    state: rgeneric
  - type: Construction
    graph: Girder
    node: reinforcedWall
  - type: Damageable
    damageContainer: StructuralInorganic
    damageModifierSet: StructuralMetallicStrong
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 600
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 400
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: IconSmooth
    key: walls
    base: reinf_over
  - type: Appearance
  - type: GenericVisualizer
    visuals:
      enum.ReinforcedWallVisuals.DeconstructionStage:
        ReinforcedWallVisualLayers.Deconstruction:
          -1: { visible: false }
          0: { state: reinf_construct-0, visible: true}
          1: { state: reinf_construct-1, visible: true}
          2: { state: reinf_construct-2, visible: true}
          3: { state: reinf_construct-3, visible: true}
          4: { state: reinf_construct-4, visible: true}
          5: { state: reinf_construct-5, visible: true}
  - type: ReinforcedWallReplacementMarker
  - type: StaticPrice
    price: 250
  - type: RadiationBlocker
    resistance: 5
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.5,-0.5,0.5,0.5"
        mask:
        - FullTileMask
        layer:
        - WallLayer
        density: 2000
  # <Goobstation>
  - type: RustRequiresPathStage
    pathStage: 7 # Toxic blade
  - type: Penetratable
    penetrateDamage: 100
    damagePenalty: 0.25
  - type: SolutionContainerManager
    solutions:
      food:
        maxVol: 40
        reagents:
        - ReagentId: Iron
          Quantity: 33
        - ReagentId: Carbon
          Quantity: 7
  # </Goobstation>
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: WallReinforced
  id: WallReinforcedRust
  suffix: rusted
  components:
  - type: Sprite
    sprite: Structures/Walls/solid_rust.rsi
  - type: Icon
    sprite: Structures/Walls/solid_rust.rsi
    state: rgeneric
  - type: Construction
    graph: Girder
    node: reinforcedWallRust
  - type: IconSmooth
    key: walls
    base: reinf_over
  - type: RustedWall # Goobstation
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 500
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 350
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: WallDiagonalBase
  id: WallReinforcedDiagonal
  name: reinforced wall
  components:
  - type: Tag
    tags:
    - Wall # Goobstation
    - Diagonal
  - type: Sprite
    drawdepth: Walls
    sprite: Structures/Walls/reinforced_diagonal.rsi
    state: state0
  - type: Icon
    sprite: Structures/Walls/reinforced_diagonal.rsi
    state: state0
  - type: Damageable
    damageContainer: StructuralInorganic
    damageModifierSet: StructuralMetallicStrong
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 600
      behaviors:
        - !type:DoActsBehavior
          acts: [ "Destruction" ]
        - !type:PlaySoundBehavior
          sound:
            collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: RadiationBlocker
    resistance: 5
  - type: RustRequiresPathStage # Goobstation
    pathStage: 7 # Toxic blade

# Riveting
- type: entity
  parent: BaseWall
  id: WallRiveted
  name: riveted wall
  components:
  - type: Sprite
    sprite: Structures/Walls/riveted.rsi
  - type: Icon
    sprite: Structures/Walls/riveted.rsi
  - type: Damageable
    damageContainer: StructuralInorganic
    damageModifierSet: StructuralMetallicStrong
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 1000
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: riveted
  - type: StaticPrice
    price: 150
  - type: RustRequiresPathStage # Goobstation
    pathStage: 10 # Ascension
  - type: Penetratable # Goobstation - Better snipers
    penetrateDamage: 200
    damagePenalty: 0.5

- type: entity
  parent: BaseWall
  id: WallSandstone
  name: sandstone wall
  components:
  - type: Sprite
    sprite: Structures/Walls/sandstone.rsi
  - type: Icon
    sprite: Structures/Walls/sandstone.rsi
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: sandstone

- type: entity
  parent: BaseWall
  id: WallSilver
  name: silver wall
  components:
  - type: Sprite
    sprite: Structures/Walls/silver.rsi
  - type: Icon
    sprite: Structures/Walls/silver.rsi
  - type: Construction
    graph: Girder
    node: silverWall
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: IconSmooth
    key: walls
    base: silver
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

#shuttle walls
- type: entity
  parent: WallDiagonalBase
  id: WallShuttleDiagonal
  name: shuttle wall
  components:
  - type: Sprite
    drawdepth: Walls
    sprite: Structures/Walls/shuttle_diagonal.rsi
    state: state0
  - type: Icon
    sprite: Structures/Walls/shuttle_diagonal.rsi
    state: state0
  - type: Reflect
    reflectProb: 1
  - type: Pullable
  - type: Airtight
    noAirWhenFullyAirBlocked: false
    airBlockedDirection:
    - South
    - East
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PolygonShape
            vertices:
            - "-0.5,-0.5"
            - "0.5,0.5"
            - "0.5,-0.5"
        mask:
        - FullTileMask
        layer:
        - WallLayer
        density: 2000
  - type: Damageable
    damageContainer: StructuralInorganic
    damageModifierSet: StructuralMetallic
  - type: Physics
    bodyType: Static
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 600
      behaviors:
        - !type:DoActsBehavior
          acts: [ "Destruction" ]
        - !type:PlaySoundBehavior
          sound:
            collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: Construction
    graph: Girder
    node: diagonalshuttleWall
  - type: RustRequiresPathStage # Goobstation
    pathStage: 7 # Toxic blade
  - type: Penetratable # Goobstation - Better snipers
    penetrateDamage: 90
    damagePenalty: 0.3
  - type: RadiationBlocker
    resistance: 5
  - type: StaticPrice
    price: 200

- type: entity
  parent: BaseWall
  id: WallShuttle
  name: shuttle wall
  components:
  - type: Damageable
    damageContainer: StructuralInorganic
    damageModifierSet: StructuralMetallicStrong
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 600
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 400
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: StaticPrice
    price: 250
  - type: RadiationBlocker
    resistance: 5
  - type: Sprite
    sprite: Structures/Walls/shuttle.rsi
  - type: Icon
    sprite: Structures/Walls/shuttle.rsi
    state: full
  - type: Construction
    graph: Girder
    node: shuttleWall
  - type: IconSmooth
    key: walls
    base: state
  - type: Appearance
  - type: GenericVisualizer
    visuals:
      enum.ShuttleWallVisuals.DeconstructionStage:
        ShuttleWallVisualLayers.Deconstruction:
          -1: { visible: false }
          0: { state: shuttle_construct-0, visible: true}
          1: { state: shuttle_construct-1, visible: true}
          2: { state: shuttle_construct-2, visible: true}
          3: { state: shuttle_construct-3, visible: true}
          4: { state: shuttle_construct-4, visible: true}
          5: { state: shuttle_construct-5, visible: true}
  - type: Reflect
    reflectProb: 1
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.5,-0.5,0.5,0.5"
        mask:
        - FullTileMask
        layer:
        - WallLayer
        density: 2000
  - type: RustRequiresPathStage # Goobstation
    pathStage: 7 # Toxic blade
  - type: Penetratable # Goobstation - Better snipers
    penetrateDamage: 90
    damagePenalty: 0.3
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallSolid
  name: solid wall
  components:
  - type: Sprite
    sprite: Structures/Walls/solid.rsi
  - type: WallReplacementMarker
  - type: Construction
    graph: Girder
    node: wall
  - type: Icon
    sprite: Structures/Walls/solid.rsi
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 400
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 200
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: IconSmooth
    key: walls
    base: solid
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult
  - type: SolutionContainerManager # Goobstation
    solutions:
      food:
        maxVol: 30
        reagents:
        - ReagentId: Iron
          Quantity: 28
        - ReagentId: Carbon
          Quantity: 2

- type: entity
  parent: WallDiagonalBase
  id: WallSolidDiagonal
  name: solid wall
  components:
  - type: Sprite
    drawdepth: Walls
    sprite: Structures/Walls/solid_diagonal.rsi
    state: state0
  - type: Icon
    sprite: Structures/Walls/solid_diagonal.rsi
    state: state0
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 400
      behaviors:
        - !type:DoActsBehavior
          acts: [ "Destruction" ]
        - !type:PlaySoundBehavior
          sound:
            collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 200
      behaviors:
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:DoActsBehavior
        acts: ["Destruction"]

- type: entity
  parent: WallSolid
  id: WallSolidRust
  suffix: rusted
  components:
  - type: Sprite
    sprite: Structures/Walls/solid_rust.rsi
  - type: Icon
    sprite: Structures/Walls/solid_rust.rsi
    state: full
  - type: Construction
    graph: Girder
    node: wallrust
  - type: IconSmooth
    key: walls
    base: solid
  - type: RustedWall # Goobstation
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallUranium
  name: uranium wall
  components:
  - type: Sprite
    sprite: Structures/Walls/uranium.rsi
  - type: Icon
    sprite: Structures/Walls/uranium.rsi
  - type: Construction
    graph: Girder
    node: uraniumWall
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:ChangeConstructionNodeBehavior
        node: girder
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.5,-0.5,0.5,0.5"
        mask:
        - FullTileMask
        layer:
        - WallLayer
        density: 6000
  - type: IconSmooth
    key: walls
    base: uranium
  - type: RadiationBlocker
    resistance: 20 # Goobstation - Radiation Overhaul
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallWood
  name: wood wall
  description: The traditional greytide defense.
  components:
  - type: Sprite
    sprite: Structures/Walls/wood.rsi
  - type: Icon
    sprite: Structures/Walls/wood.rsi
  - type: Construction
    graph: Barricade
    node: woodWall
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:DoActsBehavior
        acts: ["Destruction"]
      - !type:PlaySoundBehavior
        sound:
          collection: WoodDestroyHeavy
    - trigger:
        !type:DamageTrigger
        damage: 150
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: WoodDestroyHeavy
      - !type:ChangeConstructionNodeBehavior
        node: Barricade
      - !type:DoActsBehavior
        acts: ["Destruction"]
  - type: IconSmooth
    key: woods
    base: wood
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallWeb
  name: web wall
  description: Keeps the spiders in and the greytide out.
  components:
  - type: MeleeSound
    soundGroups:
      Brute:
        path:
          "/Audio/Weapons/slash.ogg"
  - type: Damageable
    damageModifierSet: Web
  - type: Sprite
    sprite: Structures/Walls/web.rsi
  - type: Icon
    sprite: Structures/Walls/web.rsi
  - type: Destructible
    thresholds:
    - trigger: # Excess damage, don't spawn entities
        !type:DamageTrigger
        damage: 100
      behaviors:
      - !type:PlaySoundBehavior
        sound:
          collection: WoodDestroy
      - !type:DoActsBehavior
        acts: ["Destruction"]
    - trigger:
        !type:DamageTrigger
        damage: 30
      behaviors:
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
      - !type:SpawnEntitiesBehavior
        spawn:
          MaterialWebSilk:
            min: 1
            max: 1
      - !type:PlaySoundBehavior
        sound:
          collection: WoodDestroy
  - type: IconSmooth
    key: webs
    base: wall
  - type: Construction
    graph: WebStructures
    node: wall


# Lavalend Walls

- type: entity
  parent: BaseWall
  id: WallNecropolis
  name: stone wall
  components:
  - type: Sprite
    sprite: Structures/Walls/necropolis.rsi
  - type: Icon
    sprite: Structures/Walls/necropolis.rsi
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 1000
      behaviors:
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: necropolis
  - type: RustRequiresPathStage # Goobstation
    pathStage: 10 # Ascension
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: BaseWall
  id: WallMining
  name: mining wall
  components:
  - type: Sprite
    sprite: Structures/Walls/mining.rsi
  - type: Icon
    sprite: Structures/Walls/mining.rsi
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 700
      behaviors:
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: walls
    base: mining
  - type: RandomIconSmooth
    randomStates:
    - mining
    - miningB
  - type: Appearance
  - type: RustRequiresPathStage # Goobstation
    pathStage: 7 # Toxic blade
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: WallDiagonalBase
  id: WallMiningDiagonal
  name: mining wall
  components:
  - type: Sprite
    drawdepth: Walls
    sprite: Structures/Walls/mining_diagonal.rsi
    state: state0
  - type: Icon
    sprite: Structures/Walls/mining_diagonal.rsi
    state: state0
  - type: Damageable
    damageContainer: StructuralInorganic
    damageModifierSet: StructuralMetallicStrong
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 600
      behaviors:
        - !type:DoActsBehavior
          acts: [ "Destruction" ]
        - !type:PlaySoundBehavior
          sound:
            collection: MetalSlam
    - trigger:
        !type:DamageTrigger
        damage: 300
      behaviors:
      - !type:SpawnEntitiesBehavior
        spawn:
          Girder:
            min: 1
            max: 1
      - !type:PlaySoundBehavior
        sound:
          collection: MetalSlam
      - !type:DoActsBehavior
        acts: ["Destruction"]


# Vault Walls

- type: entity
  parent: BaseWall
  id: WallVaultAlien
  name: alien vault wall
  description: A mysterious ornate looking wall. There may be ancient dangers inside.
  components:
  - type: Sprite
    sprite: Structures/Walls/vault.rsi
    state: alienvault
  - type: Icon
    sprite: Structures/Walls/vault.rsi
    state: alienvault
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 500
      behaviors:
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: RustRequiresPathStage # Goobstation
    pathStage: 7 # Toxic blade
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: WallVaultAlien
  id: WallVaultRock
  name: rock vault wall
  components:
  - type: Sprite
    sprite: Structures/Walls/vault.rsi
    state: rockvault
  - type: Icon
    sprite: Structures/Walls/vault.rsi
    state: rockvault

- type: entity
  parent: WallVaultAlien
  id: WallVaultSandstone
  name: sandstone vault wall
  components:
  - type: Sprite
    sprite: Structures/Walls/vault.rsi
    state: sandstonevault
  - type: Icon
    sprite: Structures/Walls/vault.rsi
    state: sandstonevault

# Mime

- type: entity
  id: WallInvisible
  name: invisible wall
  components:
  - type: TimedDespawn
    lifetime: 15
  - type: Tag
    tags:
      - Wall
  - type: Physics
    bodyType: Static
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
            bounds: "-0.5,-0.5,0.5,0.5"
        mask:
        - FullTileMask
        layer:
        - GlassLayer
  - type: Airtight
  - type: RustRequiresPathStage # Goobstation
    pathStage: 11 # Can't rust

- type: entity
  id: WallForce
  name: force wall
  components:
    - type: TimedDespawn
      lifetime: 30 # Goob edit
    - type: Tag
      tags:
        - Wall
        - BlockLightning # Goobstation
    - type: Physics
      bodyType: Static
    - type: Fixtures
      fixtures:
        fix1:
          shape:
            !type:PhysShapeAabb
            bounds: "-0.5,-0.5,0.5,0.5"
          mask:
            - SpecialWallLayer
          layer:
            - SpecialWallLayer
    - type: Airtight
    - type: Sprite
      sprite: Structures/Magic/forcewall.rsi
      layers:
      - state: forcewall
        map: [ "base" ]
    - type: Icon
      sprite: Structures/Magic/forcewall.rsi
      state: forcewallspawn
    # Goobstation start
    - type: SpawnAnimation
      animationLength: 1
    - type: Appearance
    - type: GenericVisualizer
      visuals:
        enum.SpawnAnimationVisuals.Spawned:
          base:
            True: { state: forcewall }
            False: { state: forcewallspawn }
    - type: RustRequiresPathStage
      pathStage: 11 # Can't rust
    - type: PreventCollide
      whitelist:
        components:
        - Wizard
        - Apprentice
        - BibleUser
    - type: Damageable
    - type: Clickable
    - type: Destructible
      thresholds:
      - trigger:
          !type:DamageTrigger
          damage: 350
        behaviors:
        - !type:PlaySoundBehavior
          sound:
            collection: WindowShatter
        - !type:DoActsBehavior
          acts: [ "Destruction" ]
    # Goobstation end

- type: entity
  parent: BaseWall
  id: WallCobblebrick
  name: cobblestone brick wall
  description: Stone by stone, perfectly fitted together to form a wall.
  components:
  - type: Sprite
    sprite: Structures/Walls/cobblebrick.rsi
  - type: Icon
    sprite: Structures/Walls/cobblebrick.rsi
  - type: RCDDeconstructable
    cost: 6
    delay: 8
    fx: EffectRCDDeconstruct8
  - type: Destructible
    thresholds:
    - trigger:
        !type:DamageTrigger
        damage: 20 # Goobstation
      behaviors:
      - !type:DoActsBehavior
        acts: [ "Destruction" ]
  - type: IconSmooth
    key: cobblebricks
    base: cobblebrick
  - type: CosmicCorruptible # DeltaV - Cosmic Cult
    convertTo: WallCosmicCult

- type: entity
  parent: WallCobblebrick
  id: WallBasaltCobblebrick
  name: basalt brick wall
  components:
  - type: Sprite
    sprite: Structures/Walls/cobblebrick_basalt.rsi
  - type: Icon
    sprite: Structures/Walls/cobblebrick_basalt.rsi
  - type: IconSmooth
    key: cobblebricks
    base: cobblebrick

- type: entity
  parent: WallCobblebrick
  id: WallSnowCobblebrick
  name: snow brick wall
  description: A cold, not-so-impenetrable wall.
  components:
  - type: Sprite
    sprite: Structures/Walls/cobblebrick_snow.rsi
  - type: Icon
    sprite: Structures/Walls/cobblebrick_snow.rsi
  - type: IconSmooth
    key: cobblebricks
    base: cobblebrick

- type: entity
  parent: WallCobblebrick
  id: WallAsteroidCobblebrick
  name: asteroid stone brick wall
  components:
  - type: Sprite
    sprite: Structures/Walls/cobblebrick_asteroid.rsi
  - type: Icon
    sprite: Structures/Walls/cobblebrick_asteroid.rsi
  - type: IconSmooth
    key: cobblebricks
    base: cobblebrick

- type: entity
  parent: WallCobblebrick
  id: WallSandCobblebrick
  name: sandstone brick wall
  components:
  - type: Sprite
    sprite: Structures/Walls/cobblebrick_sand.rsi
  - type: Icon
    sprite: Structures/Walls/cobblebrick_sand.rsi
  - type: IconSmooth
    key: cobblebricks
    base: cobblebrick

- type: entity
  parent: WallCobblebrick
  id: WallChromiteCobblebrick
  name: chromite brick wall
  components:
  - type: Sprite
    sprite: Structures/Walls/cobblebrick_chromite.rsi
  - type: Icon
    sprite: Structures/Walls/cobblebrick_chromite.rsi
  - type: IconSmooth
    key: cobblebricks
    base: cobblebrick

- type: entity
  parent: WallCobblebrick
  id: WallAndesiteCobblebrick
  name: andesite brick wall
  components:
  - type: Sprite
    sprite: Structures/Walls/cobblebrick_andesite.rsi
  - type: Icon
    sprite: Structures/Walls/cobblebrick_andesite.rsi
  - type: IconSmooth
    key: cobblebricks
    base: cobblebrick
