This guide may provide you with information about what happens or may happen when a unique NPC is killed in game and how this information is stored in your save files. This will be a work in progress for some time, as I have to check quests, dialogues, scenes and scripts. Kill events will only be related to the vanilla game, its DLCs and the Unofficial Skyrim Special Edition Patch (USSEP). For this guide I am using both Oldrim (Skyrim Legendary Edition) and Skyrim Special Edition version 1.6.353 (full Anniversary Edition upgrade), but without paying any attention to Creation Club content.
Einführung
There have been many discussions about the death of unique NPCs and also about their possible resurrection by the use of the console or mods. This guide will show what happens to an NPC when killed, but only in concern to the vanilla game (Skyrim.esm, Update.esm, Dawnguard.esm, HearthFires.esm, Dragonborn.esm) and the Unofficial Skyrim Special Edition Patch (USSEP). Version used is Skyrim SE 1.6.353.
SPEICHERN SIE OFT!
Save your game often and only use manual (hart) speichern. Do not use autosave or quicksave. You should turn these settings off in the main menu, because of limited reliability.
Story Manager Event Nodes
What does actually happen in-game when a unique NPC is killed?
Every death of unique NPCs is managed by the Story Manager Event Node using the Kill Actor Event. The Kill Actor Event consists of 10 Stacked Quest Nodes, Und 1 Stacked Branch Node consisting of 2 Stacked Quest Nodes. Each of the events is monitored and/or managed by 15 Quests:
- DA02KillFriend – monitors the sacrifice of a follower at Boethiah’s shrine
- DA08FriendKill – monitors the kill of a friend with the Ebony Blade
- DLC1RV01KillActorMonitor – monitors a kill in Dawnguard’s radiant quest „Die Jagd“
- DLC1RV03KillActorMonitor – monitors a kill in Dawnguard’s radiant quest „Deceiving the Herd“
- MGSuspensionQuest – monitors a kill in the „College Suspension“ Suche
- MQVoiceoftheSkyMonitor – monitors a kill of an animal when the player has Voice of the Sky active
- TG01KillMonitor – monitors a kill during the Thieves Guild quest „Taking Care of Business“
- TG03KillMonitor – monitors a kill during the Thieves Guild quest „Dampened Spirits“
- TG04KillMonitor – monitors a kill during the Thieves Guild quest „Scoundrel’s Folly“
- WIKill01 – manages temporary mourning of relatives and friends of the deceased (7 in game days)
- WIKill02 – manages temporary haunting of relatives by the deceased (2 in game days)
- WIKill03 – manages an inheritance if the player has a relationship with the deceased (1 oder höher)
- WIKill04 – manages the gratitude of an enemy of the deceased
- WIKill05 – manages reactions of friends and relatives of the deceased
- WIKill06 – manages revenge by sending hired thugs
Kill Actor Events
The Kill Actor Events Quest Nodes may provide one or more conditions to activate a quest or not. If quests share a number of the same conditions, those quests can be added to a branch node, and add the conditions to the branch node level. If branch node quests need additional conditions not covered by the branch node conditions, additional conditions can be added to specific quest nodes, which will be part of a branch node.
Set conditions in the branch and/or quest nodes are not really of interest, since these have no specific meaning for the kill itself. Of more interest are the scripts attached to the quests, in whatever way:
- scripts attached to the quest generally (in the Scripts tab of the quest, not scripts prefixed with QF_)
- quest fragment scripts (also found in the Scripts tab of the quest, prefixed with QF_); each fragment belongs to a stage of the quest
- dialogue topic info fragment scripts (prefixed with TIF_)
- package fragment scripts (prefixed with PF_)
- scene fragment scripts (prefixed with SF_)
Dialogue topic info fragment scripts can be attached to the start and the end of the response of an NPC when the player addresses an NPC.
Package fragment scripts can be attached to the start, the end, and the change of AI Package execution.
The scenes are a bit more complicated. Scripts can be attached to the start and the end of a scene phase, and can also be attached to a timer action in which case the script will run when the timer action completes.
Fragment scripts can be additionally prefixed if those scripts belong to an official DLC (z.B. DLC1_ or DLC2_), wenn überhaupt.
Scripts added to Kill Actor Events quests
DA02KillFriend quest
DA02KillFriendScript
Scripts: QF_DA02KillFriend_0004D917
This script is a quest fragment script of the only stage in this quest, and will only set a stage in the quest „Bothiah’s Calling“ (DA02) after the player has sacrificed a friend at Boethiah’s shrine.
DA08FriendKill quest
Scripts: QF_DA08FriendKill_0010FABE
As with the previous quest this script only tracks if the player has killed a friend with the Ebony Blade. In a separate tracking quest and the attached script the number of killed friends are monitored. Once the player has killed 10 friends using the blade, it will be restored to its full power.
DLC1RV01KillActorMonitor quest
Scripts: DLC1_QF_DLC1RV01KillActorMoni_xx004C2E, DLC1RadiantCrimeMonitorScript
The quest fragment script has no function since all lines of code are commented out. The external script is used to monitor the kills made by the player in the quest „Die Jagd“ (questgiver: Fura Bloodmouth) to grant the player a reward, if the player has joined the Volkihar vampire clan in the DLC Dawnguard.
DLC1RV03KillActorMonitor quest
Scripts: DLC1_QF_DLC1RV03KillActorMoni_xx009C12, DLC1RV03KillActorMonitorScript
The quest fragment script is an empty script since the quest has no quest stages. The external script is used to minitor the kills made by the player in the quest „Deceiving the Herd“ (questgiver: Feran Sadri) to grant the player a reward, if the player has joined the Volkihar vampire clan in the DLC Dawnguard.
MGSuspensionQuest quest
Scripts: QF_MGSuspensionQuest_0005B5DC
This quest fragment script merely starts the quest to rejoin the College of Winterhold after the player has killed a fellow member of the College.
MQVoiceoftheSkyMonitor quest
Scripts: QF_MQVoiceoftheSkyMonitor_0010D9F1
This quest fragment script has one quest stage. When the player has killed an animal, preditor or prey, when they have Voice of the Sky active, the script will dispell Voice of the Sky.
TG01KillMonitor quest
Scripts: QF_TG01AssaultMonitor_000B882F
This quest fragment script monitors if the player has killed Keerava, Bersi Honey-Hand or Haelga during the Thieves Guild quest „Taking Care of Business“. As instructed by Brynjolf, the player should not kill any of the debtors and is not admitted to the Thieves Guild until they have every last coin.
TG03KillMonitor quest
Scripts: QF_TG03AssaultMonitor_000B8830
This quest fragment script monitors if the player has killed Sabjorn or Mallus Maccius during the Thieves Guild quest „Dampened Spirits“. If one of them has been killed by the player, they will not receive the reward.
TG04KillMonitor quest
Scripts: QF_TG04AssaultMonitor_000B8831
This quest fragment script monitors if the player has killed Gulum-Ei during the Thieves Guild quest „Scoundrel’s Folly“. Wenn ja, the player will not receive a reward.
WIKill01 quest
Scripts: QF_WIKill01_000289E2, WIKill01Script
Both scripts are only used to add friends and relatives of the deceased NPC to a mourning faction, so they will have appropriate dialogue for 7 in game days.
WIKill02 quest
Scripts: QF_WIKill02_0002694B, WIKill02Script
These scripts are used to have the deceased haunt a relative for 2 in game days, in which case the relative will have additional dialogue.
WIKill03 quest
Scripts: QF_WIKill03_0001BFF2, WIKill03Script
These scripts deal with a possible inheritance if the player has a relationshiprank of 1 or higher with the victim. The amount of inheritance depends on the wealth status of the victim and the relationshiprank. It doesn’t matter if the player is the killer or not (a little bit weird, Denken Sie nicht?)
WIKill04 quest
Scripts: QF_WIKill04_00071441, WIKill04Script
This quest also has dialogue topic info fragment scripts attached, but these scripts only set a quest stage.
WIKill05 quest
Scripts: QF_WIKill05_000ADC8C
This quest handles the reactions of relatives of the victim towards the player. Einfach ausgedrückt: no time or not in the mood to talk to the player. The quest fragment script is empty.
WIKill06 quest
Scripts: QF_WIKill06_0004EEF5, WIKill06Script
These scripts deal with hiring thugs to get revenge on the player.
WIDeadBodyCleanupScript
The WIDeadBodyCleanupScript is attached to the base object of many unique NPCs, but only if those NPCs reside in the main cities (Markarth, Riften, Einsamkeit, Whiterun and Windhelm) or in their respective holds, and only if a coffin or urn is preserved for them in the Hall of the Dead. This script takes care of a dead body by moving the corpse to the WIDeadBodyCleanupCell, also called „death cell“, nach 12 in game days, unless those NPCs are in the WINoBodyCleanupFaction, in which case they are never moved to the „death cell“. Only belongings of deceased NPCs will be stored in the coffins or urns, NOT their bodies!
Resurrect an NPC
This cleanup script doesn’t check if the NPC is dead or alive, and whatever the status, that NPC will still be moved to the death cell after 12 in game days, dead or alive. All other applicable quests will be activated by the Story Manager Event Nodes, such as the WIKill01 quest if the killed NPC has friends and/or relatives.
What’s the use of the „death cell“
Both the console and the Papyrus scripting language have a command/function called GetDeathCount. The Papyrus function is only used on a few occasions in-game: on Gulum-Ei during the quest „Scoundrel’s Folly“ and on Mirri and Tilisu Severin during the Dragonborn quest „Served Cold“. Why is this function only used on these occasions? Simply because the related quest needs to know at a certain point during the quest if those NPCs have died. In the case of Gulum-Ei, his written confession will be in a chest if he is not killed, but on his body, if he is killed. The related quests are already running!
For many other quests, this function cannot be used as those quests may not be running yet (those quests are not Start Game Enabled) or those quests are not yet activated. Z.B. die Suche „In My Time of Need“ is Start Game Enabled (it is running), but is not activated yet, only after the player has talked to the A’likr warriors near Whiterun’s main gate. If Saadia was to be killed before entering Whiterun for the first time, this quest would instantly fail! Aber, the quest will also fail if Saadia is killed after the quest is activated.
In other cases, the game relies on the „death cell“ as the developers stated in one of the scripts: „it was the easiest thing to do“. Once an NPC is in the „death cell“ a quest is unable to fill required aliases. Also, why not just disable and delete those NPCs after death to remove them from the game completely? That would provide the developers with another problem as the game uses the Resurrect function on some occasions. In the Daedric quest „The House of Horrors“ Logrolf the Wilfull will die twice. You will probably never notice it because the resurrect function is hidden by blur animations, which last for only 1.5 Sekunden.
Scripts managing the death of specific unique NPCs
USKP_ClearAliasOnDeath script
This script is added in USSEP. This script simply clears the alias of a killed NPC in a running quest, which prevents the corpse from persisting forever.
WIDeadBodyCleanupScript
In addition to the previous section, this script does not only move a dead unique NPC to the „death cell“ nach 12 in-game days but also enables a coffin or urn in the Hall of the Dead and stores all the NPC’s belongings in that coffin or urn, unless that NPC is added to the WINoBodyCleanupFaction. The body of a deceased NPC is NEVER moved to a coffin or urn in the Hall of the Dead.
SwapAliasOnDeath script
This script is attached to an alias with a backup replacement, such as merchants, innkeepers, and blacksmiths. The backup alias is forced into the killed alias, meaning that the backup alias will be forced into the alias data of the original alias (Fraktionen, Zaubersprüche, keywords, AI packages, und Inventar), if defined. Backup aliases are mainly found in the generic Dialogue quests, which are Start Game Enabled and will never stop, such as the DialogueDawnstar and the DialogueWhiterun quests.
The jarls and their stewards and housecarls can also have a backup replacement, but they are replaced based on the outcome of the civil war, not based on their death.
Corpse replacement
Various unique NPCs will be replaced after death by a corpse, such as Vantus Loreius, Curwe, Kodlak Whitemane, and Savos Aren. The corpse is a copy of the original base actor, but the in-game reference of the copy is marked as Starts Dead and Initially Disabled. A script will disable the original and enable the corpse. In the case of Kodlak, it is a scripted kill, the original is disabled after the kill and the replacement corpse enabled. BlockActivation is applied to the corpse to prevent the player from looting the corpse of Kodlak.
Use of the Resurrect function in scripts
Wie bereits erwähnt, the Papyrus function Resurrect is used in scripts for both unique (mit einem Sternchen gekennzeichnet) and non-unique NPCs, in quests when NPCs are in their quest alias, oder auf andere Weise:
- Skyrim, Suche „Boethiah’s Calling“ (*Boethiah’s conduit)
- Skyrim, Suche „The House of Horrors“ (*Logrolf the Wilfull)
- Skyrim, Suche „Diplomatic Immunity“ (Wachen)
- Skyrim, Dark Brotherhood questline (*recurring targets)
- Skyrim, Hag’s End (hagraven battle)
- Skyrim, Karthspire camp (giant)
- Skyrim, Reachwater Rock (boss battle: Jyrik, Mikrul and Sigdis)
- Skyrim, Sightless Pit (chaurus)
- Dawnguard (random lightning strike)
- Dawnguard, Suche „Beyond Death“ (Durnehvir)
- Dragonborn, Suche „Deathbrand“
If you want to see how this command is used in the various script, you can create a batch file with the following contents:
findstr /S /I /N "resurrect()" *.psc > resurrect.txt
Save the batch file in the folder where you have extracted the source scripts (*.psc) and activate it in Windows Explorer. The file should have the .BAT extension. Do not activate the batch file using the „Schläger“ command in the console!
Some of the Resurrect functions are commented out, such as the skeleton in the boss battles in Ilinalta’s Deep.
NOTIZ: The WIKill02Script.psc contains the message „WIKill02Script: using Reset() in place of Resurrect() because that function doesn’t exist yet. This needs to change when Resurrect() is in.“.
Why is it dangerous to resurrect an NPC?
All throughout the forums, you may read that it is dangerous to use console commands in general, at least if you don’t know what you are doing. You may also read that it’s safe to use the resurrect console command. Jedoch, you will never find a reason why it is safe or not, besides the obvious, and nobody seems to be capable of giving a definitive answer!
The kill, ONLY THE KILL, of a unique NPC, may cause problems
- if that NPC is in their reference alias in a quest that is Start Game Enabled and marked to Run Once; such a quest may instantly fail and can never be reset
- if that NPC is in their reference alias in a quest that is not Start Game Enabled and not marked to Run Once, mainly recurring dialogue, scene and radiant quests, in which case only that particular quest (one of possibly many) will not run as expected
It also makes a difference how an NPC is defined as a reference alias in a quest. If the NPC is marked as Optional, it makes no difference if the NPC is dead or alive. If dead, their reference alias will not be filled, and the NPC will not take part in the quest. The game will just skip filling the alias.
When a unique NPC is killed several other quests may be activated:
- the quest to add friends and relatives to their respective mourning factions, wenn überhaupt, während 7 Tage im Spiel
- the corpse will be moved to the „death cell“ nach 12 Tage im Spiel, dead or alive
- their belongings will be moved to a coffin or urn in the Hall of the Dead, if there is a coffin or urn preserved that NPC
- a courier may instantly seek out the player with an inheritance
- a courier may instantly seek out the player with a reward of gratitude
Prevent unique NPCs from being killed
Many NPCs in Skyrim.esm are not marked as essential or protected and so they are vulnerable to being killed by dragon or vampire attacks. One method to prevent those NPCs being killed by vampires is to not enter a city after sunset, simply because a cell and surrounding cells have to be 3D loaded before this to happen. Mit anderen Worten, the player has to be entering those cells from another exterior or interior cell.
An easier way is to mark NPCs as essential by using the console or by creating a game batch file, by using the following format for each command line:
setessential <BaseID> 1
Such a batch file can be created with any available text editor such as Notepad:
setessential 13BB9 1 ; Adrianne Avenicci setessential 13BA1 1 ; Belethor setessential 13BA4 1 ; Arcadia
Save the file as a plain text file in the Skyrim (Mit) Ordner, z.B. whiterun.txt. In game open the console and execute the following command:
bat whiterun
Seien Sie sich dessen bewusst, that adding too much command lines may have the console skip one or more command lines in the batch file while executing, which I have experienced in a few tests. It could therefore be a good idea to limit the number of NPCs to each of the nine holds. Do not add NPCs who have already been marked as protected, as these NPCs may have been marked protected intentionally. Most Dragonborn NPCs are marked as protected from game start. An overview of all unique NPCs in the game can be found on this Seite.
Deaths recorded in the save file
Deaths of both unique and non-unique NPCs are recorded in your save file, in different ways. Those data are recorded in a section in the save file known as the Change Forms Table. As the name already suggests, the data in this table is changeable, and will change continuously. This table contains a record for each base actor, and the record for each base actor contains a field recording the number of deaths for that base actor. This field is changeable for both unique and non-unique NPCs. For non-unique NPCs like guards, Banditen, frostbite spiders, usw. there is a generic „death counter“ for each specific type of base actor. For each unique NPC there is only one single „death counter“. For unique NPCs this „death counter“ can only be set in the save file as 0 (lebendig) oder 1 (tot), where for non-unique NPCs the value can be greater than 1, and this value indicates the number of base actors of a specific type that have been killed, z.B. the number of animals, creatures and non-unique actors like guards, Banditen, warlocks, usw.
Wichtiger Hinweis
All data ending up in the Change Forms Table after saving, are also changeable during play before saving. This table will not record any changes made during play. If an NPC is killed and resurrected and the NPC is alive when saving, the save will only record that the NPC is alive. Jedoch, other actions on that NPC have already been set in motion.
Technisch
The status of deaths of unique and non-unique NPCs is recorded in the save file in the ACHR record of the Change Forms Table. Data in the fields of this record can be changed by the game and will be changed continuously upon every change of an NPC, such as contents of inventory, ownership, contents of the merchant container, position in a cell, disposition, usw. Der „death counter“ is one of those changeable fields in the ACHR record and its value can be read by the GetDeadCount console command (using the BaseID) or Papyrus function (using the EditorID):
Konsole:
getdeadcount 23A8B
Papyrus:
Actor Property CaveBear Auto
Int i = CaveBear.GetDeadCount()
It has already been demonstrated that this „death counter“ can and will be changed for both unique and non-unique NPCs, both during gameplay and after saves.
Das ist alles, was wir heute dafür teilen The Elder Scrolls V: Skyrim Führung. Dieser Leitfaden wurde ursprünglich erstellt und geschrieben von Altbert. Für den Fall, dass wir diesen Leitfaden nicht aktualisieren können, Sie können das neueste Update finden, indem Sie diesem folgen Verknüpfung.