# SPDX-FileCopyrightText: 2024 Armok <155400926+ARMOKS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 BombasterDS <115770678+BombasterDS@users.noreply.github.com>
# SPDX-FileCopyrightText: 2024 Piras314 <p1r4s@proton.me>
# SPDX-FileCopyrightText: 2025 Aiden <28298836+Aidenkrz@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aiden <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aidenkrz <aiden@djkraz.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <93730715+Aviu00@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 Aviu00 <aviu00@protonmail.com>
# SPDX-FileCopyrightText: 2025 GoobBot <uristmchands@proton.me>
# SPDX-FileCopyrightText: 2025 LuciferEOS <stepanteliatnik2022@gmail.com>
# SPDX-FileCopyrightText: 2025 Solstice <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 SolsticeOfTheWinter <solsticeofthewinter@gmail.com>
# SPDX-FileCopyrightText: 2025 Spatison <137375981+Spatison@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 username <113782077+whateverusername0@users.noreply.github.com>
# SPDX-FileCopyrightText: 2025 whateverusername0 <whateveremail>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
### basic
# Heartbeat of the Mansus (sacrifice)
- type: hereticRitual
  id: Sacrifice
  locName: heretic-ritual-basic-sacrifice
  locDesc: heretic-ritual-basic-sacrifice-desc
  icon:
    sprite: Mobs/Species/Human/organs.rsi
    state: heart-on
  customBehaviors:
  - !type:RitualSacrificeBehavior
    onlyTargets: true

- type: hereticRitual
  id: AmberFocus
  locName: heretic-ritual-basic-focus
  locDesc: heretic-ritual-basic-focus-desc
  icon:
    sprite: _Goobstation/Heretic/amber_focus.rsi
    state: icon
  requiredTags:
    SheetGlass: 1
    Eyes: 1
  output:
    ClothingNeckAmberFocus: 1

- type: hereticRitual
  id: LivingHeart
  locName: heretic-ritual-basic-heart
  locDesc: heretic-ritual-basic-heart-desc
  icon:
    sprite: _Goobstation/Heretic/items.rsi
    state: living_heart
  requiredTags:
    Paper: 1
    Heart: 1
    Pen: 1
  outputEvent: !type:EventHereticRerollTargets

- type: hereticRitual
  id: CodexCicatrix
  locName: heretic-ritual-basic-codex
  locDesc: heretic-ritual-basic-codex-desc
  icon:
    sprite: _Goobstation/Heretic/book.rsi
    state: icon-on
  requiredTags:
    Meat: 1
    Book: 1
    Pen: 1
  output:
    CodexCicatrix: 1

- type: hereticRitual
  id: Reminiscence
  locName: heretic-ritual-basic-reminiscence
  locDesc: heretic-ritual-basic-reminiscence-desc
  icon:
    sprite: _Goobstation/Heretic/Blades/eldritch_blade.rsi
    state: icon
  customBehaviors:
  - !type:RitualRecallBladeBehavior
  requiredTags:
    Chair: 1

- type: hereticRitual
  id: FeastOfOwls
  locName: heretic-ritual-basic-owls
  locDesc: heretic-ritual-basic-owls-desc
  runeSuccessAnimation: false
  icon:
    sprite: _Goobstation/Heretic/abilities_heretic.rsi
    state: god_transmit
  customBehaviors:
  - !type:RitualCanAscend
    checkObjectives: false
  - !type:RitualFeastOfOwlsBehavior

### ash path
- type: hereticRitual
  id: BladeAsh
  locName: knowledge-path-ash-s1-name
  locDesc: knowledge-path-ash-s1-desc
  icon:
    sprite: _Goobstation/Heretic/Blades/blade_ash.rsi
    state: icon
  requiredTags:
    Knife: 1
    Matchstick: 1
  output:
    HereticBladeAsh: 1
  limit: 2

- type: hereticRitual
  id: MaskOfMadness
  locName: knowledge-path-ash-s6-name
  locDesc: knowledge-path-ash-s6-desc
  icon:
    sprite: _Goobstation/Heretic/mad_mask.rsi
    state: icon
  requiredTags:
    Mask: 1
    Flare: 1
    Lighter: 1
    Ash: 1
    Stunbaton: 1
  output:
    ClothingMaskMadHeretic: 1

- type: hereticRitual
  id: AscensionAsh
  locName: knowledge-path-ash-s9-name
  locDesc: knowledge-path-ash-s9-desc
  icon:
    sprite: _Goobstation/Heretic/abilities_heretic.rsi
    state: ashlord_rite2
  customBehaviors:
  - !type:RitualCanAscend
  - !type:RitualAshAscendBehavior
    min: 3
    max: 3
  outputKnowledge: AshlordRite
  outputEvent: !type:EventHereticAscension

