# SPDX-FileCopyrightText: 2022 Deahaka <96499407+Deahaka@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 Just-a-Unity-Dev <just-a-unity-dev@users.noreply.github.com>
# SPDX-FileCopyrightText: 2022 eclips_e <67359748+Just-a-Unity-Dev@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Colin-Tel <113523727+Colin-Tel@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Ed <96445749+TheShuEd@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 Flareguy <78941145+Flareguy@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 brainfood1183 <113240905+brainfood1183@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 lzk <124214523+lzk228@users.noreply.github.com>
# SPDX-FileCopyrightText: 2023 metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Ilya246 <57039557+Ilya246@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Kara <lunarautomaton6@gmail.com>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later

- type: entity
  id: AltarBase
  parent: BaseStructure
  name: altar
  description: Altar of the Gods.
  abstract: true
  components:
  - type: Anchorable
  - type: Transform
  - type: Prayable
  - type: PlaceableSurface
  - type: Fixtures
    fixtures:
      fix1:
        shape:
          !type:PhysShapeAabb
          bounds: "-0.45,-0.45,0.45,0.45"
        density: 55
        mask: #mouse can pass under, but I think this is can understandable by logic
        - TableMask
        layer:
        - TableLayer
  - type: Sprite
    snapCardinals: true
  - type: Climbable
  - type: Clickable
  - type: EnchantingTable # Goobstation

- type: entity
  id: AltarNanotrasen
  parent: AltarBase
  name: nanotrasen altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: nanotrasen
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: nanotrasen
  - type: Construction
    graph: AltarsGraph
    node: NanotrasenAltarNode
  - type: AltarSource
    rodProto: AtheistFedora
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg

- type: entity
  id: AltarChaos
  parent: AltarNanotrasen
  name: chaos altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: chaos
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: chaos
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#fbb1b1"
  - type: AltarSource
    rodProto: GodHand
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg
  - type: Construction
    graph: AltarsGraph
    node: ChaosAltarNode

- type: entity
  id: AltarDruid
  parent: AltarNanotrasen
  name: druid altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: druid
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: druid
  - type: AltarSource
    rodProto: MonkStaff
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg
  - type: Construction
    graph: AltarsGraph
    node: DruidAltarNode

- type: entity
  id: AltarToolbox
  parent: AltarNanotrasen
  name: toolbox altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: toolbox
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: toolbox
  - type: AltarSource
    rodProto: HolyChainsaw # Shitchap
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg
  - type: Construction
    graph: AltarsGraph
    node: ToolAltarNode

- type: entity
  id: AltarSpaceChristian
  parent: AltarNanotrasen
  name: space-Christian altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    layers:
    - state: space-christian
    - state: space-christian_lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: space-christian
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#fbceb1"
  - type: AltarSource
    rodProto: Rosary
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg
  - type: Construction
    graph: AltarsGraph
    node: SpaceChristianAltarNode

- type: entity
  id: AltarSatana
  parent: AltarNanotrasen
  name: satanic altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    layers:
    - state: satana
    - state: satana_lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: satana
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#ff6347"

- type: entity
  id: AltarTechnology
  parent: AltarNanotrasen
  name: technology altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    layers:
    - state: technology
    - state: technology_lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/nanotrasen.rsi
    state: technology
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#e0ffff"
  - type: Construction
    graph: AltarsGraph
    node: TechnologyAltarNode
  - type: AltarSource
    rodProto: ClothingBeltHolsterFilledChaplain
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg

- type: entity
  id: AltarConvertFestival
  parent: AltarBase
  name: festival altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    state: festival
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    state: festival
  - type: Tag
    tags:
    - Wooden

- type: entity
  id: AltarConvertMaint
  parent: AltarConvertFestival
  name: maint altar
  components:
  - type: Sprite
    sprite: _ShitChap/Structures/convertaltar.rsi
    layers:
    - state: maint
      shader: unshaded
  - type: Icon
    sprite: _ShitChap/Structures/convertaltar.rsi
    state: maint
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#ff6347"
  - type: AltarSource
    rodProto: UristHand # Shitchap
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg
  - type: Construction
    graph: AltarsGraph
    node: MaintsAltarNode

- type: entity
  id: AltarConvertBlue
  parent: AltarConvertFestival
  name: blue altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    layers:
    - state: blue
    - state: lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    state: blue
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#fbceb1"
  - type: AltarSource
    rodProto: Bulwark # Shitchap
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg
  - type: Construction
    graph: AltarsGraph
    node: BlueAltarNode

- type: entity
  id: AltarConvertBurden
  parent: AltarConvertFestival
  name: burden altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    layers:
    - state: convertaltar
    - state: lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    state: convertaltar
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#fbceb1"

- type: entity
  id: AltarConvert
  parent: AltarConvertFestival
  name: convert altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    layers:
    - state: convertaltar
    - state: lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    state: convertaltar
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#fbceb1"
  - type: Construction
    graph: AltarsGraph
    node: AltarConvertNode

- type: entity
  id: AltarConvertOrange
  parent: AltarConvertFestival
  name: orange altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    layers:
    - state: orange
    - state: lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    state: orange
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#fbceb1"

- type: entity
  id: AltarConvertRed
  parent: AltarConvertFestival
  name: red altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    layers:
    - state: red
    - state: lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    state: red
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#fbceb1"

- type: entity
  id: AltarConvertWhite
  parent: AltarConvertFestival
  name: white altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    layers:
    - state: white
    - state: lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    state: white
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#fbceb1"

- type: entity
  id: AltarConvertYellow
  parent: AltarConvertFestival
  name: yellow altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    layers:
    - state: yellow
    - state: lightning
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Gods/convertaltar.rsi
    state: yellow
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#fbceb1"

- type: entity
  id: AltarHeaven
  parent: AltarBase
  name: heaven altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Cults/heaven.rsi
    layers:
    - state: full
    - state: blood
      shader: unshaded
  - type: Icon
    sprite: Structures/Furniture/Altars/Cults/heaven.rsi
    state: full
  - type: Construction
    graph: AltarsGraph
    node: HeavenAltarNode
  - type: AltarSource
    rodProto: HolyClaymore
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg
  - type: PointLight
    radius: 1.5
    energy: 1
    color: "#f08080"

- type: entity
  id: AltarFangs
  parent: AltarHeaven
  name: fanged altar
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Cults/fangs.rsi
  - type: Icon
    sprite: Structures/Furniture/Altars/Cults/fangs.rsi
  - type: AltarSource
    rodProto: ArrythmicKnife # Shitchap
    effectProto: EffectSpark
    soundPath: /Audio/Effects/hallelujah.ogg
  - type: Construction
    graph: AltarsGraph
    node: FangedAltarNode

- type: entity
  id: AltarBananium
  parent: AltarBase
  name: honkmother altar
  description: A bananium altar dedicated to the honkmother.
  components:
  - type: Sprite
    sprite: Structures/Furniture/Altars/Cults/bananium.rsi
    state: full
  - type: Construction
    graph: AltarsGraph
    node: BananiumAltarNode
  - type: AltarSource
    rodProto: HonkmotherMaw # Shitchap
    effectProto: EffectSpark
    soundPath: /Audio/Items/bikehorn.ogg
