Ok, because I'm so busy of late and mightn't finish this for a week or so, I'll reveal the awesomeness I have planned...
First the computer checks how many NPCs are alive in the current room, and if there are less than the allotted maximum (3) the spawn routine kicks in once the player makes a valid turn/action. The routine first rolls a spawn chance as customary, but here's where the magic comes in:
If the spawn roll is successful, the computer reads the collision classes of each node located at the edge of the player's visibility (-3xy to +3xy from the player's node), and stores the XY locations of any traversable nodes in a "spawnableTiles$" variable. A random node is then selected from the list and the NPC is spawned there. This ensures that NPCs won't spawn miles away from the player and fail to hinder them (for the new room size is quite large and there can only be 3 NPCs alive at once, not nearly enough to populate the square radius). Further more, when an NPC travels 5 spaces from the player's visibility it will disappear, allowing the spawn routine to kick in again. In this way it'll appear to the player that each room is thriving with NPCs! Preserving the danger element of exploration.
Cool huh?