Since subject of death systems came up in the last post, I thought I’d elaborate on the death system used on the long defunct NWN persistent world Etilica. Etilica’s final death system came about in an accidental way. It originally had a fugue plane death system; where the player is teleported to the afterlife on death, leaving a corpse behind. It had stopped working when an admin who could not script installed a script package that overwrote one of the server events that the old death system used and I had more or less a free hand in fixing it. So I got to working on the appropriate NWscript fu.
My goals were simple. I was not looking to overhaul both the mechanics and lore of the death system, but fix what was there and possibly make it nicer. I always disliked the jarring instant teleport that is typical of fugue plane systems. One moment you are in combat and then suddenly you are looking at a load screen. I set it up so that the player got a popup on death asking them if they wanted to wait for a rez or respawn with a penalty. If they respawned, then they went to the fuge plane from whence they could exit and go to the bindstone that they had last selected. I also disliked the generic corpse object that was left behind. Since that version of NWN did not have the SetName() script command, players could not tell who’s corpse it was. Why not make a copy of the deceased PC, kill it and leave it behind so that everyone knows who’s corpse it was? It can be removed when the player leaves the fugue plane. Great! I fixed the problem and added a nice tweak!
Except that I did not properly test it before putting it into the live server. The problem was that the clone was rezzable. Sooner or later, a well meaning character was going to pull out a raise dead scroll after a player had hit the respawn button, but before the clone was cleaned up. When this happened, they effectively had a zombie on their hands. It did not even have a heartbeat script, so it was more of a standing vegatable. This being a roleplay server, the players ran with it and it was the source of some fantastic RP. I could have just fixed the clone so that it was not rezzable anymore, but after seeing the RP, I had an idea; and thus was born “the shell”.
I saw a way to logically resolve the whole PCs respawn and are not lootable, but NPCs perma-die and are lootable problem. After a few seconds (or when respawn was clicked in the case of PCs), everyone respawned and everyone got a new body. An empty shell was left behind. The difference was that the PC’s shells took their gear with them. To give some sort of plausible cover, 10% of all NPCs (randomly determined) also took their gear as well. The cloning, killing and stripping process caused the corpse to jerk about a bit, so I added a flashy effect to cover it. This was the soulflash; when the soul left the body (and sometimes took possessions as well).
I came up with some lore that shells could be rezzed (and made the appropriate technical moves to make them viable mobs) to be what would effectively be a zombie; a golem if you will. As this golem was a mindless similarcum of a living person and was in fact their old body, the idea of a shell would be horrifying to the populace. People burned shells quickly to prevent either necromancers from turning them into undead, or other malcontents from raising them from the dead and using them as living zombies. I also reckoned that since in some cases the soulflash also takes the possessions, that there would be a prohibition against public nudity; lest that person be mistaken for a shell.
To be honest, I never really delved too deep into the ramifications of everyone respawning. The background that I came up with was that everyone respawned, but I was never really happy with this. I realized what a profound effect this would have on life, but I was not prepared to venture into the sort of society that would create. Nor was I about to start those changes on a live server with an active playerbase.
When I tried to discuss it among the builders and GMs, there was a distinct lack of interest in the subject; either positive or negative. As the server owner was too busy playing WoW at the time to even check in on the world that was ostensibly his and I was the member of the builder/GM team with the highest degree of involvement, I was the de-facto lead. Finally I posted on the developer boards that I planned to put the lore and technical changes in if nobody objected. There were no objections and after a week I made the changes live.