# Instance Release ## Description "Instance Release" is a QoL module for AzerothCore that changes where a player ends up after releasing their spirit while dead inside a dungeon or raid instance. By default, `Player::RepopAtGraveyard()` falls back to the nearest graveyard linked to the instance's parent zone, which is usually outside the instance — forcing a long walk back in after every death. This module instead redirects the release-spirit teleport to the instance's own entrance point (the same coordinates AzerothCore's LFG teleport-in logic uses, via `ObjectMgr::GetMapEntranceTrigger`), so ghosts land just inside the door. ## Features - Hooks `PlayerScript::OnPlayerCanRepopAtGraveyard` to veto the vanilla graveyard lookup and teleport the player to the instance entrance instead, whenever they die and release spirit on a dungeon or raid map. - Falls back to vanilla behavior (nearest graveyard) if no entrance trigger is found for the map, so it never leaves a player stranded. - Optionally resurrects the player on the spot (full health/mana, no resurrection sickness) instead of leaving them as a ghost that still has to walk to their corpse. - Plays the same "beam of light" resurrection visual the battleground spirit-heal system uses, purely cosmetic, when auto-resurrecting. - Plays a second, separately-toggleable "teleport in" flash on the player once they've actually landed and are back in control at the entrance (deferred slightly so it doesn't visually fire at the old death spot mid-teleport). - Separately toggleable for dungeons and raids. ## Configuration See `conf/mod_instance_release.conf.dist` (rename to `mod_instance_release.conf` to use): ```ini InstanceRelease.Enable = 1 InstanceRelease.IncludeDungeons = 1 InstanceRelease.IncludeRaids = 1 InstanceRelease.AutoResurrect = 1 InstanceRelease.ResurrectionVisual = 1 InstanceRelease.ArrivalVisual = 1 ``` ## Notes - Battlegrounds and arenas are untouched — `Map::IsDungeon()` only covers 5-player dungeons and raids, so BG/arena release logic is unaffected. - Instances with multiple entrances (e.g. some multi-wing dungeons) redirect to whichever entrance trigger `ObjectMgr::GetMapEntranceTrigger` returns first; this is the same behavior AzerothCore's own LFG system relies on. - With `AutoResurrect` off, players are left as a ghost at the entrance and still need to find their corpse (or a spirit healer, if one happens to exist nearby) to resurrect — same as vanilla release-spirit, just closer to where the fight is.