Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF: Disconnects and Saves



I generally like this new disconnect strategy.  If I were coding it, I
would do it this way:

In config.h, there would be a new define, CLIENT_DISCONNECT_TIMEOUT,
which would set the time in seconds to keep the character active
following a disconnect (i.e., not tied to map timeouts).  I would set
this at something like 5 seconds for the default--long enough for the
currently-visible icestorm to kill you, but not longer than it would
likely take to run away if you were still connected.

Each map would be given a timestamp when it is loaded freshly from the
original map file.

Once a client disconnects and the timeout period has expired witout a
reconnection, the character would be saved.  The save file would list
the location and the timestamp for the map.

When a character is loaded, if there is a timestamp for the map, and
the timestamp doesn't match the current version of the map, then the
player enters where a word of recall would put him.


No solution is perfect.  The flaws/abuses for this one that I see are:

Characters could be brought back into a map that another player has
made much more dangerous (by leaving freed monsters or nasty spells
like lightning walls).  I think this is a minor concern.

Players could use the disconnect policy as a poor-man's word of
recall.  This would be a way of avoiding figuring out the solution to
several maps including the pre-historic site in Pup Land and that pit
of tombstones in the Lake Country.  Both of these use anti-magic to
block normal word of recall spells.

--PC
-
[you can put yourself on the announcement list only or unsubscribe altogether
by sending an email stating your wishes to crossfire-request@ifi.uio.no]