Validation - Scrabx3/Acheron GitHub Wiki

Acherons goal is to reshape what it means to die in Skyrim by adding an intermediate defeat state between life and death. However there are situations in which creating this intermediate step can create issues, situations where there was never intended to be another way to escape other than "kill or be killed". Ignoring these situations, enforcing the intermediate step anyway, can create various issues:

  • Scripts becoming stuck due to their ending condition never expecting another outcome than the death of (at least one of) the participants
  • A boss fight becoming impossible to progress because the arena locks up after the fight starts, making another attempt impossible
  • The game outright soft locking because some door won't open until the enemy NPCs are dead
  • And many more

Preventing these issues from happening is essential for a fluid gameplay experience and thus, Acheron will purposefully not intervene vanilla combat mechanics.

Native Validation

This is a list of all instances in which Acheron does not intervene default combat behavior:

Show list
  • Locations in which Acheron will not be active:
    • None thus far
  • Locations where Teleportation-Events are disabled:
    • Sovngarde
    • Cidhna Mine
    • In Azuras Star
    • Abandoned Shack
    • Thalmor Embassy
    • Helgen (During "Unbound" (Vanilla Intro))
  • Acheron will not intervene:
    • Fighting specific enemies:
      • Alduin
      • Paarthurnax
      • Durnehviir
      • Miraak
      • Miraaks Dragons
      • Gaius Maro
      • Emperor
      • Emperor Decoy
      • Astrid (Finale)
      • Mercer Frey (Thieves Guild Finale)
      • Malkoran
      • Malkoran's Shade
      • Vigilant Tyranus
      • The Caller
      • Gelebor (Finale)
      • Ancano (Finale)
      • Cicero (During "Cure for Madness")
      • Tullius/Ulfric (Civial War Finale)
      • Dexion (During "The Prophet")
      • Harkon (Finale)
      • Weylin
      • Vilkas (During Training)
    • Vanilla Brawling Fights
    • Dark Brotherhood Sanctuary Raid
    • Actions concerning actors locked in Boethia's Sacrifice Pillar
  • These NPC cannot be defeated:
    • Any and all Dark Brotherhood Assassination targets (While their respective quest is active)
  • These NPC will always kill you:
    • Estomo
    • Stalf (During "The Bloodstone Chalice")
    • Salonia Caelia (During "The Bloodstone Chalice")

Custom Validation

Sometimes mods add new enemies, locations or quests to the game which can conflict with Acheron. It isn't possible to auto detect these, hence Acheron offers a config system which allows you to manually exclude specific NPC or Locations. These config files are .yaml files stored in Data\SKSE\Acheron\Validation\ and use the following structure:

# Conditions here apply to both, Victim and Assailant..
Assailant:
  # .. here they only apply to the assailant..
Victim:
  # .. and here only to the victim.

All 3 sections use the same attributes, with two exceptions: Location based conditions are only run on the player and thus only read in the root scope:

# These are location based conditions (only run on the player). "LocationA" completely
# disabled Acheron while the player is in this location, while "LocationT" only
# disables events which would teleport the player to some other location.
LocationA:
LocationT:
# These are run on the specific actors themselves. You can exclude specific references, 
# their entire ActorBase or only actors which are in specific factions, or of a specific race.
ActorBase:
Reference:
Race:
Faction:

A complete example:

# Exclude some Locations, either entirely or to avoid the player from being teleported away
LocationA: 
  - 0x456|AncientTemples.esp
LocationT:
  - 0xA1C6|CastleOfYang.esp
  - 0xABC|EvilGrotto.esm

# These references and actors with these races will always be killed and cannot defeat
Reference:
  - 0xD3F001|CastleOfYang.esp
  - 0xD3F002|CastleOfYang.esp
  - 0xD3F003|CastleOfYang.esp
Race:
  - 0x789|EvilGrotto.esm
  - 0x7AF9|CastleOfYang.esp

# Everything that matches here will always kill their target
Assailant:
  Reference:
    - 0xD3F004|CastleOfYang.esp
  Faction:
    - 0x7DCA|AncientTemples.esp

# And the Actors matching here cannot be defeated
Victim:
  ActorBase:
    - 0x19BE|EvilGrotto.esm
    - 0x1886|EvilGrotto.esm
    - 0xAC68F|AncientTemples.esp
  Race:
    - 0x22BA3|CastleOfYang.esp
  Faction: 
    - 0xFE9|AncientTemples.esp
⚠️ **GitHub.com Fallback** ⚠️