Leave corpse on exit

by Pi-C

In multiplayer games, corpses will be created for the characters of players who leave or are permanently removed from the game.

Content
6 months ago
1.1
66
Storage
Owner:
Pi-C
Source:
N/A
Homepage:
N/A
License:
MIT
Created:
7 months ago
Latest Version:
1.1.2 (6 months ago)
Factorio version:
1.1
Downloaded by:
66 users

What's this mod about?

I've made "Leave Corpse On Entry" (LCOE) in response to a request on the forum for a mod that would make the inventory of players who had left a multiplayer game (possibly for a long time, or even forever) available to the other players on their force. Therefore, this mod is only useful in multiplayer games.

How does it work?

We want to preserve the items in a player's inventories when the player disconnects, or is permanently removed from the game, for the other players, but we also don't want to inconvenience returning players by forcing them to start without any items. While we could put the items into chests, it seems more natural to assume that any player character that has disappeared from the game has "died" -- and will leave its possessions with a corpse at the current position! A corpse is easy to distinguish from an anonymous chest, so the remaining players have a good chance to find it and retain scarce items for the team (they will get a message with the corpse location whenever a player is leaving the game or dying). But going on a hunt for corpses lying around somewhere far off, possibly in the center of a biter colony, is tiresome! Wouldn't it be much better if there was a central storage place -- also known as burial site?

You can easily get one, just place a portal! The recipe doesn't require any tech and requires just basic ingredients. As soon as the first portal has been placed, the force who owns that portal will also get a brand-new burial site. Not convinced yet? Then how about this? The first portal placed will get you an indestructible and unminable exit portal for free! :-) If a force has at least one portal on the surface where one of its players is dropping a corpse, the corpse will be moved to the burial site. Clicking on a portal will teleport you to the burial site or back.

Players who rejoin the game will get back all the items that still are left in the inventory of the last corpse they've dropped -- unless the corpse has been completely looted. By the way, with the help of some dark necromancy I've managed to prolong the time until the corpses of players leaving a game have decomposed immensely: If nobody steals the corpse, it should remain fresh for more than 828 real-time days!

How to find corpses and portals?

For each corpse not put to rest on the burial site, a chart tag will be created for the force the player who left it belonged to. If you don't like them, you may modify or delete them. Also, when the corpse is created, the other players on the force will get a message detailing the corpse location.

Chart tags will also be placed for all portals built. These tags show the number of corpses on site at any given moment; they can not be modified or deleted.

What happens when two forces are merging?

Underground space is precious, so only one burial ground can be kept! However, before the site of the force that is to be deleted will be closed down for good, all corpses and all players who may be there will be moved to the remaining burial site.

What happens when a surface is removed?

That depends: If the removed surface is a burial site, it will be restored along with all the corpses and players that may have been there. If another surface is destroyed, all corpses belonging to a force that has at least one portal on that surface will be moved to the burial site of that force. Portals will perish, as will all corpses belonging to a force that doesn't have a portal there.

Credits

I've stolen the graphics for the portals from the Battle Markers of "Natural Evolution Buildings". Consider them as place holder until better graphics become available. If anybody wants to volunteer, go ahead -- of course, you'll get credited for your work! :-)