### blade path
- type: hereticRitual
  id: BladeBlade
  locName: knowledge-path-blade-s1-name
  locDesc: knowledge-path-blade-s1-desc
  icon:
    sprite: _Goobstation/Heretic/Blades/blade_blade.rsi
    state: icon
  requiredTags:
    Knife: 2
  output:
    HereticBladeBlade: 1
  limit: 4

- type: hereticRitual
  id: AscensionBlade
  locName: knowledge-path-blade-s9-name
  locDesc: knowledge-path-blade-s9-desc
  icon:
    sprite: _Goobstation/Heretic/items.rsi
    state: protective_blade
  customBehaviors:
  - !type:RitualCanAscend
  - !type:RitualBladeAscendBehavior
    min: 3
    max: 3
  outputKnowledge: MaelstromOfSilver
  outputEvent: !type:EventHereticAscension

### flesh path
- type: hereticRitual
  id: BladeFlesh
  locName: knowledge-path-flesh-s1-name
  locDesc: knowledge-path-flesh-s1-desc
  icon:
    sprite: _Goobstation/Heretic/Blades/blade_flesh.rsi
    state: icon
  customBehaviors:
  - !type:RitualReagentPuddleBehavior
    reagent: Blood
  requiredTags:
    Knife: 1
  output:
    HereticBladeFlesh: 1
  limit: 2

- type: hereticRitual
  id: ImperfectRitual
  locName: knowledge-path-flesh-s3-name
  locDesc: knowledge-path-flesh-s3-desc
  icon:
    sprite: Mobs/Species/Skeleton/parts.rsi
    state: full
  customBehaviors:
  - !type:RitualMuteGhoulifyBehavior
    onlyHumanoid: false
  requiredTags:
    Muzzle: 1
  limit: 2

- type: hereticRitual
  id: RawRitual
  locName: knowledge-path-flesh-s6-name
  locDesc: knowledge-path-flesh-s6-desc
  icon:
    sprite: _Goobstation/Heretic/eldritch_mobs.rsi
    state: raw_prophet
  customBehaviors:
  - !type:RitualReagentPuddleBehavior
    reagent: Blood
  requiredTags:
    Eyes: 1
    Stomach: 1
  output:
    MobGhoulProphet: 1
  limit: 2

- type: hereticRitual
  id: LonelyRitual
  locName: knowledge-path-flesh-s8-name
  locDesc: knowledge-path-flesh-s8-desc
  icon:
    sprite: _Goobstation/Heretic/eldritch_mobs.rsi
    state: stalker
  customBehaviors:
  - !type:RitualReagentPuddleBehavior
    reagent: Blood
  requiredTags:
    Pen: 1
    Heart: 1
    Stomach: 1
    Lungs: 1
  output:
    MobGhoulStalker: 1

- type: hereticRitual
  id: AscensionFlesh
  locName: knowledge-path-flesh-s9-name
  locDesc: knowledge-path-flesh-s9-desc
  icon:
    sprite: _Goobstation/Heretic/abilities_heretic.rsi
    state: final_hymn
  customBehaviors:
  - !type:RitualCanAscend
  - !type:RitualSacrificeBehavior
    min: 4
    max: 4
  outputKnowledge: PriestFinalHymn
  outputEvent: !type:EventHereticAscension



### void path
- type: hereticRitual
  id: BladeVoid
  locName: knowledge-path-void-s1-name
  locDesc: knowledge-path-void-s1-desc
  icon:
    sprite: _Goobstation/Heretic/Blades/blade_void.rsi
    state: icon
  customBehaviors:
  - !type:RitualTemperatureBehavior
    minThreshold: 0 # ~= -1 celcius. or sub zero temperatures
  requiredTags:
    Knife: 1
  output:
    HereticBladeVoid: 1
  limit: 2

- type: hereticRitual
  id: AscensionVoid
  locName: knowledge-path-void-s9-name
  locDesc: knowledge-path-void-s9-desc
  icon:
    sprite: Interface/Alerts/temperature.rsi
    state: cold3
  customBehaviors:
  - !type:RitualCanAscend
  - !type:RitualSacrificeBehavior
    min: 3
    max: 3
  - !type:RitualTemperatureBehavior
    minThreshold: -20
  outputKnowledge: WaltzAtTheEndOfTime
  outputEvent: !type:EventHereticAscension

### rust path
- type: hereticRitual
  id: BladeRust
  locName: knowledge-path-rust-s1-name
  locDesc: knowledge-path-rust-s1-desc
  icon:
    sprite: _Goobstation/Heretic/Blades/blade_rust.rsi
    state: icon
  requiredTags:
    Knife: 1
    Trash: 1
  output:
    HereticBladeRust: 1
  limit: 2

- type: hereticRitual
  id: AscensionRust
  locName: knowledge-path-rust-s9-name
  locDesc: knowledge-path-rust-s9-desc
  icon:
    sprite: _Goobstation/Heretic/abilities_heretic.rsi
    state: ascension_rust
  customBehaviors:
  - !type:RitualCanAscend
  - !type:RitualRustAscendBehavior
    min: 3
    max: 3
  outputKnowledge: RustbringersOath
  outputEvent: !type:EventHereticAscension

