Will I get another shot at unique monsters if I leave the current level?
Looking at the source to Angband, we can figure this out. All lines and files are for version 3.5.0.
There are a couple of checks for creating a unique monster. They all try to make sure that uniques are actually unique. Each unique has its max_num
set to 1 during game startup (birth.c:389)
One check for uniqueness is during monster placement (monster/mon_make.c:924). This happens whenever a new monster is considered for creation:
if (rf_has(race->flags, RF_UNIQUE) && race->cur_num >= race->max_num)
return (FALSE);
The effect of this code is that if max_num is 1 (the default) only one copy of the unique can be in the game at a time.
The game manipulates max_num to keep unique monsters from respawning once killed. (monster/mon_make.c:1505)
m_ptr->race->max_num = 0;
Once max_num
is 0, any attempt to place the monster into the game will fail.
Besides the game setting this value to 1 at startup and 0 when the unique has been killed, this value is touched nowhere else. Thus, if you encounter a unique and don't kill it, there is a chance that it will respawn. Obviously, you might have to generate many levels within the unique's possible spawning area in order to see it again.
The bottom line is that the game doesn't consider the unique out of play until you have slain it.