Wolfpack Empire - mirror of https://git.pond.sub.org/empserver
http://wolfpackempire.com/
Change checksect() not to abandon occupied sectors to the old owner when there is no military and no land units. This effectively restores pre-Chainsaw 3 behavior. Matching change to would_abandon(). Rationale. Traditional ways to change sector owner: (1) Attack, assault, paradrop can transfer a sector to the attacker, in take_def(). (2) Guerrilla warfare at the update can transfer a sector to the old owner, in guerilla(). This happens when che kill all military and the sector is sufficiently disloyal to the owner. (3) Whenever all civilians, military and land units are removed from a sector, no matter how, it silently reverts to the deity, in checksect(). Chainsaw 3 added: (4) Whenever all military and land units are removed from an occupied sector, no matter how, it silently reverts to the old owner, in checksect(). This addition isn't seamless. Funnies include: * When che kill all military and land units, but the sector is loyal, (3) doesn't transfer to the old owner. But since there's no military and land units left, (4) transfers it anyway, only without telling the lucky old owner. The latter transfer is buggy: checksect() runs only on ef_read() and ef_write(), not the update (bug#1010856), so the silent transfer is delayed until the next ef_write(). But code using ef_read() sees it right away. For instance, the path finder, which doesn't use ef_read(), can route a path through a sector lost that way. The actual move, which does use ef_read(), then chokes on that path. * When you attack a sector, and get defeated with the help of reacting land units, but succeed in killing the *local* defenders, (4) makes the sector silently revert to the old owner. Which might be somebody who wasn't involved in the fight, and gets no notification whatsoever of his windfall. * You can abandon a sector to the old-owner by removing all military and land units from it, in a myriad of ways. Some ways ask you for confirmation (move, march, load), many don't (navigate, plane construction, delivery; arguably bugs), and others simply don't let you (paradrop, fly, distribution). This problem also exists for abandoning to deity, i.e. through (3) instead of (4). Some ways to move out civilians don't let you do that (distribute), but most do. However, accidentally abandoning an empty sector to deity is less serious than a populated one to another player. In my opinion, (4) doesn't add much to the game, and fixing the funnies isn't worth the effort. |
||
---|---|---|
doc | ||
include | ||
info | ||
m4 | ||
man | ||
scripts | ||
src | ||
.gitignore | ||
bootstrap | ||
compile | ||
config.guess | ||
config.sub | ||
configure.ac | ||
COPYING | ||
CREDITS | ||
depcomp | ||
GNUmakefile.in | ||
INSTALL | ||
install-sh | ||
Make.mk | ||
README |
Welcome to Empire 4, code-named Wolfpack. Empire is a multi-player, client/server Internet based war game. Copyright (C) 1986-2008, Dave Pare, Jeff Bailey, Thomas Ruschak, Ken Stevens, Steve McClure This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License (in file `COPYING'), or (at your option) any later version. See file `CREDITS' for a list of contributors. Directory `doc' has additional information. File `doc/README' describes the files there and what they talk about. To build the server and set up a game, follow the steps below. (1) Unpacking the source tree If you downloaded a tarball, unpack it. If you cloned a git repository, run bootstrap. This requires recent versions of Autoconf and Automake to be installed. (2) Building a server Prerequisites: IEEE Std 1003.1-2001 (POSIX.1-2001), GNU make, a curses library, Perl, and either nroff or GNU troff (`groff'). See file `INSTALL' for detailed compilation and installation instructions. Quick guide for the impatient: run configure; make; make install. The last step is optional; everything runs fine right from the build tree. If make fails without doing anything, you're probably not using GNU make. Some systems have it installed as `gmake'. Solaris supports POSIX.1-2001, but you need to set up your environment for that. Try passing SHELL=/usr/xpg4/bin/sh PATH=/usr/xpg6/bin:/usr/xpg4/bin:$PATH to make. See standards(5) for details. (3) Creating a game * Create a configuration for your game. make install installs one in $prefix/etc/empire/econfig ($prefix is /usr/local unless you chose something else with configure). You can use pconfig to create another one. * Edit your configuration file. See doc/econfig for more information. Unless you put your configuration file in the default location (where make install installs it), you have to use -e with all programs to make them use your configuration. * Run files to set up your data directory. * Run fairland to create a world. For a sample world, try `fairland 10 30'. This creates file ./newcap_script, which will be used below. You can edit it to change country names and passwords. Check out fairland's manual page for more information. * Start the server. For development, you want to run it with -d in a debugger, see doc/debugging. Do not use -d for a real game! * Log in as deity POGO with password peter. This guide assumes you use the included client `empire', but other clients should work as well. For help, try `info'. To change the deity password, use `change re <password>'. * Create countries with `exec newcap_script'. Your game is now up! Naturally, there's more to running a real game than that, but that's beyond the scope of this file. Please report bugs to <wolfpack@wolfpackempire.com> or via SourceForge http://sourceforge.net/projects/empserver (registration required). For more information or help, try rec.games.empire on Usenet, or send e-mail to <wolfpack@wolfpackempire.com> and we'll try to answer if we can. Also check out our web site at "http://www.wolfpackempire.com". Have fun! Wolfpack!