Skip to content

Feature: Respawn overrides system for interior cells deemed problematic to die in - #875

Open
absol89 wants to merge 18 commits into
tiltedphoques:devfrom
absol89:feat/respawn-interior-cell-pos-overrides-refactor
Open

Feature: Respawn overrides system for interior cells deemed problematic to die in#875
absol89 wants to merge 18 commits into
tiltedphoques:devfrom
absol89:feat/respawn-interior-cell-pos-overrides-refactor

Conversation

@absol89

@absol89 absol89 commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

Fixes #878
In regards to the bug, I fixed it with a 1.5 second fallback knockdown during the blackscreen. Works indoors+outdoors.
https://youtu.be/SoOoVqPw-bw

This feature adds a RespawnOverrides.cpp file where players can modify respawn locations through CellEditorId names.
This was later refactored to create an RespawnOverrides.ini file in the config folder, supports patching positions locally.

It runs once every player death, so performance is not more important than convenience of editing or avoiding formIDs.

It of course supports all vanilla locations (special edition+dlc) but can also be extended with modded/cc interiors safely.

Tested these in https://github.com/absol89/TiltedEvolutionScriptFixes/actions/runs/28106445654 before final correction.
Example: Overriding the ini values of Korvanjund02 to Korvanjund02=1201, -636, -400 results in a better spawn.
image

Safeguards: If the player spawns under the floor somehow by physics or misconfigured positions, they teleport to COC.

Comment: While respawning code was originally in PlayerCharacter.cpp i refactored it to make it less merge conflictable.

Steps: Note that the original coc command will put you at the OLD 1.8.0 spawn location and player.kill at the new spawn.
coc QASmoke
connect to localhost server
player.kill
coc HaltedStreamCamp01
player.kill
coc Korvanjund01
player.kill
coc Korvanjund02
player.kill
coc Saarthal02
player.kill
coc ShimmermistCave02
player.kill
coc StillbornCave01
player.kill
coc SwindlersDen01
player.kill

Before: player used to respawn in a broken position or too close to trappable locations or enemies or boss rooms/chests.

After: player respawns closer to the initial entrance of the cell, instead of the center of cell (which is used for non-list cells)

Example: Dying in Saarthal02 would originally place you at the boss where the Eye of Magnus is, skipping dungeon areas.
image

Before fix: Player respawns near Eye of Magnus
image

After fix: Player respawns at Saarthal02 entrance
image

@absol89
absol89 force-pushed the feat/respawn-interior-cell-pos-overrides-refactor branch from 246d68e to 4c0b311 Compare June 23, 2026 14:04
@absol89

absol89 commented Jun 24, 2026

Copy link
Copy Markdown
Contributor Author

@miredirex I verified that latest commits puts the config in the correct folder next to the server config, ready for review
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Some exterior spawns don't knock player unstuck and freezes temporarily, solved by adding a fallback

1 participant