### cosmic path
- type: hereticRitual
  id: BladeCosmos
  locName: knowledge-path-cosmos-s1-name
  locDesc: knowledge-path-cosmos-s1-desc
  icon:
    sprite: _Goobstation/Heretic/Blades/blade_cosmos.rsi
    state: icon
  requiredTags:
    Knife: 1
    SheetGlass: 1
  output:
    HereticBladeCosmos: 1
  limit: 2

- type: hereticRitual
  id: AscensionCosmos
  locName: knowledge-path-cosmos-s9-name
  locDesc: knowledge-path-cosmos-s9-desc
  icon:
    sprite: _Goobstation/Heretic/abilities_heretic.rsi
    state: stargazer
  customBehaviors:
  - !type:RitualCanAscend
  - !type:RitualCosmosAscendBehavior
    min: 3
    max: 3
  outputKnowledge: CreatorsGift
  outputEvent: !type:EventHereticAscension

### side knowledge
- type: hereticRitual
  id: RitualOfKnowledge
  locName: knowledge-path-side-knowledge-name
  locDesc: knowledge-path-side-knowledge-desc
  icon:
    sprite: _Goobstation/Heretic/book.rsi
    state: icon
  customBehaviors:
  - !type:RitualKnowledgeBehavior

## stage 3
- type: hereticRitual
  id: ArmorerRitual
  locName: knowledge-path-side-s3-armor-name
  locDesc: knowledge-path-side-s3-armor-desc
  icon:
    sprite: _Goobstation/Heretic/Clothing/OuterClothing/eldritch_armor.rsi
    state: icon
  requiredTags:
    Table: 1
    GasMask: 1
  customBehaviors:
  - !type:RitualPathBasedSpawnBehavior
    fallbackEntity: ClothingOuterArmorHeretic
    spawnedEntities:
      Ash: ClothingOuterArmorHereticAsh
      Void: ClothingOuterArmorHereticVoid
      Flesh: ClothingOuterArmorHereticFlesh
      Blade: ClothingOuterArmorHereticBlade
      Cosmos: ClothingOuterArmorHereticCosmos
      Rust: ClothingOuterArmorHeretic

- type: hereticRitual
  id: PriestRitual
  locName: knowledge-path-side-s3-flask-name
  locDesc: knowledge-path-side-s3-flask-desc
  icon:
    sprite: _Goobstation/Heretic/items.rsi
    state: eldritch_flask
  requiredTags:
    WaterTank: 1
    GlassShard: 1
  output:
    HereticEldritchFlask: 1

- type: hereticRitual
  id: AshenEyesRitual
  locName: knowledge-path-side-s3-ashen-eyes-name
  locDesc: knowledge-path-side-s3-ashen-eyes-desc
  icon:
    sprite: _Goobstation/Heretic/eldritch_medalion.rsi
    state: icon
  requiredTags:
    GlassShard: 1
    Eyes: 1
    Flare: 1
  output:
    ClothingEldritchMedalion: 1

- type: hereticRitual
  id: VoidCloak
  locName: knowledge-path-side-s3-void-cloak-name
  locDesc: knowledge-path-side-s3-void-cloak-desc
  icon:
    sprite: _Goobstation/Heretic/Clothing/OuterClothing/void_cloak.rsi
    state: icon
  requiredTags:
    GlassShard: 1
    Bedsheet: 1
    WinterCoat: 1
  output:
    ClothingOuterArmorCloakVoid: 1

- type: hereticRitual
  id: ScorchingShark
  locName: knowledge-path-side-s3-shark-name
  locDesc: knowledge-path-side-s3-shark-desc
  icon:
    sprite: _Goobstation/Heretic/eldritch_mobs.rsi
    state: fire_shark_icon
  requiredTags:
    Ash: 3
    Liver: 1
    SheetPlasma: 3
  output:
    MobGhoulFireShark: 3
  limit: 15

## stage 6

- type: hereticRitual
  id: RustedRitual
  locName: knowledge-path-side-s6-rustwalker-name
  locDesc: knowledge-path-side-s6-rustwalker-desc
  icon:
    sprite: _Goobstation/Heretic/eldritch_mobs.rsi
    state: rust_walker
  customBehaviors:
  - !type:RitualReagentPuddleBehavior
    reagent: Vomit
  requiredTags:
    Steel: 10
    CableCoil: 15
  output:
    MobGhoulRustWalker: 1

- type: hereticRitual
  id: CarvingKnife
  locName: knowledge-path-side-s6-knife-name
  locDesc: knowledge-path-side-s6-knife-desc
  icon:
    sprite: _Goobstation/Heretic/items.rsi
    state: rune_carver
  requiredTags:
    GlassShard: 1
    Paper: 1
    Knife: 1
  output:
    CarvingKnife: 1
