diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..5e8238f --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,273 @@ +name: ConquerV5 CI/CD Pipeline + +on: + push: + branches: [ master, main ] + pull_request: + branches: [ master, main ] + +jobs: + test: + name: Build and Test + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Install dependencies + run: | + sudo apt-get update + sudo apt-get install -y libncurses-dev build-essential make sed coreutils + + - name: Build project + run: | + # Use the conquerv5 build process (source is in gpl-release/) + cd gpl-release + mv Makefile.top Makefile + make Makefiles + make build + + - name: Verify executables + run: | + # Check that executables were created in gpl-release/Src directory + ls -la gpl-release/Src/ + find gpl-release/ -name "conquer" -o -name "conqrun" -type f + + - name: Basic functionality test + run: | + # Test that executables can run (help/version) + if [ -x "gpl-release/Src/conquer" ]; then + ./gpl-release/Src/conquer -h || echo "conquer help test completed" + fi + if [ -x "gpl-release/Src/conqrun" ]; then + ./gpl-release/Src/conqrun -h || echo "conqrun help test completed" + fi + + package-apk: + name: Build APK Package (Alpine/Melange) + needs: test + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Docker + uses: docker/setup-buildx-action@v3 + + - name: Build APK package with Melange + run: | + chmod +x scripts/build-melange.sh + scripts/build-melange.sh + + - name: Verify APK package + run: | + echo "=== APK Package Verification ===" + find packages/ -name "*.apk" -type f -exec ls -lh {} \; + + APK_FILE=$(find packages/ -name "*.apk" | head -1) + if [ -n "$APK_FILE" ]; then + echo "=== APK Contents (first 20 files) ===" + tar -tzf "$APK_FILE" 2>/dev/null | head -20 || { + echo "=== APK Contents (alternative method) ===" + tar -tzf "$APK_FILE" 2>&1 | grep -v "APK-TOOLS.checksum" | head -20 | cat + } + + echo "=== APK Metadata ===" + tar -Oxzf "$APK_FILE" .PKGINFO 2>/dev/null | head -10 || echo "No .PKGINFO found" + fi + + - name: Upload APK artifacts + uses: actions/upload-artifact@v4 + if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' + with: + name: conquerv5-apk-${{ github.sha }} + path: packages/**/*.apk + retention-days: 90 + + package-deb: + name: Build DEB Package (Debian) + needs: test + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Docker + uses: docker/setup-buildx-action@v3 + + - name: Build DEB package + run: | + chmod +x scripts/build-debian.sh + scripts/build-debian.sh + + - name: Verify DEB package + run: | + echo "=== DEB Package Verification ===" + find packages/ -name "*.deb" -type f -exec ls -lh {} \; + + DEB_FILE=$(find packages/debian/ -name "*.deb" | head -1) + if [ -n "$DEB_FILE" ]; then + echo "=== Package Info ===" + dpkg-deb --info "$DEB_FILE" + echo "" + echo "=== Package Contents ===" + dpkg-deb --contents "$DEB_FILE" | head -20 + fi + + - name: Upload DEB artifacts + uses: actions/upload-artifact@v4 + if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' + with: + name: conquerv5-deb-${{ github.sha }} + path: packages/**/*.deb + retention-days: 90 + + verify-pr: + name: PR Package Verification + needs: [package-apk, package-deb] + runs-on: ubuntu-latest + if: github.event_name == 'pull_request' + steps: + - name: PR Build Summary + run: | + echo "✅ APK package build completed successfully" + echo "✅ DEB package build completed successfully" + echo "" + echo "This PR successfully builds both package formats." + echo "Full testing and artifact upload will occur when merged to master." + + test-packages: + name: Integration Testing (Master Only) + needs: [package-apk, package-deb] + runs-on: ubuntu-latest + if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main' + strategy: + matrix: + test: [deb-install, apk-inspect] + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Download DEB package + if: matrix.test == 'deb-install' + uses: actions/download-artifact@v4 + with: + name: conquerv5-deb-${{ github.sha }} + path: packages/ + + - name: Test DEB package installation + if: matrix.test == 'deb-install' + run: | + DEB_FILE=$(find packages/ -name "*.deb" | head -1) + if [ -n "$DEB_FILE" ]; then + echo "=== Testing DEB Installation ===" + echo "Package: $DEB_FILE" + + # Install dependencies + sudo apt-get update + sudo apt-get install -y libncurses6 ncurses-base + + # Install the package + sudo dpkg -i "$DEB_FILE" || true + sudo apt-get install -f -y + + # Test installation + echo "=== Verifying Installation ===" + which conquer + which conqrun + + # Test executables + conquer -h || echo "conquer help test completed" + conqrun -h || echo "conqrun help test completed" + + # Show installed files and locations + echo "=== Installed Files ===" + dpkg -L conquerv5 | grep -E "(bin|lib)" | head -10 + + # Verify file permissions + ls -la /usr/bin/conquer /usr/bin/conqrun + ls -la /usr/local/share/conquerv5/ || ls -la /usr/share/conquerv5/ + fi + + - name: Download APK package + if: matrix.test == 'apk-inspect' + uses: actions/download-artifact@v4 + with: + name: conquerv5-apk-${{ github.sha }} + path: packages/ + + - name: Inspect APK package + if: matrix.test == 'apk-inspect' + run: | + APK_FILE=$(find packages/ -name "*.apk" | head -1) + if [ -n "$APK_FILE" ]; then + echo "=== APK Package Inspection ===" + echo "Package: $APK_FILE" + echo "Size: $(ls -lh "$APK_FILE" | awk '{print $5}')" + + mkdir -p /tmp/apk-extract + cd /tmp/apk-extract + + echo "=== Extracting APK ===" + tar -xzf "$APK_FILE" 2>/dev/null || { + echo "Standard extraction had warnings, trying alternative..." + tar -xzf "$APK_FILE" 2>&1 | grep -v "APK-TOOLS.checksum" || true + } + + echo "=== APK Structure ===" + find . -type f | grep -E "(bin|lib|share)" | head -15 + + echo "=== Executables ===" + find . -name "conquer*" -type f -exec ls -la {} \; 2>/dev/null || true + + echo "=== Game Data Files ===" + find . -path "*/share/conquerv5/*" -type f -exec ls -la {} \; 2>/dev/null || true + + echo "=== Package Metadata ===" + if [ -f ".PKGINFO" ]; then + echo "--- .PKGINFO ---" + head -10 .PKGINFO + fi + fi + + release: + name: Create Release + needs: [test-packages] + runs-on: ubuntu-latest + if: (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/main') && contains(github.event.head_commit.message, '[release]') + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Download all artifacts + uses: actions/download-artifact@v4 + + - name: Create Release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: v5.0-${{ github.sha }} + release_name: ConquerV5 v5.0 (${{ github.sha }}) + body: | + Automated release of ConquerV5 v5.0 + + **Modernized Build System:** + - Cross-platform Makefile generation + - Automatic platform detection + - Modern compiler support (GCC, Clang) + - Improved dependency handling + + **Packages included:** + - 📦 APK for Alpine Linux (melange) + - 📦 DEB for Debian/Ubuntu + + **Installation:** + - APK: `apk add --allow-untrusted conquerv5-*.apk` + - DEB: `dpkg -i conquerv5_*.deb` + + **Usage:** + - `conquer` - Start the game + - `conqrun` - Administrative tools + draft: false + prerelease: false diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..954d51a --- /dev/null +++ b/.gitignore @@ -0,0 +1,36 @@ +# Object files +*.o +*.obj + +# Generated Makefiles (keep the .src, .aux, .dcm, .inc templates) +Makefile +*/Makefile +!Makefile.top +!*/Makefile.* + +# Executables and binaries +conquer +conqrun +conqsort +cextract +ezconv + +# Installation marker files +in* +**/in* + +# Backup and temporary files +*~ +*.bak +\#* +*.tmp + +# Build artifacts +sed.out + +# Documentation output +*.doc + +# System specific +.DS_Store +Thumbs.db diff --git a/gpl-release/.gitignore b/gpl-release/.gitignore new file mode 100644 index 0000000..9d9a68d --- /dev/null +++ b/gpl-release/.gitignore @@ -0,0 +1 @@ +Include/header.h diff --git a/gpl-release/Auxil/Makefile b/gpl-release/Auxil/Makefile deleted file mode 100644 index 4d45a24..0000000 --- a/gpl-release/Auxil/Makefile +++ /dev/null @@ -1,128 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-FileCopyrightText: 1987-1992 Ed Barlow -# SPDX-FileCopyrightText: 1987-1992 Adam Bryant -# SPDX-FileCopyrightText: 2025 Juan Manuel Méndez Rey -# -# Conquer - Classic Multi-Player Strategy Game - Build Configuration -# -# 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 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# Relicensed to GPL v3+ with explicit permission from original authors. -# For relicensing documentation, see RELICENSING-PERMISSIONS.md - -# This Makefile should not need changing. -# -# Please report any problems with compilation or build issues -# through the project's issue tracker. -# -# Current Maintainer: Juan Manuel Méndez Rey -# Project Repository: https://github.com/vejeta/conquerv5 -# Bug Reports: https://github.com/vejeta/conquerv5/issues -# - -# All of the default settings -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir -SHELL = /bin/sh -CD = cd -CC = gcc -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch -CHOWN = echo ... ignore -CHMOD = chmod -LIBS = -lcurses -ltermcap -lcrypt -SYSFLG = -DBSD -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -TOPDIR = /home/brand1/kevin/foo/conquer -DATADIR = /usr/local/games/lib/conquer -BINDIR = /usr/local/games/bin -INCDIR = /home/brand1/kevin/foo/conquer/Include -SRCDIR = /home/brand1/kevin/foo/conquer/Src -AUXDIR = /home/brand1/kevin/foo/conquer/Auxil -DOCDIR = /home/brand1/kevin/foo/conquer/Docs -CQUER = conquer -CQRUN = conqrun -CQSORT = conqsort -CXTRACT = cextract -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c updateA.c -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c -GOBJS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o keybindG.o magicG.o mailG.o miscG.o moveG.o navyG.o ntninfoG.o pagerG.o regionG.o sectorG.o selectG.o xferG.o time_ckG.o -AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o updateA.o -XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o - -# -# Building and Installation Procedures -# -all: - @${ECHO} "Use one of:" - @${ECHO} " make build -- build everything" - @${ECHO} " make install -- install everything" - @${ECHO} " make clean -- clean up some files" - @${ECHO} " make clobber -- clean up all files" - -# -build: ${CQSORT} - @${ECHO} Build in Auxil done - -# -install: in${CQSORT} - @${ECHO} Installation in Auxil done - -# Cleaning things up -clean: - ${RM} *.o *~ *.bak \#* ${NULL} - -# Really clean things up -clobber: clean - ${RM} in${CQSORT} ${CQSORT} ${NULL} - -# -# Makefile specfic variables -# - -# use the value of C flags -CFLGS = ${CFLAGS} -CPPFLGS = ${SYSFLG} - -# list of object files -SORTOBJS = sort.o - -# -# Rules and dependencies for this Makefile -# -.c.o: $< - ${CC} ${CFLGS} ${CPPFLGS} -c $*.c - -${CQSORT}: ${SORTOBJS} - ${CC} ${CFLGS} -o ${CQSORT} ${SORTOBJS} - -in${CQSORT}: ${CQSORT} - @${ECHO} Installing ${CQSORT}... - ${STRIP} ${CQSORT} - -${RM} ${BINDIR}/${CQSORT} ${NULL} - -${MKDIR} ${BINDIR} - ${MV} ${CQSORT} ${BINDIR} - ${CHOWN} ${BINDIR}/${CQSORT} - ${CHMOD} 755 ${BINDIR}/${CQSORT} - ${TOUCH} ${CQSORT} - ${TOUCH} in${CQSORT} - -# diff --git a/gpl-release/Auxil/conqsort b/gpl-release/Auxil/conqsort deleted file mode 100644 index e69de29..0000000 diff --git a/gpl-release/Auxil/inconqsort b/gpl-release/Auxil/inconqsort deleted file mode 100644 index e69de29..0000000 diff --git a/gpl-release/Auxil/sort.c b/gpl-release/Auxil/sort.c index e0a2fb7..a66f8cd 100644 --- a/gpl-release/Auxil/sort.c +++ b/gpl-release/Auxil/sort.c @@ -40,6 +40,39 @@ #include #include +#include +#include + +/* Try to detect if standard headers exist */ +#ifdef __has_include + #if __has_include() + #include + #define HAVE_STDLIB_H + #endif + #if __has_include() + #include + #define HAVE_STRING_H + #endif +#elif defined(__STDC__) && __STDC__ + /* Assume C89 compliance */ + #include + #include + #define HAVE_STDLIB_H + #define HAVE_STRING_H +#endif + +/* Fallback declarations for systems without standard headers */ +#ifndef HAVE_STDLIB_H +extern char *malloc(); +extern void exit(); +#endif + +#ifndef HAVE_STRING_H +extern char *strcpy(); +extern int strlen(); +extern int strcmp(); +#endif + /* function checker */ #ifndef toupper @@ -101,6 +134,10 @@ FILE *infile, *outfile; #else #include #endif /* BSD */ + +/* Only declare standard functions on very old systems */ +#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L +#if !defined(__GNUC__) || __GNUC__ < 3 #ifndef ULTRIX #ifndef AIX extern int fprintf(); @@ -114,6 +151,8 @@ extern int _filbuf(); extern int fclose(); extern void exit(); extern char *malloc(); +#endif /* old GCC */ +#endif /* old C standard */ /* the whole enchaladas */ int @@ -357,8 +396,7 @@ build_node(data, nptr) L_PTR nptr; { L_PTR temp; - char *strcpy(); - + /* build the memory space */ if ((temp = (L_PTR)malloc(sizeof(L_DATA))) == (L_PTR)NULL) { fprintf(stderr, "Error in creating structure memory!\n"); diff --git a/gpl-release/Auxil/sort.o b/gpl-release/Auxil/sort.o deleted file mode 100644 index cc8127a..0000000 Binary files a/gpl-release/Auxil/sort.o and /dev/null differ diff --git a/gpl-release/Docs/Beginnings.doc b/gpl-release/Docs/Beginnings.doc deleted file mode 100644 index 0941fcd..0000000 --- a/gpl-release/Docs/Beginnings.doc +++ /dev/null @@ -1,311 +0,0 @@ - -Basic Conquering - - Well, to beginners, Conquer can be a rather daunting game. But, - once learned, it can be great fun and more than a little addic - tive. [Don't say I didn't warn you.] - - For those players who are just starting, I would recommend that - you get into a campaign with other beginners, or at least start - in a world where options are not configured too hard. At least, - in such a situation, there will not be too critical a need to - learn all of the aspects of the game. - - With some beginners, there seems to be a tendency to focus all of - your energies into building up armies and sending them against - other nations. While this can be great fun, it should be at - tempted with caution. Most nations can only permanently support - armies of around 10% of the size of the civilian population, - maybe twice that for short term wars; anything larger will put a - great burden on the national economy. Also, make sure that you - can keep your troops supplied in some manner, or they will just - disappear during the middle of the war. Anyway, the section be - low entitled "Making War" will give a more comprehensive look in - to waging war. - -Using Display Features - - The ability to see all that is going on around your nation is the - most important thing to learn. The longer to notice events tak - ing place, the harder it becomes to respond to them. - - Because of this, the display and highlighting commands become the - most important commands within Conquer, due to all of the infor - mation which may be gathered using them. - - Probably the most useful aspect of all of the display routines is - the ability to combine the detailed highlighting routines togeth - er to generate a much more informative display. For example, you - can immediately tell if any of your farm sectors are lacking a - granary by highlighting the top two slots using "designation: - Farms", and the bottom two slots using "minor desg: Granary". - Any sector with only the top two slots highlighted needs to have - a granary added to the sector. There are many more just as use - ful combinations such as "metal mines/blacksmith" and - "owned/roads". I am sure with a little experimentation, you can - build your own sets of highlighting combinations. [For more in - formation, see Display] - -Moving Units - - Learning how to relocate units around the map quickly and easily - is a very important aspect of Conquer, especially during wartime. - There are a number of tools within Conquer to make this process - much easier. [For more information, see Movement] - - Using the display options of "Army Movement", "Navy Movement", - and "Flight Movement" you can determine how expensive moving - through the various sectors will be. It is important to first - determine a destination for movement, and then to figure out an - ideal path. Since the movement mode also contains all of the - display and highlighting options, be sure to switch between them - at need, so that you may better find out how to relocate your - unit. - -Taking Land - - Once you know how to relocate units around the board, you may use - them to claim land for your nation. Only army units may capture - a sector, so don't bother even trying it with your navy or cara - van units. Also, the only sectors which may be claimed are those - which are currently unowned, or those which are owned by a nation - you are at war with. - - To take land, you leave your army in a sector at the end of the - turn, and place the army on "Attack". The attack status is need - ed because capturing land is an aggressive action and might re - quire military conflict. This also means that you need not take - land if you do not wish to. [In prior versions, units moving - across the map would leave a trail of captured sectors behind - them, whether they wished to or not.] - - There must be at least the equivalent of 75 men in the unit to - capture a sector. The relative capturing potential of a unit is - dependent on the unit type, so be aware of how much the unit is - worth. Monster units have a given size per man, which is less - than the combat strength of the unit. Leaders are only worth one - man when capturing a sector. And, the other army units each have - a capturing potential which is multiplied by the number of men in - the unit to determine the actual capturing strength. - - If there are enemy units within the sector, left over from a pri - or battle, you will have to have a significant numerical superi - ority to force your claim. And if there are already civilians in - the sector, you will need additional men in the sector in order - to subdue the population. So, you should figure around 75 men - plus 10% to 30% of the number of civilians in the sector. Final - ly, if the sector is a supply center, you will need to totally - eliminate all fortified troops from the sector before you may - claim it. - -Top Ten First Steps - - Probably the most difficult aspect of Conquer to manage is get - ting your nation and its economy stabilized in the first few up - dates. Thus, I will describe the steps I use to get a nation up - and running: - - 1. Put your national leader (unit 1) on Reserve. - 2. Move minor leaders out in all directions about - five to ten sectors away from the capital. - 3. Locate lumber, jewel, and metal rich sectors. - 4. Locate high (>= 8) food value sectors. - 5. Move 75+ men Attacking units into desirable sectors. - 6. Enlist five to ten scouts. - 7. Assign proper designations to already owned sectors. - 8. Build minor designations where needed. - 9. Check for any other sectors which might be useful to take. - 10. Reinforce the capital with any extra troops. - - The initial focus should be on building up the economy so that - your nation will not run out of any resources. Food and talons - are usually not too hard to come by, but metals and wood can - quickly become scarce. Thus, you should be looking for any metal - and wood sectors you can find. Either find one good (5 or more - value) or a bunch of smaller ones combined for each of those ma - terials. Jewel mines can also come in handy within a few months. - For every metal or jewel mine within your nation, the more likely - it will be that other metal or jewel deposits will be discovered - elsewhere in the nation, even in sectors which appeared empty be - fore. - - By the third turn you should have the following all taken care - of: all of the materials should be showing a net production; all - of the high food sectors (8 or higher) within range of the capi - tal should be in use; the minor leaders should be back into the - nation proper to avoid danger and the scouts should now be out - and doing all of the scouting; likely town sectors about 2 to 3 - sectors away from the capital should be filling with civilians. - - Within a year, a solid economy should be developed, and more than - one town should have been built. By the end of the second year, - you should have multiple cities along with a good network of car - avan routes carrying materials between your cities. If possible, - locate your cities near water so that navies can be employed to - carry your materials. Roads should be built up in as many sec - tors as possible. - - I believe in the slow expansion of the nation, but after you have - played a while, you will be able to determine how quickly you - wish your nation to expand. Just make sure that you do not ex - pand so quickly that you strain your resources. - -Gathering Magic - - In Conquer, the progression of a nation is measured by the number - of magical powers that nation possesses. And, the way to obtain - the magical powers is through the mining of jewels. - - A number of factors are involved in gaining jewels, the most im - portant being the ability of your nation to find the jewel veins - in the first place. Generally, your nation will have to progress - in its ability to recognize the valuable materials around it. - So, from the beginning your nation should be interested in taking - ANY sectors containing jewel deposits within your vicinity, and - using them to mine jewels until their production level becomes - insignificant compared with your better mines. At such time, the - civilians in the sector could probably be doing better work if - they were elsewhere. All of these ideas can, just as well, be - applied to the mining of metals. - - As the jewels are mined, they should be brought back to the na - tional capital so that they can be used to purchase new powers - using the "magical-info" mode. Be sure to bring talons along - with the jewels, since supply centers with large jewel deposits - are more likely to distribute talons than other supply centers. - [For more information, see Powers] - -Meeting Others - - Sooner or later, you are bound to meet another nation. Whether - or not that meeting is friendly is up to you and your neighbor. - I have found, though, that if a nation is capable of supporting a - war, one will inevitably happen. It is just a matter of who is - available to pounce on in such a circumstance. - - When first encountering another nation, you will still possess a - diplomatic status of "Unmet" towards that nation. You will be - unable to enter that nations territory while you are Unmet; this - is to prevent players from attacking another nation without any - warning. - - In order to officially meet a nation, you must own land, or have - leaders, within a certain distance (usually two) of land owned by - that nation. Once met, the two nations will have their statuses - set to neutral and whatever happens from then on is up to the two - nations. - -Making War - - Eventually, your nation will find itself at war with another na - tion. After all, the name of the game is Conquer. - - The most critical aspect of warfare is the ability to supply your - armies. If your supplies run out, so do the armies. The easiest - way to supply your troops is to keep them within supply range of - your supply centers (towns, cities, etc.). If this is not possi - ble, you will have to use navies or caravans to support the - troops. One important thing to note, any unit within range of - supply sites during the update will receive supplies automatical - ly, but if you wish to supply a unit manually, they can only re - ceive supplies from the current sector, unless they are on land - you own. - - One big hint concerning warfare: take the war to them. If it is - at all possible, be aggressive in your warfare, because the land - used as the battleground can get ruined very quickly. If it is - your land that becomes damaged, your economy will be the one to - suffer. - -Some More Hints... - - The complexity of Conquer is such that it is not possible to come - up with a sure fire method for building a better nation, but I - can provide some hints that should help beginners to compete with - more experienced players: - - == If your navies and caravans are just carrying materials, make - sure that they are set to "Carry" so that their cargo is not - removed before you wish it to be. - - == When sending navies out to explore, be sure to put enough - talons and food on the ship so that they can be self-sus - taining. Also, the status of "Support" will need to be - used. - - == Do not take sectors outside of the range of your supply cen - ters, since such sectors would not be usable by you. The - highlight of "range" will help you determine just what sec - tors you can safely take. - - == Do not overdraft armies. Having to support too many army - units can cripple your economy. - - == Try to draft units with specific tasks in mind. For example, - faster cavalry or avian units make swift attacking troops, - and archers, infantry or siege engines are fine in gar - risons. - - == When attacking another nation, you should establish a supply - center whose range overlaps that nation. If this is not - possible, the next best alternative is to capture one of - that nations supply centers, which is a much more difficult - proposition. - - == Be sure to build up the defenses of your nation by fortifying - your supply centers. Be careful not to use all of your re - sources to build up the defenses, though, since they are ex - pensive to build. - - == When attacking a nation, you can either go right for the sup - ply centers or you can take the surrounding sectors and - starve them out. If you wish to starve them out, though, - you will need a much stronger supply network, even though - your troops can be smaller. - - == Walls can be used to slow approaching land armies. - - == Taking over lizard and pirate sectors can be very rewarding. - The lizards are rumored to possess great jewel mines and the - metal resources of pirate nations are highly prized. - - == Mercenaries are very expensive, but are sometimes the only al - ternative because they supply their own weapons (meaning no - metals are needed). Also, since mercenaries are not drawn - from the citizens of your nation, their deaths will not mean - the lost of any population. - - == Granaries may only be built during the spring, summer and ear - ly fall months. - - == Supply centers take time to build. They can still take in and - redistribute supplies, but they are not able to draft - troops. So, be sure to time the construction so that it - will not hurt your nation. - - == Most captured sectors become devastated by the claiming of the - land, so you should be sure to "undevastate" them before - they may be used. - - == Do not let units stray out of support range for too long or - the unit will run out of supplies. - - == To increase the supplies of a unit, the unit must be on terri - tory owned by your nation. - - == The diplomacy statuses of "Allied" and "Jihad" are irrevoca - ble. - - == Putting a sector under siege cuts off the supplies to that - sector, and if it is a city, it cuts off its access to re - sources. [That includes the ability to draft mercenary - units.] - - == It takes a better than a two to one advantage in troops in the - area to place a sector under siege. - - == Roads increase communication rates and reduce movement costs. - - == KEEP YOUR LEADERS OUT OF TROUBLE. Your leader units are your - most valuable. Without your leaders to focus your troops, - many actions become much more difficult, if not impossible. diff --git a/gpl-release/Docs/Conquer-Doc.ps b/gpl-release/Docs/Conquer-Doc.ps deleted file mode 100644 index e69de29..0000000 diff --git a/gpl-release/Docs/Customize.doc b/gpl-release/Docs/Customize.doc deleted file mode 100644 index 616bbdb..0000000 --- a/gpl-release/Docs/Customize.doc +++ /dev/null @@ -1,361 +0,0 @@ - -Tailoring Conquer - - During the writing of Conquer, there were many times when people - have said that they wanted things done differently from the way I - envisioned it. While I could very easily have told them where - they can take their "valuable suggestions" :-), I found that - there were one or two of them that were bigger than me. So, I - decided that I would listen politely to the suggestions and then, - if possible, make it an option. Of course, I still decided what - options were the "default" ones, so I ended up with the last say - anyway. - - There are now many things within Conquer which allow the user to - specify how the user interface is to behave for them. The dis - play modes can be created or adjusted at will, the key bindings - can be manipulated in almost any manner, and there are a number - of flags which can be set based on the tastes of the user. - - Except for the display modifications, which are under the "cus - tom-display" function [For more information, see Display] , all - of the configuration commands are kept under the "conquer-op - tions" command. This command provides a list of options by which - the user may set a number of different preferences, including the - rebinding of the entire key map of Conquer. - - It should be noted that in all of the portions of Conquer con - taining key maps, the key bindings may be adjusted by calling the - "conquer-options" command while within that mode. - -The conquer-options Command - - Conquer currently supports twenty-one different options under the - "conquer-options" function. After executing the "conquer-op - tions" function, type in the name of the desired option to make - use of it. The complete list of options, and their meanings, is: - - all-blanks -- On detailed zoom, leave any unused bottom charac - ters of the sector blank, as opposed to the normal method of - using underlines. - - bind-key -- Interactively assign a set of keystrokes to call a - function. - - bottom-lines -- For detailed zooms, set the bottom of characters - of water sectors to be underlines, unless either "water-bot - toms" or "all-blanks" is enabled. - - check-keys -- Verify that all key bindings in the current mode - are properly set. Any conflicts or missing functions will - be reported as they are encountered. This is done each time - Conquer is started. - - expert -- This toggles the setting of the "expert" option. If - Conquer considers you an expert, it will no longer verify - most commands, and will assume you know what you are doing. - Any complaints resulting from the use of this option will be - given due consideration. - - gaudy -- When enabled, any time the nation's name is encountered - within the news, it will be highlighted so as to improve its - readability. - - header-mode -- If on, the header summary will be shown upon en - tering the mail editor, otherwise the next unread mail mes - sage will immediately be displayed. - - info-mode -- It is possible to toggle whether or not more infor - mation about the current sector will be visible during the - Conquer map display. The command "toggle-infomode" is also - provided, since this is an option which should be enabled or - disabled with ease. - - mail-check -- If on, and your system supports it, Conquer will - check the mail spool to determine if any real electronic has - been sent. Turning this option off will prevent "hanging" - if an NFS mounted mail spool directory becomes inaccessible. - - pager-offset -- Specify how many lines down the screen the Con - quer pager focus line is. - - pager-scroll -- Specify how many lines the Conquer pager will - scroll when paged. - - pager-tab -- The number of spaces used to represent a tab charac - ter are controlled by this option. A value of zero indi - cates that the tab should remain unconverted. - - read-opts -- Read in a file that is in the ".conqrc" format. - - rebind-key -- Assign a currently used key binding to another - function. - - recenter-map -- Assign the current sector location to be the rel - ative center of the national coordinate map. This provides - a method of aligning coordinate systems between nations. - - reset-keys -- Restore the key bindings to their default settings, - making it possible to at least recover from any keybinding - problems. - - store-opts -- Store all of the current Conquer configuration op - tions into an automatically generated customization file. - A query is made to determine the exact file location for - such an operation. Note that "nation" and "campaign" are - not stored to avoid the possibility of overwriting prior de - faults. - - supply-level -- When a military unit is created, it will automat - ically be built with food and payment for a given number of - turns. This option controls how many such supplies are pro - vided. - - terminal-bell -- If on, Conquer will beep, if possible, whenever - an error occurs. - - unbind-key -- Remove a given key binding from the current key - map. - - water-bottoms -- If on, the bottom portion of water sectors will - always be shown with water, and not underlines, in the de - tailed zoom. - -Building a Customization File - - Conquer provides support for customization files, which take the - form of plain text files containing configuration commands. - These files can be created manually, or can be automatically gen - erated using the "store-opts" option from the "cnoquer-options" - function. - - The configuration file consists of a list of single line com - mands, along with comments, which are indicated by a number sign - (#) as the first non-space character. The list of supported cus - tomization commands, and their meanings, is: - - include: path-to-file - Through the use of the "include" customization command, the - user is able to specify additional customization files to be - read in by Conquer. This is very useful for breaking apart - the customization environment into separate parts for ease - of control. [In the future, I plan to enable conditional - include options to allow customization based on the terminal - type or other information] - - nation: nationname - name: nationname - Both of the above commands are used to specify a default na - tion to be used by the player. These are useful to avoid - having to always specify the nation name on the command - line. This may be overridden by either the command line or - the environment variable. - - campaign: campaignname - data: campaignname - directory: campaignname - These customization commands provide the user with a method - of specifying a default campaign to be accessed. They may - be overridden by either the command line or the environment - variable. - - all-blanks - bottom-lines - expert - gaudy - header-mode - info-mode - mail-check - terminal-bell - water-bottoms - All of the above commands turn the appropriate option on. - If it is proceeded by a `!' character, that option is turned - off. - - supply-level: # - Set number of supply units each unit should receive when en - listed. - - pager-tab: # - pager-scroll: # - pager-offset: # - The above options, followed by a numeric indicate that the - appropriate variables should be given the indicated value. - - zoom-level: detail - The zoom level setting indicates what the beginning zoom - setting will be. The zoom level may be either "detail", - "medium", or "full". - - contour Type=C - vegetation Type=C - designation Type=C - Specify what characters are to be used to display the indi - cated contour, vegetation or designation types. - - unbind-key map "keystr" - bind-key map "keystr" function-name - rebind-key map "keystr" function-name - The above commands allow for the specification of a key - binding for an indicated Conquer key map. The currently - available maps are global, mail, magic, move, and reader. - The key string is a set of characters enclosed by either - single or double quotes. The key string should be composed - entirely of displayable characters, with a `^' character be - ing interpreted as an indicator for control characters, and - the '\' character being used to give "C" style character se - quences or just to quote a given character. - - display-mode "Name" highlight style - display-mode "Name" focus hexloc - display-mode "Name" hexloc style - Create or modify display modes and its display, focus or - highlighting settings. A hexloc indicates the position - which can be either low-left, low-right, up-left or low- - right. The styles are the display or highlight settings - which are available to the user. The focus command is used - to indicate which of the four hexloc positions is to be con - sidered the most important. - - default-display highlight style - default-display focus hexloc - default-display hexloc style - Set the default display mode settings in much the same man - ner as the named display modes. This default display method - is used Conquer is first entered. - -The Environment Variable - - In addition to the the customization file, Conquer provides sup - port for an the "CONQ_OPTS" environment variable. I won't get - into a discussion on how to set the environment variable here, - since that varies with each user's shell or operating system, and - is usually easy to do. But, I will describe just what things can - be set using the environment variable. - - The environment variable is not quite as robust as the customiza - tion file, but it does provide a quick way of overriding many op - tions which were set in such a file, without having to permanent - ly change that file. Anyway, the environment variable supports a - list of mostly one character items which correspond with Conquer - options: - - B - A `B' character indicates to enable the "all-blanks" option. - It may be disabled by preceding it with a `!' character. - - b - A `b' character indicates to enable the "bottom-lines" op - tion. It too may be disabled with a preceding `!' charac - ter. - - e - An `e' represents the "mail-check" option. It may be dis - abled by preceding it with a `!'. A - - G - The "gaudy" highlighting option is enabled with a single `G' - option, and may be disabled by preceding it with a `!' char - acter. - - H - The "header-mode" is controlled with a `H' character. If - preceded by a `!' character, it may be disabled. - - i - Choosing to start with info-mode enabled is done using the - `i' character within the environment variable. The `!' will - disable it. - - t - Enabling the "terminal-bell" option is done with a `t'. A - preceding exclamation point will disable it. - - w - The "water-bottoms" option is set using the `w' flag, or - disabled with a '!w' sequence. - - x - Becoming an "expert" is no problem, just use the `x' charac - ter within the environment variable. Disable with an excla - mation point. - - name=nationname - The name of the nation to be used may be specified using - this option. Be sure to use a comma to end it, if there are - any additional options after it. - - data=campaign - Finally, the campaign may be specified through the use of - this option. It should also be distinguished from following - option through the use of a comma. - - As an example, if a player using csh wished to enable "gaudy" and - "water-bottoms", along with disabling "all-blanks", they could - use the following, which would also set their name and campaign: - - setenv CONQ_OPTS 'Gw!b,name=Mordor,data=MiddleEarth' - - While the environment variable cannot be used to specify display - modes, screen characters, or pager variables, it does have a num - ber of useful features which can make it easy to override cus - tomization file settings. - -The Command Line - - There are two main programs which compose the Conquer system: - conquer, the user interface, and conqrun, the administrative in - terface. If you wish to get an exact list of the options avail - able when running each program, you may use "conquer -" or "conqrun -" respec - tively. - - To the sake of completeness, I will list all of the command line - options for both here as well. For the conquer command, the op - tions are: - - Command line format: conquer [-nc] [-BbeGHhilMpsw -d DIR -nNAT] - -nc do not read in .conqrc file [first option only] - -n NAT play as nation NAT - -d DIR use to access different campaign - -B use blanks, not underlines [toggle] - -b always underline water [toggle] - -e don't check for system email [toggle] - -G highlight name in news [toggle] - -H use header-mode option [toggle] - -i don't set info-mode option [toggle] - -t don't enable warning bells [toggle] - -w draw water with no underlines [toggle] - -X enable expert status [toggle] - -l dislay list of user logged in - -h print help text - -P print a map with highlighting - -p print a map - -s print scores - -M edit the MOTD, if allowed - -D dump nation information - - Those selections with the [toggle] at the end are the Conquer - configuration options, which indicate, by the presence or absence - of the string "don't ", what will be done if they are enabled on - the command line. The conqrun command also have a number of se - lections: - - Command line format: conqrun [-nc] [-ACEQITZamx -dDIR] - -nc do not read in .conqrc file [first option only] - -E edit the world campaign settings - -I display some statistics - -A add some npc nations to the nations file - -Q examine the combat dice probabilities - -T (dis/en)able logins; 120 sec time to finish for those in - -Z delete all npc nation specifications - -a add new player - -d DIR to specify a different game directory - -o ofile send update output to the given file - -m make a world - -x execute program - - As you can tell from the above lists, you may avoid reading in - the Most of the Conquer settings are just parallels of the envi - ronment variable options, except that they act as toggles. To - find out exactly what each option does, you can probably just try - it out and see what happens. diff --git a/gpl-release/Docs/Display.doc b/gpl-release/Docs/Display.doc deleted file mode 100644 index 5563ea5..0000000 --- a/gpl-release/Docs/Display.doc +++ /dev/null @@ -1,494 +0,0 @@ - -Cartography in Conquer - - With Conquer version 5.0, hexagonal sectors and relative coordi - nate systems were introduced. Combined, these changes can be - more than a bit disorienting for players of the older versions of - Conquer. But, both of these changes greatly enhance game play by - introducing more realism. - - The shape of the sectors may be selected during world creation, - with the hexagonal map being the recommended choice. With this - setup, motion in any of the six directions results in a reloca - tion of equal distance. With rectangular sectors, distances be - come non-uniform, as can be demonstrated by having motion one - sector east followed by one sector north being equivalent to mo - tion one sector to the north-east. - - The numbering of coordinates is along both the north-south axis - and the east-west axis. This can be somewhat confusing for the - hexagonal coordinate system, with there then being zig-zagging - rows, but this provides a one-to-one relationship between the - displayed map coordinates and the internal data representation - used. Thus, some complex computations are avoided. - -The Displaying of Data - - With information a key element to game play, being able to quick - ly view data is a must. The display system in Conquer is de - signed to allow concise viewing of data through character repre - sentations and display highlighting. - - There are three levels of detail available for the map display. - The farthest out displays the most sectors, but the closest in - has a display of up to four characters for each sector. This al - lows for a greater amount of data for each sector to be shown. - When on the detailed zoom setting, one of the four characters is - designated as the focus character and is indicated by the posi - tioning of the cursor within the sector. There are a number of - different types of data which may be shown in each character - slot, and there are also many methods of highlighting which may - be employed upon each character slot. - - It is possible to build different combinations of character dis - plays and highlights to provide informative methods of gathering - data. The grouping of such display and highlight settings is - called a "display mode". There are a number of pre-built "dis - play modes", or others may be constructed using the display edit - ing commands. - -Display Commands - - There are a number of commands available to allow for the adjust - ment of the display settings. These commands range from zooming - controls and information mode toggling to outright editing modes - for display settings. - - The zooming commands are "zoom-in" and "zoom-out" which slide be - tween the various zooming levels. To shift the focus between the - four character slots, there are the "shift-focus" and "shift-fo - cus-back" commands which rotate the focus clockwise and counter- - clockwise respectively. - - For those times when you want to get more information about the - current sector (such as production, consumption, and minor desig - nations) there is the "info-mode". When running under the info- - mode, the main conquer display devotes a larger portion of the - screen to show information concerning the current sector. The - right side of the screen is totally devoted to listing the mili - tary units in the sector, and the map portion is relegated to a - smaller section of the screen, in the upper left. The "toggle- - infomode" command is used to switch between this mode and the - normal conquer map display. - - One quick command which can sometimes come in handy is "troop- - listing". This command clears the entire right column of the - screen and then uses this space to list all troops belonging to - other nations within that space. This is useful whenever there - are so many troops within the sector that they do not fit within - what little space is leftover after the listing of your own - troops. - - There are two commands which provide customizing of the display - routines. The simplest is the "adjust-view" command which allows - the user to change the symbols used to represent the designation, - vegetation or contour values. Simply enter the selection to be - changed and then give a printable character to use for the dis - play. The much more complex command, "customize-display" allows - interactive creation or editing of new display modes. Once the - display mode has been created, it may be selected using the "ad - just-display" command. - - Finally, because the highlighting of certain sectors can be a - very quick method for interpreting data, there are a number of - commands that allow the quick adjustment of the highlighting pat - terns. Those commands are: "highlight-all", "highlight-current", - "highlight-horizontal", "highlight-upleft-lowright", "highlight- - upright-lowleft", and "highlight-vertical". - - The two pages which follow give the complete list of all of the - display and highlighting styles which conquer supports. These - lists are used as the basis for the display modes themselves. - -List of Display Styles - - (c)ontour -- Show the elevation for all of the sectors on - the screen. - - (d)esignation -- Display the major designation value for any - sectors whose designation is known. - - (f)ood -- Display the food production ability for all habit - able sectors. - - (j)ewel -- Show the approximate jewel production ability of - all habitable sectors. - - (m)etal -- Show the approximate metal production ability of - all habitable sectors. - - (n)ation mark -- Display the nation mark of the owner for - all owned sectors. - - (p)eople -- Display the approximate population level for - owned sectors. Arabic numerals (0 to 9), indicate hun - dreds of people, and Roman numerals (I, V, X, L) indi - cate thousands of people. - - (r)ace -- Show the first letter of the race of the sector - owner. The races are: Human, Dwarf, Elf, Orc, Nomad, - Pirate, Savage and Lizard. - - (v)egetation -- Show the type of vegetation contained within - a sector. - - (w)ood -- Show the wood production ability for those sectors - able to produce wood. - - (y)our desg -- Display designation for sectors owned by the - current nation, and the nation marks for others. - - (A)rmy mcost -- Display the relative cost for a land based - unit to enter each sector. This cost is used for cara - van units as well as army units. - - (D)efense -- Show defensive value for a sector based on the - vegetation and elevation of the sector. - - (F)light mcost -- Display the cost, in movement points, for - a flying unit to enter each sector. - - (M)agic value -- Display the magical potential of the sec - tors. - - (N)aval mcost -- Show the cost, in movement points, for a - ship to enter a sector. A `+' indicates that the sec - tor may only be entered by landing the ship. - - (T)good desgs -- Display designations necessary to take ad - vantage of the special items in sectors. - - (V)alues -- Show tradegood values for each sector. With - jewel, magical, and metal tradegoods, the "mineral" - value is shown, while other tradegood types will have - the potency of the tradegood shown. - - (W)eights -- Display the relative weighting values of all - supply centers within the nation. This display is use - ful to get a feel for where materials will be dispersed - after production. - - (b)lank -- No information is to be shown in this display po - sition. - - (K)eep -- This option indicates that the current display - style in this position should not be changed. If this - is encountered in the actual display, it behaves like - the blank display. - -List of Highlight Styles - - (N)one -- Disable highlighting. - - (a)llies -- Highlight sectors owned by nations friendly to - the current nation. - - (d)esignation -- Highlight any sectors containing a specific - major designation. - - (e)nemies -- Highlight those sectors owned by nations un - friendly to the current nation. - - (m)inor desgs -- Highlight any sectors containing a specific - minor designation (construction). - - (n)eutrals -- Highlight those sectors which are neutral to - the current nation. - - (o)wned -- Highlight those sectors owned by a specific na - tion. - - (r)ange -- Highlight those sectors within supply range of a - supply center in the current sector. - - (s)couts -- Highlight sectors which contain scouting units. - - (u)nits -- Highlight sectors containing armies, navies, or - caravans. - - (y)our units -- Highlight those sectors containing armies, - navies or caravans owned by the current nation. - - (M)ovable -- Highlight sectors which contain units which - have movement ability remaining. - - (R)egion -- Highlight owned sectors within the range of in - fluence of the supply center in the current sector. - - (S)upported -- Highlight those sectors, owned by the current - nation, which are within support range of any of their - supply centers. - - (T)radegoods -- Highlight those sectors whose tradegoods are - of a specific tradegood class. - - (U)nsupported -- Highlight those sectors which are owned by - the current nation, yet are beyond the support range of - their supply centers. - - (K)eep -- Do not change the highlighting when this display - mode is selected. If this style is encountered in the - actual display, it behaves as if the "None" highlight - ing style is set. - -The Normal Conquer Display Mode - - As you have probably noticed, the normal Conquer display shows a - map of the world in most of the screen area. This map will con - tain one or more character representations of the various sectors - which are visible to your nation. The position of the characters - gives an indication of the relative location of the sectors on - the map. Sectors towards the top of the map are north of the - sectors towards the bottom, and sectors to the left of the map - are west of the sectors on the right of the map. - - The current sector is indicated by the position of the cursor. - More information about the current sector, such as who owns it, - what the actual coordinates of the sector are, and what, if any, - of your troops are within the sector, will be shown along the - right-hand column of the display. You can see an example of such - a screen below: - - *Wzrd 1 x=250 p=10 - m:100 sp:= st:Dfd - __ >Mage 2 x=50 p=5 - __/ -\__ m:100 sp:= st:Dfd - __/ %\__/ %\__ >Mage 3 x=51 p=5 - __/ -\__/ -\__/ -\__ m:100 sp:= st:Dfd - / %\__/ -\__/ %\__/ -\ >Mage 4 x=50 p=5 - \__/ %\__/ -\__/ -\__/ m:100 sp:= st:Dfd - / %\__/ -\F_/ %\__/ -\ >Mage 5 x=51 p=5 - \__/ -\t_/ -\F_/ -\__/ m:100 sp:= st:Dfd - / %\__/ -\C_/ %\__/ -\ --- more --- - \__/ %\F_/ #\F_/ %\__/ sector [0,0] - / ^\__/ %\__/ -\__/ %\ owner: Aereol - \__/ -\__/ -\__/ ^\__/ Capital Elf - \__/ %\__/ -\__/ Forest Flat - \__/ \__/ pop: 16628 move: 1 - food: 8 wood: 8 - item: drama (c) - - If you possess units within the current sector, information about - each of the individual troops will be shown, with two lines of - information for each unit. For armies, the information will con - tain the type of unit, the id number of the unit, the size of the - unit, and the status and movement capabilities of the unit. For - navies, the id number of the fleet, the number of each class of - ship within the fleet, and the status and movement capabilities - of the unit will be shown. And finally, the caravan units will - have the size, id number, status and movement capabilities of the - units shown. The currently selected unit within the sector will - have a marker other than the `>' sign next to it. Usually this - will be a `*', but a `+' is used to indicate the leader of a - group of army units or a ship or caravan which is carrying items - onboard. - - The above map shows all of the world which is visible to a nation - "Aereol". The currently selected sector is the capital located - at sector [0,0] which is surrounded by a number of farming sec - tors. There are a number of troops within the sector, including - the nation leaders and Ruler, the "Wizard", which is currently - selected. - -Zoooooom... - - Conquer has support for both hexmap and rectangular coordinate - systems. There are also three levels of "zooming" available, - where clarity of information will be traded off with the number - of sectors visible as the scale increases. Below are examples of - each level of zooming, with the hexmap coordinate system on the - left and the rectangular coordinate system on the right. - - ~ % % % ~ - F b ~ - %-~~~~~~~--%%-j%,, - % - - ~ ~ F F % - ~~~~~~~~~%-FFF%jb, - , , % % ~ ~ C b % % ~~~~~~~~~-%~CFi%j- - ~ i ~ ~ ~ ~ F % i b~~~~%~s~--%FF,ii% - % , ~ ~ ~ ~ ~ - ~ , ~~~~~~~~~%-%-,^--j - - At the "full" zoom setting, only one display "slot" is available, - but many sectors are visible at once. It should be noted, though, - that on the hexmap, it is not possible to travel directly east- - west, and that sectors are, however, connected with those direct - ly to their north or south. The rectangular system gains a much - more compact display because of the rectangular orientation of - the screen. - - % ~ - F b ~ - ~ ~ ~ ~ ~ - - % % - j - ~ ~ F F % - ~ ~ ~ ~ ~ % - F F F % - % ~ ~ C b % % ~ ~ ~ ~ ~ - % ~ C F i - ~ ~ ~ F % i % ~ s ~ - - % F F , i - ~ ~ ~ ~ - ~ , ~ ~ ~ ~ % - % - , ^ - - - At the "medium" zoom setting, less sectors are shown, but the - sector positioning is more apparent for the hexmap. For your - reference, the "designation" display style is being used here, - with the vegetation and elevations of the sectors being shown - when there is no designation present. - - / %\__/~~\~~/ -\__/ %\__/ ^\ |~~|~~|~~| %| -| ^| ^| %| %| - \__/~~\~~/~~\__/ %\F_/ %\__/ |~~|~~|~~|__|__|F_|F_|F_|__| - / %\~~/~~\~~/~~\F_/ -\F_/ ^\ |~~|~~|~~| -| %|~~| %| ^| #| - \__/~~\~~/~~\~~/~~\C_/ %\__/ |__|~~|__|__|__|__|C_|F_|__| - /~~\~~/~~\~~/~~\~~/~~\F_/ -\ | ^|~~| -| -| %| ^| %| ^| ^| - \~~/~~\~~/~~\~~/~~\~~/ -\__/ |s_|~~|__|__|__|F_|F_|__|__| - /~~\~~/~~\~~/~~\~~/~~\__/ -\ |~~|~~| %| -| %| -| %| ^| -| - \~~/~~\~~/~~\~~/~~\~~/ -\__/ |~~|~~|__|__|__|__|__|__|__| - - Finally, the "detail" zoom shows more information for each sector - and demonstrates very clearly the directional relationship be - tween neighboring sectors. The important thing to note here is - that there are now four characters of information for each sec - tor. - -The Information Mode - - When it is desirable to obtain more information about the current - sector than the standard conquer display provides, the informa - tion mode is what you are looking for. To enter the information - mode, simply use the "toggle-infomode" command, and it will - switch between the standard conquer display and the information - mode. - - The information mode is very much like the standard conquer dis - play, but the map takes up much less of the screen, and the extra - space is filled by a section which will show as much information - about the sector as the nation knows. The right side of the - screen is then totally devoted to the listing of the troops with - in the sector. - - An example of what might be shown in the information mode is: - - __/ %\__/ %\__ Capital of aereol [128] *Wzrd 1 x=250 p=10 - __/ %\__/ %\__/ %\__ m:100 sp:= st:Dfd - / ^\__/ %\__/ -\__/ %\ Attract: 151 Constructions >Mage 2 x=50 p=5 - \__/ %\__/ ^\__/ -\__/ Weights: 128 fortified m:100 sp:= st:Dfd - / ^\__/ ^\__/ %\__/ ^\ Defense: 60% >Mage 3 x=50 p=5 - \__/ %\F_/ -\F_/ ^\__/ Recruits: 8000 m:100 sp:= st:Dfd - / ^\__/ ^\C_/ -\__/ #\ Range: 3.0 >Mage 4 x=50 p=5 - \__/ %\F_/ v\F_/ -\__/ Talons: 200000 m:100 sp:= st:Dfd - / ^\__/ %\F_/ %\__/ ^\ Jewels: 15000 >Mage 5 x=50 p=5 - \__/ %\__/ -\__/ %\__/ Metals: 15000 m:100 sp:= st:Dfd - \__/ %\__/ ^\__/ Food: 40000 >Mage 6 x=50 p=5 - \__/ ^\__/ Wood: 15000 m:100 sp:= st:Dfd - \__/ >Mage 7 x=50 p=5 - Produce Consume m:100 sp:= st:Dfd - sector [0,0] Talons 154011 7500 >army 200: 175 inf -owner: aereol Jewels 0 0 2 m:0(-) st:Grsn -Forest Flat Capital Metals 0 860 >army 201: 75 inf -people: 23335 Elf Food 8 23335 2 m:100(=) st:Dfd -food: 8 wood: 8 move: 1 Wood 8 2620 >army 202: 75 inf -item: drama (c) 2 m:100(=) st:Dfd - - The display shown above concerns the Capital of the nation aere - ol. The left portion of the screen is devoted to the map of sec - tors around the capital, the right column to the troops within - the capital area, and the middle of the screen shows a good deal - of information about the supply center itself. - - At the top of the information portion of the screen, the sector - designation will be shown, with the value of the designation - shown in parenthesis. For supply centers, this will be the - weight assigned to the sector; for farms, it will be the food - value; for metal mines, the metal value; etc. - - Below that will be listed all of the constructions, a.k.a. minor - designations, as well as the attractiveness of the sector to the - civilians. Immediately below the attractiveness is the sum of - the weights of all supply centers within support range of the - sector. [In the above display, this shows that the capital is - the only supply center within range] Below that is the defensive - value of fortifications within the sector. At the very bottom, - the production and consumption summary is given, so that you can - determine just where all of the national resources are going. - - If the sector is a supply center, such as the capital above, - there will be some added information, such as how many volunteers - are in the sector, what the influence range of the supply center - is, and what materials are stored within the supply center. Oth - erwise, the number of civilians actually working within the sec - tor will be shown. [For more information, see Sector] - -The customize-display Command - - As stated earlier, a display mode consists of a specification for - all four character slots, highlight specifications, and a focus. - There are, therefore, many possible combinations of display modes - available. The command "customize-display" is used to create a - specific combination, and perhaps give a name to it, so that it - can be put to use at a later date. - - When first executed, the list of currently defined display modes - is listed. Simply specify the name of the display mode you wish - to edit, and press return. If the display mode is not already - defined, a new display mode will be created under that name. - - The bottom portion of the screen should look something like: - - Name: "Standard" Display and Highlighting Selections __ - Focus: low-left blank / owned | contour / owned / -\ - '?' for commands ---------------------+--------------------- \C_/ - 'q' to exit your desg / owned | blank / owned - - The name of the mode being edited, the current focus position and - the two brief command selections are listed on the left. The - settings for each position (or slot) are listed in the middle. - And a view of the current sector using the display mode under - construction is on the right. - - So, you use the space to change the focus of the display mode, - then use the `d' key to change the display style for a given po - sition. You can also change the highlighting using the `h' key, - or any of the highlighting keys available in the normal conquer - mode, and the name using the `n' key. If you wish to return the - settings to the original values, the `r' key will perform a re - set. All of these keybindings are mentioned when the `?' key is - pressed, if you should forget. - - Finally, when you leave the display customizer, using the `q' - key, it will store your newly created display mode in the list of - defined display modes. It will then be accessible via the "ad - just-display" command. If you specified to edit the current dis - play mode, conquer will ask you if you wish to try to save the - settings under some new name so that it will not be lost when you - switch to another display mode. An important bit of information - here: the position of the focus when leaving the customizer is - the value of the focus in the actual display mode. - - Be aware, though, that the customized display modes only remain - in existence for the duration of the current conquer session. - You may have conquer store the settings, though, using the "con - quer-options" command and its "store-settings" subcommand. - -Predefined Display Modes - - Conquer comes with a default list of display modes, so that play - ers need not design their own unless they wish to. The list of - predefined modes is: - - name low-left | low-right | up-left | up-right | focus - ============= ===========|===========|============|===========|=========== - Standard designation| blank | blank | contour | low-left - Designation designation| keep | keep | keep | low-left - Own Designati own desg | keep | keep | keep | low-left - Nation Marks keep | keep |nation mark | keep | up-left - Race keep | keep | race | keep | up-left - Population keep | people | keep | keep | low-right - Contour keep | keep | keep | contour | up-right - Vegetation keep | keep | keep |vegetation | up-right - Tradegoods keep |Tgood desg | keep | keep | low-right - Jewels keep | keep | jewels | keep | up-left - Magics keep | keep |Magic value | keep | up-left - Metals keep | keep | metals | keep | up-left - Values keep | keep | Values | keep | up-left - Food keep | keep | food | keep | up-left - Wood keep | keep | wood | keep | up-left - Defense keep | keep | Defense | keep | low-left - Army Move keep | Army Move | keep | keep | low-right - Navy Move keep | Navy Move | keep | keep | low-right - Flight Move keep |Flight Move| keep | keep | low-right - Weights keep | Weights | keep | keep | low-right - Blank blank | blank | blank | blank | low-left - - Note that all of the default display modes have a highlight style - of "Keep" to assure that they will not alter the current high - lighting method. diff --git a/gpl-release/Docs/Economics.doc b/gpl-release/Docs/Economics.doc deleted file mode 100644 index 6b98692..0000000 --- a/gpl-release/Docs/Economics.doc +++ /dev/null @@ -1,708 +0,0 @@ - -Conqueresque Economics - - Economic conditions play a crucial role in the development and - growth of a nation within Conquer. Each nation must properly - manage the resources available, and distribute them where they - are needed. Troops will need supplies in order to survive, and - ships and caravans will need materials for contruction and re - pairs. Civilians will need food during every turn, and the sec - tors will need materials just to keep current designations in - place, if not to build new ones. - - All of the economics issues revolve around the ability of the na - tion to acquire and distribute the materials available to it. - And there are many methods available for both the acquisition and - the distribution, it is up to the player controlling the nation - to decide what is best and when. - -Economics 101: Resources - - There are five types of raw materials within Conquer: talons, - metals, jewels, wood and food. Each is required for different - uses, and each must be produced in different ways: - - Talons -- The basic monetary unit of conquer, gold talons are - generated from the taxation of the population. The taxation lev - el is totally controllable by the player, so if more talons are - needed, more taxes can be gathered. Of course, with higher tax - es, there is much higher discontent, and a greater risk of rebel - lion against your rule. The amount of talons generated varies - with the type of the sector and the sector population; lumber - yards, iron mines, jewel mines, and the farm sectors all generate - talons based on the production of the sector. The remaining sec - tors have a fixed income for each person in the sector, which is - greater if the sector is of more importance. - - Metals -- Metals are used in the construction of buildings and - fortifications, as well as the supplying of many troops. Metals - are generated by mining them from the earth. Various sectors - contain metal deposits, such as iron, copper, adamantine and - mithril. These sectors have available to them a certain amount - of metal, which is related to the quality of the type of metal - within the sector; for each unit of metal value for a sector, - each miner within the sector will produce 1 unit of metal per - turn. But, finding the metals is not as simple as it might be. - Each nation has given "mining ability" and "metalworking abili - ty", the average of which is used to compute the likelihood of - being able to recognize the metallic tradegoods. In order to - find the better metal types, the nation must possess a better - mining and metalworking ability. - - Jewels -- Jewels are used to gain the services of various mon - sters, and to increase the magic powers and energy of a nation. - Jewels, really gems and precious metals, are produced very much - like metals. There are various forms of jewel types, such as ru - bies, gold, silver and platinum. And each nation possesses a - certain level of ability for finding and mining such jewels. - Much like with Metals, nations have a "jewelworking" ability - which, when averaged with the mining ability determines what - types of jewels are able to be mined by the nation. - - Wood -- Wood is used in the construction of naval vessels and for - defensive fortifications. As such, wood is a military necessity. - Wood is gained through the use of lumberyards. Each vegetation - type has a certain wood yield which it may give, where woods and - forests have the highest production potential. Special types of - trees, such as pine and oak, may also enhance the yield for a - sector. For each wood value a sector possesses, it will produce - ten units of wood per person. - - Food -- Food is a necessity of life, for both soldiers and civil - ians. If soldiers or civilians run out of food supplies they are - likely to die of starvation. Farms are used to grow food, but - the farms must be properly cultivated over a number of seasons or - only a partial crop will result. A normal yield is 1 unit of - food per person, per food value of the sector, each turn. During - the spring, a sector must be designated as a "Farm" sector. This - sector will produce a half yield. As the seasons progress the - farm will mature and become "Fertile" during the summer, and - "Fruitful" during the fall. The fertile sectors will produce a - full yield, while the fruitful sectors will produce a double - yield. During winter, the sector will revert back to a "Farm" - sector, and will not produce food again until the spring. - -Economics 201: Supply and Demand - - Raw materials are stored within the special storage designations, - called "supply centers". There are five supply center types: - Cache, Stockade, Town, City, and Capital. Materials stored with - in any of these designations will be made access to neighboring - sectors, military units and civilians. If a unit, sector, or - civilian does not receive the resources needed for its survival, - it will either die or decay. So, it is very important to main - tain constant supply lines for sectors and units. Naval units - and caravans can be used for mobile short range supply sources, - but with small storage capacities, they can not be depended on as - long term supply sites. - - Each of the supply centers will gather raw materials from neigh - boring sectors during the update, and then redistribute them, as - needed, to those same sectors. The range of influence of a sup - ply center varies with the type of supply center, but is also a - function of the national communication range. Each supply center - also has a weighting assigned to it, to determine what percentage - of each sector's production it should receive. Weights may be - adjusted by the player, but must not be less than the default - value for that supply center. The default range and weighting of - a supply center is given by the table below: - - Supply Center Type Influence Range (min) Default Weight - ==================== ====================== ======================== - National Capital NTN_COMM + 1.0 (3.0) 128 - City Sector NTN_COMM (3.0) 64 + 1 per 1,000 people - Town Sector NTN_COMM / 2.0 (2.0) 32 + 1 per 500 people - Stockade NTN_COMM / 4.0 (1.0) 10 - Cache 0 (0.0) 0 - - To give an example of the weighting system: A farm sector pro - duces 10,000 units of food and is within the influence of the - Capital, 1 City of 8,000 people and a town of 750 people. The - weight of each, respectively, is 128, 72 [64 + 8], and 33 [32 + - 1]. The total weight is 233, and the food received by each - should be: - - Sector Weight Food Received - ============ ========== ========================== - Capital 128 10,000 x 128 / 233 = 5493 - City 72 10,000 x 72 / 233 = 3090 - Town 33 10,000 x 33 / 233 = 1416 - - The 1 food unit lost because of integer division can be thought - of as slipping through the cracks of bureaucracy. - - Now, when a sector consumes items, the distribution of materials - to that sector is handled by taking into account how much of the - required item nearby supply centers possess. So, if a farm needs - 500 units of wood and there is one neighboring city with 1,000 - wood and another with 4,000 units of wood, 100 would be taken - from the first city and 400 from the second. As you can tell, - this is totally independent of the weighting scheme used to dis - tribute raw materials after production. - -Economics 301: Supplying the Military - - One of the more advanced options of Conquer is that of requiring - that military units be supplying. Since armies, navies, and car - avans can each roam well outside the national boundaries and sup - ply center ranges, they must each carry what they needed to sur - vive. - - The food and talons (and any other items needed for survival) are - lumped together in one packages called a "supply". During every - update, each unit will consume 1 supply. There is a limit to the - number of supplies a military unit may carry with them, so the - units will need to constantly be resupplied in order to continue - their activities. This will be done automatically if they are - within range of a supply center during an update. Otherwise, - there are a number of commands, including the "region-command" - and "command-unit" commands, which may be used to provide units - with supplies. But, when resupplying a unit using a manual - method, the unit must be in territory controlled by their nation, - or the supplies cannot be transported to them. - - The composition of military supplies varies. For most army - units, the supplies are composed of the monthly pay and the food - needed for survival. For monster units, the supplies are com - posed of the jewels needed to bribe the creature(s). Leaders and - scouts, being single man units, need not be supplied as they can - live off the land. Naval units need talons for payment as well - as food for their crew. And finally, caravans also need to be - given payment as well as food for their crew. - - Distribution of supplies is automated over land based connec - tions, so if a unit is on land, they may receive materials from - any storage location which is on land and within range. It - should be noted that the raw materials for the supplies may be - taken from supply centers, both the static cities, towns, etc. - and the mobile caravans and navies. So, if you are planning on - sending a troop of soldiers off into the world on their own, be - sure to send along a fully loaded caravan or navy with them. - [For more information, see Warfare] - -Displaying Economic Information - - Gathering information about economic conditions is an essential - part of economic management. So, knowing how to properly use the - Conquer display routines is very important. - - If your nation, or a portion of the nation, does not have enough - of any of the raw materials, it will be necessary to designate a - sector to produce more of whatever is needed. In order to do - this, you will have to determine what sectors within range of the - supply center(s) in question contain the most potential for gen - erating the needed materials. There are a few display modes - built in to display wood, food, jewel, and metal potential for - sectors. Also, you can turn on highlighting to indicate the - range of supply centers. [For more information, see Display] If - a sector is not already owned by your nation, it will be neces - sary to capture it before you may make use of it. [For more in - formation, see Warfare] - - Another key part of the display routines involves locating unsup - ported sectors. It is possible to highlight any sectors which - are unsupported by supply centers. This means that the sector is - not within range of any supply centers, and thus will not receive - supplies to sustain civilians or constructions within the sector. - If you find such sectors within your nation, it will be necessary - to either improve the communication range of the nation, or to - build a new supply center within range of the unsupported sector. - -Paying for Sectors - - Each of the sectors which a nation owns requires certain materi - als to maintain the sector and the things within the sector. If - the sector possesses a designation or constructions, there are - materials which will be needed to upkeep the constructions and - designation within the sector. - - The costs for the upkeep of a sector is computed by finding the - base cost for the sector designation, and adding on any addition - al costs for constructions, modified by the designation multipli - er. So, using the cost table in the Sector Information portion - of the documentation, a town sector with a blacksmith and a - church would cost: - - Item Talons Metals Wood - ====================================== ======== ======== ======== - Base Cost for a Town 1000 20 200 - 5x Cost for a Blacksmith 2000 0 40 - 5x Cost for a Church 1500 0 50 - - Total Costs for Sector 4500 20 290 - - As the above calculations demonstrate, it is often the minor des - ignations that cost the most, since the basic functions of a town - are mostly self-sufficient. [For more information, see Sector] - - In addition to the material expenses for a sector, the civilians - living within the sector will need to eat. The food required is - simple to compute: multiply the national "Eat Ratio" by the num - ber of civilians within the sector. - - Costs may be reduced when magical civilian powers such as "Ac - countant", "Metalcraft" and "Woodcraft" are obtained. [For more - information, see Powers] - -Economic Reports - - Since Conquer is a computer based game, it is capable of calcu - lating all of the consumption and production on either a regional - or national level. Summaries about the costs for each supply - center's realm of influence (or region) are available through the - "economy-report" command. - - This command brings up a full screen summary of the economic con - dition within the nation. There are three summary types: the - economic report, the resource report, and the sector totals. The - economic report summarizes talon consumption and intake, includ - ing an estimate for the talon level for the next turn. The re - source report lists all five resource (raw material) types with - population, production, and usage figures. And the sector totals - report list what type of civilians live in which sector types - within the scope of the summary. All of these reports may be for - a single supply center, or for the entire nation. - -The Economic Report - - The economic report screen from the "economy-report" will look - similar to this: - - City: Downwind Talons: 821679 - Location: [1,-3] Volunteers: 693 Jewels: 0 - Weight: 67 Ships in Harbor: 0 Metals: 279094 - Sectors: 39 Supported Troops: 5757 Food: 172677 - Wood: 107529 - | source | income | - |----------+----------| | item | expense | Initial Treasury....$821679 - |Cities | 99359| |----------+----------| Probable Income......132418 - |Town/Stock| 0| |Army | 53646| Probable Expenses....-83444 - |Farms | 3964| |Fleets | 3121| Misc. Items...............0 - |Mines | 26158| |Caravans | 2782| Inflation Loss............0 - |Others | 2935| |Sectors | 23895| ---------- - |----------+----------| |----------+----------| Probable Treasury...$870653 - |Income | 132418| |Subtotal | 83444| - -----------+----------- -----------+----------- - - The above example is for a city named Downwind, located at sector - [1,3]. There are 5757 army troops within range of this city, and - probably others given the low army support costs. The total in - tact by different sector groups is in the column on the left, and - the support outtake is in the central column. The right column - displays the calculation of the next month's expected treasury. - - For defensive purposes, it is good to note that this city has - plenty of materials stored away and could also draft up to 693 - additional soldiers to help defend the city. - -The Resource Report - - For the same city, the resource report screen looks like: - - City: Downwind Talons: 821679 - Location: [1,-3] Volunteers: 693 Jewels: 0 - Weight: 67 Ships in Harbor: 0 Metals: 279094 - Sectors: 39 Supported Troops: 5757 Food: 172677 - Wood: 107529 - - | raw | sector | regional | region | region | | estimated| - | material | type |population|production| usage | net | totals | - +----------+----------+----------+----------+----------+----------+----------+ - |Talons |All | 14154| 132418| 83444| 48974| 870653| - |Jewels |Jewel Mine| 1073| 11054| 0| 11054| 11054| - |Metals |Metal Mine| 1659| 20647| 773| 19874| 298968| - |Food |Farmland | 3468| 46897| 33587| 13310| 185987| - |Wood |Lumberyard| 207| 12003| 940| 11063| 118592| - -----------+----------+----------+----------+----------+----------+----------- - - This screen shows a city with a solid production network, since - there are civilians within range of the city producing all of the - raw material types. This means that it would be possible for - this city to survive on its own were it to be cut off from other - supply centers within the nation. So, checking for any negative - numbers within the "net" column will indicate if a supply center - needs to increase the production of any of the raw materials - within the region, or import them from another region. - -The Sector Totals Report - - Finally, the sector totals report for a sector looks like: - - City: Downwind Talons: 821679 - Location: [1,-3] Volunteers: 693 Jewels: 0 - Weight: 67 Ships in Harbor: 0 Metals: 279094 - Sectors: 39 Supported Troops: 5757 Food: 172677 - Wood: 107529 - - |num| type | people | |num| type | people | |num| type | people | - |===+==========+========| |===+==========+========| |===+==========+========| - | 4|None | 16| | 2|Lumberyard| 207| | 0|Stockade | 0| - | 0|Farm | 0| | 5|Shrine | 327| | 0|Town | 0| - | 11|Fertile | 3468| | 0|Bridge | 0| | 4|City | 4707| - | 0|Fruitful | 0| | 1|Canal | 7| | 1|Capital | 2690| - | 7|Metal Mine| 1659| | 0|Wall | 0| |---+----------+--------| - | 5|Jewel Mine| 1073| | 0|Cache | 0| | 40|Totals | 14154| - ----+----------+--------- ----+----------+--------- ----+----------+--------- - - This screen simply displays a summary of the sector population - within the region based on the sector designations. As expected, - there are people in all four production types: lumberyards, farm - types (fertile), metal mines, and jewel mines. Also, there are 3 - other cities and the national capital within range of this city, - so there is quite a network of cities within this nation. - -Redistribution of Materials - - The best way to maintain economic stability within a nation is to - make sure that each supply center has some of each of the four - production type sectors within its range of influence. There are - times, however, when this is not possible, such as when first es - tablishing a new supply center. In such cases, it is often nec - essary to move materials into the supply center from other supply - centers in the area. - - There are two ways to move materials into a supply center: - transfer them directly from a nearby supply center or place them - in a caravan or navy and carry them there. - - Transferring directly between supply centers is done using the - "region-command" function. The maximum distance over which this - is possible is determined by the campaign administrator, but by - default is two sectors. Placing a number of supply centers with - in range of each other makes it possible to "string" supplies - over long distances from one supply center to another for free. - The problem with this approach is that supplies may not be moved - over more than one supply center per month, so it might take a - long time to get supplies to or from cities farther out in the - nation. - - Transporting materials over land or water using caravans or - navies provides the quickest method of transfer, as long dis - tances may sometimes be covered over a single turn. However, - this method requires materials to build the units, and civilians - to crew the transports. Once a supply network of caravans and - navies is in place, though, the support costs are rather low and - the speed of material relocation is worth the added expenses. - Loading and unloading of materials from caravans and navies is - accomplished using the "transfer" command or the (T)fer Cargo op - tion of the "command-unit" function. - -The xfer screen - - The "xfer" screen used by both the "transfer" and "region-com - mand" functions is a simple multi-column display with one storage - site on the left and another on the right. Using the "hjkl" keys - items are transferred between the two locations, and until the - screen is quit, items may be freely moved between the two sites. - - Only those materials which may be transferred between the two - storage sites will be shown on the screen. So army units will - not be shown unless the transfer is between a naval fleet with - warships and a sector with units or another warship fleet. Also, - once raw materials are placed in a supply center, they are not - able to be transferred again until the next month. This mecha - nism prevents "instant" transfer of materials between supply cen - ters from one end of a nation to another. - - The transfer screen shows the capacities for each storage loca - tion and the current amounts in that location. Each line also - contains a "default transfer amount" which will be used to trans - fer materials if only a portion of the materials needs to be - transferred. - -Commands for the xfer Screen - - The list of commands available during the "xfer" screen: - - conquer-options (`O') -- Adjust environment by changing various - options, including keybindings. - - redraw-screen (`^L',`^R') -- Redraw the display of the screen. - - xfer-add (`+') -- Increase the current default transfer amount by - one. - - xfer-assign (`=') -- Assign a value the the default transfer - amount. - - xfer-divide (`/') -- Divide the default transfer amount by ten. - - xfer-down (`J',`j',`^N',DOWN-ARROW) -- Move the selection pointer - down one line. - - xfer-help (`?') -- Provide a listing of functions and key bind - ings. - - xfer-left (`H',`h',`<'`^B',LEFT-ARROW) -- Change transfer direc - tion from left-to-right to right-to-left, or if already - done, move as much as possible from the right to the left. - - xfer-move (` ') -- Transfer the current default amount in the - current direction. - - xfer-multiply (`*') -- Multiply the default transfer amount by - ten. - - xfer-quit (`Q',`q') -- Exit the transfer mode, finalizing trans - fers. - - xfer-right (`L',`l',`>',`^F',RIGHT-ARROW) -- Change transfer di - rection from right-to-left to left-to-right, or if already - done, move as much as possible from the left to the right. - - xfer-shiftdown (`p') -- Move the list of army or caravan units - downward. - - xfer-shiftup (`o') -- Move the list of army or caravan units up - ward. - - xfer-subtract (`-') -- Decrease the default transfer amount by - one. - - xfer-up (`K',`k',`^P',UP-ARROW) -- Move the selection pointer up - ward one line. - -The National Information Screen - - The "nation-information" function is a good way of gathering a - summary of your national status. It includes information about - many national statistics and traits, and examining it every turn - and noting trends is a good way to chart national progress. When - using the function, the display will be similar to this: - - = Identifiers = = Attributes = = Abilities = = Resources = - Nation.....Khazadum Communication...3.4 Attack Bonus....+30 Talons....$4816663 - Nation Mark.....'k' Eat Rate........1.6 Defense Bonus...+30 Jewels......158065 - Leader........Durin Health.......HghAvg Reproduction.....6% Metals...........0 - Race..........Dwarf Jewelcraft...VryLow Movement.........12 Food........461352 - Alignment......Good Knowledge.......Avg Wood.............0 - Class........Empire Merc Rep........Avg - Aggression..Enforce Metalcraft...VryLow = Totals = - NPC status......NPC Mine Ability.LowAvg Leaders.........19 - Morale..........Low Soldiers......2019 - Tax Rate.........10 Popularity...VryLow Civilians....64824 - Charity...........0 Reputation...VryLow Monsters.........0 - Currency........Avg Spell Pts.........0 Ship Holds.......0 - Inflation.........0 Spoilrate........90 Wagons...........0 - Terror.......VryLow Sectors.........14 - Wizardcraft.....Min Score...........53 - - The above screen shows an NPC Dwarven nation named Khazadum with - a ruler named Durin. Whenever other nations encounter Khazadum, - they will see a 'k' on their maps, since that is its nation mark. - The aggressiveness of the nation indicates that its troops will - be mostly defensive, and within their fortifications. The tax - rate is moderate, with inflation and currency levels stable. - - The eat rate is at a good low level, but the communication range - is a little low for a nation of this size. The metal craft and - mine ability are very low and there is no magical power potential - within the nation. Those are probably due to the nation not hav - ing either shrines within magical sectors or metal mines. Given - the lack of wood as well, it is possible that there are also no - lumberyards within the nation. The last two items are potential - ly crippling. - - On the whole, the nation seems to be in a bit of trouble, with - most of the attributes being very low to average, and the metal - and wood supplies having run out. It will take a fair amount of - work to get this nation out of trouble, particularly in regard to - the wood and metal levels. - -National Attributes - - The nation information screen is used to display a number of the - attributes of a nation. Items marked with an asterisk (*) have - the possible values: Min, VryLow, Low, LowAvg, Avg, HghAvg, High, - VryHgh, and Max. Those marked with a plus (+) are adjustable by - the user. - - Nation+ -- The name of the nation, which may be changed at any - time. - - Nation Mark+ -- What map character is used to represent the na - tion. - - Leader+ -- The name of the ruler of the nation. - - Race -- The race of the nation. [For more information, see Na - tions] - - Alignment -- The general moralistic leaning of the nation. The - possible alignments are: Good, Neutral, Evil, or Other. On - ly the first three are available to active nations. - - Class -- The national class. [For more information, see Nations] - - Aggression+ -- This indicates the type of update a computer play - er will make for the nation, if a computer update is made. - Computer aggressiveness ranges from Static to Killer and can - be turned off with the value Nomove. - - NPC Status+ -- Is the nation controlled by a player or by the - computer? If controlled by the computer, the status is NPC. - - Tax Rate+ -- What level of taxes are drawn from the civilians. - This may range between 0 and 25, but the higher the setting, - the lower the popularity of the government. - - Charity+ -- How much of the yearly treasury is distributed back - to the civilian population each year. The more that is giv - en, the higher the popularity of the government. - - Currency* -- The strength of the national currency. - - Inflation -- The yearly inflation, or deflation if negative, of - the national currency. - - Communication -- The distance over which communication is possi - ble. This rate is a factor of the density of supply centers - within a nation, and the availability of roads for trans - portation of messages. - - Eat Rate -- An indication of how much food per month civilians - will each. The amount of food within the nation and the - time of year will determine how much high this value is. - - Health* -- The average overall national health of the civilian - population. If this attribute is low, the population will - be more susceptible to disease and famine. Having civilians - who are not properly supplied will lower the national health - rate. - - Jewelcraft* -- An indicator of how adept the nation is add taking - raw gems and turning them into jewelry. The better the jew - elcraft, the greater the national skill in locating addi - tional jewel deposits. - - Knowledge* -- A measurement of the technological level of the na - tion. The greater the knowledge, the easier it is to accure - new magical powers. - - Merc Rep* -- An indicator of the respect shown to the nation by - mercenary organizations around the world. Higher respect - means lower enlistment and support costs for mercenary - troops. - - Metalcraft* -- Akin to Jewelcraft for metal minerals, a higher - value means that locating new metal deposites will be easi - er. - - Mine Ability* -- A measurement of the ability of the nation to - remove minerals from mines. A higher value indicates an - easier time in locating new mineral deposits. - - Morale* -- The general confidence of the national military. A - lower morale means a higher chance of desertion for sol - diers. - - Popularity* -- An indicator of how well-liked the government is - by its civilian population. A higher popularity means a - lower likelyhood for rebellion. - - Reputation* -- A measurement of how well regarded the nation is - by other nations in the world. A higher reputation will - mean better deals when trading with other nations. - - Spell Pts -- A numerical indicator for how much magical ability - is within the nation. This number dictates the maximum mag - ical potential of the national leaders and spellcasters. - - Spoilrate -- An indicator of how quickly food will spoil within - the nation. The percentage value is a measurement for how - much of the current supply will be decayed within the nation - over a year. - - Terror* -- How much fear for the national government does the - civilian population feel. A higher fear rate indicates a - lesser likelyhood of rebellion. - - Wizardcraft* -- A measurement of how adept the nation is at magi - cal tasks. The higher the wizardcraft, the higher the suc - cess in spell casting. - - Attack Bonus -- This number is added directly to the combat value - of any of this nation's military units during an attack. - [For more information, see Warfare] - - Defense Bonus -- This number is added directly to the combat val - ue of any of this nation's military units during any other - combat situation. [For more information, see Warfare] - - Reproduction -- This percentage represents what level of growth - the national civilian population will experience each year. - Of course, this is compounded monthly, so returns on invest - ments may vary. - - Movement -- A numerical measurement of the national movement po - tential. This is a reflection of both physical prowess of - the soldiers and of the ability of the military to relay or - ders. [For more information, see Movement] - - Score -- A numerical measure of how many resources a nation has. - Factors in determining the score include: amount of land - owned, size of the military and civilian populations, and - the amount of raw materials produced and stored in supply - centers. - - The items in the last column are simple measurements of various - quantities within the nation such as the raw materials and mili - tary units. - -The nation-information Functions - - A summary of those functions available in the nation information - screen: - - conquer-options (`O',`o') -- Adjust the conquer environment by - changing various options. - - ignore-key (`^@') -- Don't do anything when this keybinding is - pressed. - - info-backward (`^H',`^?') -- Move backward among the list of - items on the information screen. - - info-change (ESC,`C',`c') -- If allowed, change the value of the - currently selected item. - - info-change-backward (`B',`b') -- If allowed, change the current - item, by decreasing the value, if applicable. - - info-change-forward (`N',`n') -- If permissible, change the cur - rent item, by increasing the value, if applicable. - - info-description (`I',`i') -- Provide a description of the cur - rent item. - - info-destroy (`D',`d') -- God may remove the nation using this - command. - - info-down (`^N',DOWN-ARROW,`J',`j') -- Move down along the list - of items on the screen. - - info-exit (`Q',`q') -- Leave the national information screen. - - info-forward (`^I',`^J',`^M',` ') -- Move forward among the list - of items on the screen. - - info-help (`?') -- List all of the commands and bindings in this - mode. - - info-left (`^B',LEFT-ARROW,`H',`h') -- Move to the item to the - left of the current item. - - info-passwd (`X',`x') -- Change the national password using this - command. - - info-reset (`R',`r') -- Reset the national attributes back to the - settings they had upon entering the screen. - - info-right (`^F',RIGHT-ARROW,`L',`l') -- Move to the item to the - right of the current item. - - info-up (`^P',UP-ARROW,`K',`k') -- Move upwards along the list of - items on the screen. - - redraw-screen (`^L',`^R') -- Redraw the screen without clearing - it first. diff --git a/gpl-release/Docs/Functions.doc b/gpl-release/Docs/Functions.doc deleted file mode 100644 index 0008e3a..0000000 --- a/gpl-release/Docs/Functions.doc +++ /dev/null @@ -1,416 +0,0 @@ - -The Functionality of Conquer - - Almost all of the commands within Conquer have been given func - tion names. These names may be used to reassign keybindings, ad - justing the feel of Conquer to fit other preferences. In gener - al, Conquer bindings are based on emacs and/or vi keys, so most - users will be able to adjust quickly to the default keybindings. - - Conquer consists of a number of different keybinding maps, for a - total of seven different modes. The "global" commands cover all - of the top level Conquer functions available while looking at the - main map window. The "move" keymap handles all of the bindings - during unit or civilian relocation. The "magic" commands deal - with those functions used while perusing or purchasing magical - powers. The "xfer" keymap is for the screen where goods, units, - and people are transfered between two storage locations. The - "reader" keymap is for use in the mail reader. The "mail" keymap - is for when a new mail message is being written. Finally, the - "info" keymap is used for keybindings in the nation information - screen. - - Again, if any of the default key bindings are unsuitable, they - may be adjusted using the customization system built into Con - quer. [For more information, see Customize] - - At any time, help may be obtained using `?' (`ESC-?' if in the - "mail" editor). This help listing will provide access to a list - ing of all of the commands and keybindings in the current keymap. - -The Global Function Keys - - The "global" keymap provides the overall control for Conquer, al - lowing players to access all of the other keymaps and functions. - The other purpose of the "global" keymap is to select military - units within the current sector, or to move between the various - sectors. - - The movement commands are available with both the top-level - keymap and the "move" keymap. But, within the "move" keymap the - scrolling commands are not available. - - Selection of units is very important, since a unit will need to - be selected before orders may be given to it. There are a number - of commands which handle this task. - - Finally, with the display and digestion of information being very - important in game play, there are numerous functions available to - select what sort of information is displayed on the screen. Most - of this information is directly available at the "global" level, - with precise details being available in some of the other - keymaps. - -The Movement Commands - - Of all of the commands available to the players of Conquer, those - which control the selection of the current sector will get the - most use, and as such, should be memorized first. - - By default, the VI keys (hjklyubn) are set to all of the motion - commands. The upper case equivalents provide functions which - scroll the screen in the given direction. Also, the numeric key - pad is available for those that wish to use that alternative. - For the numeric keypad, you may use a period followed by the num - ber to scroll in the appropriate direction. - - The directions provided by the standard VI keys and numeric key - pad is shown using the following diagrams: - - `y' `k' `u' `7' `8' `9' - \ | / \ | / - \ | / \ | / - `h'--` '--`l' `4'--` '--`6' - / | \ / | \ - / | \ / | \ - `b' `j' `n' `1' `2' `3' - - Upper Case to Scroll Use ".#" to Scroll - - The full names of the movement functions are of the form "go-di - rection", such as "go-north", "go-southwest". The scrolling - functions are likewise, "scroll-direction". - - Note that with a hexagonal map, the directions west and east are - not available during the movement mode, since there are only six - compass directions. - -Display Commands - - During the normal interface mode of Conquer, the map of the - world, or a portion of that map, is displayed to the player. For - each sector, there is a good deal of information which may be ob - tained. In order to quickly digest the large amount of data - within the world, the global view of the map can be changed to - show different information to the user. The "display" commands - provide the method for making such changes. The commands, with - their default bindings within parenthesis, are as follows: - - adjust-display (`d') -- Select which display method is used to - show the information on the screen. - - customize-display (`D') -- Create new display modes or modify the - existing display modes to your taste. - - adjust-view (`^D') -- Change the character set for either the - vegetation, the major designations, or the contour of the - land. This command is useful to allow a clearer distinction - between different vegetations, designations, or elevations. - - shift-focus (`)',`+') -- Rotate the focus position clockwise. - - shift-focus-back (`(') -- Rotate the focus position counter- - clockwise. - - highlight-all (`=') -- Change all of the highlighting characters. - - highlight-current (`,') -- Change the highlight at the focus - character. - - highlight-horizontal (`-') -- Change the highlight of the focus - and neighboring character. - - highlight-upleft-lowright (`\') -- Change the highlight of the - upper left and lower right characters. - - highlight-upright-lowleft (`/') -- Change the highlight of the - upper right and lower left characters. - - highlight-vertical (`|') -- Change the highlight of the current - character and the character above or below. - - troop-listing (TAB) -- Display a list of all troops under the - control of other nations which are visible in the current - sector. - - toggle-infomode (`@') -- Toggle between the standard Conquer map - display and a mode which provides more information about the - current sector. - - zoom-in (`>') -- If possible, give a more detailed look at the - sectors on the map. - - zoom-out (`<') -- Enlarge the scale of the map, if possible, and - display more sectors than are currently shown. - - It should be noted that the `^D' construct indicates a Control-D - character, which is obtained by holding down the "Control" key - and then pressing the `D' key. - - Details concerning the display commands can be found elsewhere in - the documentation. [For more information, see Display] - -Selection Commands - - Selecting a specific military unit or sector is necessary before - that unit or sector may receive commands. The current sector is - indicated on the map portion of the screen by the placement of - the cursor, and information about the sector will be displayed in - the non-map portions of the screen. If any units are in the cur - rent sector they will be listed on the right side of the screen. - The unit which is highlighted and has a character other than the - normal "greater than" sign next to it is considered the "current" - unit. [The character used will be either a plus sign or an as - terisk.] - - The commands available for changing selections are: - - army-choose (`^A',`^G') -- Set the current unit to be a given - army unit. This will adjust the current sector to the loca - tion of the army, if it is not already within the current - sector. - - army-next (`A',`G') -- Set the current unit to be the next army - unit (in numerical order). If needed, the current sector - will also be adjusted. - - caravan-choose (`^V') -- Set the current unit to be a given cara - van. Again, the sector of focus is adjusted if the unit is - not within the current sector. - - caravan-next (`V') -- Set the current unit to be the numerically - next caravan unit. The current sector will be adjusted if - the unit is not already within the current sector. - - city-choose (`^E') -- Relocate the current sector to the city of - choice within the nation. - - jump-to-capital (`X') -- Set the current sector to be capital of - the nation. - - jump-to-mark (`^X') -- Adjust the current sector to a previously - stored location (see the "mark-sector" command) or to the - national capital if one has not been stored. - - jump-to-pick (`x') -- Set the current sector to a specified sec - tor, which is entered by coordinates. - - mark-sector (NULL-key) -- This command will mark the current sec - tor so that it may later be returned to using the "jump-to- - mark" command. - - navy-choose (`^F') -- Set the current unit to be a given naval - fleet. Again, the sector of focus is adjusted if the unit - is not within the current sector. - - navy-next (`F') -- Set the current unit to be the next, in as - cending numerical order, naval fleet. The current sector - will be adjusted if need be. - - pick-next (`p') -- Select the next unit by displayed order within - the current sector, regardless of unit type. This command - will never change the current sector. - - pick-previous (`o') -- Select the preceding unit within the cur - rent sector, as indicated by the display. This command will - also never cause the current sector to be changed. - - Note that the NULL-key is usually defined to be `^@' or `^ ' - (Control-Space). - -Unit Manipulation Commands - - Within Conquer, there are three types of military units: army, - navy, and caravan units. Since the actions of a nation are - greatly dependent on the power, location, and grouping of its - military, there are a number of commands available to allow the - manipulation of such units: - - army-report (`a') -- Display a listing of all of the armies with - in the nation, and allow the manipulation of army units - while examining the summary. - - auto-army-numbering (`#') -- The choice of how to number army - units can make selection and identification of army units - easier. - - caravan-report (`v') -- Summarize the data concerning all of the - caravans within the nation, and allow the adjustment of car - avans while examining such data. - - command-unit (ESC-key) -- Perform a quick manipulation of the - currently selected unit (army, navy, or caravan). Some of - the options include: adjusting the speed, renumbering the - unit, changing the unit status, setting the supply level, - etc. - - enlist (`E') -- Create a new army, navy or caravan from the peo - ple and resources within the sector. The current sector - must be a stockade, town, city or capital for it to enlist - troops. Drafted troops are taken from the population of the - sector. Upgrading of units is also possible using this com - mand. - - group-report (`g') -- This command provides a summary of the - armies within the nation, just like the "army-report" com - mand, but it limits the data to only those armies within the - current sector. - - move-unit (`m') -- The is one of the most useful commands within - the program, as it allows the player to relocate a unit from - one sector to another. The cost and method of unit movement - will vary with the type of unit, terrain and nation abili - ties. [For more information, see Movement] - - navy-report (`f') -- This command will provide a summary of all - of the naval fleets within the nation, and allow the manipu - lation of the units while looking at the data. - - transfer (`t') -- Move items between a caravan or navy and a city - or another caravan or navy. The currently selected unit - will be used as the target of the transfer. Goods may also - be transfered directly between cities using the "region-com - mand". [For more information, see Economics] - - Normally the ESC-key is a single button, or `^[' (Control-Left - Bracket). - -Informational Commands - - In addition to having a need to manipulate the different military - units of your nation, players must be provided with an organized - method for retrieving all of the information concerning their na - tion and the world around them. The army, navy, and caravan re - ports are examples of just such commands. Some more commands for - obtaining information are: - - campaign-info (`I') -- This command will provide a summary of the - settings for this particular campaign. Most importantly - this screen will indicate many of the settings which were - used when the world was created, giving the player an idea - of the difficulty of the environment around the nation. - - conquer-options (`0') -- Through the conquer-options command, the - player is able to adjust keybindings, and choose a new rela - tive center for the nation. [For more information, see Cus - tomize] - - diplomacy-report (`S') -- This command is used to review what na - tions you have met and what your diplomatic status is to - wards these nations. Here is where you may adjust the sta - tus of your nation towards other nations, declaring war or - offering a treaty. [For more information, see Nations] - - economy-report (`e') -- Careful monitoring of the economic pros - perity of your nation is necessary for your survival, and - this command is the quickest means for obtaining a report - concerning your nation on a global or regional basis. [For - more information, see Economics] - - help (`?') -- List all of the functions and associated keybind - ings. - - magic-info (`W') -- Display the list of your national powers, as - well as provide a method for gaining more. [For more infor - mation, see Powers] - - nation-info (`i') -- There are a number of national parameters - which can give a good indication as to the strength and well - being of your nation. This command provides access to all - such parameters governing your nation, and allows you to ad - just those which within your immediate control. [For more - information, see Nations] - - toggle-infomode (`@') -- Mentioned under the display commands, - this information providing function was worth mentioning - again. [For more information, see Display] - - troop-listing (TAB) -- Also mentioned under the display commands, - this command really isn't worth mentioning a second time, - but I thought I would anyway. - - world-scores (`s') -- It is always a good idea to keep an eye on - what other people are up to. This command gives a short - summary of all of the nations in the world and, if your cam - paign allows it, a description of their strengths. - -Communication Commands - - Conquer has been designed as a multi-player fantasy wargame, with - much of the emphasis being on the multi-player portion. As such, - communication with other nations is very important, and there are - a few commands available to facilitate that: - - mail-nation (`M') -- Send mail to another nation. - - read-mail (`R') -- Read, reply to, and forward mail send to your - nation. - - read-paper (`P') -- Check what is happening in the world around - you. - - A more detailed description of the mail facility can be found - elsewhere in the documenation. [For more information, see - Xchanges] - -Nation Control Commands - - Being able to manipulate the world around you can give such a - nice feeling. So, in order to allow the player to get that feel - ing of power that we all need in our lives, there are a few com - mands available to the ruler of a nation which allow the manipu - lation of the population and the land: - - change-designation (`c') -- Adjust the designation for the cur - rent sector. [For more information, see Sectors] - - construct (`C') -- Add to the value of a sector by building - things such as fortifications, churches, granaries, or any - other minor designations. [For more information, see Sec - tors] - - move-people (`Z') -- Relocate civilians at a cost of 50 talons - per person to within a two sector radius. [For more infor - mation, see Movement] - - region-command (`r') -- Rename a supply center, change weighting, - distribute supplies, or transfer raw materials. [For more - information, see Economics] - -Miscellaneous Commands - - Some functions just can't be put into any category: - - ignore-key (` ') -- Well, this command does just what it says: - the key will be ignored if it is hit. This is useful to - avoid having a bell ring everytime you hit a key which you - already know is useless. - - recenter-screen (`^R') -- This command will cause the current - sector to be centered within the map portion of the Conquer - display. - - redraw-screen (`^L') -- This command will cause the screen to be - redrawn. - - Both the "ignore-key" and "redraw-screen" functions should be - available through all of the Conquer key-maps. - -Is this the end? - - Well, there is still the big question: How do I get out of Con - quer? For some people, once you are hooked, forget it. But, for - those few who can actually stop playing, there are the following - commands: - - login-nation (`z') -- Switch control to another nation, continu - ing the addiction. - - quit (`q') -- Okay, so you do want out. This is the command to - do it. - - quit-and-save (`Q') -- This command not only lets you out, but - informs Conquer that you are ready for the game to be updat - ed. When all players have indicated such, early updates - might be able to take place. [For now this does nothing - more than the "quit" function] diff --git a/gpl-release/Docs/Functions.nr b/gpl-release/Docs/Functions.nr index a673f5b..fdc1dea 100644 --- a/gpl-release/Docs/Functions.nr +++ b/gpl-release/Docs/Functions.nr @@ -342,7 +342,7 @@ read-paper (`P') -- Check what is happening in the world around you. .UT .PP A more detailed description of the mail facility can be found -elsewhere in the documenation. +elsewhere in the documentation. .RF "Xchanges" "Communication Between Players" .CE .CS "Nation Control Commands" diff --git a/gpl-release/Docs/God-Powers.doc b/gpl-release/Docs/God-Powers.doc deleted file mode 100644 index 63054ac..0000000 --- a/gpl-release/Docs/God-Powers.doc +++ /dev/null @@ -1,658 +0,0 @@ - -The Power of God - - A world in Conquer is a complex thing, and needs to have someone - to watch over it. The creation of the world, the updating of the - turns, and the monitoring of events are all assigned to the con - trol of one person. It is that person's responsibility to make - sure that the game flows smoothly and fairly. The title of "god" - is given to this person, and any aspect of the game may be ad - justed by them. - - There are times when players will be unable to get their nations - started properly, such as if there are no metal or wood sectors - near them, or if, though pure bad luck, they are placed on a very - small island. Or, the nation might accidently lose all of their - money by drafting the wrong type of unit by accident. In such - situations, god may add land or resources to the nation, disband - troops and return spent resources, or even give gifts of wood or - metals to the nation to provide them with a second chance. - - If the site is large enough, or the tasks of the god too time - consuming, it is possible for the god to give another player the - ability to be a "god" to a world. Such a person would be called - a "demi-god". In this way, many campaigns may take place on a - single machine, with different demi-gods monitoring each. This - provides the ideal environment for players, where they can have a - variety of worlds, each one configured just a bit differently. - -Genesis: A Conquer Cookbook - - To begin a Conquer game, there must first be a world upon which - to run the campaign. A Conquer world is created using the com - mand: - - conqrun -m -d campaign - - If an empty string is specified [conqrun -m -d ""], then the de - fault Conquer campaign is assumed. If no '-d' flag is used, then - either the default campaign is used, or the campaign specified - using the CONQ_OPTS environment variable is used. [For more in - formation, see Customize] - - Once a check is made to be sure that the world creation is both - allowed and desired, a startup screen is displayed. After a key - press, Conquer will prompt you to enter super-user password for - the new world. This password will be used whenever access to god - powers is needed, to preserve security. Once that has been en - tered, the configuration screen will be presented to you. - -The Configuration Screen - - The configuration screen is a mode where the world parameters can - be specified, and where different options can be enabled or dis - abled. The screen itself will look something like: - - < Conquer Configuration Mode > - - Demi-god..highlndr Min Ntn Dist....13 Check Range......2 Scout Battles..25% - God Passwd........ Navy Bonus.....-25 Pct Reject....100% Rand Events......6 - Add Passwd........ Cvan Bonus.....-50 Pct Tgoods.....90% Disasters........5 - Limit D-god..False Combat Dice......9 % Metals......25% Mercenaries..91171 - D-god Builds..True Avg Damage.....50% % Jewels......25% Atck Bonus....+75 - Map Type....HexMap Deter Damage...50% % Magical.....15% Dfns Bonus....+75 - Relative Map..True Overmatch......10% Growth Rate....1.0 % Disb Mercs...15% - Verify Login..True Min Damage......5% Npc Ntns.........4 % Mnst Mercs....6% - Hide Scores...True Year.............8 Monst Repro....20% Max Diplo Adj....1 - Hide Users....True Month.......Junius Lizards.........50 Bribe Value.200000 - Late Start.......5 Pct Water......65% Savages.........50 Max Supply.......3 - World X Size...136 Pct Contour....75% Nomads..........50 Unit Sply Dist...1 - World Y Size...136 Expose Ratio...2.0 Pirates.........20 City Xfer Dist...2 - Max Build Pts..100 Smoothings.......7 Revolt Pct.....25% - - - - Conquer Version 5.0: World Adjustor Datadir: [default] -------------------------------------------------------------------------------- - 'hjkl'-select item ' ',DEL-cycle 'c',ESC-change item 'q'-save 'Q'-quit - - - If your terminal supports it, the current item will be highlight - ed. In any case, the cursor will be placed after the current - item. If the new world is being created over an old one, the - configuration of the prior world will be kept, otherwise the de - fault configuration will be used. - - To change a configuration option, use the VI movement keys, or - the numeric keypad, to move to the selection you wish to change, - and hit the `c' or ESCAPE key. Then enter a new value. When you - are done specifying the world parameters, enter a `q' if you wish - to build the new world or a `Q' if you wish to abort the cre - ation. - -Configuration Options - - In order to clarify what each of the possible configuration op - tions is, I have provided a description of each of them. Those - with an asterisk (*) following the name are adjustable at any - time after the world has been built: - - Demi-god* -- During compilation, the user who is empowered to - control all of the Conquer campaigns is specified using the - LOGIN definition in the header.h file. While it would be - nice if a single person could manage all of the campaigns - that a site would want to run, experience has shown that on - ly with large amounts of caffeine would it be close to pos - sible. - - Thus, the demi-god is born! The demi-god is the login name - of the person that god designates to run that particular - world. The powers of the demi-god may be limited to just - world updating, or can include all of the powers that god - possesses but only for that particular world. - - Whether or not a world has been assigned a demi-god, the - powers, if not the responsibilities, of god will remain the - same. - - The string "[none]" may be used to specify that there should - be no demi-god for a campaign. - - God Passwd* -- In order to access all of the powers of god, a - password will need to be entered. This option allows the - adjustment of the password. Demi-gods must know the old - password before changing it. - - Add Passwd* -- After a number of game turns have passed, users - will be asked to enter a password before being allowed to - create a new nation. This option controls the setting of - that password. Demi-gods must know the old password before - being allowed to change it. - - Limited D-god* -- If set, this option will prevent the demi-god - from being able to enter the nation "god", and will also - prevent the demi-god from being able to rebuild the world. - In essence, this means that the demi-god will only be able - to update the game. - - D-god builds* -- If this option is set to "False", the person - designated as the demi-god will not be able to rebuild the - world and start a new game. This is useful for preventing - people from starting a new campaign without checking with - god first. - - Map Type -- This is a nice, nifty, neato-keen, feature which al - lows you to determine what map will be used for a campaign. - The two possible choices are HexMap and RectMap. - - The RectMap is the plain old 8 directional coordinate sys - tem. The HexMap, on the other hand, is where each sector - has only 6 neighboring sectors, and all sectors are joined - by the edges. The Hexagonal coordinate system is a much - more realistic system and should be the preferred system, - but the RectMap is provided as an alternative for those who - wish to use it. - - Relative Map* -- If this option is set to "True", everyone, ex - cept god, will have sector locations displayed as the rela - tive displacement between the current location and some cen - tral sector [By default, the national capital.] So, the - sector one up and to the left of the capital will appear to - be [-1,1] to that nation. - - The reason this feature was added was to decrease the amount - of help player nations can give each other if they have not - actually met. [I can't put limitations on the mail system, - since they can just use the normal computer mail if they - want... this feature serves as a nice compromise.] - - Verify Login* -- Each nation has, stored within it, the login - name of the person who created it. If this option is set to - "True", only that person will be allowed access to the na - tion. This acts as an added security feature and will also - enable a check preventing people from creating more than one - nation, attempting to thus gain an advantage by doubling - their information resources. [I got sick and tired of hav - ing to delete nations created by people who would create two - or three nations and then play out the one with the better - starting position. Annoying cheaters!] - - Hide Scores* -- If this configuration option is set to "True", - any information which could possibly determine a national - strength or ability will be hidden from players during the - various score reports. - - Hide Users* -- If set to "True", the identity of the nation own - ers will not be displayed during score reports to other na - tions. - - Late Start* -- After a number of turns have been played in the - game, nation creation will not be allowed for all players. - This option controls how long, in game turns, before users - will be asked for the Add Passwd when trying to build a new - nation. - - World X Size -- - World Y Size -- These two options control the size of the world - used in the campaign. The larger the world, the longer be - fore nations meet, and, thus, the longer the game. When ad - justing the size of the world, be sure to also adjust the - number of monsters and NPC nations within the world. - - Max Build Pts* -- When creating nations using the "conqrun -a" - interface, each of the options within the nation configura - tion is assigned a "cost" which will be deducted from the - construction points remaining. The "Max Build Pts" are the - total number of construction points which a nation will be - given at the start of the nation building process. - - Min Ntn Dist* -- This setting is used to determine how far apart - nations' capitals must be when initially placed. Be sure to - reduce this value if you are building a small world. - - Navy Bonus* -- - Cvan Bonus* -- During combat between the various military units, - each unit is assigned a combat bonus. Army units are given - a default bonus of zero, which is then adjusted by the com - bat bonus of the particular army type. These two options - control the adjustment of the combat bonuses for navy and - caravan units, and can have a great affect on the results of - combat for those units. - - Combat Dice* -- When a military conflict occurs within Conquer, - Conquer will roll a number of combat dice to determine the - outcome of the battle. With more dice, a more pronounced - bell curve is given, but more time is required to compute - the results. With less dice, the bell curve becomes flatter - and the results become much more random, but the results are - more quickly determined. - - The "conqrun -Q" command is available to set and/or test the - various dice settings available. For example, on my system, - the results show that using 9 dice is superior to using 10, - since the algorithm used ends up with a smaller standard de - viation at that setting. - - Avg Damage* -- During combat, there is a certain amount of damage - which will occur to each troop. The "Avg Damage" is the - damage that a military unit will receive if it were to meet - a unit of the same combat strength and a balanced result - takes place. Increasing this value makes combats more dev - astating to all units involved. - - Deter Damage* -- Attacking forces will keep on searching for ene - my troops until they have engaged all enemy forces, or they - have received enough damage in one encounter to cause them - to turn back. This selection controls what that amount of - damage is. - - Overmatch* -- When the number of troops is larger for one side in - an engagement than the other, the combat damage will be ad - justed by this percentage for each odds level of a combat. - For example, with an Overmatch value of 10% and if side A is - 3 times the size of side B, side A's damage will be de - creased by 20% and side B's will be increased by 20%. In - creasing this value increases the affect of numerical supe - riority. - - Min Damage* -- This setting indicates the minimum amount of dam - age which a unit must receive, based on the combat roll. - This is calculated after the Overmatch to assure that a mil - itary unit will suffer something for the battle. So, if a - unit would have received 25% damage, but by Overmatch it - went below zero, the troop would get an actual damage result - of 5%x25% or 1.25% worth of damage. This is calculated - based on a Min Damage value of 5%. - - Year* -- - Month* -- During world creation you may specify a different time - at which the game is to begin. This is mostly provided as a - cosmetic feature, but by specifying a different month, you - can control the season during which the campaign will begin. - You might want to refer to the calendar information, to get - a clear idea of the dating scheme used by Conquer. [For - more information, see Overview] - - Pct Water -- This item is also fairly straight forward. It con - trols how much of the world should be composed of water sec - tors. I recommend at least fifty percent to make the use of - naval fleets worthwhile, even higher if you wish to require - the use of such units. - - Pct Contour -- This option controls what percentage of the sec - tors which are land sectors should be non-flat in nature. - Non-flat means any of: Valley, Hill, Mountains, or Mountain - Peak. - - Expose Ratio* -- This value controls how hazardous it is for - troops to be out in bad weather or vegetation. Lowering the - value makes it less hazardous for troops. - - Smoothings -- This item is the most important in determining the - general shape of the land masses in the world. The number - entered under this option means literally what it says: the - number of times a smoothing algorithm is run on the world. - - The smoothing algorithm is simple: on a N% (currently 33%) - chance, change the current sector to be land or water de - pending on whether there is more water or land within a 2 - sector radius. The altitude of the land sectors are also - raised or lowered depending on if there are more things - nearby which are higher or lower. - - Setting this number to 1 creates a very splotchy world with - a large number of small islands scattered around, and set - ting it to the highest value (15), creates a world of solid - land masses with no small islands. [Except for pirate bases - which are ALWAYS single sector mountainous islands] - - I usually choose a value between 5 and 7 depending on how - many little islands I want to have scattered throughout the - world. - - Check Range -- - Pct Reject -- These two options control the initial placement of - the solid 8x8 blocks of land. All of the solid land masses - are placed, with surrounding blocks of "75% land, 25% wa - ter", at random. A check is made of blocks within "Check - Range" to determine if there is already land close by. If - there is, that location will be rejected on a "Pct Reject" - chance, and a new location will be selected. - - A larger range and higher percentage causes more separate - continental islands to be placed, while lowering them will - allow the possibility for a single dominant land mass to be - formed. - - Pct Tgoods -- - % Metals -- - % Jewels -- - % Magical -- These options control the amount of tradegoods - placed during the creation of the world. The "Pct Tgoods" - is the percent chance that a land sector will contain some - form of tradegood, and the other percentages indicate what - chance there is that a tradegood will be of the given type. - - Since there are types of tradegoods other than the metal, - jewel, and magical tradegoods, there is a limit to the com - bined percentage of those options. - - Growth Rate* -- The player nations, NPC nations and monster units - within Conquer each will slowly grow in size as time passes. - The growth is controlled by the reproductive rates of each - of the nations and the "Monst Repro" and "% Mnst Mercs" set - tings for monsters. It is possible to globally increase or - decrease the reproductive ability by adjusting this value. - Increasing this value increases the rate at which nations - will grow. - - Npc Ntns -- This controls the number of non-player character na - tions that are created when the world is built. These na - tions are read from the "nations" data file, so it is also - limited by the number of entries within that file. You may - use the "conqrun -A" command to add more nations to the "na - tions" file, and the "conqrun -Z" command to remove all of - the nations. - - Monster Repro* -- This selection controls how quickly the monster - nation populations increase on a yearly basis. It is offset - by both the death of the monster races (lizards, nomads, - savages, pirates and peasant rebellions) from combat, as - well as setting of the "% Mnst Mercs" option. - - Lizards -- This indicates exactly how many lizard castles should - be placed upon the world. Each lizard castle will be placed - upon a highly valuable jewel tradegood, and will have forti - fications consistent with the jewel level of the sector. - Two lizard army troops will be guarding each castle: one - roaming infantry troop, and one garrisoned archer troop. - The combat bonus of the lizard troops is that of the merce - naries during the build, plus 20 to the defensive bonus. - - Savages -- Units of this nation randomly roam about the world as - agressive army units. Half of all of the savage troops are - actually monster units of some type, with the size an in - verse ratio to the strength of the troop, the remaining unit - are randomly sized infantry troops. Combat bonuses for sav - ages are those of mercenaries at the time the world was - built. - - Nomads -- This nation is composed of a number of armies of Light - Cavalry. They must move every turn, never staying in any - sector for more than a month. The combat bonus of nomad - armies is that of the mercenaries at build time, plus 10 - more to the attack bonus. - - Pirates -- Controlling the seas, these pirate bases each have a - fleet of warships and an army of soldiers protecting its - horde of minerals. The combat bonus of the pirate nation is - that of the mercenaries at build time, with an adjustment of - plus 20 to the attack, and minus 10 to the defense. - - Revolt Pct* -- Every turn, each nation will have a certain chance - that the population will rebel and break away from the moth - er nation. This item is used as a multiplier of the calcu - lated chance to influence the chance of revolts. Thus, a - setting of 100% means no adjustment, while a setting of 0% - prevents revolts altogether. - - Scout Capture* -- This indicates the chance that scouts may be - dragged into combat and possibly be destroyed. - - Rand Events* -- On the average, how many random (non-weather) - events take place over the entire world during each update. - - Disasters* -- How many random weather events should occur each - update. - - Mercenaries* -- - Atck Bonus* -- - Dfns Bonus* -- These options control the amount and strength of - the mercenary troops within the campaign. It is also used - as a base determinant for the "monster" nations. Note: Once - a world is built, God may change the mercenaries' combat - bonus, but it will not affect the combat bonuses of the var - ious monster nations. At that point, the monster combat - bonuses must be adjusted like that of any other nation. - - % Disb Mercs -- This option determines what percentage of dis - banded troops decide to become mercenaries, instead of meek - ly becoming part of the population. - - % Mnst Mercs -- This option determines what percentage of men - within the monster nations decide to join the pool of avail - able mercenaries each year. - - Max Diplo Adj* -- Each nation is able to adjust the diplomatic - status it has for any nation it has met. The value of this - option determines the maximum adjustment from the current - diplomatic setting which may be made. Keeping this value to - 1 or 2 means that it will not be possible to declare War on - a nation without any prior warning. Due to the diplomacy - change not being visible to other nations until after an up - date, it is recommended that a low value be used for this - option. - - Bribery Value* -- This item sets a minimum relative value at - which a bribery is effective on an NPC nation. It should be - noted that the new bribery system simulates real events that - can take place when nations send money to each other through - envoys. [ie., The envoy you sent disappeared with your mon - ey and was last seen in the vicinity of the French Riv - iera...] - - Max Supply* -- Each army or other military unit may carry only so - many months worth of food and pay with them. This selection - determines the limit as to how many months may be carried at - one time. - - Unit Sply Dist* -- This option controls the distance over which - the navies and caravans can provide support when they are on - "Support" status. If this value is set to 0, they may only - distribute to the current sector, other settings indicate - the maximum range over which they may distribute, with a - value of -1 being entered to have them distribute based on - the national communication range. - - City Xfer Dist* -- This selection controls the maximum distance - which can separate two cities before they will be unable to - transfer goods directly using the "region-command" transfer - mechanism. Like the Unit Sply Dist setting, entering a -1 - will make it conform to the communication range of the na - tion. - -Changing Things Later On - - Once the world has already been created, there will probably be - some times when god will have to make adjustments to the state of - the campaign. After all, what fun would it be to play god with - out being able to "Play God"? :-) - - Anyway, the most basic of changes, such as turning on or off cam - paign options, is done through the an interface similar to that - used during world creation. This is available through the "con - qrun -E" command. Those options which are not able to be changed - will simply not allow themselves to be adjusted. This command - provides the only method available for god to change the campaign - and add user passwords, if they should ever need changing. - - If god wishes to adjust the number of dice to be rolled during - combat, then the command "conqrun -Q" provides a interface for - viewing and adjusting the probably of various dice settings. Any - changes made to the Combat Dice here will be reflected on the - world options. - - To get a quick listing of some campaign settings, simply use the - "conqrun -I" command. Conquer will then display statistics about - each nation that might be of interest to a campaign deity. - - Finally, there is the most powerful ability of god: the ability - to change anything in any portion of the campaign. Such powers - are granted by just logging in as nation "god". [I often refer - to this as "going into god-mode".] Almost all of the commands - available to normal players will also function for god, and each - will also provide additional options which will allow god to ma - nipulate almost any item. It is simply a matter of determining - which commands will do what for god, and that is what the remain - der of this section of the documentation is for... - -How to do God's Work - - Well, as I said earlier, many of the normal user commands will - simply function differently if you are logged in as god. Also, - when god wishes to adjust some information about a given nation, - god will, for a short period of time, become that nation, and - will then be able to manipulate that nations' sectors, units or - cities. So, in order for god to adjust items for a nation, that - nation must not be logged in. This is to prevent conflicts be - tween adjustments god might make and adjustments a player might - make. - - It should be noted that god will only assume the identity of a - nation for the duration of the individual commands. For some - commands, such as "move-unit", god will automatically assume the - identity of the nation that owns the current unit. For others, - such as "economy-report" or "enlist", god will be queried for the - name of the nation to become. - - As Conquer is currently implemented, god will retain the login - "lock" on any nation that is adjusted. This is to avoid any con - flicts that might develop from reading in the commands already - issued by a nation more than once. So, if you wish to release a - lock on an edited nation, you must get out of god-mode. - -Making Adjustments - - There are many different objects within Conquer, each of which - has a variety of commands which may affect it. Whenever god ac - cesses a function which may make changes, a nation name to apply - the changes to will be asked for. Some commands, such as "move- - unit" will automatically assume that the nation owning the cur - rent unit will be the one affected. Whenever god makes changes - to a nation, that nation may not be using Conquer, so once god is - done makes changes, it would be a good idea to log out. - - The following list is to let god know which commands to use to - get various tasks done: - - adjusting army units -- Army units may be adjusted using the - "army-report" or "group-report" functions. The "command- - unit" function will also change a limited subset of unit in - formation. - - adjusting caravans -- Caravans may be manipulated using the "car - avan-report" or "command-unit" functions, much as an army - unit. - - adjusting naval units -- Navies may be manipulated using the - "navy-report" or "command-unit" functions, just like armies - and caravans. - - relocating a unit -- Armies, navies and caravans may be relocated - using the "move-unit" function. The currently selected unit - will be the one to be relocated. - - creating a unit -- A unit may be created using the "enlist" com - mand or using the appropriate "{navy,caravan,army}-report" - function. - - disbanding a unit -- A unit may be deleted by using the "command- - unit" function or the appropriate "{navy,caravan,army}-re - port" function. - - changing material amounts within a supply center -- The amount of - raw materials within a supply center may be adjusted using - either the "economy-report" interface or the "region-com - mand" function. - - changing material amounts stored on a unit -- The amount of raw - materials on a caravan or a navy may be adjusted using the - "navy-report" or "caravan-report" funtions, as appropriate. - - changing supply levels on a unit -- The supply levels on units - may be adjusted individually using the "command-unit" func - tion or the appropriate "{navy,caravan,army}-report func - tion. Global adjustments may be performed using the "re - gion-command" function. - - renaming a supply center -- Supply centers may be renamed by us - ing the "region-command" function. - - renaming a nation -- Nations may be renamed using the "nation-in - fo" function. - - changing the owner of a nation -- The login name for the owner of - a nation must be changed using the "nation-info" command. - - adjusting national statistics -- National attributes, such as the - eat and communication rates, may be adjusted using the "na - tion-info" command. - - deleting a nation -- Nations may only be deleted through the "na - tion-info" command. - - creating a nation -- Nations must be created using the conqrun - program, with the -a flag. Additional NPC nations may be - added by creating a nation and then using the "nation-info" - command to change the nation to a non-player nation. - - changing the constructions of a sector -- The constructions with - in a sector may be changed using the "construct" command. - Removal of old constructions is done by devastating the sec - tor. - - changing any other information about a sector -- The owner, con - tour, designation, population, vegetation, trade good, and - many other traits of a sector may be changed by using the - "change-designation" function. - - relocating people from a sector -- The "move-people" function may - also be used by god to change the population of two sectors - at the same time. - - changing the magical powers a nation possesses -- The "magic-in - fo" function may be used to add to or take away from the - magical powers a nation has. - - casting spells -- God may cast any spell upon any sector or unit - by using the "cast-spells" function. - - call down a natural disaster -- The "cast-spells" function also - allows god to erupt volcanos, shake the earth, or call down - other natural disasters. - - going to a specific capital -- It is possible to go to the capi - tal of any nation using the "jump-to-capital" command. - - going to a specific city -- It is possible to go directly to any - city in the world using the "city-choose" function. - - going to a specific unit -- To jump directly to any unit in any - nation, the "army-choose", "navy-choose", and "caravan- - choose" functions are available. - - going to a specific sector -- To relocate to a given sector, just - use the "jump-to-pick" function. - - giving a message to players during startup -- While in god-mode, - use the "edit-motd" function to start an editor for the mes - sage of the day. The "conquer -M" program may also be used, - if you do not wish to log into Conquer just to edit the - MOTD. - - kick players out of the game -- You may prevent players from log - ging into Conquer by using the "conqrun -T" program. This - should give them a short delay before they are automatically - logged out, if they are currently in the program. - - update the game -- A very important aspect of godhood is having - to update the world. The program "conqrun -x" is used to - update the program, and depending on how it was compiled - will wait until all players have logged out, preventing fur - ther logins, and then update the world. Using this program - with an automated script program, such as "at" on Unix, can - make life much easier for a god. - - A detailed listing of which keys are bound to what functions is - listed elsewhere in the documentation. [For more information, - see Functions] diff --git a/gpl-release/Docs/Helpfiles.doc b/gpl-release/Docs/Helpfiles.doc deleted file mode 100644 index 9b0f2a4..0000000 --- a/gpl-release/Docs/Helpfiles.doc +++ /dev/null @@ -1,145 +0,0 @@ - -The Documentation System - - As you might have noticed, Conquer is a rather complex game. For - this reason, I hope to provide a thorough documentation system. - - One of the keys to making sure that the documentation is as accu - rate as possible is the fact that I use the same source files to - generate both the online and hardcopy versions of the documenta - tion. This assures that if I have gotten something wrong, I - have at least been consistent about it. - - For those who are curious, I write the documentation using the - roff typesetting package which is available on most Unix systems. - I developed my own set of macros which allow me to create auto - matic paging for both the troff (actually psroff) and the nroff - output. [Well, I did cheat a bit by filtering the nroff output a - little, but that was just to allow the output to work in my - pager, so you can't hold it against me.] I only use 3 fonts in - the psroff mode: a fixed font for the screen examples and two - times roman fonts for the normal text and titles. My macros also - have the nice feature of keeping track of what will fit on a - page, so that I can avoid having sections of text cut in half. - - I am always open to suggestions for improvement, and that in - cludes suggestions for enhancing the documentation system, or - just ways of clarifying the text of the documentation itself. - So, if you have any ideas you think I should hear about, concern - ing ANY aspect of the game, feel free to get in touch with me. - - Adam Bryant - vejeta@gmail.com (current maintainer) - -What is in each Help Section? - - This section gives a quick summary of what each of the help sec - tions contain, so that you might be able to locate the informa - tion more easily. - - Helpfiles ("Conquer Documentation Sections") -- A description of - what this part of the documentation is for is given within - the section itself. - - Overview ("A General View of Conquer") -- Read this to get a gen - eral idea of what Conquer is about. - - Functions ("The List of Commands") -- The list of Conquer func - tions, function descriptions and default key bindings. - - Display ("Conquer Data Display Routines") -- A description of the - information display system. - - Sectors ("Sector Information") -- Descriptions of designations, - constructions, vegetations, elevations and raw materials. - - Nations ("Racial Traits and Nation Roles") -- Information about - the different races and nation types. - - Economics ("Economic Management") -- A look at how the economic - system of Conquer works. - - Movement ("Unit Relocation") -- Relocating units from sector - [X1,Y1] to sector [X2,Y2] is an important aspect of the - game, and this section helps you learn how to do just that. - - Warfare ("Military Units and Combat") -- How to destroy your op - ponents using military means, or at least keep from being - destroyed yourself. - - Powers ("Magic Powers") -- Spell casting and magic powers play an - important role in the realm of Conquer, and this documenta - tion describes how such sorcery is done. - - Xchanges ("Communication Between Players") -- Sending messages - from one nation to another is much easier electronically - than via horseback. - - Beginnings ("Beginners Hints") -- For those just starting, this - section provides tips and hints as to how to become a better - player, or at least give enough clues to allow you to sur - vive. - - God-Powers ("Conquer God Mode") -- A cookbook for world creation - and a listing of commands for ruling the world. - - Customize ("Conquer Customization Settings") -- This help section - describes how to customize the Conquer environment. Rebind - keys, create your own displays, and have Conquer store the - changes. - - Quickies ("Charts and Summaries") -- A summary of the commands - and concepts of Conquer which, printed, will make a nice ad - dition to your desk reference. - - Version ("Version Information") -- Last, but not least, there is - the credits. This document will give a listing of people - involved in the creation of Conquer and some of its history. - -What about those other things? - - Now, if you were paying attention, as I am sure you were, you are - wondering why I left some of the on-line help entries out. Well, - those help entries are used as part of the documentation, but are - not built from preset help files. They are generated by Conquer - based on the data in the campaign so an accurate representation - is possible. - - The "Runtime" documentation consists of: - - Army Types -- This entry will provide a quick summary of the - ability of a specified type of army unit. A good deal of - information will be provided, including combat information - and any special unit abilities. A summary of all of the - units is also available by entering "*" as the unit type. - - Key Bindings -- This selection provides an interactive way of - querying what function is bound to a given keystroke. - - List of Commands -- This option provides a listing of all of the - global level functions as well as all key bindings which are - associated with each function. - - Tradegoods -- Tradegoods play an important role within Conquer, - and as such also need some quick documentation. Tradegoods - are broken into fourteen separate classes, with each class - producing a given effect. To get information on items with - in a class, or on the tradegood class itself, specify which - class of tradegoods you are interested in. - - The tradegood classes are: None, Popularity, Communication, - Fishing, Farming, Spoilrate, Lumber, Knowledge, Eatrate, - Health, Terror, Magical, Metals, Jewels. - - The information provided is: class name, description of - class, what affect a tradegood has on a sector, the list of - tradegoods in the class. Along with all of the tradegoods, - the relative value of the tradegood, the chance of occur - rence within that class, the major designation and sector - population necessary to take advantage of the tradegood is - given. - - Well, that concludes my summary of the documentation, hopefully - it has helped you sort through all of this mess. [Of course, if - anyone but me calls it a mess, they will have some explaining to - do :-)] diff --git a/gpl-release/Docs/Makefile b/gpl-release/Docs/Makefile deleted file mode 100644 index 1db0cf2..0000000 --- a/gpl-release/Docs/Makefile +++ /dev/null @@ -1,166 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-FileCopyrightText: 1987-1992 Ed Barlow -# SPDX-FileCopyrightText: 1987-1992 Adam Bryant -# SPDX-FileCopyrightText: 2025 Juan Manuel Méndez Rey -# -# Conquer - Classic Multi-Player Strategy Game - Build Configuration -# -# 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 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# Relicensed to GPL v3+ with explicit permission from original authors. -# For relicensing documentation, see RELICENSING-PERMISSIONS.md - -# All of the default settings -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir -SHELL = /bin/sh -CD = cd -CC = gcc -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch -CHOWN = echo ... ignore -CHMOD = chmod -LIBS = -lcurses -ltermcap -lcrypt -SYSFLG = -DBSD -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -TOPDIR = /home/brand1/kevin/foo/conquer -DATADIR = /usr/local/games/lib/conquer -BINDIR = /usr/local/games/bin -INCDIR = /home/brand1/kevin/foo/conquer/Include -SRCDIR = /home/brand1/kevin/foo/conquer/Src -AUXDIR = /home/brand1/kevin/foo/conquer/Auxil -DOCDIR = /home/brand1/kevin/foo/conquer/Docs -CQUER = conquer -CQRUN = conqrun -CQSORT = conqsort -CXTRACT = cextract -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c updateA.c -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c -GOBJS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o keybindG.o magicG.o mailG.o miscG.o moveG.o navyG.o ntninfoG.o pagerG.o regionG.o sectorG.o selectG.o xferG.o time_ckG.o -AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o updateA.o -XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o -NROFF = nroff -TROFF = psroff -t - -# -# Building and Installation Procedures -# -all: - @${ECHO} "Use one of:" - @${ECHO} " make build -- build everything" - @${ECHO} " make install -- install everything" - @${ECHO} " make clean -- clean up some files" - @${ECHO} " make clobber -- clean up all files" - -# -build: - @${ECHO} "Build in Doc complete" - -# -install: indocs - @${ECHO} "Install in Doc complete" - -# Cleaning things up -clean: - ${RM} *.o *~ *.bak \#* ${NULL} - -# Really clean things up -clobber: clean clobber2 - ${RM} ${NCONV} indocs ${NULL} - -# -# Makefile specific variables -# - -# Name of the program to properly convert the nroff output -NCONV = ./ezconv - -# List of source files for documentation -DSRC = Helpfiles.nr Overview.nr Functions.nr Display.nr \ -Sectors.nr Nations.nr Economics.nr Movement.nr Warfare.nr \ -Powers.nr Xchanges.nr Beginnings.nr God-Powers.nr Customize.nr \ -Quickies.nr Version.nr - -# List of output files for hardcopy build -DHRD = Conquer-Doc.ps - -# List of output files for online build -DONL = ${DSRC:.nr=.doc} -# === BROKEN MAKE === -# (note: bad makes need this) -#DONL = Helpfiles.doc Overview.doc Functions.doc Display.doc \ -#Sectors.doc Nations.doc Economics.doc Movement.doc Warfare.doc \ -#Powers.doc Xchanges.doc Beginnings.doc God-Powers.doc Customize.doc \ -#Quickies.doc Version.doc - -# List of dependencies for installation -# [if you do not have nroff, comment this out] -INDOCS = ${DONL} - -# Add to the suffixes list -.SUFFIXES: .nr .doc .ps - -# -# Makefile specific rules and building information -# -online: ${DONL} - @${ECHO} "== Online Documentation Updated ==" - -hardcopy: ${DHRD} - @${ECHO} "== Hardcopy Documentation Updated ==" - -docs: ${NCONV} online hardcopy - -indocs: ${DONL} - -${MKDIR} ${DATADIR} - ${CHOWN} ${DATADIR} - ${CHMOD} 700 ${DATADIR} - ${CP} ${INDOCS} ${DATADIR} - ${CHOWN} ${DATADIR}/* - ${TOUCH} indocs - -clobber2: - ${RM} ${DONL} ${DHRD} ${NULL} - -# -# how to create each of the online documents -.nr.doc: $< - ${NROFF} roff-mac.nr $*.nr | ${NCONV} > $*.doc - -# -# how to create the postscript documents -.nr.ps: $< - ${TROFF} $*.nr > $*.ps - -# -# quick conversion program -${NCONV}: ${NCONV}.c - ${CC} -O ${SYSFLG} -o ${NCONV} ${NCONV}.c - ${STRIP} ${NCONV} - -# -# additional dependencies -${DONL}: roff-mac.nr ${NCONV} -# -${DHRD}: roff-mac.nr ${DSRC} -# -build: ${DONL} ${DHRD} -# diff --git a/gpl-release/Docs/Movement.doc b/gpl-release/Docs/Movement.doc deleted file mode 100644 index f3631ad..0000000 --- a/gpl-release/Docs/Movement.doc +++ /dev/null @@ -1,416 +0,0 @@ - -The Concept of Motion - - Within conquer, there are three types of mobile units: armies, - navies, and caravans. Armies and caravans will generally travel - over land, while the navies will roam the oceans. Flight is also - possible for those army units which naturally possess flight, or - which are given the property of flight via magic. Using flight, - army units are able to traverse many places, such as oceans, - which would otherwise be inaccessible. - - The "Movement" attribute of a nation is a quantitative indication - of how well orders are distributed to military units, as well as - a rating for how quickly a unit may be relocated. This, combined - with the inherent quickness of the unit, will give an indication - as to how far a unit may move in a single update. This quantita - tive value can be thought of as movement points, and is displayed - in the extended information portion of the "command-unit" func - tion. - - Sectors will each have a relative movement cost, based on the - terrain and vegetation of the sector, as well as the racial char - acteristics of the nation. These costs are in the same movement - points as the "Movement" attribute of a nation and the movement - potential of a unit. - - Each unit also possesses a speed, which indicates the rate of mo - tion of the unit. The faster a unit is moving, the more movement - potential a unit will possess. But, there is a trade-off, be - cause a unit moving faster is much more vulnerable to adverse - conditions and combat than units which are moving slowly due to - the energy expended during motion. - - It is possible to view the various movement costs for each sector - using the display routines. [For more information, see Display] - - If you find the concept of movement points confusing, you really - shouldn't worry about it, because the program will calculate all - of the movement in percentages. The movement points need only be - taken into account if you wish to compute the relative movement - costs for sectors or the relative speed of units. - - It should be noted that the diplomatic status between two nations - can determine whether or not a sector is accessible to a nation. - [For more information, see Nations] - -The Commands Governing Motion - - There are a number of commands which affect the motion of units. - The most obvious command is "move-unit" which is used to actually - relocate a unit. While in the main Conquer map, simply highlight - the unit you wish to move, and perform the "move-unit" command, - which is bound to `m' key by default. - - Another command which will affect the movement ability of a unit, - is the "command-unit" function, which is bound to the Escape key - by default. This command can adjust the status of the unit, - which determines whether or not a unit will actually be able to - move. Of even more importance, are the speed adjustments within - the "command-unit" function. These are used to directly adjust - the unit speed. [For more information, see Warfare] - - There are three possible unit speeds: "Slow", where movement po - tential is half of the normal; "Normal", with movement potential - being met; and "Fast" with time and a half the movement potential - otherwise possible. The drawback to the various speeds is that - troops may die from harsh travel at the faster speeds, and their - combat bonus is greatly affected by the varying speeds, as the - chart below demonstrates: - - Speed Setting Army Bonus Caravan Bonus Navy Bonus* - ================= ============ ============= ============ - Slow +40 +20 -40 - Normal 0 0 0 - Fast -40 -20 +40 - - Armies and Caravans are less combat ready if moving faster, - while speed on the seas can only help a naval unit in combat. - - *Navies in a land sector have no speed adjustment within combat. - - Also, if the unit is flying, that unit will have an additional 20 - combat bonus points added on. [For more information, see War - fare] - -Army Motion - - Army units can be relocated in a number of different ways. They - can move on their own from one sector to another. They can be - carried over water using naval warships. They can fly after hav - ing the spell of "Flight" cast on them, thus being able to cross - water sectors without a navy. And, they can be grouped together - under a leader, and moved when that leader moves. - - The movement potential for an army unit is directly proportional - to the national "Movement" attribute. This value will be multi - plied by the movement rate of the unit type, and then adjusted by - the speed of the unit. - - While moving, army units, if not flying or scouting, can be - stopped whenever they encounter a group of hostile troops or a - wall sector owned by a hostile nation. Any garrisoned unit large - enough to hold a land sector will be able to stop any sized army - unit. If the garrisoned units are at least half the strength of - the units trying to move, then those units will only be able to - leave the sector by going the same way out as they used to come - in. Non-garrisoned troops are considered to be mobile within the - sector, and as such are not positioned properly to prevent enemy - movement. - - There is one other form of movement available to army units: - that of being instantly transported from one sector to another. - If the nation possess the proper magical knowledge, and they have - a wizard with enough power, they can instantly relocate a unit - from one sector to another using the spell of "Teleport". [For - more information, see Powers] - -Caravan Motion - - Caravan units move in mostly the same manner as army units, ex - cept the heavy wagons are not too prone towards either flight or - teleportation. They will suffer the same prevention of motion as - army units within sectors controlled by others, and will also - have their movement ability governed by the "movement ability" of - the nation. - - The exact number of movement points which a caravan receives is - half that of the national movement ability (with a minimum value - of 6), adjusted by the speed of the caravan. If any crew is - missing from a caravan, the caravan will lose the same percentage - of mobility. - - Caravans are useful for conveying both civilians and materials - around, but they are not able to be moved across water sectors at - all. This, combined with their minimal combat effectiveness - means that caravans while useful in moving materials to sectors - that need them, are rather vulnerable to attacks if not properly - protected. - -Navy Motion - - Naval fleets can prove to be a powerful weapon for your nation. - Their large capacity for storage and ability to traverse water - sectors gives them the potential to make or break the economy - and/or military of your nation. Whenever a fleet is relocated, - all the materials, civilians, and troops onboard are carried - along with it. - - The movement points which a fleet may possess are dependent on - the type of ships within the fleet. Light ships have 3 more - movement points than medium ships, and 6 more than heavy ships. - Warships have a base rate of 30 (for heavy models). Galleys have - a base rate of 25 and the slower Merchants have a base rate of - 20. Finally, the very slow Barges have a base rate of 10. The - movement rate of the entire fleet (or unit) is the movement rate - of the slowest ship in that fleet. If the fleet is missing any - crew, the percentage of missing crew will indicate the percentage - of lost speed. - - If a navy unit is within a land sector, that unit is considered - to be beached, or in the harbor, if the sector possesses one. - Once in a land sector the navy can load or unload armies using - the "transport" command after the fleet is highlighted as a se - lection. It should be noted that only those troops which are ex - perienced at making beachheads, such as Sailors or Marines, may - disembark within territory not owned by the nation. If troops - are lead off by a leader, however, the restriction concerning un - owned territory will be waived. If the land sector in question - contains a supply center owned by the nation, raw materials may - be transferred between the two. [For more information, see Eco - nomics] - - In order to supply units using any materials onboard, the naval - unit must be either on land, or at sea, matching the type of sec - tor which the unit to receive supplies is within. - -The Movement Process - - The actual method of moving a unit from one sector to another is - fairly simple. You select the unit that you wish to move by - highlighting it using the "pick-previous" and "pick-next" com - mands, and then execute the "move-unit" command. - - If the unit is able to be moved, you will will be now be in the - movement-mode of conquer, otherwise an error message showing why - the unit was unable to be moved will be displayed. Once within - the movement-mode, you are able to relocate the unit by telling - it which direction to go using the proper directional command. - - The percentage of movement available to the unit will be dis - played, and the percentage costs for relocating to each of the - neighboring sectors will be shown in the bottom portion of the - screen. - - If the sector in the direction you chose is a valid one for the - unit to move into, you will be switched to that sector. Other - wise, the reason for your not being able to enter the sector will - be given, and the movement will be disallowed. You can then en - ter another direction to move towards, or hit the space bar to - stop your movement. - - As the unit moves through each sector, the percentage movement - cost of the sector is deducted from the unit's movement poten - tial. If the unit runs out of movement or if you end the move - ment phase, the motion will be stopped and the unit will now be - located in the current sector. Stopping motion will cost an ad - ditional 5% of movement potential, so you should make sure to - take this fact into consideration if you wish to move the unit - again during the same turn. - - Once the final sector has been reached, the unit will be relocat - ed to that sector. If the unit was flying and "lands" in a sec - tor that is incompatible with the unit's survival, the unit will - be destroyed. At this point, if the unit is flying via magical - means, the power of flight will be lost, with the flight spell - being broken upon contact with the ground. - -The Other Movement Methods - - Besides the normal, cost involved method of motion, you can relo - cate things using a sector selector. Relocating people using the - "move-people" command, or transporting an army unit using the - "Teleport" spell are both examples of this technique. - - With such forms of movement, the distance of the movement is what - matters, not the actual relocation route itself. In other words, - you can select any sector within a given range, as long as you - can get to that sector. This sort of movement can be aborted us - ing the "move-quit" command, which is usually bound to the Escape - key. - -The Costs for Land Movement - - For each sector, there is a given movement cost to enter that - sector. This cost is determined by the race of the nation doing - the entry, the vegetation of the sector, and the elevation of the - sector. The movement cost for a sector can also be halved - through the use of the minor designation of roads. - - The list of the land movement costs for each of the elevations, - by race, is: - - Elevation Level Orc Elf Dwarf Human Others - =================== ======= ======= ======= ======= ======== - Water (*) --- --- --- --- --- - Valley 2 3 2 3 3 - Flat 1 1 1 1 1 - Hill 2 2 1 2 2 - Mountain 3 5 3 4 4 - Peak 4 8 4 6 6 - - (*) - Water sectors may be made passable using bridges, - causing such sectors to possess a movement cost of 2. - - The added land movement costs for each vegetation type, by race, - is: - - Vegetation Type Orc Elf Dwarf Human Others - =================== ======= ======= ======= ======= ======== - Volcano --- --- --- --- --- - Desert (*) 3 6 5 3 3 - Tundra 2 4 3 3 3 - Barren 1 1 0 1 1 - Light Vegetation 0 1 0 0 0 - Good 0 0 0 0 0 - Wood 2 0 1 0 0 - Forest 2 0 3 1 1 - Jungle (**) 4 2 5 3 3 - Swamp (**) 3 2 4 3 3 - Ice (*) 7 7 7 2 2 - None --- --- --- --- --- - - (*) - Possessing either the magic power of Dervish or - Destroyer reduces this cost to 1. - (**) - The magic power of Amphibian reduces this cost to 1 - - Basically, you add the movement cost for the elevation of the - current sector with the movement cost for the vegetation and you - obtain the movement cost for the entire sector. - -The Costs for Naval Movement - - The method used to determine the cost of movement for water sec - tors is fairly straight-forward. It costs all of the movement - points for a ship to enter a land sector which does not possess a - canal or a harbor. Movement in water sectors is easier along - coastal regions, and more difficult in deep water. - - For navies, land sectors come in three forms: "tera" - inacces - sible land sectors; "costa" - land sectors neighboring water; - "waterways" - land sectors with harbors or canals for smooth - naval access. The "tera" sectors cannot be reached via ships. - The "costa" sectors can be moved into, but the navy losses all - movement by beaching the craft in this manner. And the "water - way" sectors have a movement cost of either two or four, depend - ing on whether the sector is a canal or a harbor respectively. - - Finally, the movement cost for a water sector is dependent on the - number of neighboring water and land sectors. If the sector is - totally surrounded by land or water, the cost is 5. If there is - an even balance of land and water sectors, the cost is 1. The - rest of the possibilities range between those two extremes. This - creates movement costs such that travel along open coastal re - gions is much easier than over open ocean. - -The Costs for Flight - - Flight, naturally available to a number of army unit types, can - make pinning down a unit almost impossible. Their ability to - traverse blockades and fly over water make them swift scouts and - deadly strike forces. - - The movement costs while flying are greatly reduced from the nor - mal land movement, and are independent of the national race. The - costs, specified by vegetation and elevation, are: - - Elevation Level Cost Vegetation Type Cost - =================== ====== =================== ====== - Water 1 Volcano 4 - Valley 3 Desert 1 - Flat 1 Tundra 1 - Hill 1 Barren 0 - Mountain 2 Light Vegetation 0 - Peak 6 Good 0 - Wood 0 - Forest 0 - Jungle 1 - Swamp 0 - Ice 0 - None 0 - -Commands within movement-mode - - Once within movement-mode, there are a number of commands avail - able to the user. Most of these commands simply allow for the - motion of the unit, but some other commands are also available. - The full list of commands is: - - adjust-display (`d') -- This command is the same as the "adjust- - display" command within the normal conquer mode. - - conquer-options (`O') -- This command is also similar to the nor - mal "conquer-options" commands, but is available here to al - low the rebinding of movement-mode keys. - - customize-display (`D') -- Another display command to adjust the - viewing of the map. - - highlight-all (`=') -- Change all of the highlighting slots. - - highlight-current (`,') -- Change the highlight at the focus - slot. - - highlight-horizontal (`-') -- Change the highlight of the focus - and neighboring slot. - - highlight-upleft-lowright (`\') -- Change the highlight of the - upper left and lower right slots. - - highlight-upright-lowleft (`/') -- Change the highlight of the - upper right and lower left slots. - - highlight-vertical (`|') -- Change the highlight of the current - slot and the slot above or below. - - ignore-key (`5') -- Bind this to any key that you wish to be able - to hit, but not have do anything. - - move-east (`6',`l') -- Move your unit one sector to the east. - With a hexmap world, this function is useless. - - move-exit (` ',`q') -- Indicate that your movement is complete, - and have the unit placed in the current sector. - - move-help (`?') -- Display this list of functions. - - move-north (`8',`k') -- Move the unit one sector to the north. - - move-northeast (`9',`u') -- Move the unit one sector to the - northeast. - - move-northwest (`7',`y') -- Move the unit one sector to the - northwest. - - move-quit (ESC,`Q') -- Attempt to abort the current movement. - This is usually equivalent to the "move-exit" function, but - when movement people or teleporting a unit will abort the - operation. - - move-south (`2',`j') -- Move the unit one sector to the south. - - move-southeast (`3',`n') -- Move the unit one sector to the - southeast. - - move-southwest (`1',`b') -- Move the unit one sector to the - southwest. - - move-west (`4',`h') -- Move the unit one sector to the west. In - a hexmap world, this command has no use. - - recenter-map (`^R') -- Relocate the current sector to the center - of the screen. - - shift-focus (`+',`)') -- Shift the focus slot to the next posi - tion. - - shift-focus-back (`(') -- Shift the focus slot to the previous - position. - - redraw-screen (`^L') -- Clear and redraw the screen. - - toggle-infomode (`@') -- Switch into and out of the information - mode of the map display. - - troop-listing (TAB) -- Show any troops not controlled by your na - tion, which are visible in the current sector. diff --git a/gpl-release/Docs/Nations.doc b/gpl-release/Docs/Nations.doc deleted file mode 100644 index 57e2b11..0000000 --- a/gpl-release/Docs/Nations.doc +++ /dev/null @@ -1,183 +0,0 @@ - -The Races of Conquer - - There are four different races available to active nations and a - few additional races for the "monster" nations. The four cam - paign races are: Orc, Dwarf, Elf and Human. The monster races - are: Lizard, Savage, Nomad and Pirate. - - Orcish nations are known for there ferocity, uncleanliness and - fertility. Their high reproductive potential is greater than - that of any of the other races and if not for their slow growth - in military skills they would overrun the other races in time. - "Orc" power is granted to any Orcish nation. - - Dwarven nations are extremely skilled fighters whose greatest - weakness is a distain for things magical. Lower than average re - productive ability keeps Dwarven armies from growing large enough - to dominate. "Miner" power is inherent to Dwarven nations. - - Elvish nations are highly skilled in the realm of magic. Howev - er, their disdain of military activity and low reproductive abil - ity leads them to be isolationistic. The "Illusion" power helps - Elves to cloak their lands. - - Humans are the most adaptable of the four major races, and have - little limitation or strength in any aspect. Good reproductive - ability and average skill in magic, fighting and mining make them - able to function in various disciplines. The "Warrior" power is - an innate to a Human nation. - - The monster nations are computer controlled races that roam the - world, at war with all other races. Lizards live within forti - fied stockades, hording wealth. Savages and Nomads wander the - world, fighting whenever opposition is encountered. And Pirates - live in island fortresses from which their ship may harass naval - traffic. - -Nation Class - - The focus of a nation begins with the selection of the nation - class, which is the name for the governmental organization of the - nation. For each race, there are a number of various government - styles which are available. The nation class determine the type - of national leader, the number of national leaders, and possible - magical powers. - - The following is a complete list of nation classes: - - Kingdom -- A government run by a single hereditary ruler. [Lead - er: King, Baron; Races: All] - - Empire -- Much like a kingdom, but more control is given to sub - ordinate rulers. [Leader: Emperor, Prince; Races: All] - - Magocracry -- A nation whose rulers govern by through the use of - magic. [Leaders: Wizard, Mage; Races: Elf, Human; Powers: - Wyzard, Sorcerer] - - Theocracy -- A government based on an organized religion. [Lead - ers: Pope, Cardinal; Races: Dwarf, Human; Powers: Religion] - - Piracy -- A nation governed by the strength, skill and vicious - ness of a naval community. [Leaders: Admiral, Captain; - Races: Dwarf, Human, Orc; Powers: Sailor] - - Plutocracy -- A government controlled by wealth and the exploita - tion of the less fortunate. [Leaders: King, Baron; Races: - Dwarf, Elf, Human; Powers: Urban] - - Feudality -- A nation governed by a elite warrior class with a - strict governmental heirarchy. [Leaders: Warlord, Lord; - Races: All; Powers: Warrior, Captain, Warlord] - - Demonarchy -- A government led by the evil denizens of another - world. [Leaders: Demon, Devil; Races: Orc; Powers: Destroy - er] - - Dragocracy -- Government whose rulers are the intelligent descen - dents of winged beasts. [Leaders: Dragyn, Wyrm; Races: Orc; - Powers: Orc, Ogre, Dragon] - - Shadowland -- A nation controlled with an iron will by a hidden - magical ruler. [Leaders: Shadow, Nazgul; Races: Orc; Pow - ers: Vampire] - - Later documentation covers the strengths and traits of the vari - ous national leaders. [For more information, see Warfare] - A description of the magical powers gained with each nation - class or race are also covered elsewhere. [For more information, - see Powers] - -Nation Creation - - Before beginning play with conquer, a player must select the - starting attributes of a nation. This includes the race, nation - class and alignment (which is currently just for show). After - providing a name for both the nation and the national ruler, a - screen with various traits will be listed. - - A nation starts with a number of "building points". In selecting - a race, and nation class, some of these points are used up. The - remaining points may be spent on the following traits: - - population -- How many civilians live within the nation at the - start. - - treasury -- How many talons are kept within the government trea - sury. - - location -- How well situated will the nation be in the begin - ning. This includes checking for neighbors as well as hab - itable lands. - - soldiers -- How much military will the nation begin with. - - attack bonus -- The bonus given to national troops when they are - acting as agressors within a battle. - - defense bonus -- The bonus given to national troops when on the - defensive. - - reproduction -- The yearly reproduction rate of the national pop - ulation. - - movement -- A measurement of how well military units may be relo - cated. - - magic powers -- How many additional magic powers will the nation - start with. - - leaders -- The number of leader units a nation will start with. - The amount of starting spellcasters is also directly related - to this value. - - raw materials -- The amount of jewels, metals, food, and wood a - nation begins with. Important to have a base to carry the - economy until it starts operating fully. - - All of the prices for the items will be in "building points" and - are based on the chosen race. - -Diplomacy Statuses - - How nations interact is an important aspect of Conquer. The - diplomacy statuses are indicators of how one nation perceives an - other. The statuses range from permanent cooperation to eternal - warfare, and may only be changed a limited number of positions - per turn. - - The list of diplomacy statuses, and their meanings: - - Unmet -- This nation is unknown to the current nation. Entering - of lands owned by unmet nations is forbidden. - - Allied -- Permanent cooperation. Troops may garrison within for - tified positions of Allies and forces will be joined in any - battle against common foes. - - Treaty -- Nations are on very friendly terms and travel between - lands is possible. Armies from treatied nations are wel - come. - - Friendly -- Nation is well thought of but travel is rather re - stricted. - - Peaceful -- A non-committal but friendly stance towards another - nation. Scouts and non-grouped leaders are welcome. - - Neutral -- Neither favorable or disfavorable. Only caravans are - welcome within neutral lands. - - Hostile -- A leaning towards disfavor of a nation. - - Bellicose -- On the edge of war. Any troops from this nation en - countered by aggressive troops on owned land will be at - tacked. - - War -- Battles can take place anywhere troops of the nation are - encountered. National boundaries are no longer respected by - armed troops. - - Jihad -- A permanent declaration of war, which causes troops of - the nation to be favored as the focal point of destruction. diff --git a/gpl-release/Docs/Overview.doc b/gpl-release/Docs/Overview.doc deleted file mode 100644 index cee2453..0000000 --- a/gpl-release/Docs/Overview.doc +++ /dev/null @@ -1,405 +0,0 @@ - -Conquer General Description - - The basic play of Conquer is very similar to that of many board - war games: players make their moves for a turn, all of the moves - are summarized and conflicts resolved, and then counters are re - set for the next turn. Except, with Conquer, all of the moves - are entered using a full screen computer interface, and the com - puter is used to compute the results of combat and movement. A - nation is added using the "conqrun" program, specifying "conqrun - -a" in your shell. Once created, a nation is accessed using the - "conquer" program, where "conquer -n NAME" may be used to specify - a nation to log into. - - Conquer can best be summarized as a multi-player fantasy wargame. - The game is set on a world with the technological base approxi - mating that of the Roman civilization. Roman numerals and dates - are used to emphasize this feeling. But, in addition to normal - human troops and warfare, there is the element of magic. Spells - can be cast to heal troops or damage enemies. Magical beasts and - creatures roam the world wreaking havoc. And, nations made up of - Dwarves, Elves and Orcs compete with Humans for control of the - world. - - Each player controls a nation composed of civilians from one of - these races. Skill in the management of economic, magical, and - military factors is needed for the survival of the nation. The - economic base revolves around the cities, or supply centers, - within the nation. These supply centers must take in materials, - such as gold talons and food, from surrounding lands and redis - tribute them so that get where they are needed. Magical "powers" - are used to determine the development level of a nation. They - are used to determine things such as what army units are avail - able and how well a nation may survive in a certain type of vege - tation. Finally, the military army, navies and caravans can be - used to brutally conquer neighboring lands, providing growth - through conquest. - -Conquer Time - - To keep perspective focused on the Roman era upon which much of - Conquer's "feel" is based, a calendar was chosen using Roman nu - merals and months. - - Each turn in Conquer represents a month of game play. The calen - dar used by Conquer is a modified Julian calendar, which is re - lated to the modern calendar as on the chart below: - - Modern Western Conquer (Julian) Seasons - =============== ================= ========== - March Martius Spring - April Aprillis Spring - May Maius Spring - June Junius Summer - July Quintilis Summer - August Sextilis Summer - September Septembre Fall - October Octobre Fall - November Novembre Fall - December Decembre Winter - January * Januarius Winter - February * Februarius Winter - - * While on the real Julian calendar, the "months" of Januarius - and Februarius did not really exist [as far as the Empire tax - collectors were concerned], they have been added for complete - ness. Note that the year begins in the spring, and that produc - tion, consumption and other world happenings will vary on a sea - sonal basis. - -Sectors - - The world of Conquer is composed of individual pieces of land - called "sectors". A sector is defined by various traits: eleva - tion, vegetation, raw materials, designation, constructions, pop - ulation, and ownership. - - The elevation and vegetation of a sector will determine how much - food and wood potential a sector will possess. There are six - types of elevations: water, valley, flat, hill, mountain, and - peak. There are twelve types of vegetations: none, volcano, - desert, tundra, barren, light vegetation, good, wood, forest, - jungle, swamp, and ice. - - Raw materials in a sector determine possible specialized uses for - a sector. For example, only sectors with metallic ores can be - used as Metal Mines. - - This brings up the concept of "designations". When a sector is - given a designation, this indicates what the job of any civilians - within the sector will be, as well as what sort of raw materials - the sector will produce. The are sixteen designations in all: - None, Farm, Fertile, Fruitful, Metal Mine, Jewel Mine, Lumber - yard, Shrine, Bridge, Canal, Wall, Cache, Stockade, Town, City, - and Capital. - - A sector may also had additional traits, or "constructions" to - indicate its function or status. There are twelve "construc - tions": devastated, for sale, sieged, trading post, roads, black - smith, university, church, mill, granary, fortified, and harbor. - [For more information, see Sectors] - - Finally, a sector will be owned by a single nation. The raw ma - terials and defensive fortifications from the sector may be used - by that nation to support military troops or civilians in other - sectors. The number of civilians within a sector dictates the - amount of raw materials which a sector produces. [For more in - formation, see Economics] - -The Shape of the World - - The shape of the world is that of a cylinder. A good way to vi - sualize it is as a globe, where the poles are inaccessible. Con - tinuous motion towards the east or the west will result in re - turning to the point at which the journey began, while motion to - the south or the north will eventually be halted when the top or - bottom edge of the world is reached. - - The default sector numbering scheme is based on a relative cen - tral position for each nation. The numbers are [x,y], where x - indicates a general east-west direction and y indicates a north- - south direction. At the beginning of the game, the capital is - numbered as [0,0] and a sector directly north would be [0,1]. - This "relative coordinate system" may be replaced with a scheme - where [0,0] is the lower left corner of the map. - - The entire map is formed by joining multiple sectors together to - form a MxN rectangular surface. The sectors may be either - square, or hexagonal, depending on the choice made when the world - was created. The default hexagonal system, while more complex, - and somewhat harder to get used to, is much more realistic and is - the system which I recommend. [For more information, see Dis - play] - -Getting Details - - The skill most needed to master Conquer is that of efficient in - formation gathering. When you first begin playing Conquer, you - will see a screen filled with ASCII characters which, to many - people, will seem a purely random jumble. It will appear some - thing like this: - - __/ -\__ *Empr 1 x=110 p=0 - __/ v\__/ %\__ m:100 sp:= st:Dfd - __/ %\__/ -\__/ %\__ >Prnc 2 x=60 p=0 - __/ %\__/ -\__/ -\__/ %\ m:100 sp:= st:Dfd - / ^\__/ ^\__/ ^\__/ -\__/ >Prnc 3 x=59 p=0 - \__/ ^\__/ ^\__/ ^\__/ %\ m:100 sp:= st:Dfd - / %\__/ %\__/ %\__/~~\__/ >Prnc 4 x=63 p=0 - \__/ ^\__/ %\__/ %\~~/~~\ m:100 sp:= st:Dfd - / %\__/ %\F_/ %\F_/~~\~~/ >Prnc 5 x=56 p=0 - \__/ %\__/~~\C_/ %\~~/~~\ m:100 sp:= st:Dfd - /~~\__/ %\__/ ^\__/~~\~~/ --- more --- - \~~/~~\__/ %\F_/~~\~~/~~\ sector [0,0] - /~~\~~/~~\__/ %\__/~~\~~/ owner: Khazadum - \~~/~~\~~/ %\__/ ^\~~/ Capital Dwarf - \~~/~~\__/ -\__/~~\ Lt Veg Hill - \~~/ ^\__/ %\~~/ pop: 15000 move: 1 - \__/ ^\__/ food: 6 wood: 1 - \__/ item: law (c) - - -Conquer: Version 5.0 Turn CVIII nation...Khazadum - Type 'q' to save & exit treasury.1773523 - Type 'Q' to end turn There is Conquer News Februarius (Winter) - Type '?' for help Year IX - - What many people will think of as a blob of characters in the - middle of the screen is what I interpret as the visual represen - tation of a small Dwarven nation called Khazadum. This nation - has a central Capital surrounded by three Farming sectors. A - number of national leaders are within the Capital located at po - sition [0,0], where there are also 15,000 civilians, and the na - tion has a treasury of 1,773,523 talons. - - The map is hexagonal, and there are water sectors towards both - the southeast and southwest of the national capital. Most of the - land surrounding the capital is hills or mountains, but there is - a small strip of five flat sectors and a valley to the north. - The current "date" is Febrarius of the Year IX, and the current - turn is 108, as indicated by the Roman numeral CVIII. - - There are numerous commands available for displaying the informa - tion available to a player, and mastering those commands is very - important for a beginning player. [For more information, see - Display] - -Racial Distinctions - - When chosing what sort of nation you will control, you are asked - to choose from one of the four possible races: Orcish, Dwarven, - Elvish, or Human. Each of these races has different traits, some - of which are detrimental and some of which beneficial. Choosing - a race with abilities favorable to the tactics that will be used - is probably the best approach. Some distinctions include: repro - ductive ability, magical ability, general hardiness and initial - starting powers. - - Immediately after racial selection, a decision about nation - "class" will have to be made. A nation class determines what - style of government the nation will possess. The selection of - the class is even more important than the selection of the race, - as it directly controls the beginning powers and leader types - that a nation will possess. - - Interaction between nations and races will be varied based on the - these selections. Diplomatic relations between two nations of - the same race will be much easier to manage than with nations of - two distinct races. So, with diplomatic statuses ranging from - Allied to Jihad, it is important to know what races you may more - easily interact with. [For more information, see Nations] - -Economic Hardships - - As Conquer has developed, the importance of economic management - has grown. When Conquer first came out, nations would consist - almost entirely of armies and navies, with the winner being the - nation that could generate the most armies the fastest. Now, it - is still possible to control the world by purely military means, - but even the biggest military buff will have to keep an eye on - unit supplying and civilian food distribution. - - As of version 5.0 of Conquer, the economic basis has shifted from - a vague concept of a "National Resource Pool" to an economy where - the materials are stored within the cities and towns. Goods no - longer travel instantly from one end of a nation to the other; - they must be transported using navies and caravans or be relayed - between neighboring supply centers. - - There are five raw materials within Conquer: gold talons, jew - els, metals, food, and wood. Each of these materials is produced - in sectors of different designations, and each is used in per - forming different tasks. Most of the materials are consumed in - the building and maintainance of various items, such as bridges, - fortifications, farms, armies, caravans and navies. Being able - to distribute these materials from where they are produced to - where they are needed can be a tricky task. [For more informa - tion, see Economics] - -Getting from Here to There - - Getting from Sector A to Sector B is one of the most basic con - cepts of Conquer. It is often necessary to move your armies or - navies from one end of your nation to another, either to claim - land not owned by you, or to respond to encroaching enemy armies. - Transporting raw materials between supply centers via caravans - and navies, or using caravans or navies as remote supply centers - is also a crucial part of game play. - - Thus, the need to relocate units or even civilians is given care - ful attention in the documentation. In exploration, it is proba - bly best to move in straight lines or zig-zags, visually covering - more territory than otherwise. In going between already estab - lished points, it is best to find the quickest, least treacherous - path. [For more information, see Movement] - -Military Conflicts - - A major part of the game of Conquer revolves around conflict be - tween military units, usually armies. The army units, along with - supporting naval and caravan units, are used in the capturing of - sectors and in aggressive engagements with similar enemy forces. - - There are a large number of different army unit types, ranging - from individual leader units and spies to grouped monsters or - specially organized legionnaires. In all, there are over eighty - possible army types, each different from any of the others. This - variety will allow for selection of specialized units for specif - ic purposes. Just be sure to protect leader units, since they - act as rallying points for your troops and also enable various - forms of spell casting depending on their abilities. - - There are four different classes and three different sizes of - ships available within Conquer. The classes include warships, - galleys, merchants, and barges and the sizes include small, medi - um and large. A naval fleet may consist of any combination of - these vessels as long as no more than 31 of one specific type is - present. The size of the vessel determines the capacity for the - ship and the class determines what sort of cargo may be carried. - - Finally, there are caravans, which are weak in combat but are es - sential for transporting raw materials over land. - - When nations which are at war both have units a sector, it is - possible for a battle to take place. This battle will usually - result in the death of soldiers from the one, or the other, or - both units. And if other nations have troops within the sector, - it is possible for the battles to get even more complex as a gen - eral free for all may result. [For more information, see War - fare] - -Hocus Pocus - - Magic plays an important role within the world of Conquer. The - most important factor being that the "technological advancement" - of a nation is governed by how many "magic powers" a nation pos - sesses. - - There are three classes of magical powers: military, civilian, - and wizardry. Military powers determine what army unit types are - available to a nation, and also how much it costs to support - them. Civilian powers reflect the abilities of the civilians in - the nation, such as improved mineral mining better. Finally, - wizardry powers govern the spell casting abilities of the nation. - - There are a number of spells available to a nation, from healing - to weather manipulation. Leaders and specialized leaders, known - as spellcasters, must be used to cast these spells. Each spell - drains a certain amount of health and magical strength from a - caster and will not necessarily succeed every time. [For more - information, see Powers] - -Communicating with Others - - There are a few tools available to allow communication between - player nations, the most important of which is the electronic - mail (or email) system built within Conquer. This mechanism al - lows one nation to send messages to other nations and thereby to - engage in negotiations. - - The mail system is also used by the Conquer program itself to re - lay information to a nation during the updates. This information - will range from combat results to economic reports. Some of - these reports will prove invaluable in determining what unexpect - ed events have taken place in your nation over the update period. - [For more information, see Xchanges] - -To Start from the Beginning - - I realize that Conquer is a complex and somewhat daunting game - for beginners, but it is well worth learning. If you don't be - lieve me, just ask others who have tried! I still find Conquer a - fun and challenging game to play, and that is after I have been - working at it for many years now. - - So, I have a number of tips that I give to beginners to get them - started, from how to focus on economics to how to respond to ene - my attacks. I can't be sure that I have given information to - cover every circumstance, but I hope there is enough so that - players will not get bogged down when new situations develop. - - Anyway, just be sure to read through at least the Display and Be - ginners sections, so that you can understand all of the informa - tion which Conquer makes available to you. [For more informa - tion, see Beginnings] - -The Power of God - - In order to manage all that must go on in the world, there must - be one individual designated as a "god" for Conquer. This person - is responsible for creating worlds, and managing updates. If - anything goes wrong with a nation, it is possible for the god to - go in and fix it. And, it is even possible for a god to grant - boons or banes to any of the nations of the world. Of course, if - a god abuses the power of management, it will be hard for that - god to find enough mortals to continue playing, so be fair and - just, etc. ;-) - - Also, if a your site is so large (or addicted), that many cam - paigns are running at once, it would be in the best interests of - god to share the labor with others. To accomplish this, each - campaign may be assigned a demi-god, who may or may not have all - of the powers of god, but only for that one world. [For more in - formation, see God Powers] - -Tayloring Conquer to Your Tastes - - Even though I would like to think that the keybindings I selected - for Conquer are the best ones possible, I am sure there will be - others who will disagree with them. With this in mind, I have - assigned a name to each of the functions within Conquer. By as - signing a string of characters to a function, it is possible to - reallign the default keybindings. [For more information, see - Functions] - - In addition to setting keybindings, it is possible to customize - other aspects of Conquer. All of the display characters, repre - senting information such as designations or vegetations, may be - replaced with other characters. Also, there are a other options - which control how Conquer will behave in displaying information - and interacting with users. - - All of these options, including keybindings, may be set using a - special customization file. This file may be generated automati - cally by Conquer, or constructed from scratch using the list of - accepted configuration commands. [For more information, see Cus - tomize] - -Summarization - - Conquer is a complex and detailed game, which, once mastered, can - become rather addictive and very enjoyable. So, to make it easi - er for players to find information within the documentation, I - have created a series of tables and summaries which are near the - end of the documentation. These tables will make it easier to - determine what army units are best for what use, and should also - help you determine which magical powers are best to try for. - [For more information, see Quickies] - - Speaking of summaries, it would be hard for me to list all of the - people who have been involved in the development Conquer, since - there were so many and I am so forgetful. :-( But, I have made - some attempt at giving credit were credit is due, and this is re - flected in the Version information within the documentation. - [For more information, see Version] diff --git a/gpl-release/Docs/Powers.doc b/gpl-release/Docs/Powers.doc deleted file mode 100644 index 942fd65..0000000 --- a/gpl-release/Docs/Powers.doc +++ /dev/null @@ -1,548 +0,0 @@ - -The Magical World of Conquer - - There are many forms of power within Conquer: material wealth, - physical strength, and magic. This portion of the documentation - deals with the third and most complex of the three. What many - people call "magic" is simply some event or action which is be - yond their everyday experience. So, magical powers are often - just a matter of relative technology or ability. Within conquer, - these "magic" abilities are often manifested through traits or - abilities which a nation possesses that other nations do not. Of - course, "true" magic powers and abilities are possible as well. - - There are various forms of magic available to the nations of the - world. The most powerful, yet subtle "magics" are the national - powers. These "magical powers" indicate how well advanced your - nation is, both technologically and metaphysically. There are - three classes of such powers: Military, Civilian, and Wizardry. - Military powers control what army units are available to the na - tion, and how well that nation fights. Civilian powers govern - how the national population responds to events and also indicates - any special traits of the nation as a whole. And finally, the - Wizardry powers indicate the prowess of a nations leaders towards - the arcane arts: how well and what type of spells they can cast - as well as some other truly magical traits of the nation. - - There are a number of aspects to the truly magical powers: Wiz - ardry Powers, spell casting, and Monsters. The wizardry powers, - as mentioned before control what spells leaders are able to cast. - And, they also control what monsters are available to a nation - through the various spells such as summon and sending. - -The Military Powers - - The military strength of a nation is greatly dependent on the - skill of a nations' leaders and the training of its troops. The - military "powers" are a reflection of just such skills and train - ing. They also represent investments in new technology such as - advanced armorcraft or winged mounts. - - The complete list of the military powers is: - - Archery -- Archery indicates that a nation has discovered the use - of bows, and has invested time for training in their use. - This power allows the drafting of Archer units, which are - excellent deterrents against aerial assaults and prove most - efficient against a few other units such as knights. Gain - ing of this power also results in a five percent increase in - attack bonus and a ten percent increase in defensive combat - bonus. - - Armor -- Skill at the design and use of armor increases the de - fensive combat bonus of the nation by ten percent. A number - of different unit types are also dependent on the possession - of this power. - - Avian -- Time spent in the raising and training of various flying - animals provides the nation with aerial troops. The nation - al movement rate is increased by four when this power is - gained. - - Captain -- Better leadership and training leads to a ten percent - increase in combat bonuses and a reduction in drafting - costs. Warrior is a prerequisite for Captain power. - - Dragon -- Excellent ability at dealing with the creatures of the - world makes it possible for the most powerful monsters to - help out this nation. Orc and Ogre powers are prerequisites - to obtaining the Dragon power. - - Equine -- The breeding and raising of horses provides the nation - with a number of new unit types. The movement rate is in - creased by four when this power is gained. - - Ninja -- Elite training for scouting troops allows the use of - more skilled spies and scouts as well as the ability to en - list a few other troops for monitoring purposes. Due to the - study of advanced training techniques the overall national - attack bonus is increased by five. - - Ogre -- Similar to Dragon power, Ogre power indicates an in - creased affinity of a nation for the recruiting of monsters, - but not of the same strength as the Dragon power. Orc power - is a prerequisite. - - Orc -- The last and weakest of the monster powers, Orc power pro - vides an orcish nation with the ability to recruit some mon - sters during the spring months. - - Sapper -- Improved study of engineering and building structures - provides insight into a nations ability to produce siege en - gines and catapults. The national defense bonus is also - raised by ten through the use of such information within the - nations own defensive maneuvers. - - Warlord -- The strongest of the three warrior powers, excellent - leadership ability and the intense study of military tactics - increases combat bonuses by ten and decreases overall en - listment costs. - - Warrior -- The first of the warrior powers, this power adds ten - percent to the combat bonuses and decreases the enlistment - expenses. - -The Civilian Powers - - Civilian magical "powers" represent knowledge gained by and - shared among the populace to increase the productivity of their - lives. Such powers indicate a population's ability to survive - within adverse environments or a similiar trait which may enhance - their lives. - - The complete list of Civilian Powers is: - - Accountant -- The training of tax collectors in book keeping pre - vents the lose of much governmental resources. This results - in a 20% increase in the collected tax revenues. - - Amphibian -- Study of swampland and the acclimation of the popu - lation to such environments allows the use of swamp and jun - gle sectors. - - Architect -- The training of builders and the study of architec - ture decreases the material cost of building items by 20%. - - Botany -- The study of plant life increases the potential produc - tion for farms and lumberyards. Farming is a prerequisite - power. - - Breeder -- This power indicates a greater national focus on sexu - al education. This results in a 2% increase in the repro - duction rate of the population, and, for some strange rea - son, a distraction among the soldiers, leading to a five - percent reduction in combat ability. - - Democracy -- This power indicates that the population is able to - have a vote in the goings on of the government itself. - Greater communication between the soldiers and populous re - sults in a 2 point increase in the movement rate and a ten - percent increase in combat ability. A one percent increase - in the reproduction rate also results, but the greater voice - in things also leads to larger food consumption and more - chance of rebellion. - - Dervish -- Absorption of some non-aggressive nomads into the pop - ulation teaches the ability to survive within desert and ice - sectors. - - Farming -- The study of farming and agriculture leads to a 20% - increase in food production ability. - - Jeweler -- Better training at gem crafting results in higher - quality jewels. This means a 20% decrease in overall jewel - expenditures as a result of the higher quality. Miner is a - prerequisite. - - Marine -- An increased training in navigational and naval studies - results in more efficient fleets. The naval construction - expenses are decreased by 20% and the ship speeds are in - creased by 20%. The power of Sailor is a prerequisite. - - Metalcraft -- The study of metallurgy leads to production of bet - ter quality metals and thus decreases raw metal expenditures - by 20%. The power of Miner is required to gain this power. - - Miner -- The study of metals and jewels in general, as well as - with improved training in mineral recovery leads to an in - crease of jewel and metal production of 20%. - - Religion -- The support by the government of a national church - provides the nation with a greater focus. The population - reproduction rate increases by 2% and the likelihood of re - volts decreases. - - Roads -- Actual governmental focus on building roadways increases - the national communication rate and movement ability. - - Sailor -- Cultivation of a seafaring culture leads to a greater - prowess with naval fleets. The naval expenses are decreased - by 20% and the ships speeds are increased by 20%. - - Slaver -- The use of captured civilians as laborers increases the - amount of population taken during military occupation. Un - fortunately, the likelihood of rebellion is increased. - - Socialism -- Wealth is shared among the populous, giving them - more of a dependency on their government. The reproduction - rate is increased by 1% and socialization programs result in - 10% more in tax intact. - - Urban -- The cultivation of cities results in a greater attrac - tion of the population towards such sectors. The reproduc - tion rate increases by 2% and the population is more at - tracted to city sectors. - - Woodcraft -- The study of the various properties of wood and - methods of curing and pressing leads to more productive lum - ber use. This results in a 20% decrease in wood expendi - tures. The powers of Farming and Botany are prerequisites - to this power. - -The Wizardry Powers - - Of the three power classes, the only one which truly represents - "magical" powers is that of Wizardry. These powers are developed - through the study of forces which are beyond the realm of normal - men. A number of these powers can alter the composition of the - entire nation and its population, but most result in the realiza - tion of new spells and abilities. - - The complete list of Wizardry powers is: - - Alchemy -- Through the combination of wizardry and chemistry the - nation gains the ability to alter the molecular structure of - materials. This provides the nation with spells which allow - the conversion of one raw material into another. The disci - pline provided with Wyzard training is needed to obtain this - power. - - Air -- The intensive study of the element of Air provides insight - into new spells and creatures. The ability to cast Flight - is not the least of the abilities gained through this power. - - Destroyer -- Through a combination of magical mischance and luck - the nation gains all of the abilities of a Dervish nation. - The vegetation near the capital is also slowly altered to - provide an environment more suitable to such a nation. - - Druidism -- The study of the magical potential within trees leads - to a number of new spells, along with some other beneficial - results. Wood production within the nation is increased by - 20% due to new techniques in tree cultivation which are - learned. - - Earth -- Intense study of the element of Earth provides new in - sight into various aspect of soil and the earth itself. New - spells are gained and food production is increased by 10%. - - Fire -- Study of the element of Fire provides powerful spells for - use in combat. - - Hidden -- Increased study of deceptive magic leads to the ability - to mask the size of military units of the nation. The size - of armies will be totally unknown to most nations. Prior - work with Illusions is required to gain this power. - - Illusion -- The study of illusionary magic leads the nation to be - cloaked within a haze which makes armies and sectors harder - to examine and view. This, in effect, doubles the uncer - tainty involved in such observations. - - Know All -- This power provides the nation with the ability to - see all of sectors of the world. If the power is available - at all, the nation must first obtain the powers of Vision - and See All. - - See All -- Concentrated study on magic to allow the penetration - of illusions provides the nation with the ability to accu - rately view enemy troops and sectors, even if cloaked magi - cally. The power of Vision must first be learned before - this ability may be gained. - - Sending -- The ability to relocate an object from one place to - another can lead to many interesting spells. The level of - Wyzard and Sorcerer must first be obtained before this power - is possible. - - Sorcerer -- Superlative skill in the magical arts leads to a - greater understanding of much of the truly magical arts. - Increasing of spell casting ability is a direct benefit of - this power. The knowledge gained via the Wyzard power is a - must to achieve this wizardry power. - - Summon -- The study of magical portals and creatures of other - planes provides the nation with the ability to enlist mon - sters in order to help the nation. Only a nation possessing - Wyzard and Sorcerer may gain this knowledge. - - The Void -- Unsurpassed ability in illusion provides the nation - with the ability to move troops unseen around the map. The - sector potentials are also hidden to other nations, unless - they possess the power of See All. The power of Illusion - and Hidden must first have been obtained for this ability to - be possible. - - Vampire -- Delving into the realm of necromancy gains the nation - the ability to enlist undead troops into the military. - - Vision -- Magical clarity of vision provides the nation with the - ability to penetrate any Illusionary deceptions. Increased - accuracy in troop estimates is an added benefit of this wiz - ardry power. - - Water -- Study of the element of Water enhances national abili - ties regarding that element and provides some new magical - spells and defenses. The ship speeds are increased by 20% - and fleets are invulnerable to storms at sea. - - Weather -- Study of the weather provides the ability to exert - some influence on it. New spells are obtained and weather - events are less likely to damage the nation. The power of - Wyzard is necessary to gain this ability. - - Wyzard -- Focusing on magic for magic's sake increases the na - tional ability with the sorcerous arts. This power increas - es the spell casting potential and is a prerequisite for a - number of other powers. - -Obtaining Magical Powers - - Within conquer, jewels are the key to obtaining magical powers. - Their crystalline structure allows them to entrap magical ener - gies which may be unlocked through various arcane techniques. - Thus, to gain a magical power one must sacrifice jewels within - the capital. And, due to the nature of magic, a greater amount - must be sacrificed each time a new power is desired. - - The interface used to view the powers you possess and obtain new - ones is the "magic_info" command. This command will show the - list of magical powers your nation possess, separated into the - three different classes. Information on each power can be viewed - while within the interface and you can also determine which pow - ers your nation does not possess and what they are as well. - - Using the various movement keys, it is possible to move between - the listed classes and powers. The current classes and power - should be shown by highlighting, and the price in jewels for a - new power will be listed at the bottom of the display. - - The "magic-buy" command is used to obtain a new power. If there - are enough jewels to purchase a power within the current class, a - new power will be given to your nation. There are two ways in - which a power may be purchased: randomly or by selection. If you - are willing to invest three times the number of jewels, you are - able to purchase a power from the list of "Needed" powers. Sim - ply select the power you wish before using the "magic-buy" com - mand. Otherwise, if you are looking at the powers which you pos - sess, selection will be made randomly from the list of powers - which your nation has yet to obtain. - -The magic-info Mode Commands - - The complete list of commands available during the "magic-info" - display is listed below. The default bindings for each command - are listed in parenthesis following the command names. - - conquer-options (`O') -- This command is similar to the conquer- - options command within the main conquer display, but it al - lows the user to change bindings for the magic-info mode - keymap. - - ignore-key (` ') -- Simply pretend that a key press did not oc - cur. - - magic-buy (`b',`B') -- Attempt to purchase a new magical power - within the current class. If the list of needed powers is - being shown, that specific power will be purchased, other - wise a random power will be given. - - magic-delete (`d',`D') -- Give back the currently selected magi - cal power in exchange for half of the current purchase price - in jewels. - - magic-down (`j',`J') -- Move to the magic power immediately below - the currently selected one. - - magic-exit (`q',`Q') -- Leave the magic-info mode display. - - magic-help (`?') -- Provide the list of commands available within - the magic-info mode. - - magic-info (`i',`I') -- Provide information about the currently - selected magical power. - - magic-left (`h',`H') -- Move to the nearest magic power to the - left. - - magic-right (`l',`L') -- Move to towards the magic power to the - right. - - magic-switch (`TAB') -- Switch between the magical classes. - - magic-toggle (`t',`T') -- Toggle between viewing the powers cur - rently possessed by the nation and the powers which are - needed by the nation. - - magic-up (`k',`K') -- Move to the magic power directly above the - currently selected power. - - redraw-screen (`^R',`^L') -- Clear and then redraw the screen. - -Spell Casting - - The most dramatic form magic can take within conquer is that of - spell casting. Spell casting is when a national leader or other - spell casting unit takes some of the magical energy which has - been accumulated and uses it to alter reality. - - There are a number of different spells which are available to a - nation, depending on the Wizardry Powers the nation possesses. - There is also a cost for casting each spell, in both spell points - and the health of the leader unit. If the leader does not pos - sess enough of both, the spell may not be cast. - - Each nation has a certain spell point potential. That potential - is governed by the number of Wizardry Powers a nation possesses - and by the magical potential within the shrines which a nation - has set up. Minor leaders will be able to accumulate spell - points up to only a quarter of the potential magical power within - the nation, and rulers only half. Spellcasters will also possess - half of the national magic potential, and fully experienced - spellcasters will be able to utilize the full magical potential - of the nation. Regaining of spell points is at a pace of one per - month, but if a unit is resting within a shrine, the pace is dra - matically increased based on the magical power of the shrine. - - There are a number of different spells which are available, with - certain powers needed to gain their use. There are also a number - of different styles of spells. Some spells may be used for com - bat, some to magically adjust an army unit, and still others may - change the scope of the sector itself. - - So, in order to cast a spell, you select a leader who possesses - spell points (using the "pick-previous" and "pick-next" commands) - and then you use the "cast-spells" command. The next section - provides a list of the current spells and there costs. - -The List of Spells - - Currently, there are only a few spells available within conquer, - but that will change, very soon, as I implement new spells. The - descriptions for each of the spells is: - - Enhance -- This spell will enhance by 30% the combat bonus of any - selected military unit for any combat during the current - month. It takes 5% of health from the caster and costs 1 - spell point for every 300 men. There is 95% chance of suc - cess in casting. - - Flight -- Enable the ability of flight, for one turn, within any - army unit. The cost is 1 spell point per 100 men and costs - 10 health points to cast. The success rate is 80%. [Re - quirement: Air] - - Heal -- Increase the health / efficiency of an army unit of 100 - men by 25%. It costs 1 spell point and 3 health points. - - Quake -- Cause an earthquake to take place within the current - sector. This spell costs 25 points and 80 health has a suc - cess rate of 50%. [Requirements: Wyzard, Sorcerer, Earth] - - Sending -- Summon and send a monster against an enemy nation. - This spell takes 30 health points and a minimum of 2 spell - points. There is a 75% success rate. [Requirements: Sum - mon, Sending] - - Scare -- Attempt to frighten the civilians of a population from - the current sector. The spell costs 10 spell points and 10% - health and has a 85% success rate. [Requirements: Illu - sion] - - Summon -- Summon a monster from another plane to work with your - nation. The spell costs 20% health and a minimum of 1 spell - point. The success rate is 85%. [Requirements: Summon] - - Teleport -- Instantly transport an army unit from the current - sector into another sector. The cost is 1 spell point for - 20 men for every 1 sectors distance along with 50% health. - The spell has a 65% success rate. [Requirements: Sending] - - Transfer -- This spell is a very simple spell which shifts the - spell casting potential of one leader into another. The - costs is simply 10% health. This spell has a 99% success - rate. - -Shrines - - Shrines can become a great focal point for magical within a na - tion. This is due to the fact that magical power is concentrated - around shrines to such an extend that spell casting is often much - easier in their vicinity. - - If a unit capable of casting spells is within a shrine sector - during the update, the magical power of that unit will be re - gained at double the normal rate. If the shrine sector also con - tains a magical tradegood, the spell casting power of the unit - will increase an additional point per turn for every turn during - which they are within the shrine sector. Of course, the maximum - spell casting level for the unit will not be affected by the - shrine. - - Shrines will also provide additional power and support when - spells are cast within their sector. There is a 2 percent reduc - tion in spell point cost and a 4 percent reduction in health - draining for every magical point of the shrine sector. Even if - there are no magical tradegoods within the shrine, the 2% and 4% - base reductions will be granted. - - Thus, when the magic starts flying, shrines can become the focus - for all of the spell activity taking place. - -Monster Summoning - - Once a nation gains the Wizardry Power of Summon, they are able - to incorporate monsters into their nation. Monsters are much - different from normal army troops, because every monster is worth - much more than a single soldier. Also, the damage a monster re - ceives in combat will indicate the percent chance of the monster - receiving a fatal hit during the combat. If the monster does not - die, the monster is unaffected by the fighting. - - There are a few ways of obtaining monsters. They can be magical - ly summoned into your nation via the "Summon" spell, or they can - wander into your national service through the use of the Monster - Powers of Orc, Ogre and Dragon. Once a monster has joined your - nation, that monster will be much like normal army troops, except - that the monster requires jewels as supplies. - - In terms of summoning requirements, each monster has a certain - cost in spell points associated with it, along with a jewel cost - per turn. The types of monsters which are summonable is deter - mined by the various magical powers which a nation possesses. - Also, if you wish to Send a monster against another nation, the - spell point cost is double that of the summoning cost. - - The complete list of monsters and their traits is: - - Monster Size Summon Cost Jwl/Tn Traits Powers - =========== ==== =========== ====== ================= ================ - Spirit 50 1pt 1800J 1000 Flight --- - Assassin 50 2pt 1400J 1000 Spying ability Ninja - Efreet 50 2pt 1200J 800 Flight Air - Gargoyle 75 2pt 2000J 1150 Flight Orc - Wraith 75 3pt 2000J 1300 Undead Vampire, Void - Hero 100 3pt 1600J 800 --- Warrior - Centaur 75 3pt 1500J 800 1.5x move Equine - Giant 150 5pt 2500J 1800 Fort damage --- - SuperHero 150 5pt 2600J 1200 --- Warrior, Captain - Mummy 150 5pt 2300J 1600 Undead Vampire - Earthmentl 175 6pt 2500J 2000 1.5x move Earth - Minotaur 150 8pt 2500J 1800 --- Wyzard - Daemon 500 10pt 10000J 6000 --- Orc, Sorcerer - Balrog 500 12pt 12000J 6000 Flight, 1.5x move Ogre, Sorcerer, Fire - Dragon 1000 15pt 20000J 10000 Flight, 2x move Dragon, Sorcerer - - Additional information regarding monster units is available in - other sections of the documentation. [For more information, see - Warfare] [For more information, see Army Types] diff --git a/gpl-release/Docs/Quickies.doc b/gpl-release/Docs/Quickies.doc deleted file mode 100644 index 9ebf7c5..0000000 --- a/gpl-release/Docs/Quickies.doc +++ /dev/null @@ -1,11 +0,0 @@ - -Things to Come - - This section has yet to be written, but should appear in the next - patch. Please get back to me listing all of the things that you - feel should be listed in a "quick" summary of information. - - The things I currently plan: concise army listing, vegetations, - contours, navy information, caravan information, designations, - tradegoods, constructions, nation types, racial information, - function summaries for all of the keymaps. diff --git a/gpl-release/Docs/Sectors.doc b/gpl-release/Docs/Sectors.doc deleted file mode 100644 index 26b9012..0000000 --- a/gpl-release/Docs/Sectors.doc +++ /dev/null @@ -1,601 +0,0 @@ - -The Sector - - One of the most basic foundations of the world of Conquer, is the - concept of the "sector". A sector is the smallest unit of land - area upon which the conquer map is based. For reference, I sup - pose that a sector could be thought of a being, say 100 to 250 - square miles in area, and of regular dimensions. When troops are - moved, they must be moved from one sector to another, with there - never being any "in between"; thus a specific unit may be thought - of as residing within a specific sector. - - A sector is described as consisting of a certain type of terrain - (such as mountains or hills, etc.), and being covered by a cer - tain class of vegetation (such as wood, swamp, or light vegeta - tion). In addition to being characterized by the general geo - graphical and ecological layout, each sector may also possess - special characteristics (such as jewel or metal deposits) which - can make it more desirable to the nations in the world. - - As might be expected, nations will be vying for control and pos - session of the sectors within the world. Taking control of a - sector is accomplished by having troops within the sector, with - out any other nations claiming the sector or having their troops - there to block the claim to the land. Once a sector is under the - ownership of a nation, that nation may then build farms, cities, - or a variety of other "designations" to which the land can be put - to use. - -Vegetation - - The vegetation of a sector is the greatest indicator of how much - food and wood is capable of being raised within the sector, and - even indicates how easily a unit may move through the sector. - Also, each racial class will have a preference towards certain - vegetations, being better suited towards survival in such sec - tors. - - The complete list of the twelve vegetation types is given below. - The bracketed expression shows the default map character, food - production potential and wood production potential, respectively. - - barren [`b', 4, 0] -- Such land is barely habitable, without any - potential for wood and only a small portion of food can be - harvested from this sector. Elves actually find such sec - tors unsuitable for farming. - - desert [`.', 0, 0] -- A desert is a barren and inhospitable - place, and for most nations provides nothing of value. - - forest [`f', 4, 8] -- A forest sector provides only a minimal - supply of food for most nations due to the over abundance of - trees, which cover most of the available land of the sector. - - good [`g', 9, 2] -- A sector with good vegetation provides more - food producing potential than any other vegetation type, and - also provides a small amount of wood potential. - - ice [`i', 0, 0] -- This inhospitable and harsh vegetation is not - for most nations, and therefore provides no food or wood re - sources. - - jungle [`j', 0, 10] -- This harsh temperate vegetation is inhos - pitable to most nations, but has an abundant wood supply if - the nation can live within it to harvest it. - - light vegetation [`l', 6, 1] -- This vegetation indicates land - capable of supporting moderate food harvests and very light - wood harvests. - - none [`~', 0, 0] -- Only water sectors possess no vegetation. - - swamp [`"', 0, 2] -- A sector with the vegetation designation of - swamp is deemed uninhabitable and is therefore not useful to - most nations. - - tundra [`,', 0, 0] -- This harsh icy vegetation is uninhabitable - to all nations, and provides no food or wood resources what - soever. - - volcano [`!', 0, 0] -- A volcano is a magnificent display of the - power of nature... creating a sector which is inaccessible - to most everyone. - - wood [`w', 7, 4] -- A sector whose vegetation is moderately wood - ed. Wood sectors are suited for wood or food production, - since the land is both fertile and covered with a fair - amount of trees. - - Some of the uninhabitable vegetations may become usable once cer - tain magical powers are obtained. [For more information, see - Powers] - -Elevation - - The terrain of a sector can play a significant role in game play. - The difficulty of moving into a sector is a direct factor of the - terrain and vegetation of the sector. Also, the attractiveness - of the sector to the population is affected by the terrain of the - sector. And finally, and possibly most importantly, the defen - sive capabilities of a sector are largely a result of the ter - rain. - - The are only six elevation types, which range lowest to highest: - water, valley, clear, hill, mountain, peak. A more descriptive - list is given below, with the affect that terrain has upon both - food and wood production listed within brackets next to the de - fault map symbol. - - water [`~', 0, 0] -- The terrain in this sector is non-existent, - being covered by water from a sea or lake. This sector is - inaccessible to overland troops, but provides easy travel - for naval or flying units. - - valley [`v', +1, +1] -- The ruggedness of this terrain has caused - the contour of the land to be shaped such that passage must - take place through a valley area. This provides ideal land - for ambushes and fortified defenses. Movement is only - slightly hindered in such terrain. - - flat [`-', +1, 0] -- A sector with the elevation of flat may be - considered generally level, and easy to move through, with - little in the way of offensive or defensive enhancement. - - hill [`%', 0, 0] -- The terrain of a sector consisting of hills - would provide only minor adjustments to both attack and de - fense, but would be of good benefit to fortified defenses in - such a region. The movement is only slightly affected by - this terrain. - - mountain [`^', -1, -1] -- Mountainous terrain is considered very - beneficial to both fortified structures and defensive posi - tions. But, such sectors are more difficult to move - through. - - peak [`#', -2, -2] -- Sectors consisting of mountain peaks are - easily accessible only to flying troops, and then just for - passing through. It is unlikely that a flying unit could - survive landing upon such harsh terrain. - - Again, motion through sectors is governed by both vegetation and - elevation. [For more information, see Movement] - -Tradegoods - - Within many, if not most, of the sectors of the world, there ex - ists a single "special" trait of the sector which can make the - sector even more powerful to a productive nation. These - "traits", or tradegoods, provide the sector with a potential for - harvesting rare minerals, growing rare fruits, or even for the - finding of magical artifacts. - - There are a number of different classes of tradegoods, which each - class providing a different method of harvesting the tradegood, - as well as a different result for having such a tradegood har - vested. - - The various tradegood classes, and the method of using the trade - goods within the class are: - - None -- This class is an indication that no tradegoods are within - the sector. - - Popularity -- These goods are harvested by farms cultivating the - crops, or in some cases, by just having civilians in the - sector. Such materials increase the popularity of the na - tional government. - - Communications -- Building a supply center of at least the indi - cated level provides the nation with the ability to make use - of the communication method within the sector. Such methods - improve the communication range of both the supply center - and the nation. - - Fishing -- Building a fishing "Farm" within the sector gives the - nation the ability to harvest fish from nearby water sec - tors. Thus, fishing provides increased food production for - the sector. - - Farming -- The tools necessary to increase farming production are - available within the sector. They provide added food pro - duction potential and increase the farming ability of the - nation. - - Spoilrate -- Building a supply center within a sector with a - tradegood of this class decreases the rate at which food - will spoil within that sector. - - Lumber -- A sector with added wood potential may be harvested us - ing lumberyards. - - Knowledge -- Towns and Cities with such tradegoods add to the - wealth of knowledge in the nation. - - Eat Rate -- Farm sectors can be used to harvest such valuable ed - ibles. Increasing the energy value of the food intact de - creases the volume of food the nation needs to consume. - - Health -- Shrines and the priests within the shrines understand - how to make use of the herbs for the good of the nation. - Using such tradegoods increases the health of the nation - population. - - Terror -- Cities with such items increase the terror and fear the - populace feels towards their government. - - Magical -- Shrines built around such magical items increase the - spell casting ability of the nation. - - Metals -- Metal mines are used to gather such raw resources and - provide metal ore for the nation. - - Jewels -- Jewel mines dig the valuable minerals from the earth, - providing jewels for the nation. - - A minimum number of civilians must occupy a sector for the trade - good to be "harvested", and sometimes conditions must be met be - fore a tradegood is visible to a nation. The next section lists - the tradegoods grouped by type. [For more information, see Eco - nomics] - -The Individual Tradegoods - - Popularity: furs, wool, cloth, beer, wine, cannabis, poppy. - - Cummunications: mules, horses, pigeons, griffons. - - Fishing: pike, crayfish, crab, salmon, trout, shrip, lobster, flounder. - - Eat Rate: barley, peas, wheat, dairy, rice, corn, sugar, fruit, honey. - - Spoilrate: pottery, nails, salt, granite. - - Lumber: bamboo, pine, oak, redwood, mahogany. - - Knowledge: papyrus, drama, math, library, literature, law, philosophy. - - Farming: oxen, yeoman, mulch, irrigation, rotation, plows, manure. - - Health: sassafras, sulfa, poppy, foxglove, kannabis, bread mold, - parsley, sage, rosemary, thyme, wolfsbane. - - Terror: prison, curfews, torture, gallows, dungeon, pogrom. - - Magical: icons, scrolls, altars, potions, mirrors, scepter, tomes, - orbs, rings, staves, crystals. - - Metals: nickel, copper, lead, tin, bronze, iron, bauxite, steel, - titanium, mithral, iridium, adamantine. - - Jewels: quartz, jade, turquoise, marble, sapphires, garnet, emeralds, - corundum, silver, tourmaline, gold, opals, rubies, diamonds, platnum. - - An even more detail listing of the tradegood values, workers - needed, and rarity of the various tradegoods is available in the - online documentation. [For more information, see Tradegoods] - -What are designations? - - Once a nation owns a sector, that nation may use it to produce - various goods and resources, or to construct fortifications, - bridges, or even canals. The terrain and vegetation of a sector - would be a key factor in deciding how each sector should be put - to use. When a use for a sector has been determined, that sector - is given a "designation" which will then indicate what the people - in the sector are to do for a living. - - In order to make the most use of a sector, there are two classes - of designations: major and minor. The major designations may be - thought of as the "dedicated use" for the sector; the minor des - ignations may be thought of as the secondary constructions placed - within the sector to contribute to the major function of the sec - tor. Some examples of major designations are: farms, mines, and - cities. Some examples of minor designations are: roads, gra - naries, and churches. - - It should be noted that the civilians of a nation will move in or - out of a sector based on what the major or minor designations - are. [After all, would you want to work in an iron mine?] - -The Major Designations - - As noted before, major designations may be thought of as the - "use" to which the sector is put. Including "none", there are - sixteen major designations: - - farm [`F'] -- A farm sector is dedicated to growing food, but is - only in the beginning stages of crop production. Farm sec - tors become fertile only during the transition between - spring and summer. - - fertile [`F'] -- A fertile sector is a farm sector whose crops - are starting to be productive. A fertile sector will become - fruitful when the summer changes to fall. - - fruitful [`F'] -- A fruitful farm sector is one whose crops are - available for harvest. Only fertile can become fruitful. - Once fall turns to winter, fruitful sectors will revert to - farms. - - metal mine [`m'] -- Metals such as iron and bronze are dug from - the ground in metal mines. Only sectors containing discov - ered metal deposits may become metal mines. - - jewel mine [`$'] -- A jewel mine is much like a metal mine, but - the deposits to be mined are precious metals and gems, not - metals. - - lumberyard [`:'] -- The last production designation is the lum - beryard. This sector supplies wood to neighboring sectors. - - shrine [`@'] -- A shrine sector can be a focus for magical ener - gy. National spell casting powers will increase if shrines - posses magical tradegoods. Resting leaders in shrines in - creases recuperative powers and spell casting from within a - shrine is much easier than elsewhere. - - bridge [`['] -- A bridge sector is useful to get troops over a - water sector which is separating two land sectors. - - canal [`='] -- A canal sector is used to create a waterway be - tween two land separated water sectors. - - wall [`|'] -- Walls were one of the great achievements of the Ro - mans. Such sectors provide added defense and prevent move - ment of enemy troops unless they come through unimpeded. - - cache [`&'] -- A sector with this designation acts as nothing - more than a storage site for materials. Due to the nature - of the cache, it is not visible to other nations, acting as - a hidden depot. - - stockade [`s'] -- Stockades can hold various resources, as well - as increase the defense of troops garrisoned within. They - are, however, not among the most congenial of accommoda - tions, and are usually only placed in sectors which cannot - adequately support civilians. - - towns [`t'] -- A town sector makes a good living location for - both civilians and soldiers. While not quite possessing the - size or capabilities of a full city, it does provide for its - own defenses. - - cities [`c'] -- City sectors can become the backbone of your na - tion, distributing resources to many neighboring sectors. - Defensive potential is excellent. - - capital [`C'] -- A capital is the headquarters of a nation's gov - ernment. A nation without a designated capital can become - unfocused and may be susceptible to unrest. - - Economic stability depends upon good selection of designations. - [For more information, see Economics] - -The Cost of Designations - - In order to actually construct the designations for a sector, - each nation must spend a certain amount of raw materials depend - ing on which designation is being built and what constructions - are already within the sector. It is important to note that the - raw materials must be available in a nearby supply center. Oth - erwise, the materials must be carried into the sector via ships - or wagons. - - The base expenditures needed for each designation type is as fol - lows: - - Sector Designation wood metals talons - ---------------------- -------- -------- -------- - None 0 0 500 - Farm 0 0 1000 - Metal Mine 100 200 3000 - Jewel Mine 100 200 3000 - Lumberyard 50 200 2000 - Shrine + 150 500 5000 - Bridge 15000 3000 50000 - Canal 7500 4000 40000 - Wall 10000 5000 35000 - Cache * 1000 2000 2000 - Stockade * 10000 1000 10000 - Town * 10000 10000 10000 - City ** 5000 50000 20000 - Capital * 1000 5000 150000 - - * - this designation takes one month to construct - ** - this designation takes three months to construct - + - 1000 jewels are also needed to build a shrine - - Sectors may not be designated as Fertile or Fruitful, so - there is no listing for either of these sector types. - - It might be noted that with the construction of a city, most of - the construction costs deal with the building up of the fortifi - cations to more solid metal constructions, and the added expense - of increased city government. With the Capital, almost all of - the expenses are for the relocation of the national government. - -Designation Support Costs - - It would be nice if sectors, once built did not need any upkeep - in order to survive, but in life things are never so easy. So, - each turn, some raw materials will have to be allocated towards - upkeep. The amount of the needed upkeep is greatly affected by - the type of designation within the sector. - - The chart below indicates the cost per turn for each designation - type in metals, wood, and talons. Also listed is the construc - tion multiplier, which indicates how many times the normal price - a minor designation (see the next section) will cost for that - particular designation. - - Sector Designation wood metals talons Mult - ---------------------- -------- -------- -------- ------ - None 0 0 0 1 - Farm 0 0 20 1 - Fertile 0 0 20 1 - Fruitful 0 0 20 1 - Metal Mine 5 10 60 1 - Jewel Mine 5 10 60 1 - Lumberyard 5 8 30 1 - Shrine + 10 40 50 1 - Bridge 50 50 1000 3 - Canal 200 60 1500 2 - Wall 100 100 1000 2 - Cache 0 0 0 1 - Stockade 200 100 3000 3 - Town 200 20 1000 5 - City 200 50 3000 8 - Capital 220 60 3500 8 - - + = 10 jewels are also needed to support shrines - - In addition to all of the above support costs, there is also the - matter of food. For every person in a sector there must be at - approximately 1 food unit per person per turn, or starvation will - begin. Of course, as the food supply varies, the population will - tend to consume more or less than just 1 food unit per month - each, as indicated by the "eat rate" of the nation. - -Minor Designations - - As with the real world, there are often many traits to an area of - land which can be common even among land used for the most di - verse of purposes. Thus, I have made it possible for sectors to - have traits which are a property of the sector, but not a desig - nation. Since many of these traits actually were full fledged - designations in prior versions of conquer, I call them "minor - designations", or constructions. - - Most of the minor designations are able to be built by the nation - itself using the command "construct". But, some, such as "devas - tated", "sieged", and "for sale" are the results of battles tak - ing place, or other events causing the trait to be present within - that sector. The full list and description of the minor designa - tions are: - - devastated -- Damage to the land and buildings on the sector has - caused it to be greatly reduced in production ability and - use. A sector with such a trait has only a quarter of the - productivity of a normal sector of the same class. The - civilians also find it extremely less attractive to live in. - - for sale -- If the sector has been placed on the trading block, - it is indicated by the possession of this trait. - - sieged -- When enemy armies have encamped their armies around the - town or fortress within the sector, and they have success - fully implemented their blockade, this trait will be visi - ble. Troops are stuck within the fortifications, civilians - and materials will not be allowed to move either into or out - of the sector, and if the sector is a water sector, enemy - ships will be unable to enter the sector. - - trading post -- A site for the exchanging of materials, a trading - post is also conducive to business and productivity within - the sector. - - roads -- A sector with roads within it is much easier for mili - tary units to move through. As a matter of fact, the move - ment is twice as easy with roads as without. - - blacksmith -- In a society geared around the use of metals, a - town blacksmith can prove of great benefit. When a sector - possesses such an able body, metal production can be in - creased and actual consumption decreased. - - university -- The scholarly pursuits often lead to the enhance - ment of the knowledge in a nation. - - church -- The backbone of many cultures, religion serves to in - crease the productivity of the masses. - - mill -- A site for processing grain, a mill will increase the - productivity of farms and extend the usefulness of the grain - itself. - - granary -- Used to store grain to reduce spoilage and to provide - food for the winter months. - - fortified -- As much of the world revolves around the use of - force, protecting territory is often necessary for survival. - Even the scattered farms can have some form of rudimentary - protection in place to protect soldiers and citizens alike. - - harbor -- With naval power being of great interest to many coun - tries, having a harbor in a town or city will allow fleets - easier landing, as well as providing less of a hassle when - loading and unloading goods. - -The Costs of Construction - - While it would be nice if things were free in this world, there - is usually a price for everything. And, the minor designations - are no exception to the rule. The chart below shows the expenses - to build each minor designation. Note that this number is multi - plied by the "multiplier" of the major designation of the sector. - The added expense for the towns and cities is due to the size of - such constructions within the larger towns and cities. [Where a - farm might have only 1 or 2 blacksmiths, a city would have many - more.] - - Sector Designation wood metals talons - ---------------------- -------- -------- -------- - devastated 0 0 1000 - for sale 0 0 0 - sieged 0 0 0 - trading post 200 0 5000 - roads 1000 20 3000 - blacksmith 0 1000 2500 - university 300 0 2500 - church 200 10 3000 - mill 300 500 3000 - granary 100 50 2000 - fortified 1000 2000 5000 - harbor 1000 500 3000 - - And, of course, there are support expenses to worry about. Many - of these expenses are just administrative costs, but most are to - assure the upkeep of the facility. These expenses are also af - fected by the "multiplier". The list of minor designation sup - port costs is: - - Sector Designation wood metals talons - ---------------------- -------- -------- -------- - devastated 0 0 0 - for sale 0 0 0 - sieged 0 0 200 - trading post 1 1 1000 - roads 20 1 400 - blacksmith 0 200 400 - university 10 0 500 - church 10 0 300 - mill 50 25 200 - granary 10 3 200 - fortified 100 100 500 - harbor 100 25 100 - -The Use of Minor Designations - - The minor designations are generally of great benefit to a sec - tor, and the impact which the construction has is usually depen - dent on the major designation of the sector. To be most explic - it, if the sector is a supply center, the minor designations of - the sector will affect materials as they are stored in, or dis - tributed from the supply center. If the sector is not a supply - center, then the designation will affect materials as they are - produced. This distinction can prove crucial in helping to de - cide where and when to make constructions upon a sector. - - The two charts below give a description of what the minor desig - nations are useful for in each case: - - Construction Use within Non-Supply Centers - ---------------- ------------------------------------------------- - devastated productivity at 1/4, attractiveness at 1/8 normal - for sale no affect, a marker for a sale - sieged troops trapped, production down 80%, taxation down 20% - trading post productivity and taxability up by 5% - roads sector movement cost reduced by half - blacksmith increase metal production by 10% - university production and talon income up by 3% - church talon income down by 5%, production up by 10% - mill food production up by 10% - granary taxability up by 3%, food storage provides for winters - fortified provide a 10% combat bonus to garrisoned troops - harbor harbors should not be possible in non-supply centers - - Construction Use within Supply Centers - ---------------- ------------------------------------------------- - devastated productivity at 1/4, attractiveness at 1/8 normal - for sale a supply center should not be able to be sold - sieged troops trapped, no supplies go in or out - trading post provide a location for exchanging with other nations - roads decrease movement cost by 50% within sector - blacksmith decrease regional metal expenditures by 10% - university provide a site for the increase of knowledge - church provide a method of increasing population happiness - mill decrease regional food expenditures by 10% - granary decrease spoil rate of food within the supply center - fortified provide defensive cover for garrisoned troops - harbor provide site for construction and docking of navies diff --git a/gpl-release/Docs/Version.doc b/gpl-release/Docs/Version.doc deleted file mode 100644 index 913eb4a..0000000 --- a/gpl-release/Docs/Version.doc +++ /dev/null @@ -1,286 +0,0 @@ - -The History of Conquer - - Conquer was originally developed by Edward Barlow under the name - of "conquest". It was then renamed to "Conquer" to avoid a con - flict with a program which already used that name. - - Conquer has been posted to the USENET source group - "comp.sources.games" for a number of releases. With version 3 of - Conquer, Adam Bryant began pestering the author with bug fixes, - enhancements and other annoying questions. Ed felt it necessary - to show Adam how annoying people who send "bug fixes, enhance - ments, and questions" can be by asking him to take over the sup - port of Conquer with version 4.1. Adam, naive as he was, accept - ed. - - After releasing ten patches (or eleven depending on how you count - the last patch) for version 4, it was realized that a complete - rewrite would be needed to implement all of the features that - would be needed. So, version 5.x represents a complete, from - scratch, recoding of Conquer. A list of most of the enhancements - from version 4 to version 5 is provided at the end of this sec - tion as a reference for those familiar with the earlier version. - - The original work was done on an AT+T machine with attempts made - to keep it as portable as possible. Later releases and patches - were done on a BSD Unix Encore, and Suns, with the current - rewritten release being done almost entirely on Suns of various - shapes and sizes. Throughout the rewrite, effort was made to - conform to ANSI C standards while providing compatibility for as - many older compilers as possible. - -Giving Thanks - - Throughout the life of Conquer, there has always been a great - deal of help given by the members of the USENET community. With - out them, Conquer would probably have died a lonely death years - ago. Some people helped just by making marvelous suggestions - that no one had thought of before, and others have helped by - sending in patches and bug fixes based on their own hard work. - - While I would like to be able to thank every person who has ever - helped with Conquer, there are just too many who have played - parts to list them all. If I have missed someone whose work - should have deserved mention, and I am sure there are many, it is - only because of my poor memory and organizational skills. I hope - that anyone who is left out, will be please forgive me, and send - me a reminder to add them to the list. - - Just some of the people to whom Conquer is indebted: - - Jonathan Bayer Brian Bresnahan Dean Brooks Richard Caley - Andrew Collins Ken Dalka Paul Davison Robert Deroy - Bob Earl Don Fast Dave Flowers Martin Forrsen - Charles C. Fu Derick Hirasawa Richard Kennaway Ernest Kim - Tero Kivinen Kenneth Moyle Joe Nolet Joe E. Powell - Brian Rauchfuss Eugene Wang - - The players at all of the Conquer sites around the world. - - This list is very incomplete right now... please get in touch - with me if you think you should be added. - -List of Version 5.x Changes - - There are many adjustments which have been made to Conquer be - tween the release of Version 4.x and Version 5.x. In a way, Con - quer will be more difficult for those players familiar with the - earlier version, because they will expect to see the old Conquer - behavior. So, in order to allow people to become familiar with - the new version as quickly as possible, I am providing this sum - mary of changes and enhancements. - - == The world shape used by Conquer is no longer rectangular. It - is now that of a cylinder, where movement from left to right - is wrapped, while that from top to bottom is not. - - == During world creation, a hexagonal or a rectangular coordinate - system may be specified. - - == The numbering of the Y axis is reversed from version 4.x. So, - the value of Y now increases towards the north. - - == If the "relative coordinates" option is enabled, each nation - will have a central reference point (usually the national - Capital), upon which all other coordinate values will be - based. {Ex., the sector to the northeast of the reference - sector is [1][1] and that to the west is [-1][0].} - - == If the "check logins" option is enabled, only the owner of the - nation will be able to log into a nation, even if the pass - word is known. - - == The display system has been entirely reconfigured. Not only - can the display "zoom", but there are also four possible si - multaneous displays on the most detailed zoom setting, in - stead of the old method of having two display styles at all - times. - - == The world generator is greatly enhanced, producing worlds that - are much more realistic in land mass shaping. A new curses - interface has also been provided during world creation, - which contains many more global options. - - == The size of the world can be up to 256x256 in dimensions. If - desired, this limitation can be removed during compilation, - and a world of any size (within the scope of the platform on - which Conquer is running) can be specified. {Note that - changing this particular compilation option will make previ - ous world data structures incompatible}. - - == A new altitude of valley (v) has been added. - - == Sectors now contain major and minor designations. This means - that a sector has a specified main use, and the minor desig - nations indicate attributes of the sector. So, it is now - possible to have a town sector which has roads going through - it, and a blacksmith in residence. - - == A new raw material of "wood" has been added. This is used - mainly in the construction of ships and fortifications. - - == Raw materials are no longer gathered on a national basis. - They are now located in caches, stockades, towns, cities and - the Capital. This means that production and distribution of - resources will have to be handled on a city by city, region - by region basis. This also means that sieges will have a - greater effect, since a sector under siege will have to de - pend on the its own resources until the siege is broken. - - == Capturing of sectors now takes place only during updates. - This eliminates a number of "race conditions" which would - cause serious problems whenever two players tried to take - the same sector on the same turn. - - == The number of men needed to capture a sector is now determined - by the population of the sector being captured, not the pop - ulation of the nation doing the capturing. - - == Non-city sectors may now be captured if an overwhelming force - of troops is within the sector. For city sectors, all de - fenders must still be eliminated before a sector may be tak - en. - - == Caravans have been added. Caravans are used like navies, to - transport goods along the land. They are of minimal effec - tiveness in combat. - - == All of the data structures within Conquer are now dynamic in - nature. There is no limit on the number of armies, navies, - or caravans a nation may possess, but the cost for units now - includes a base surcharge for each unit. This means that - two army units of 75 men each are more expensive than one - army unit of the same type with 150 men. {This was done for - the sake of realism and out of a need to discourage an ex - cessive number of small units} - - == Monster units of the same type may now be grouped together. - Monsters still have a relative strength greater than that of - a normal soldier, but since that value is a constant, it - need not be stored in the strength data of every monster - unit. - - == Leader units now earn experience. The strength of a leader - will increase as time goes on, reflecting greater skill in - the leader. - - == Leaders may now be grouped under other leaders. - - == Scouting is no longer an accessible army status. Scouts and - spies must always be drafted. - - == Types of movement are now separate from statuses. The speed - of a unit may be any of Slow, Normal, March or Flight. - MARCH and FLIGHT have, therefore, been removed as statuses. - - == The status of AMBUSH has been added. - - == The magical enhancement of a troop is now separate from the - status of the unit. So, for example, a unit may now be in - magically enhanced garrison mode. - - == The status of a group leader indicates the status of the - group. This means that a group is no longer just an attack - force. - - == A unit Garrisoned in a wall sector may be moved to any neigh - boring wall sector once per turn. [This implements pa - trolling along a wall] - - == Navies (and caravans) now possess statuses. - - == There are now four ship types, each with a given purpose: - Barges (to carry carvans), Galleys (to carry civilians), - Warships (to carry army units), and Merchants (to carry raw - materials). - - == Combat between land and naval forces is now possible. - - == Extended commands (via the ESC-key in version 4.x) may now be - performed on navies and caravans as well as armies. - - == There are many more extended commands available. - - == The mail facility has been enhanced. - - == It is now possible to bind keys, including multiple key - strokes, to Conquer functions. - - == All of the display mode combinations may be reorganized by the - player. - - == The trading board has been removed; the new method of trading - requires the transportation of ships or caravans to the lo - cation of where trading takes place. [NOT IMPLEMENTED] - - == The production and budget screens have been rewritten and are - now geared around regional reports. - - == Spells are cast by the individual leader units, whose spell - casting ability is governed on an individual basis. == - There are specific leader types, known as spellcasters, - which should have most of the burden of the spell powers. - - == The new designation of "shrine" is used as a location for the - spell casting leaders to regain their magical strength for - spell casting. - - == The new designation of "wall" is used as a defensive position - to limit the movement of enemy troops. Patrols may move - along neighboring wall sectors, extending defensive lines. - - == Farms must now be cultivated in order to fully utilize the - production ability of the sector. A "farm" is designated - during the spring, becomes "fertile" during the summer, and - "fruitful" during the fall. An interruption of the cycle - causes less than optimal production during the summer and - fall seasons. {This means that sectors will have to be held - during the entire year, or captured unharmed, for the full - fall yield to be realized} - - == Army units may be upgraded to a better unit type for a reduced - cost. - - == Minor designations are used to determine the sector status. - The "devastated" minor designation indicates a sector has - been ruined, and its production will by 1/4 of normal. A - minor designation of "sieged" is used to indicate a sector - where enemy troops have successfully blockaded the sector - owner and allies. - - == Supply centers are able to give out and receive supplies from - sectors within a given range of sectors. This range is de - termined by the sector designation, seasonal conditionals, - national skills and other factors. Any sectors outside the - range of all supply centers must be supported using navies - or caravans or else the sector will be "unsupported", and - people will starve and the structures decay. - - == The new designation of "cache" has been added which provides a - place for storing items which is not visible to any nation - but the sector owner. - - == The main map display can be made to display more detailed in - formation about the current sector. Simply use the "toggle- - infomode" command to adjust how the display is used. - - == A full screen loading interface has been provided to allow - easier transfer of goods between supply centers, navies, and - caravans. - - == A configuration file, ".conqrc" has been provided to allow - easy customization of the Conquer environment. Customiza - tion commands are placed in this file and read in at start - up. Conquer can automatically generate a configuration file - for a player, through the use of the "store-settings" option - under the "conquer-options" command. - - == The Conquer god or demi-god may now disable user logins at - will. - - == Movement is now on a percentage scheme. All units start at - "100" and movement between sectors will deduct a certain - percentage of the movement ability from the unit. This - scheme is easier for most people to understand, and yet is - still basically the same as the other schemes. diff --git a/gpl-release/Docs/Warfare.doc b/gpl-release/Docs/Warfare.doc deleted file mode 100644 index 7fb85c6..0000000 --- a/gpl-release/Docs/Warfare.doc +++ /dev/null @@ -1,1127 +0,0 @@ - -Warfare in Conquer - - While the backbone of a nation in Conquer is its economy, the - survival and growth of the nation is even more dependent upon its - military. Because, sooner or later, a conflict involving the na - tion will develop and any losing side may be wiped out of exis - tence. Thus, it always comes down to the military skill of the - troops and leaders which will keep a nation alive. - - There are three basic military units within conquer: the armies, - the navies and the caravans. The navies and caravans provide - mostly a supporting role to the true military might of the - armies. The armies themselves are composed of many different - kinds of units, the three basic categories being: leaders, mon - sters, and normal units. - - Conflicts between units will occur when troops from two countries - are in the same sector (or neighboring sectors in some cases), - and the diplomatic status of one of the nations is aggressive - enough towards the other for any of its troops within the sector - to attack. - -Caravans - - Caravan units provide a land based method for relocating supplies - from one supply center to another. Much faster than a "chain" of - cities, caravans are able to visit a number of supply centers - each turn. - - A caravan consists of wagons grouped in sets of 10 with 3 men - acting as crew for each wagon, for a total of 30 men for a full - complement of wagons. The monthly supplies needed to support a - caravan consist of the food needed for the crew and a thousand - talons per each set of ten wagons. - - Each caravan can carry civilians and raw materials. Since all of - the items are grouped together on the same caravan, the amount of - space available for each item is governed by the items already - onboard as well as the size of the materials to be placed on the - caravans. For each set of wagons the storage capacity is: 50 - civilians, 50 thousand talons, 12.5 thousand jewels, 10 thousand - metals, 5 thousand food or 6.25 thousand wood. Each of these - maximums are obtainable if that material is the only item onboard - the caravan. - - The movement ability of the caravans is half of the movement po - tential of the nation as a whole (minimum value of 6), and can be - increased or decreased by the speed selection of the unit. - - The combat value of caravans is governed by the number of crew on - the caravan and the combat ability of the nation as a whole. Due - to the non-combat nature of caravans, they will usually have a - combat bonus penalty of 50. - -Naval Units - - Navies provide a method for relocating civilians, armies, cara - vans and materials over water sectors and through canals. A sup - ply network based on the use of navies can be the swiftest method - for getting materials to various portions of your nation. And - navies are just about the only method for getting military units - across larger bodies of water. - - Naval units (or fleets) are composed of four different classes of - ships: warships, galleys, merchants, and barges. Warships are - used to carry armies and to perform combat upon water sectors. - Galleys are used to transport civilians and also have some combat - ability. The merchant ships are designed mostly for carrying the - various raw materials across the water. Finally, the barges are - very weak combatwise, but are the only method available for car - rying caravan wagons over water sectors. - - Each ship class also comes in three different sizes: heavy, medi - um and light. The light ships possess one cargo hold, the medium - ships two and the heavy three. It is cheaper to construct the - larger ships, and they are better able to handle deeper ocean, - but their speed is not up to that other their smaller counter - parts. The speed of the entire fleet is that of the slowest mem - ber of the fleet. [For more information, see Movement] - - Each ship hold is supported by 100 men acting as crew. The sup - port cost for each ship hold is based on the ship type: Warships - need 1000 talons, Merchants need 1500 talons, Galleys need 1100 - talons and Barges need only 500 talons. In addition to this - funding, food will need to be provided for the crew. - - Each warship hold is able to carry 100 men; Each galley hold is - able to carry 100 people; Each barge hold is able to transport 20 - wagons; And, finally, each merchant hold is able to transport - twice the materials of 10 wagons: 100k talons, 25k jewels, 20k - metals, 10k food and 12.5k wood. - - Naval vessels are much better equipped for land combat than cara - vans, due to their fortified structure, but they are still vul - nerable to army units. On land, the default combat penalty for - navies is 25. On the ocean, however, most army troops are at - half effectiveness and thus can be susceptible to naval attack. - -Army Units - - The army unit forms the basis of military strength within Con - quer. They are the only units which may capture land and they - are also the only units which may prevent it from being captured. - There are three basic kinds of army units: leaders, monsters, - and normal soldiers. - - Leaders form the focus of national power. If a non-leader army - unit is out of communications range of all national leaders, that - unit will only possess half of its potential movement ability. - Other units are also able to "group" under leaders so that the - entire set of units might act as a whole. And finally, leaders - are the focal point for the nations magic abilities, as they are - the units through which spells are cast, with special spellcast - ing leaders being needed to use the most potent spells in the - game. [For more information, see Powers] - - Monsters are very powerful weapons because a single monster rep - resents many men in combat strength. Also, in combat, monsters - cannot be damaged but must be killed outright. The "damage" they - receive in combat merely indicates the percent chance of their - being killed. If they are not killed, they will be left totally - undamaged. When capturing land or being placed onboard a ship, - the "size" of the monster is used instead of the combat strength - to indicate their ability / volume. Monsters need to be paid in - jewels every month, or they will desert the nation, and possibly - turn and attack it in retaliation. - - Last, but not least, there is the normal soldier. They form the - backbone of the military, due to their land capturing ability and - variety of skills. There are soldier types ranging from Archers - to Zombies, including Catapults and Cavalry. Each type has dif - ferent strengths and weaknesses; some possess the ability of - flight and others are skilled at attacking enemy fortifications. - The support costs vary between the various types, but generally - each requires talons and food to be sustained. - - Anyway, the different army types are broken into a number of - classes, which organize similar types under the same category. - The next section describes these various army classes. - -Army Classes - - There are a number of different army classes. These classes in - dicate those troops which are considered to be similar in nature - and thus can sometimes be upgraded to better units within the - same class. The descriptions for all of the army classes is: - - Leaders -- Leaders are units who act as the guiding force for the - nation. They inspire their troops as well as guide them. - - Casters -- A special form of leader, these units serve a nation - through their magical abilities. - - Monsters -- Creatures whose allegiance is often based on greed, - such units are more deadly than many times their number in - normal soldiers. - - Normal -- Such soldiers are only distinguished by the skill of - their training and the quality of their weaponry. - - Scouts -- Soldiers whose sole purpose it is to roam beyond the - bounds of the national territory, such units increase the - amount of knowledge a nation possesses through their trav - els. - - Agents -- Civilians recruited from another nation's population to - provide information about that nation. To enlist such - units, you must attempt the enlistment in the supply centers - of a another nation. - - Mercs -- Soldiers for hire, these unit types have no allegiance - except towards money. Such units do not drain the metal or - recruit resources of a nation. The combat ability of these - troops is independent of the nation under which they serve. - - Cavalry -- Soldiers upon horseback, these unit types are the - swiftest land based units. Their horsebound nature makes - them less useful when attacking fortifications, but fright - ful when fighting in the open. - - Sailors -- Soldiers born and bread for the seas, these troops are - better suited to being aboard ships than any other. - - Orcish -- Orcish soldiers are trained in ways different from oth - er troops. Their inbred fear of their leaders and loathing - of their subordinates keeps them fighting among themselves - as well as against others. - - Archers -- Archers are troops trained in the use of the latest - technological advances: bows, arrows and possibly crossbows. - These troops are especially useful in garrisons and as de - fensive troops, but in some cases can make excellent attack - ing units. - - Unique -- There are some unit types which cannot be classified - with any other units. Most specialized troops belong to - this category. - -The Army Traits - - There are a number of skills which can be possessed by an army - unit, such as being able to fly or being among the undead. These - traits will usually indicate a special skill of the unit, and are - what really distinguish the various army types from each other. - The list of traits and descriptions of each is: - - Ruler -- This unit is not only a national leader, but the chief - among all of the leaders. Without a Ruler a nation will - lose focus and be unable to move most of their troops. - - Slippery -- Troops skilled in deception and observation, this - trait indicates that a unit of a small enough size will be - able to sneak by an enemy garrison without being stopped. - - Flight -- Some units are capable of self-generated flight. Such - units can travel over land and even water at a greater rate - than other units. - - Undead -- Undead units are frightful in combat, for they can take - the dead from the field and turn them into Zombies. Normal - undead soldiers can convert a single dead soldier per clash, - while undead monster units can convert as many as 1/7th of - their combat strength and undead leaders up to 1/5th of - their experience. - - Anti-Air -- Units with this trait are sometimes able to force en - emy aerial troops passing overhead down from the sky and on - to the ground. - - Ballistics -- Ballistic unit types are capable of launching pro - jectile weapons from their position towards their enemy, in - creasing their effectiveness in combat from fortified posi - tions. - - Beachhead -- Units with this trait are capable of disembarking - from naval craft without the guidance of a leader unit. - - Assault -- Only assault troops may disembark from a ship onto - territory owned by a non-Allied nation. - - Sight -- Skill at observation and intrigue enables units with - this trait to view more closely the sectors of another na - tion. - - Needmin -- Soldiers which must fight as a group will not have - their full combat effectiveness unless they possess the min - imum number of troops necessary to sustain their fighting - style. - - Damaging -- Some units are capable of inflicting damage upon ene - my fortifications while attacking them. If more than fifty - percent damage is inflicted upon the troops inside, the for - tifications might possibly be diminished. - - Arrowweak -- Some units are more susceptible to attack using bal - listic weapons than others. Such units will receive more - damage than normal if they face a substantial ballistic bar - rage. - - Payoff -- There are a number of units which must be paid when - they are discharged from service. Usually this is just - "hush money", but often it is the final payment for services - rendered. - - Coverbonus -- Specially designed units allow the increase of com - bat ability for the entire attacking or defending force. - For every 300 men in such a unit, 10-20% is added to the at - tack bonus of the units fighting by their side. - - Disb-Always -- This trait indicates a unit capable of being dis - banded in any sector, even one not owned by their nation. - - 1/2-Recruits -- A unit of this type is not a fully mobilized com - bat unit and as such can draw twice the number of volunteers - as a normal army type. Thus, they only use up half of the - recruiting pool available to the supply center. - - Trained -- This unit requires special training beyond the normal - combat training. This means that to upgrade a troop of sol - diers to this type of unit will cost more in training ex - penses. - - Fire -- A unit of type fire is impervious to fire attacks, and is - sometimes capable of making fire based attacks of its own. - - Water -- Borne of water, such a unit is capable of walking across - it without drowning. - - Earth -- A creature of the Earth, this being is capable of tun - neling through many earthen fortifications and even under - other constructions. - - Free-Support -- This trait indicates that a unit type is self- - sustaining and need not be given any supplies in order to - survive. - - Decays -- This trait indicates that the unit will slowly lose - combat effectiveness as time passes. - - Spellcaster -- This unit is capable of casting all of the spells - in a nations' magical arsenal. While normal leaders are on - ly able to use moral and healing spells. [For more informa - tion, see Powers] - - Fullcaster -- This unit is capable of weilding the full spell - casting might of a nation, otherwise a spellcasting unit - will achieve a maximum spell point level at half of the na - tional spell point value. [For more information, see Pow - ers] - - Remote-Enlist -- Some units may be drafted from the population of - enemy supply centers. To enlist them, a source of supplies - must be near enough to provide the bribery necessary to gain - the unit type. - - Sapper -- A sapper unit is a unit which is capable of increased - engineering skill, either in construction or destruction. - - Mapping -- Some units are able to record information onto the na - tional map, preserving a view of a sector, or perhaps making - notes about it. - - Nodraft -- Even if the unit becomes available to the nation - through magical requirments being met, it is still not pos - sible to draft the unit directly. Special circumstances - will be needed to bring the unit the realm of control of the - nation. - -Unit Information - - For every unit in the current sector, a description of the unit - will be shown. If there are multiple units within the sector, - you can page through them using the "pick-next" and "pick-previ - ous" commands. - - >army 205: 75 inf >Wzrd 1 x=251 p=10 - 2 m:45(>) st:Dfd m:0 sp:- st:Rsrv - - The above two descriptions are for army units. The one on the - left is for a normal infantry unit, while the one on the right - shows the national leader. The first line shows the unit id num - ber, the type of the unit, and the experience or strength of the - unit. Also, spellcasting units will have the number of spell - points left to the unit shown. The `>' will be replaced with an - other character if the unit is the currently selected unit. Usu - ally, a `*' will be used, but if a leader is a group leader a `+' - sign will be shown. The second line indicates the number of - months worth of supplies the unit possesses (if they need sup - plies), the percentage of unit movement ability left to the unit, - the speed of the unit, and the status of the unit. - - >navy 8 w4 m0 g0 b0 - 4 mv:90(<) st:Eng - - The above description is the similar entry for a naval unit. The - first line indicates the id number of the navy, and the number of - each ship class in the unit. The second line indicates the num - ber of months worth of supplies onboard, the movement potential - of the unit, the speed of the unit and the status of the unit. - As with the armies, a `*' or a `+' will replace the leading `>' - if it is the currently selected unit, with a `+' indicating that - the navy is carrying some cargo. - - >cvn 3 cw:30 wg:100 - 3 mv:50(<) st:Car - - Finally, an example description of a caravan unit is shown above. - The first line shows the id number of the caravan, the crew on - board the caravan and the number of wagons in the caravan. The - second line indicates the supplies, remaining movement potential, - speed and status of the unit. A `+' or `*' will also replace the - `>' if it is the currently selected unit, with a `+' indicating - that the caravan has cargo onboard. - - While using god mode, instead of a `+' or a `*' to indicate the - currently selected unit, the nation mark will be shown. This is - to distinguish the units belonging to different nations from each - other. - -Unit Efficiency - - The health, or efficiency, of every unit is taken into account as - an integral part of that unit. When spells are cast, the health - of the spellcaster is taken into account, both in figuring if the - unit may cast spells and if the unit has the strength to cast - specific spells. During combat, the combat bonus of the unit is - a direct reflection of the efficiency of the unit. And, after - the combat or due to starvation, the health of the unit will be - decreased due to the hardship involved. - - Thus, the "efficiency" of a unit, be it army, navy or caravan, is - a reflection of how healthy a unit is. For navies and caravans, - it is also an indication of how sturdy the physical materials of - the vessel are. This efficiency is shown under the military re - ports as part of the status of the unit and is indicated as a - percentage. - - For most units, the efficiency will range in value from 0% to - 100%, with 100% indicating a fully functional unit. Normal army - units, however, may have a variable maximum efficiency. This may - be lower than 100%, indicating inexperienced troops, or up to - 150%, indicating battle hardened veterans. The value of the max - imum efficiency of a unit, unlike the efficiency value, will not - be directly visible to your nation, since the "potential combat - efficiency" of a unit is an intangible thing. - -Unit Movement - - Each unit possess a certain amount of movement potential, gov - erned by the movement ability of the nation as a whole, as well - as the movement potential of the unit type involved. In addi - tion, the unit may adjust its speed in order to move at will. - When moving faster, you can move farther, but it is also more - dangerous to do so. - - There are four basic speeds available to a unit: not moving, - slow, medium, and fast. If the unit is not moving, the character - `-' is used to indicate the speed, while the characters `<', `=', - and `>' represent slow, medium, and fast, respectively. Units - garrisoned in wall sectors have the potential of relocating to - any adjacent wall sectors, so they have a speed indicator of `+' - if they are still able to move. - - Finally, there are a number of different methods for moving a - unit. Many units possess the ability of flight, which is indi - cated by a `F' character before the speed value, or by having the - speed enclosed in square brackets instead of parenthesis. Naval - units are able to move across water, but not on land and normal - caravans and armies just move between the land sectors, avoiding - water. Anyway, no matter what the method used in relocating the - unit between sectors, the command "move-unit" is used to begin - the relocation of the unit. [For more information, see Movement] - -Supplying Units - - As has been mentioned before, unless the campaign is configured - otherwise, each unit will need supplies in order to survive. If - the supplies run out, so do the troops. Most units (normal army - units, navies and caravans) will need talons and food, monster - units will need jewels and leader units (and some scouts) can ex - ist without supplies. - - During each update, all units will consume 1 month worth of sup - plies. If the unit is within range of supply centers and not un - der siege or within the water, the unit will automatically have - the consumed supplies replenished. Otherwise, the unit may only - receive replenishment from within the same sector. - - It is possible to manually supply a unit using the "region-com - mand" or "command-unit" functions. In order to increase sup - plies, the unit must be in land owned by your nation within range - of supply centers, or in a sector where supplies are kept. - - Currently, units are not able to live off of the land, so units - must be supplied, and supplies must come from their own nations - resources. [For more information, see Economics] - -Unit Statuses - - Each military unit may be assigned a task. This task can involve - guarding a fortified sector, attacking an enemy or even hiding in - ambush waiting for unwary enemy troops to approach. The status - of the unit indicates the task which it has been assigned, and - the list below shows all of the available statuses. An asterisk - (*) indicates a status where the unit is unable to move. - - Sortie* -- Launch a swift attack against enemy troops besieging a - sector. Only available to army units. - - Ambush* -- Hide out in the sector hoping to launch a surprise at - tack on enemy troops. Only available to army units. - - Attack -- The basic attacking mode. Not available to caravans. - - Engage* -- Keep your unit within a sector and attack any enemy - units approaching within one sector range. Not available to - caravans. - - Defend -- Have your unit patrol the terrain the sector but do not - initiate combat unless attacked. Only available to army - units. - - Garrison* -- Use a fortified position within the sector and gar - rison the sector. Only available to army units. - - Onboard* -- This status is given to a unit which is being carried - in the cargo hold of a navy. Not available to navy units. - - Siege* -- Lay siege to the fortified structure within the sector. - This would require odds of two to one or better against - troops within the fortification. Only available to army - units. - - Grouped -- Follow the actions of a given leader. The status of - the leader is used as the status of the unit. Only avail - able to army units. - - Sieged* -- This unit is trapped within the fortifications of the - sector by enemy besieging troops. - - Reserve* -- Keep troops back within the fortifications for later - use. Such troops may only be reached if any gaurding forti - fied troops receive 80% or more damage. Only available to - army units. - - Sweep -- Perform an attack against any enemy troops encountered, - but do not attempt to engage fortified troops. Only avail - able to army units. - - WorkCrew* -- A unit with this status is engaged in the building - of roads, bridges, canals or other constructions. Not - available to caravan units. - - Traded* -- A unit with this status has been placed up for sale by - its owner. - - Carry -- Any materials stored on the unit will not be available - for consumption by the national economy. Not available to - army units. - - Lure -- Do not attempt to avoid enemy attackers, thereby attempt - ing to draw off more of the attacking troops. Not available - to army units. - - Support -- Any materials stored on the unit will be made avail - able for distribution and comsumption in the national econo - my. The unit itself will only take from the goods for sup - plies if the supply level is at one month worth. Not avail - able to army units. - - Repair* -- The unit is undergoing repair and will not be able to - move until the next update. Not available to army units. - - Onbrd Sppt* -- This is equivalent to the Onboard status, but also - indicates that the caravan is on Support status. Only - available to caravan units. - - Self Sppt -- The unit is on Support status, and will also consume - what it is carrying when gathering its own supplies. This - is useful to maintain naval supply levels during long voy - ages. Not available to army units. - - OnbSelfSppt* -- This is equivalent to being Onboard while having - the Self Sppt status. - - Rover -- An army unit is assigned the task of looking for new - land to capture. If in an unowned sector, it will stay in - place, otherwise it will move to the sector with the great - est perceived potential within a one sector radius. This - status forms the backbone of NPC territorial acquisition and - is only available to army units. - -Capturing Sectors - - There are two ways to claim a sector for your nation: taking a - sector which no one one owns or taking a sector away from a na - tion who you are at war with. Only armies with the following - statuses may capture sectors: Attack, Engage, Siege, Sweep, or - Rover. Such army units can be made up of monsters, leaders or - normal soldiers, but the combined capturing ability of the units - must be at least 75 men for an attempt even to be made. - - The number of men needed to capture a sector is dependent upon - the number of opposing troops within the sector, as well as the - number of civilians within the sector. - - First, if the sector is fortified and there are any troops within - the fortifications, the sector cannot be captured. Thus, all of - the garrison of a sector must be eliminated before it may be cap - tured. - - Second, if there are any opposing troops within the sector, the - odds must be well in your favor (better than 7 to 1) for them not - to prevent the capturing of the land. Once these odds have been - reached, only a single soldier will be required to compensate for - every opposing soldier. - - Finally, you will need to subdue the population of the sector. - This will usually require about 10% of the population of the sec - tor in soldiers, depending on the sector designation and the race - of the troops. If the sector being captured is a capital, the - required percentage is tripled; if the sector is a city it is - doubled; for towns and stockades it is increased by 50% and other - fortified sectors have a 20% increase. A small racial adjustment - will then be made to the final percentage which will then be tak - en from the total of the capturing troops. - - So, if, after subduing the population and any opposing troops, - there are still 75 "men" leftover, the sector becomes yours. - -Results of Sector Capturing - - When a sector is taken from one nation by another, the civilians - within the sector are bound to suffer. Thus, if there is a popu - lation within the sector, a portion of those civilians will prob - ably be killed or captured. Also, the sector can be damaged just - by having the sector forcefully taken. - - Such damage will generally be reflected by farming sectors losing - their crops and the sector becoming devastated. In order to rec - tify such devastation, the "construct" command will have to be - used to "Undevastate" the sector. This will usually cost one - half of what it would take to build up the sector from scratch. - Alternatively, the designation may be changed to another type, - with the resulting conversion process removing any devastation. - -Combat - - Combat may take place when units from one nation encounter units - from another nation with whom they are at war. Only the statuses - of Sortie, Ambush, Attack or Sweep will cause a unit to initiate - combat. - - In combat, the troops of each nation are divided into up to five - separate forces of troops: Sweepers, Attackers, Defenders, For - tified and Protected. Combat is initiated by the Sweeping and - Attacking forces which advance through each successive wave of - the enemy forces until the attack is either repelled or has met - all of the enemy forces. The Sweeping forces will stop after en - countering any Defending forces, since they will avoid hurling - themselves against fortifications. - - Sweeping forces will attack opposing Sweeping, Attacking and De - fending forces in that order. If they are repelled by any of the - forces, they will not initiate attacks on of the other forces. - Attacking forces will attack Sweeping, Attacking, Defending, For - tified, and Protected forces, but must get through each in turn - and inflict at least 80% damage on Fortified troops before they - may reach the Protected troops. - - So, a conflict in a sector will be broken down into a number of - separate clashes. During each clash the number of soldiers per - side will be multiplied by average combat bonus of the soldiers - to determine the odds of the battle. A dice will be rolled - against each side to determine how much damage that side will - take, adjusted by the odds of the battle. - - For an even one-to-one battle, the dice roll, multiplied by twice - (once for each side) the "Average Combat Damage" and then divided - by 100 will give the actual combat damage which a side receives. - With uneven odds, the "Overmatch Adjustment" multiplied by the - odds will be added to the damage of the lesser side, and sub - tracted from the damage of the greater side. If any result is - less than the "Minimum Damage Limit", it will be limited to being - the roll multiplied by the "Minimum Damage Limit". All four of - these quantities may be configured by world dieties. [For more - information, see God Powers] - - A simplied summary of each clash is: Step 1) figure the odds. - Step 2) compute the damage based on even odds. Step 3) adjust the - damage for each side based on the odds. - -Figuring Combat Bonuses - - The key to determining the combat ability of a military unit is - its combat bonus, which is multiplied with the actual strength of - the unit to compute the military prowess of the unit. There are - a number of factors which come to play in figuring the combat - bonus of a unit: the terrain of the combat, the status of the - unit, the combat ability of the nation and the unit itself. - - Units begin with a base combat bonus of 100, and then have all of - the various adjustments added in. For navies on land, this usu - ally means a 25 point reduction. For caravans, a 50 point reduc - tion. The rest of the adjustments are then computed by adding in - the unit bonus, terrain bonus and national bonus. - - There are basically two situations for a unit in combat: a unit - is attacking, or it is not. If it is attacking, then it will - usually lose any bonuses associated with the terrain of the sec - tor, and all bonuses will be figured based on the offensive com - bat bonuses. Otherwise, it will receive the bonus associated - with the terrain of the sector, and all other bonuses will be - based on the defensive combat bonuses. If the unit is fortified, - it will also receive the bonuses associated with the fortifica - tions. - - The national combat bonus will also be added in. If the unit is - attacking the national attack bonus will be used, otherwise the - national defense bonus will be used. Of course, if the unit is a - mercenary unit, the mercenary combat bonuses will be used instead - of the national combat bonuses. - - Without a doubt, the most important factor for determining the - combat bonuses is the status and efficiency of the unit. The - status will determine if attacking or defending bonuses will be - used, if fortification bonuses are to be used, and it will also - determine any additional bonuses due to the status itself. The - efficiency of the unit comes into play once the combat bonus has - been completely calculated, acting as a multiplier. - - Any army unit which is grouped under a leader will receive a 10 - point increase due to moral improvements, and any army unit whose - leader is in the same sector sector, but not directly leading - them will receive a 5 point increase for the same reasons. - - The efficiency/health of the unit will be weighted against the - combat bonus; for every 2% of efficiency lost (or gained), 1% of - the combat bonus will be removed (or added). The sections which - follow will provide the exact numbers for each of the various - bonus calculations. - -Terrain Bonuses - - The actual terrain on which the battle takes place will have an - impact into the amount of bonus a defending unit receives in com - bat. So, the elevation and vegetation of the sector will deter - mine the defensive bonus for the sector. - - Any such bonuses associated with the elevations and vegetations - are: - - Mountain +40 Jungle +30 - Valley +30 Swamp +30 - Hill +20 Forest +20 - Wood +10 - - There are also magical bonuses for a sector, which will be gained - whether the unit is attacking or defending. The list of such - bonuses is: - - Amphibian +30 for Swamp or Jungle vegetation - Botany +5 for Forest vegetation or +2 for Wood - Dervish +20 for Desert or Ice vegetation - Destroyer +20 for Desert of Ice vegetation - Earth -10 for Water sectors, +20 for Mountains - Marines +20 for Water sectors - Sailor +10 for Water sectors - Druidism +20 for Forest vegetation or +10 for Wood - Water +5 for Swamp vegetation, +30 for Water sectors - -Status Bonuses - - The status of the unit is the greatest factor for determining the - combat bonus of that unit. First, it selects whether or not at - tack or defense bonuses will be used, and then it determines if - terrain and fortification bonuses are to be used. - - Thus, each status can have an enormous impact on the combat bonus - of the unit. The summary of status information is as follows: - - Status Bonus Notes about status... - ========= ======= ========================================== - Sortie +50 Attack; +50 bonus not against Sweepers. - Ambush +30 Attack; Gain terrain bonus if entrenched - Attack +20 Attack; Perform a normal attack - Engage +20 Attack; May attack others in 1 sector range - Defend +20 Defend, Terrain; - Garrison +30 Defend, Terrain, Fortification; - Onboard +30 Defend, Terrain; - Siege +20 Defend, Terrain; - Sieged -20 Defend, Terrain, Fortification; - Reserve +0 Defend, Terrain, Fortification, Protected; - Sweep +0 Attack; Avoid Fortifications - WorkCrew -40 Defend, Terrain; - Traded +0 Defend, Terrain, Fortification, Protected; - Carry +10 Defend, Terrain, Fortified, Protected; - Lure +20 Defend, Terrain, Fortified, Protected; Visible - Support +0 Defend, Terrain, Fortified, Protected; Supplying - Repair -30 Defend, Terrain, Fortified, Protected; Repairing - Onbrd Sppt +20 Defend, Terrain; Fortified, Protected; Supplying - Self Sppt +0 Defend, Terrain; Fortified, Protected; Supplying - OnbSelfSppt +20 Defend, Terrain; Fortified, Protected; Supplying - Rover +10 Attack; Automated Land Capture - - If naval units are in a land sector, they are considered to be on - defend, and protected by any fortifications if the sector is - owned or allied, and thus are classified as Protected. Caravan - units are treated much the same as naval units on land. They are - always on defend, and they are always treated as Protected. - -Inflicting the Damage - - When the damage for each side has been calculated, this damage - will then be inflicted upon all of the units in the sector. - Those units with a higher combat bonus than the average will re - ceive less damage, while those with a lower combat bonus will re - ceive more. This reflects the likelihood that better troops - would be less prone to damage than less capable ones. - - Once the damage appropriate for each unit has been determined, it - will be inflicted upon the unit. For normal soldiers, this indi - cates the number of percentage of soldiers in the unit which were - killed. With monsters and leaders, this indicates the percent - chance that a monster or leader will be killed; If it survives - that attempt, it will suffer no damage at all. - - For navies, the damage value indicates the chance for the ships - being destroyed and the crew onboard being killed. While, for - caravans, it indicates the percent of casualties in crew along - with the chance that the wagons will be destroyed. - - Anyway, the result of all this is that something or someone will - get hurt, it is just a matter of who and how badly. - -An Example Battle - - I will give a quick overview of an example battle, so that you - can better understand the results of your own fighting. - - balkar Attacking force meets lizard Defending force - Battle Odds = 2.1 to 1 - - Attacking balkar Army Merc_Hv_Cav 203; men=1500 (210%) [390 killed] - Attacking balkar Army Infantry 200; men=200 (120%) [92 killed] - Attacking balkar Hero 100; str=3x100 (120%) [2 killed] - balkar: Strength Level = 2000; Avg Bonus = 187.5% - balkar: Roll = 41; Avg Damage = 30%; Deaths = 484 - - Defending lizard Army Infantry 214; men=870 (200%) [522 killed] - lizard: Strength Level = 870; Avg Bonus = 200.0% - lizard: Roll = 49; Avg Damage = 60%; Deaths = 522 - - - balkar Attacking force meets lizard Fortified force - Battle Odds = 1 to 2.3 - - Attacking balkar Army Merc_Hv_Cav 203; men=1110 (210%) [765 killed] - Attacking balkar Army Infantry 200; men=108 (120%) [108 killed] - Attacking balkar Hero 100; str=1x100 (120%) [1 killed] - balkar: Strength Level = 1318; Avg Bonus = 195.8% - balkar: Roll = 62; Avg Damage = 75%; Deaths = 874 - - Fortified lizard Army Archers 215; men=1705 (350%) [664 killed] - lizard: Strength Level = 1705; Avg Bonus = 350.0% - lizard: Roll = 52; Avg Damage = 39%; Deaths = 664 - - In the above example, nation balkar has an Attacking force com - posed of 1500 Mercenary Heavy Cavalry, 500 Infantry and 3 Heroes - attacking a lizard fortification. The lizard forces consist of - 870 Infantry on defend and 1705 Archers on garrison. Notice how - the Mercenary troops have a much higher combat bonus than the - rest of the troops in the nation. This is mostly due to the fact - that balkar has lower combat bonuses than the Mercenary combat - bonuses. - - Even though the balkar Attacking force defeated the lizard De - fending force, balkar got unlucky and lost two Heroes when losing - only one was likely. It is important to note that in this clash, - even though the Attacking force had almost two and a half times - the troops, the odds were much less due to the lizards having a - higher average combat bonus. - - Finally, the attacking force was virtually destroyed when it ran - into the Fortified force within the lizard stockade. Not only - were the total number of troops greater, but the average combat - bonus was significantly higher. In this clash, the difference in - damage between the various components of the balkar force is - rather obvious, with the Infantry being totally decimated, and - the Mercs receiving only 69% damage. Overall, it looks as though - balkar should have avoided this conflict, given the greater - amount of damage which the forces of balkar took. It was defi - nitely tactical mistake to have the troops on attack instead of - sweep, since the fortified lizard troops would not have been en - countered otherwise. - -Recovering from Combat - - Often you will find your armies, navies or caravans limping - around damaged after a conflict or due to starvation. When this - happens you will have to take those units aside and heal or re - pair them. - - Armies may be repaired in two manners: they can be given lighter - Garrison or Reserve duty to slowly heal their wounds, or they can - be magically healed using the spellcasters of the nation. The - best form of physical rest is when a unit is on Reserve status in - a supply center, which amounts to a reduced garrison status. The - second best is that of Garrison. No matter what the unit status, - the season of the year, the sector vegetation and the sector ele - vation will affect the amount of healing a unit will receive. - - The magical healing will be a quick and immediate heal for the - unit, but the unit will not be able to receive the normal physi - cal recovery during the update. A unit may only be healed once - each month due to the magical strain. [For more information, see - Powers] - - Navies and caravans require that the ships and wagons composing - the units be repaired. It will take the same amount of materials - as needed in originally building the unit, multiplied with the - percent of damage which the unit has received. This rebuilding - will take a month worth of work, with the unit being immediately - set to Repair status and the not being able to move on the next - update. - -Laying Siege to a Sector - - When it is not possible to capture a sector swiftly and decisive - ly through an aggressive attack, it can be beneficial to cut that - sector off from any support it might receive from its owner and - allies. This can be done by placing the sector under siege using - your armed forces. - - To place a sector under siege, your besieging forces will need to - be double the number of forces which the owner of the sector has - within it. If this is not possible, then the sector will not be - under siege, and free motion and commerce will still be allowed - into and out of the sector. - - Once a sector is under siege, fortified troops within the sector - will be trapped inside the fortifications, and commerce with oth - er sectors will be halted. Any troops outside the sector will be - unable to retreat into the fortifications, and external troops - will be hard pressed to break the siege. Basically, access to - external help will be greatly diminished, and even Mercenary - units will be reluctant to help out. - -The command-unit Function - - The quickest method for setting unit statuses, speeds and sup - plies is to use the "command-unit" function. This function pro - vides access to a list of options which allows the manipulation - of the current army, navy or caravan unit. The list of possible - options will be displayed at the bottom of the screen, and all - valid options will be highlighted. To find out why an option is - unavailable, simply select it. - - These options, which may be thought of as "extended commands", - are usually composed of the lists of possible unit statuses, - speed selections, or unit manipulations. These extended commands - will be the most used method for assigning tasks to units, so - time should be spent learning all of them. - - The next few documentation sections will describe the various op - tions available for each of the army, navy and caravan types. - -The Army Unit Extended Commands - - The list of extended commands for armies is: - - (?) Info, (+) Combine, (M)erge, (-) Split, (/) Split 1/2, (U)ngroup, (G)roup, - (#) Renum, (<) Slow, (=) Norm, (>) Fast, (D)isband, (S)upply, (!) Adj Ldr, - (A)mbush, (a)ttack, (E)ngage, (d)efend, (g)arrison, (L)ay Siege, (R)eserve, - S(w)eep, Ro(v)er - - The first option, Info, will provide additional information about - the current unit. Things such as the unit strength, movement po - tential, efficiency and supply information will be shown in a - compact display at the bottom of the screen. Unit disbanding is - done through the Disband option, and the Supply option allows ad - justments to be made to the units supply level. If an individual - unit needs to be renumbered, the Renumber option may be used. To - renumber more than one unit at a time, the "auto-army-numbering" - function is available. - - There are options available to join two units of the same type - into a single unit. The Combine option will try to merge the - current unit and the unit following the current unit, while the - Merge option will ask for a unit to be joined to the current - unit. Separating units in two is done using the Split and Split - 1/2 options, with the first querying for number of troops to be - separated and the second assuming that an even division will be - made. - - Assigning or deassigning a unit to a group is possible using the - Group or Ungroup options. Once in a group, units will follow the - group leader and use the orders of the leader as their own. In - combat, grouped units will gain combat bonuses from the grouping, - so being grouped can have added advantages. While not grouped, - the commander of a unit may be selected using the Adjust Leader - option. This will come into play in a combat situation, where a - small bonus is given if the leader of a unit is within the same - sector. - - The remaining options show any assignable statuses. If the op - tion is highlighted, it is available to the current unit. Be - careful when launching a Sortie, though, since once started, the - unit cannot turn back from it. - -The Navy Unit Extended Commands - - The list of extended commands for navies is: - - (?) Info, (+) Combine, (M)erge, (-) Split Navy, (/) Separate Types, - (#) Renumber, (<) Slow, (=) Norm, (>) Fast, (D)isband, (S)upply, - (R)epair, (T)fer Cargo, (a)ttack, (E)ngage, (C)arry, (L)ure, Su(p)port, - Sel(f)Sppt - - As with the army extended commands, the Info option provides de - tailed status information about the current unit. The Combine - and Merge selections are exactly like those for the army extended - commands, as are the Disband, Supply, Renumber and various speed - selector options. The Split Navy option allows the separation of - unit, with selections made for each ship type and size. The Sep - arate Types option is available to quickly break fleets into the - various ship types, which is very convenient for when you need to - get the most speed out of your warships, galleys, or merchants - when they might be grouped with a slower type. - - The other options all pertain to the status of the fleet, and - deal with either support of units using supplies stored on the - fleet, or with the attack and defend status of the unit. Refer - to the list of unit statuses previously discussed in this section - of the documentation for more information. - -The Caravan Unit Extended Commands - - The list of extended commands for caravans is: - - (?) Info, (+) Combine, (M)erge, (-) Split Caravan, (/) Divide in Two, - (#) Renumber, (<) Slow, (=) Norm, (>) Fast, (D)isband, (S)upply, - (R)epair, (T)fer Cargo, (C)arry, (L)ure, Su(p)port, Sel(f)Sppt - - Once again, the Info, Combine, Merge, Renumber, Disband, Supply - and speed selection options are much like those in the army and - navy extended command sets. Simply select the option to perform - the desired command. The Split Caravan and Divide in Two options - behave much like the division options in the army extended com - mand list, but the caravans may only be separated into sets of 10 - wagons, somewhat limiting the flexibility of unit resizing. - - The remaining status options most closely resemble those avail - able for the navy extended commands. Simply select a new status - to have the caravan follow new orders. - -The Complete List of Army Types: - - Army Type Class Values Atk Dfd Move Traits Enlist Supply Rqrmnts - =========== ======= ======== === === ==== ======== ========== ====== ========= - King Leader 100 +30 +30 2.0x FR -- -- -- - Baron Leader 50 +20 +20 2.0x F -- -- -- - Emperor Leader 100 +30 +30 2.0x FR -- -- -- - Prince Leader 50 +20 +20 2.0x F -- -- -- - Wizard Leader 250 +30 +30 2.0x FFcRSc -- -- -- - Mage Leader 50 +20 +20 2.0x FSc -- -- -- - Pope Leader 100 +30 +30 2.0x RF -- -- -- - Cardinal Leader 50 +20 +20 2.0x F -- -- -- - Admiral Leader 100 +30 +30 2.0x FR -- -- -- - Captain Leader 50 +20 +20 2.0x F -- -- -- - Warlord Leader 250 +35 +35 2.0x FR -- -- -- - Lord Leader 125 +30 +30 2.0x F -- -- -- - Demon Leader 250 +50 +50 2.0x FR -- -- -- - Devil Leader 75 +20 +20 2.0x F -- -- -- - Dragyn Leader 500 +50 +50 2.0x FR -- -- -- - Wyrm Leader 100 +40 +40 2.0x F -- -- -- - Shadow Leader 250 +50 +50 2.0x FRU -- -- -- - Nazgul Leader 125 +40 +40 2.0x FU -- -- -- - Sorcerer Caster 100 +10 +10 1.0x FFcSc -- -- -- - Magician Caster 50 +0 +0 1.0x Sc -- -- -- - Spirit Monster 50/15 +0 +0 1.0x Fl 1800J,1p 1000J - Assassin Monster 50/25 +20 +20 1.0x SiSl 1400J,2p 1000J Ninja - Efreet Monster 50/20 +10 +10 1.5x Fl 1200J,2p 800J Air - Gargoyle Monster 75/17 +10 +10 1.0x Fl 2000J,2p 1150J Orc - Wraith Monster 75/25 +10 +10 1.0x U 2000J,3p 1300J VampVoid - Hero Monster 100/30 +0 +0 1.0x 1600J,3p 800J Warrior - Centaur Monster 75/25 +10 +10 1.5x 1700J,3p 800J Equine - Lich Monster 100/30 +0 +0 1.0x FcNoScU -- 1200J Vampire - Giant Monster 150/50 +0 +0 1.0x D 2500J,5p 2100J - SuperHero Monster 150/50 +15 +15 1.0x 2600J,5p 1200J Captain+ - Mummy Monster 150/40 +15 +15 1.0x U 2300J,5p 1600J Vampire - Earthmental Monster 175/60 +5 +5 1.5x DE 2500J,6p 2000J Earth - Minotaur Monster 150/50 +20 +20 1.0x 2500J,8p 1800J Wyzard - Daemon Monster 500/130 +50 +50 1.0x 10000J,10p 6000J OrcSorc+ - Balrog Monster 500/150 +40 +40 1.5x FlFi 12000J,12p 6000J OgrFirSrc - Dragon Monster 1000/300 +50 +50 2.0x DFlFiSc 20000J,15p 10000J DrgSrc+ - Militia Normal 0.5 -40 -25 0.0x H 50T 20T - Goblins Orcish 0.8 -15 -15 1.0x 70T,80M 20T Orc - Orcs Orcish 1.0 +0 +0 1.0x 85T,80M 50T Orc - Infantry Normal 1.0 +0 +0 1.0x 100T,100M 50T - Sailors Sailors 1.0 +0 +0 0.0x B 100T,100M 50T - Marines Sailors 1.1 +5 +0 0.0x AB 100T,100M 50T Sailor - Assault Sailors 1.2 +10 +5 0.5x AB 125T,120M 60T Marine+ - Archers Archers 1.1 +0 +10 1.0x AaBa 100T,100M 50T Archery - Uruk-Hai Orcish 1.0 +5 +5 1.0x 125T,150M 50T Ogre+ - Ninjas Normal 1.0 +20 +0 1.0x SiSlT 125T,150M 50T Ninja - Longbowmen Archers 1.1 +5 +15 1.0x AaBa 150T,150M 65T ArchWarr - Phalanx Normal 500|1.1 +10 +10 1.0x N 150T,150M 60T Captain+ - Bow_Phalanx Archers 500|1.1 +20 +20 1.0x AaBaN 170T,160M 80T ArchCapt+ - Olog-Hai Orcish 1.1 +15 +15 1.0x 180T,150M 75T DrgBreed+ - Legionaries Normal 1000|1.1 +20 +20 1.0x N 180T,150M 80T Warlord+ - Dragoons Cavalry 1.1 +10 +10 1.5x 200T,100M 150T ArchWrld+ - Full_Bowmen Archers 1000|1.2 +30 +30 1.0x AaBaN 200T,160M 110T ArchWrld+ - Crossbows Archers 1.2 +40 +0 1.0x AaBa 200T,200M 130T - Mercenaries Merc 1.0 +0 +0 1.0x DaP 225T 100T - Merc_Arch Merc 1.0 +0 +10 1.0x AaBaDaP 250T 110T - Merc_Asslt Merc 1.0 +10 +5 0.5x ABDaP 275T 120T - Merc_Drag Merc 1.1 +10 +10 1.5x DaP 300T 160T - Merc_Lt_Cav Merc 1.1 +20 +20 2.0x DaP 350T 200T - Merc_Hv_Cav Merc 1.2 +30 +30 1.8x DaP 500T 275T - Merc_Rocs Merc 1.2 +20 +30 1.0x AwDaFlP 750T 400T - Trolls Unique 1.3 +25 +15 1.0x 225T,200M 100T DrgnWyzd+ - Elite Normal 1.3 +20 +20 1.3x 225T,200M 100T Armor - Hvy_Bowmen Archers 2000|1.3 +40 +30 1.0x AaBaN 240T,225M 120T ArcArmWd+ - Lt_Cavalry Cavalry 1.3 +20 +20 2.0x 300T,100M 175T EqneWarr - Hv_Cavalry Cavalry 1.4 +30 +30 1.8x 450T,300M 225T EqneCapt+ - Catapults Unique (500)1.6 -20 -20 0.5x BaCD 600T,800M 250T - Siege_Engs Unique (400)1.8 -20 -20 0.5x CD 600T,800M 250T - Rocs Unique 1.3 +20 +30 1.0x AwFl 600T,300M 250T AvianWarr - Knights Cavalry 1.5 +40 +40 2.0x Aw 600T,600M 250T EqArmCpt+ - Griffons Unique 1.5 +40 +50 1.5x AwFl 800T,400M 250T AvnWlord+ - Elephants Unique 2.0 +50 +50 0.5x D 600T,600M 250T Dervish - Ghosts Unique 0.2 -55 -55 0.5x DaFNoU -- -- Vampire - Skeletons Unique 0.6 -35 -35 0.5x DaDyFNoU -- -- Vampire - Zombies Unique 0.8 -25 -25 0.5x DaDyFU 100T,100M -- Vampire - Scout Scout 0 -30 -30 1.0x DaFSl 100T,100M -- - Spy Scout 0 -30 -30 1.0x DaSiSlT 10000T 2000T - Cvlry Scout Scout 0 -15 -15 2.0x DaFSl 1000T,150M -- Equine - Wingd Scout Scout 0 +0 +0 2.0x DaFFlSl 1500T,200M -- Avian - Mounted Spy Scout 0 -20 -20 2.0x DaSiSlT 15000T 3000T Equine - Winged Spy Scout 0 -10 -10 2.0x DaFlSiSlT 20000T 4000T Avian - Informant Agent 0 -30 -30 0.5x DaPReSl 6000T 2000T - Agent Agent 0 -30 -30 0.5x DaPReSiSlT 60000T 30000T - Surveyor Scout 75 -30 -30 0.4x MSiSlT 10000T 5000T - - Unless noted below, the Value represents how much a single soldier - of the given unit is worth when capturing a sector. - - Leader and Caster class units have starting experience values shown - and are only worth 1 man each when capturing a sector. - - A/B ::: Combat value A and capture value B of monster units. - - A|B ::: For Needmin units, A indicates men required before a - the appropriate combat bonus is given to the unit. - - (A)B ::: A indicates the men needed to obtain a +20 combat bonus - to any allied troops within the combat. - - The list of traits is: Assault=A, Anti-Air=Aa, Arrowweak=Aw, - Beachhead=B, Ballistics=Ba, Coverbonus=C, Damaging=D, - Disband-Anywhere=Da, Decay=Dy, Earth=E, Free-Supplies=F, - Fullcaster=Fc, Fire=Fi, Flight=Fl, Half-Recruits=H, - Mapping=M, Needmin=N, Nodraft=No, Payoff=P, Ruler=R, - Remote-Enlist=Re, Sapper=Sa, Spellcaster=Sc, Sight=Si, - Slippery=Sl, Ruler=R, Training=T, Undead=U. diff --git a/gpl-release/Docs/Xchanges.doc b/gpl-release/Docs/Xchanges.doc deleted file mode 100644 index 197b023..0000000 --- a/gpl-release/Docs/Xchanges.doc +++ /dev/null @@ -1,313 +0,0 @@ - -Mail Messages - - Discussions and negotiations play a crucial role in the develop - ment of national diplomacy. Often, it is communication between - players that forms or dismantles treaties and alliances. Double - dealing and straight forward honesty must be carefully balanced - when dealing with other players, or they will be able to deter - mine exactly what you are up to. - - To enable communication between players, there is the electronic - mail system. Using this system, nations will receive mail mes - sages reporting concerning economic statuses, combat reports, and - communications from other countries. There are two commands pro - viding direct access to the mail system. The "read-mail" func - tion is used to read and respond to any mail which you have re - ceived, and the "mail-nation" function is available to send mail - to other nations. - - To help your nation determine when any new mail has arrived, a - small message saying "You have Conquer Mail" will be displayed if - Conquer detects that there is any mail which has not yet been - read. A similar message will be displayed if the newspaper has - not yet been read or, on some machines, if there is some real - electronic mail waiting to be read. It is possible to control - the behavior of the last operation using the "mail-check" setting - in the "conquer-options" function. [For more information, see - Functions] - -Reading Mail - - The mail reader provided with Conquer is similar to that found in - normal Unix mail systems. There is a summary listing, as well as - a full screen display of the current mail message. It is possi - ble to select which of these two modes are used upon startup by - setting the "header-mode" option within the "conquer-options" - function. [For more information, see Functions] - - The mail reader has its own set of keybindings and functions: - - conquer-options (`O') -- Adjust the Conquer environment by - changing various options. Use this function to adjust key - bindings for the mode. [For more information, see Func - tions] - - reader-backward (`b') -- Scroll the current message backward one - page. - - reader-bottom (`>') -- Shift the view to the bottom of the cur - rent message. This can be especially useful for viewing the - summary at the bottom of the economic reports. - - reader-delete (`D') -- Mark the current mail message for dele - tion. The deletion will not actually take place until the - "reader-purge" or the "reader-exit" functions have been - used. - - reader-delete-all (`C') -- Mark all messages for deletion. Actu - al deletion will take place when either the "reader-purge" - or the "reader-exit" function has been used. - - reader-delete-and-next (`d') -- Mark the current message for - deletion and go to the next undeleted message. The message - will then be removed whenever the "reader-exit" or "reader- - purge" functions are used. - - reader-delete-and-previous (`^D') -- Mark the current message for - deletion and find the closest previous undeleted message. - Permanent deletion will only take place when a purge is - done. - - reader-delete-read-mail (`c') -- Mark all previously read mail - for deletion. The messages will only be removed after the - "reader-purge" or the "reader-exit" functions have been - used. - - reader-down-one (`^J',`^M') -- Move the current message forward - one line. - - reader-exit (`q') -- Purge any mail marked for deletion, and exit - the mail reader. - - reader-forward (`b') -- Scroll the current mail message forward - one page. - - reader-goto (`G',`g') -- Go to a specified mail message. - - reader-help (`?') -- Display the list of mail reader functions - and keybindings. - - reader-mail (`M',`m') -- Send a mail message to another nation. - This is equivalent to using the "mail-nation" function de - scribed later. - - reader-mail-forward (`f') -- Send a copy of, or "forward", the - current message to another nation. This will enter the - mail-editor with the mail message already written as part of - the message. - - reader-mail-reply (`r') -- Send a reply to the nation who sent - the current mail message. The subject line and address will - already be properly formatted. - - reader-next (`^N',DOWN-ARROW,`J',`N') -- Move to the next mail - message, regardless of the status of the next message. - - reader-next-undeleted (`j',`n') -- Move to the next undeleted - mail message. - - reader-previous (`^P',UP-ARROW,`K',`P') -- Move to the previous - mail message, regardless of the status of the previous mes - sage. - - reader-previous-undeleted (`k',`p') -- Move to the previous un - deleted mail message. - - reader-purge (`x') -- Permanently remove any mail messages which - are marked for deletion. - - reader-quit (`Q') -- Exit the mail reader, leaving any mail - marked for deletion intact. - - reader-quoted-forward (`F') -- Forward the current message, quot - ed, to another nation. Quoting means that the mail message - will have each line preceded by a sequence of characters in - dicating that it has been forwarded. This function is very - useful for composing a message based on mail which was re - ceived from another nation. - - reader-quoted-reply (`R') -- Send a reply to the sender of the - current mail message and include the original message text - within the mail message. - - reader-toggle (`H',`h') -- Toggle between header, or summary - mode, and the full screen message mode. - - reader-top (`<') -- Shift the view of the current mail message to - the top of the current mail message. - - reader-undelete (`u') -- Remove a deletion marker from the cur - rent message, or the nearest previous mail message marked - for deletion. - - reader-unread (`U') -- Remove the indicator which shows that a - mail message has already been read. If the current mail - message has no such marker, the nearest previous mail mes - sage with one will have it removed. - - reader-up-one (`^H',DEL) -- Move the current message backward one - line. - - redraw-screen (`^L',`^R') -- Clear the screen and redisplay the - information. - - ignore-key (`^B',`^F',LEFT-ARROW,RIGHT-ARROW) -- Ignore these - keys when used. - -Sending Mail - - Getting into the mail editor is done through using either the - "mail-nation" function, or through the reply, mail or forward op - tions within the mail reader. Once the mail editor has been en - tered, there are a number of commands and options available to - help compose a mail message. - - The editor screen will look something like: - -To: -Subject: - - - - Conquer Version 5.0: Mail Editor Hit "ESC-?" for Bindings -------------------------------------------------------------------------------- -Enter a nation, "god" (to mail deity), or "news" (to send a personal) - - The first line will contain the list of nations to which the mail - message is being sent. Typing in a nation name on that line will - add it to the list of nations who will receive the message. It - is not possible for two messages to be sent to the same nation at - the same time, so you might receive an error message indicating - that some other nation is already sending mail to that nation. - If you should, waiting a few minutes for the other player to fin - ish will take care of the problem. - - The second line is called the subject line, and is used to indi - cate a summary or topic for the mail message. A subject may only - be one line long, so a short phrase is best. If no subject is - provided, the string "[none]" will be inserted when the message - is sent. - - The area below the subject line should be used to enter in the - text of the message. The text can consist of anything, but send - ing useless mail to other nations might not be looked on favor - ably. For those familiar with "emacs" keybindings, the Conquer - mail editor shouldn't pose much of a problem. In the future, - support for a "vi" mode will also be available. Regardless of - how you feel about the mail editor, it is possible to use your - own editor of choice to compose the message, using the "mail- - spawn-editor" function. - - Once the mail message is complete, you may deliver it using the - "mail-exit" or "mail-send" functions. If you should decide to - abort the mail editor and discard everything, simply use the - "mail-quit" function. The next section describes the full list - of mail editor commands, along with their default key bindings. - -List of mail mode functions - - The full list of functions and default keybindings available - within the mail editor is: - - conquer-options (`^O') -- Adjust the Conquer environment by - changing various options, including keybindings for the mail - editor. - - ignore-key (`^C') -- Just pretend this key press didn't really - happen. - - mail-backward (`^B',LEFT-ARROW) -- Move the cursor one character - to the left. - - mail-beginning-of-line (`^A') -- Move the cursor to the beginning - of the current line. - - mail-delete-backward (`^H',DEL) -- Remove the character directly - to the left of the cursor. - - mail-delete-forward (`^D') -- Delete the character under the - cursor. - - mail-downline (`^N',DOWN-ARROW) -- Move cursor down one line. - - mail-end-of-line (`^E') -- Move the cursor to the end of the cur - rent line. - - mail-exit (`^X') -- Deliver the mail message and then exit the - mail editor. - - mail-forward (`^F',RIGHT-ARROW) -- Move the cursor one character - to the right. - - mail-help ("ESC-?") -- List the current functions and keybindings - for the mail editor. - - mail-kill-to-beginning (`^U') -- Delete all characters from the - left of the cursor to the beginning of the current line. - - mail-kill-line (`^K') -- Delete all characters from the cursor - until the end of the current line. - - mail-newline (`^J',`^M') -- Break the current line at the cursor - and create a new line of text. - - mail-quit (`^G') -- Leave the mail editor after discarding the - mail message. - - mail-send (`^W') -- Send the mail message to all of the recipi - ents, and remain in the mail editor. - - mail-spawn-editor ("ESC-$") -- Use whatever editor, as determined - by the EDITOR environment variable, to edit the current mes - sage. - - mail-toggle (`^T') -- Toggle between overwrite and insert mode in - the editor. - - mail-upline (`^P',UP-ARROW) -- Move the cursor up one line. - - redraw-screen (`^L',`^R') -- Redraw the screen display. - -News Postings - - The newspaper is available to all users and contains a summary of - events taking place during recent months. A limited number of - newspapers will be kept in storage, so reading them frequently is - recommended. If the latest newspaper has not been read or if - something has been added to it, a message stating that "There is - Conquer News" will be displayed at the bottom of the main map - screen. Using the "read-paper" command will display the list of - currently available newspapers, by date, with the most recent - editions being listed first. - - Newspaper are divided into five sections: headlines, economics, - real estate, warfare and personals. The headlines section will - contain any important information such as declarations of war and - peace, leader and monster recruitment and notifications when two - nations meet. The economics report lists any famines or deser - tions which have taken place in the world, giving an idea of how - well nations are being managed. The real estate listings show - who took what land, and from whom. The warfare section gives a - run down of who was involved in the battles around the world. - Finally, the personals section is where any mail messages sent to - "news" will appear, so that they may be read by all of the play - ers. - -Economic Reports - - During each update, mail will be sent from the updating program - describing events taking place within the nation. Some of the - mail messages will describe the economic conditions within the - nation and others will contain reports about battles. [For more - information, see Warfare] - - The economic reports come in two different forms: production re - ports and consumption reports. The production reports will pro - vide a detailed summary of how much of what materials each region - produced. If you see that some towns and cities are not generat - ing enough of their own raw materials, you might need to add more - farms, mines, or lumberyards within the region to improve the - situation. The consumption report gives a summary of how much - was consumed on a nationwide basis. [For more information, see - Economics] diff --git a/gpl-release/Docs/ezconv b/gpl-release/Docs/ezconv deleted file mode 100755 index 836073f..0000000 Binary files a/gpl-release/Docs/ezconv and /dev/null differ diff --git a/gpl-release/Docs/ezconv.c b/gpl-release/Docs/ezconv.c index edaa975..6091006 100644 --- a/gpl-release/Docs/ezconv.c +++ b/gpl-release/Docs/ezconv.c @@ -24,6 +24,14 @@ * For relicensing documentation, see RELICENSING-PERMISSIONS.md */ #include + +/* At the top of ezconv.c */ +#if defined(__STDC__) || defined(__STDC_VERSION__) + #include +#else + extern void exit(); +#endif + #ifndef TRUE #define TRUE (1) #define FALSE (0) @@ -32,7 +40,7 @@ /* syntax */ char *usage = "Usage: %s [infile [outfile]]\n"; -main(argc,argv) +int main(argc,argv) int argc; char *argv[]; { @@ -82,7 +90,7 @@ main(argc,argv) break; } else { /* put it back and continue */ - ungetc(ch, fpo); + ungetc(ch, fpi); ch = '^'; } } diff --git a/gpl-release/Docs/indocs b/gpl-release/Docs/indocs deleted file mode 100644 index e69de29..0000000 diff --git a/gpl-release/Docs/roff-mac.nr b/gpl-release/Docs/roff-mac.nr index bbd0c5d..932f3a7 100644 --- a/gpl-release/Docs/roff-mac.nr +++ b/gpl-release/Docs/roff-mac.nr @@ -1,4 +1,4 @@ -.\" || +.\" || .\" || This package is designed as a filter to allow the same .\" || roff data file to be used to provide proper pagination .\" || for both the nroff and troff (psroff) output. @@ -6,16 +6,17 @@ .\" .\" -- Determine what all of the fonts to be used are .\" -.if t .fp 1 R \{ +.if t \{\ .\" .\" -- Define the Fonts - \" font for the main body and page numbering -.fp 2 B \" font for titles and such -.fp 3 C \" font for command examples and screen displays +.fp 1 TR \" Times-Roman. font for the main body and page numbering +.fp 2 TB \" Times-Bold. font for titles and such +.fp 3 CR \" Courier-Roman. font for command examples and screen displays .cs 3 21.5 -.fp 4 S \" just for completion +.fp 4 S \" Symbol. just for completion .po 1.0i -.wh -1i PB \} +.wh -1i PB +.\} .\" .\" -- Define the strings for the program title and default section heading .ds Ct "Conquer Version 5.0 Beta diff --git a/gpl-release/Include/Makefile b/gpl-release/Include/Makefile deleted file mode 100644 index 2b3c6d8..0000000 --- a/gpl-release/Include/Makefile +++ /dev/null @@ -1,107 +0,0 @@ -# conquer: Copyright (c) 1991 by Edward M Barlow and Adam Bryant -# All Rights Reserved -# -# This Makefile should not need changing. -# -# Please report any problems with compilation or build issues -# through the project's issue tracker. -# -# Current Maintainer: Juan Manuel Méndez Rey -# Project Repository: https://github.com/vejeta/conquerv5 -# Bug Reports: https://github.com/vejeta/conquerv5/issues -# - -# All of the default settings -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir -SHELL = /bin/sh -CD = cd -CC = gcc -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch -CHOWN = echo ... ignore -CHMOD = chmod -LIBS = -lcurses -ltermcap -lcrypt -SYSFLG = -DBSD -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -TOPDIR = /home/brand1/kevin/foo/conquer -DATADIR = /usr/local/games/lib/conquer -BINDIR = /usr/local/games/bin -INCDIR = /home/brand1/kevin/foo/conquer/Include -SRCDIR = /home/brand1/kevin/foo/conquer/Src -AUXDIR = /home/brand1/kevin/foo/conquer/Auxil -DOCDIR = /home/brand1/kevin/foo/conquer/Docs -CQUER = conquer -CQRUN = conqrun -CQSORT = conqsort -CXTRACT = cextract -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c updateA.c -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c -GOJBS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o keybindG.o magicG.o mailG.o miscG.o moveG.o navyG.o ntninfoG.o pagerG.o regionG.o sectorG.o selectG.o xferG.o time_ckG.o -AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o updateA.o -XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o - -# -# Building and Installation Procedures -# -all: - @${ECHO} "Use one of:" - @${ECHO} " make build -- build everything" - @${ECHO} " make install -- install everything" - @${ECHO} " make clean -- clean up some files" - @${ECHO} " make clobber -- clean up all files" - -# -build: proto - @${ECHO} Build complete in Include directory - -# -install: - @${ECHO} Install complete in Include directory - -# Cleaning things up -clean: - ${RM} *.o *~ *.bak \#* ${NULL} - -# Really clean things up -clobber: clean - -# -# Variables unique to this Makefile -# - -# Options for cextract program -CXTFLG = -S +CcPFaZ - -# Actual command to get cextract... -CXTCMD = ${CXTRACT} - -# preprocessor definitions -CPPFLGS = ${SYSFLG} -I${INCDIR} - -# -# Rules and dependencies unique to this Makefile -# - -# build all the prototype files -proto: prota protg protx - -# build the joint prototypes -protx: - (${CD} ${SRCDIR}; ${CXTCMD} ${CPPFLGS} ${CXTFLG} -o ${INCDIR}/fileX.h ${XFILS} jointA.c) - -# build the conqrun prototypes -prota: - (${CD} ${SRCDIR}; ${CXTCMD} ${CPPFLGS} ${CXTFLG} -o ${INCDIR}/fileA.h ${AFILS}) - -# build the conquer prototypes -protg: - (${CD} ${SRCDIR}; ${CXTCMD} ${CPPFLGS} ${CXTFLG} -o ${INCDIR}/fileG.h ${GFILS}) -# diff --git a/gpl-release/Include/Makefile.inc b/gpl-release/Include/Makefile.inc index cc45fd3..f04c500 100644 --- a/gpl-release/Include/Makefile.inc +++ b/gpl-release/Include/Makefile.inc @@ -1,107 +1,46 @@ -# conquer: Copyright (c) 1991 by Edward M Barlow and Adam Bryant -# All Rights Reserved -# -# This Makefile should not need changing. -# -# Please report any problems with compilation or build issues -# through the project's issue tracker. -# -# Current Maintainer: Juan Manuel Méndez Rey -# Project Repository: https://github.com/vejeta/conquerv5 -# Bug Reports: https://github.com/vejeta/conquerv5/issues -# +# Include/Makefile.inc - Template for Include directory Makefile + +SHELL = %%SHELL%% +CD = %%CD%% +CC = %%CC%% +RM = %%RM%% +CP = %%CP%% +ECHO = %%ECHO%% +NULL = %%NULL%% + +# Administrator settings +LOGIN = %%LOGIN%% +CFLAGS = %%CFLAGS%% + +# Build target - generate header.h from header.h.dist +all: build + +build: header.h + +# Generate header.h from template using awk (NOT compiler flags) +header.h: header.h.dist + @$(ECHO) "Generating header.h for administrator: $(LOGIN)" + @awk -v login="$(LOGIN)" ' + /^#define[ \t]+LOGIN/ { + print "#define LOGIN \"" login "\"" + next + } + { print } + ' header.h.dist > header.h + @$(ECHO) "Header file generated successfully" -# All of the default settings -MAKE = %%MAKE%% -MKDPND = %%MKDPND%% -MKDIR = %%MKDIR%% -SHELL = %%SHELL%% -CD = %%CD%% -CC = %%CC%% -RM = %%RM%% -CP = %%CP%% -MV = %%MV%% -ECHO = %%ECHO%% -STRIP = %%STRIP%% -NULL = %%NULL%% -TOUCH = %%TOUCH%% -CHOWN = %%CHOWN%% -CHMOD = %%CHMOD%% -LIBS = %%LIBS%% -SYSFLG = %%SYSFLG%% -CFLAGS = %%CFLAGS%% -TOPDIR = %%TOPDIR%% -DATADIR = %%DATADIR%% -BINDIR = %%BINDIR%% -INCDIR = %%TOPDIR%%/%%INCDIR%% -SRCDIR = %%TOPDIR%%/%%SRCDIR%% -AUXDIR = %%TOPDIR%%/%%AUXDIR%% -DOCDIR = %%TOPDIR%%/%%DOCDIR%% -CQUER = %%CQUER%% -CQRUN = %%CQRUN%% -CQSORT = %%CQSORT%% -CXTRACT = %%CXTRACT%% -GFILS = %%GFILS%% -AFILS = %%AFILS%% -XFILS = %%XFILS%% -GOJBS = %%GOBJS%% -AOBJS = %%AOBJS%% -XOBJS = %%XOBJS%% - -# -# Building and Installation Procedures -# -all: - @${ECHO} "Use one of:" - @${ECHO} " make build -- build everything" - @${ECHO} " make install -- install everything" - @${ECHO} " make clean -- clean up some files" - @${ECHO} " make clobber -- clean up all files" - -# -build: proto - @${ECHO} Build complete in Include directory - -# -install: - @${ECHO} Install complete in Include directory - -# Cleaning things up clean: - ${RM} *.o *~ *.bak \#* ${NULL} - -# Really clean things up -clobber: clean + @$(ECHO) "Include directory: cleaning..." -# -# Variables unique to this Makefile -# +clobber: clean + -$(RM) header.h $(NULL) + @$(ECHO) "Include directory: cleaned" -# Options for cextract program -CXTFLG = -S +CcPFaZ - -# Actual command to get cextract... -CXTCMD = ${CXTRACT} - -# preprocessor definitions -CPPFLGS = ${SYSFLG} -I${INCDIR} - -# -# Rules and dependencies unique to this Makefile -# - -# build all the prototype files -proto: prota protg protx - -# build the joint prototypes -protx: - (${CD} ${SRCDIR}; ${CXTCMD} ${CPPFLGS} ${CXTFLG} -o ${INCDIR}/fileX.h ${XFILS} jointA.c) +install: + @$(ECHO) "Include directory: nothing to install" -# build the conqrun prototypes -prota: - (${CD} ${SRCDIR}; ${CXTCMD} ${CPPFLGS} ${CXTFLG} -o ${INCDIR}/fileA.h ${AFILS}) +info: + @$(ECHO) "Include directory configuration:" + @$(ECHO) " Administrator: $(LOGIN)" -# build the conquer prototypes -protg: - (${CD} ${SRCDIR}; ${CXTCMD} ${CPPFLGS} ${CXTFLG} -o ${INCDIR}/fileG.h ${GFILS}) -# +.PHONY: all build clean clobber install info diff --git a/gpl-release/Include/dataX.h b/gpl-release/Include/dataX.h index d2fb5aa..132e97d 100644 --- a/gpl-release/Include/dataX.h +++ b/gpl-release/Include/dataX.h @@ -404,7 +404,7 @@ typedef struct s_dmode { if (in_curses) cq_reset(); \ fprintf(stderr,"\nSerious Error (File %s, Line %d) - Aborting\n",__FILE__,__LINE__); \ if ((fupdate != stderr) && (fupdate != NULL)) fclose(fupdate); \ -if (need_hangup) hangup(); \ +if (need_hangup) hangup(0); \ abort(); \ } @@ -483,7 +483,7 @@ extern int conq_expert, zoom_level, conq_waterbottoms, conq_supply_level; extern int conq_infomode, conq_mercsused, conq_mheaders; /* pager settings */ -int pager_tab, pager_scroll, pager_offset; +extern int pager_tab, pager_scroll, pager_offset; /* other miscellaneous declarations */ extern char *hasseen; diff --git a/gpl-release/Include/fileX.h b/gpl-release/Include/fileX.h index fb758c7..5764400 100644 --- a/gpl-release/Include/fileX.h +++ b/gpl-release/Include/fileX.h @@ -249,7 +249,7 @@ extern void show_str PL_(( char * str, int full )); extern void unshow_char PL_(( char ch, int full )); /* WIN_SIZE_CHANGE -- signal handler for window size change */ -extern void win_size_change PL_(( void )); +extern void win_size_change PL_(( int sig )); /* Y_OR_N -- Return TRUE for 'y' or 'Y' character press */ extern int y_or_n PL_(( void )); @@ -794,7 +794,7 @@ extern void dflt_disp_setup PL_(( char * str, char * fstr, int lnum )); extern void display_setup PL_(( char * str, char * fstr, int lnum )); /* HANGUP -- signal catching routine */ -extern void hangup PL_(( void )); +extern void hangup PL_(( int sig )); /* KEYSYS_SETUP -- Configure the keybindings */ extern void keysys_setup PL_(( int type, char * str, char * fstr, int lnum )); diff --git a/gpl-release/Include/header.h b/gpl-release/Include/header.h deleted file mode 100644 index 244976f..0000000 --- a/gpl-release/Include/header.h +++ /dev/null @@ -1,217 +0,0 @@ -// SPDX-License-Identifier: GPL-3.0-or-later -/* - * Conquer - Classic Multi-Player Strategy Game - Main Header File - * - * Originally Copyright (C) 1987-1992 Ed Barlow - * Originally Copyright (C) 1987-1992 Adam Bryant - * Copyright (C) 2025 Juan Manuel Méndez Rey - * - * 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 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * Relicensed to GPL v3+ with explicit permission from original authors. - * For relicensing documentation, see RELICENSING-PERMISSIONS.md - */ - -#define VERSION "Version 5.0b" - -/* Super User Information */ -#define OWNER "Kevin" /* administrators name (just for show) */ -#define LOGIN "kevin" /* administrators login id. IMPORTANT! */ - -/* ============ PRIMARY ADJUSTMENTS =========== */ -/* == WARNING: Changing any of the following == */ -/* == adjusts the format of the data file. == */ -/* ============================================ */ - -/* Implementation of data compression */ -#define COMPRESS /* use compression when storing the data file */ -#ifdef COMPRESS -#define COMP_NAME "compress" /* file compression program */ -#define COMP_READ "zcat" /* how to read compressed files */ -#define COMP_SFX ".Z" /* compressed file suffix */ -#endif - -/* Storage specification options */ -#define MANY_UNITS /* allow more than 255 army, navy, cvan units */ -#define HUGE_MAP /* allow really huge ( > 256x256 ) map sizes */ -#define ABSMAXNTN 100 /* maximum number of nations in the world */ - -/* ========= END OF PRIMARY ADJUSTMENTS ======= */ - -/* === Secondary System Dependencies === */ - -#define DEFAULT_UMASK 077 /* Default permissions mask for conquer */ -#define CUSTOM_UMASK 066 /* permissions mask for rcfile output */ -#define FULLWRITE_UMASK 000 /* permissions to do anything to file */ - -#define ALLOW_EDIT_FORK /* allow (demi-)god to spawn a secure(?) editor */ -#define DO_TIME_CHECK /* implement time checking for conquer access; - this requires the signal() SIGALRM routines. */ -/*#define SYSMAIL*/ /* if your system supports mail; conquer will - notify players about system mail. */ - -/* File locking definition */ -#define LOCKF /* If your site uses NFS file locking routines - and has the lockd daemon running */ - -/* Command strings for system programs */ -#define REMOVE_NAME "/bin/rm -f" /* how are files removed? */ -#ifdef SYSMAIL -#define SPOOLDIR "/usr/spool/mail/" /* location of mail spool w '/' */ -#endif - -/* Timing commands */ -#define MAIL_TIME 60 /* time in seconds between checks on mail files */ -#define TIMETOBOOT 120 /* time in seconds before -T forces logouts */ - -/* File format to generate a tempory file, must have %s with a %d later */ -#ifndef VMS -#define TMP_FILE_FMT "/tmp/%s.%d" -#define TMP_DIR "/tmp" /* this is the name of the directory for above */ -#else -#endif /* VMS */ - -/* Editor preferences */ -#define ENV_EDITOR "EDITOR" /* environment string of editor */ -#define DEFAULT_EDITOR "/usr/ucb/vi" /* the name for the default */ - -/* For sites running the VMS operating system */ -/* #define VMS */ /* if the machine is running under the VMS OS */ -#ifdef VMS -/* VMS sites will need to comment these out if inappropriate */ -#define VAXC /* the default VMS compiler */ -#define TSERVER /* terms controlled via the VMS terminal server */ -#endif /* VMS */ - -/* Files used for standard input and output realignment */ -#ifndef VMS -#define NULL_INPUT "/dev/null" -#define NULL_OUTPUT "/dev/null" -#else -#define NULL_INPUT "" -#define NULL_OUTPUT "" -#endif /* VMS */ - -/* === Optional Configuration Definitions === */ - -#define SECURITY /* limit god access to proper login names only. */ -#define LISTUSERS /* extra info -l: need gethostbyname or uname. */ -#define REMAKE /* allow world rebuild even if datafile exists */ -#define CHEAT /* allow npcs to obtain small help */ -#define SPEW /* spew random messages from npcs */ -#define RUNSTOP /* stop update if players are still in the game */ -#ifdef RUNSTOP -/* define this and RUNSTOP to have an update wait for players to finish */ -/* this is VERY important if your intend on having automatic updates. */ -#define UPDATESLEEP 30 /* sleep for UPDATESLEEP seconds and try again */ -#endif /* RUNSTOP */ - -/* Computer behavior options [Unimplemented] */ -/* #define NPC_COUNT_ARMIES */ /* defined if NPC nations can always count - armies This makes them to cheat by by seeing - even magically disguised troops */ -/* #define NPC_SEE_SECTORS */ /* defined if NPC nations can always see - sectors. This allows them to cheat by being - allowed to see all sector attributes of even - disguised sectors */ -/* #define NPC_SEE_CITIES */ /* defined if NPC nations can always see cities - This allows them to cheat by being able to - see if a VOID sector is a city/town. - Simulates the players ability to tell cities - via movement. */ - -/* === Parameter Settings; Most likely need not be changed === */ - -#define NRAND_DIGITS 9 /* decimal digits in "non-random" number [<= 9] */ -#define MIN_WORLD_SIZE 24 /* minimum value for a world axis. */ -#define MAXFORTVAL 24 /* the maximum internal value for fortification */ -#define MAXCHARITY 25 /* absolute limit which charity may reach. */ -#define MAXTAX 20 /* maximum setting of the taxation rate. */ -#define MAXNEWS 12 /* total number of turns worth of news saved. */ -#define PLEADER_EXP 100 /* % chance for leader to gain 1 exp pt / year */ -#define LONGTRIP 100 /* navy trip lth for 100% attrition of civs */ -#define SPEEDUP_COST 1 /* move decrease just before increasing speed */ -#define PSTARVE 25 /* % of population that starves if not fed */ -#define PCOLLAPSE 10 /* % change of unsupplied sector deterioration */ -#define PDISBAND 10 /* % of a unit that disbands w/out supplies. */ -#define PVOLUNTEERS 20 /* % of a sector population available for duty */ -#define PBARNICLES 2 /* % chance for ship damage w/out supplies */ -#define LATESTART 2 /* 1 pt / LATESTART turns after beginning for - new nations when they start late in the game */ -#define MIN_GAIN_STR 250 /* minimum strength needed to gain attack bonus */ -#define PROB_GAIN_STR 1500 /* 100% chance to gain attack bonus for strength */ - -/* Range Values; making these numbers large takes more CPU time */ -#define LANDSEE 2 /* how far you can see from your land */ -#define NAVYSEE 1 /* how far navies can see around them */ -#define ARMYSEE 2 /* how far armies can see around them */ -#define CVNSEE 1 /* how far caravans can see around them */ -#define PRTZONE 3 /* how far pirates roam from their basecamp */ -#define MEETNTN 2 /* how close nations must be to adjust status */ -#define NAVYRANGE 3 /* how close fleets need to be to engage */ -#define VISRANGE 4 /* sector number known if within this range */ - -/* Pager Settings */ -#define MAX_FILE_LINES 5000 /* max file size for pager to read in */ -#define D_PAGEOFF 0 /* offset of current line from the top in pager */ -#define D_PAGETAB 8 /* spacing for tabs in the pager */ - -/* Sector Specifications */ -#define DESFOOD 4 /* min food val to redesignate sector */ -#define TOOMANYPEOPLE 5000L /* too many people in sector - 1/2 repro - and 1/2 production; not in cities. */ -#define ABSMAXPEOPLE 50000L /* absolute max people in any sector */ -#define MILLSIZE 500L /* min number of people to work a mill */ -#define TOOMUCHMINED 50000L /* units mined for 100% chance of metal - depletion actual chance is prorated */ - -/* Cost Specifications */ -#define MOVECOST 20L /* talons cost for each command entered */ -#define PEOPLE_MCOST 50L /* cost for one civilian in move_people */ -#define NAVYMAINT 4000L /* navy maintainance cost / hold */ -#define CVNMAINT 1000L /* caravan maintainance cost */ -#define FORTCOST 1000L /* cost to build a fort point */ -#define CARAVANCOST 5000L /* cost for caravans (per 10 wagons) */ -#define CARAVANWOOD 400L /* how much wood per 10 wagons */ - -/* Base numeric settings */ -#define TAKESECTOR 75 /* base number of soldiers for capture */ -#define TAKE_RATIO 7 /* Ratio N:1 needed to take a sector */ -#define BASE_TAKEPCT 10 /* Troop size, % of civs, for capturing */ -#define MAXLOSS 60 /* maximum % of men lost in 1:1 battle */ -#define FINDPERCENT 1 /* percent to find gold/metal in sector */ -#define LOAD_CITYCOST 4 /* move lost in (un)loading in cities */ -#define LOAD_LANDCOST 12 /* move lost in (un)loading elsewhere */ - -/* Unit definitions */ -#define MAXNAVYCREW 100 /* full strength crew on a naval fleet */ -#define MAXCVNCREW 30 /* full strength crew on a 1 "caravan" */ -#define NAVY_HOLD 100000L /* storage space of a ship unit */ -#define CVN_HOLD 50000L /* storage space of a caravan wagon */ -#define ARMYUNITCOST 500L /* added cost per separate army unit */ -#define NAVYUNITCOST 1000L /* added cost per separate navy unit */ -#define CVNUNITCOST 500L /* added cost per separate caravan unit */ -#define WAGONS_IN_CVN 10 /* number of wagons per cvn size unit */ - -/* Addtional Npc Behavior Settings */ -#define CITYLIMIT 5L /* % of npc pop in sctr before => city */ -#define CITYPERCENT 20L /* % of npc pop able to be in cities */ -/* note that militia are not considered military below */ -#define MILRATIO 8L /* ratio civ:mil for NPCs */ -#define MILINCAP 8L /* ratio (mil in cap):mil for NPCs */ -#define MILINCITY 10L /* militia=people/MILINCITY in city/cap */ -#define NPCTOOFAR 15 /* npcs stay within this distance of cap*/ -#define METALORE 7L /* metal/soldier needed for +1% weapons */ - -/* To change the default campaign settings, see buildA.h */ diff --git a/gpl-release/Include/header.h.dist b/gpl-release/Include/header.h.dist index 0bc6c6e..da0c9fd 100644 --- a/gpl-release/Include/header.h.dist +++ b/gpl-release/Include/header.h.dist @@ -1,241 +1,223 @@ -/* conquer: Copyright (c) 1992 by Ed Barlow and Adam Bryant +// SPDX-License-Identifier: GPL-3.0-or-later +/* + * Conquer - Classic Multi-Player Strategy Game - Main Header File * - * MODIFICATION OF THIS FILE IMPLIES THAT THE MODIFIER WILL ACCEPT - * A LIMITED USE COPYRIGHT AS FOLLOWS: + * Originally Copyright (C) 1987-1992 Ed Barlow + * Originally Copyright (C) 1987-1992 Adam Bryant + * Copyright (C) 2025 Juan Manuel Méndez Rey * - * 1) This software is copyrighted and protected by law. The owners - * of this software, which hereafter is known as "conquer", are - * Edward M. Barlow and Adam D. Bryant, who hereby grant you a - * personal, non-exclusive right to use this software. - * All rights on this software are reserved. - * 2) conquer, once modified, may not be redistributed in any form. - * Any requests for new software shall, for now, be the perogative - * of the authors. - * 3) Loss or damage caused by this software shall not be the - * responsibility of the authors. - * 4) If any enhancements to this software are made, the authors shall - * be notified via electronic mail, and if there is no response, - * via US mail to: + * 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 3 of the License, or + * (at your option) any later version. * - * Adam Bryant Ed Barlow - * 120 Glenville Ave. Apt 7 115 E 34ths St. - * Allston, MA 02134 NY, NY 10016 - * (617) 787-4794 (212) 679-1439 - * adb@bu.edu + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * The home phone numbers listed above are to be used sparingly, - * and before 11PM if it is important. Ed Barlow no longer has - * easy access to arpanet, so is not able to support conquer as - * well as he was originally able to. If anybody knows of a cheep - * (preferably free) way to login to an account in New York with - * network access, feel free to contact Ed at the address listed - * above. Also, Adam Bryant is providing all of the support for - * version 4.x and above, so Ed will likely not be able to help - * with problems associated with those versions. - * 5) No attempt shall be made to make any money from this game or to - * use any portion of this code to make any money without the - * authors' permission. - * 6) No attempt shall be made to port this software to any form of - * personal computer without the permission of Ed Barlow. - * 7) You agree to use your best efforts to see that any user of - * conquer complies with the terms and conditions stated above. - * 8) The above copyright agreement will not be tampered with in any - * form. + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . * + * Relicensed to GPL v3+ with explicit permission from original authors. + * For relicensing documentation, see RELICENSING-PERMISSIONS.md */ -/* === System Dependent Compilation Definitions === */ -/* What version of conquer is this? */ -#define VERSION "Version 5.0b" - -/* Super User Information */ -#define OWNER "Adam Bryant" /* administrators name (just for show) */ -#define LOGIN "adb" /* administrators login id. IMPORTANT! */ - -/* ============ PRIMARY ADJUSTMENTS =========== */ -/* == WARNING: Changing any of the following == */ -/* == adjusts the format of the data file. == */ -/* ============================================ */ - -/* Implementation of data compression */ -#define COMPRESS /* use compression when storing the data file */ -#ifdef COMPRESS -#define COMP_NAME "compress" /* file compression program */ -#define COMP_READ "zcat" /* how to read compressed files */ -#define COMP_SFX ".Z" /* compressed file suffix */ +#ifndef CONQUER_HEADER_H +#define CONQUER_HEADER_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +/* Modern C standard support with fallbacks */ +#ifdef __STDC_VERSION__ + #if __STDC_VERSION__ >= 199901L + #include + #include + #define HAVE_C99 1 + #endif #endif -/* Storage specification options */ -#define MANY_UNITS /* allow more than 255 army, navy, cvan units */ -/* #define HUGE_MAP */ /* allow really huge ( > 256x256 ) map sizes */ -#define ABSMAXNTN 100 /* maximum number of nations in the world */ - -/* ========= END OF PRIMARY ADJUSTMENTS ======= */ +#ifndef HAVE_C99 + #ifndef __cplusplus + #ifndef bool + typedef int bool; + #define true 1 + #define false 0 + #endif + #endif +#endif -/* === Secondary System Dependencies === */ +/* Cross-platform compatibility */ +#if defined(__APPLE__) && defined(__MACH__) + #define PLATFORM_MACOS 1 + #define PLATFORM_UNIX 1 +#elif defined(__linux__) + #define PLATFORM_LINUX 1 + #define PLATFORM_UNIX 1 +#elif defined(_WIN32) + #define PLATFORM_WINDOWS 1 +#endif -#define DEFAULT_UMASK 077 /* Default permissions mask for conquer */ -#define CUSTOM_UMASK 066 /* permissions mask for rcfile output */ -#define FULLWRITE_UMASK 000 /* permissions to do anything to file */ +#ifdef PLATFORM_UNIX + #include + #include + #include + #include +#endif -#define ALLOW_EDIT_FORK /* allow (demi-)god to spawn a secure(?) editor */ -#define DO_TIME_CHECK /* implement time checking for conquer access; - this requires the signal() SIGALRM routines. */ -#define SYSMAIL /* if your system supports mail; conquer will - notify players about system mail. */ +#define VERSION "Version 5.0b" -/* File locking definition */ -#define LOCKF /* If your site uses NFS file locking routines - and has the lockd daemon running */ +/* Super User Information - LOGIN can be overridden by Makefile */ +#define OWNER "God" +#ifndef LOGIN + #define LOGIN "defaultuser" /* administrators login id. IMPORTANT! */ +#endif -/* Command strings for system programs */ -#define REMOVE_NAME "/bin/rm -f" /* how are files removed? */ -#ifdef SYSMAIL -#define SPOOLDIR "/usr/spool/mail/" /* location of mail spool w '/' */ +/* PRIMARY ADJUSTMENTS - preserved exactly from original v5 */ +#define COMPRESS /* use compression when storing the data file */ +#ifdef COMPRESS + #define COMP_NAME "compress" /* file compression program */ + #define COMP_READ "zcat" /* how to read compressed files */ + #define COMP_SFX ".Z" /* compressed file suffix */ #endif -/* Timing commands */ -#define MAIL_TIME 60 /* time in seconds between checks on mail files */ -#define TIMETOBOOT 120 /* time in seconds before -T forces logouts */ +#define MANY_UNITS /* allow more than 255 army, navy, cvan units */ +#define HUGE_MAP /* allow really huge ( > 256x256 ) map sizes */ +#define ABSMAXNTN 100 /* maximum number of nations in the world */ + +/* System Dependencies */ +#define DEFAULT_UMASK 077 +#define CUSTOM_UMASK 066 +#define FULLWRITE_UMASK 000 +#define ALLOW_EDIT_FORK +#define DO_TIME_CHECK + +#ifdef PLATFORM_UNIX + #define SYSMAIL + #ifdef PLATFORM_MACOS + #define SPOOLDIR "/var/mail/" + #else + #define SPOOLDIR "/usr/spool/mail/" + #endif +#endif -/* File format to generate a tempory file, must have %s with a %d later */ -#ifndef VMS +#define LOCKF +#define REMOVE_NAME "/bin/rm -f" +#define MAIL_TIME 60 +#define TIMETOBOOT 120 #define TMP_FILE_FMT "/tmp/%s.%d" -#define TMP_DIR "/tmp" /* this is the name of the directory for above */ -#else -#endif /* VMS */ - -/* Editor preferences */ -#define ENV_EDITOR "EDITOR" /* environment string of editor */ -#define DEFAULT_EDITOR "/usr/ucb/vi" /* the name for the default */ - -/* For sites running the VMS operating system */ -/* #define VMS */ /* if the machine is running under the VMS OS */ -#ifdef VMS -/* VMS sites will need to comment these out if inappropriate */ -#define VAXC /* the default VMS compiler */ -#define TSERVER /* terms controlled via the VMS terminal server */ -#endif /* VMS */ - -/* Files used for standard input and output realignment */ -#ifndef VMS +#define TMP_DIR "/tmp" +#define ENV_EDITOR "EDITOR" +#define DEFAULT_EDITOR "/usr/bin/vi" #define NULL_INPUT "/dev/null" #define NULL_OUTPUT "/dev/null" -#else -#define NULL_INPUT "" -#define NULL_OUTPUT "" -#endif /* VMS */ - -/* === Optional Configuration Definitions === */ - -#define SECURITY /* limit god access to proper login names only. */ -#define LISTUSERS /* extra info -l: need gethostbyname or uname. */ -#define REMAKE /* allow world rebuild even if datafile exists */ -#define CHEAT /* allow npcs to obtain small help */ -#define SPEW /* spew random messages from npcs */ -#define RUNSTOP /* stop update if players are still in the game */ -#ifdef RUNSTOP -/* define this and RUNSTOP to have an update wait for players to finish */ -/* this is VERY important if your intend on having automatic updates. */ -#define UPDATESLEEP 30 /* sleep for UPDATESLEEP seconds and try again */ -#endif /* RUNSTOP */ - -/* Computer behavior options [Unimplemented] */ -/* #define NPC_COUNT_ARMIES */ /* defined if NPC nations can always count - armies This makes them to cheat by by seeing - even magically disguised troops */ -/* #define NPC_SEE_SECTORS */ /* defined if NPC nations can always see - sectors. This allows them to cheat by being - allowed to see all sector attributes of even - disguised sectors */ -/* #define NPC_SEE_CITIES */ /* defined if NPC nations can always see cities - This allows them to cheat by being able to - see if a VOID sector is a city/town. - Simulates the players ability to tell cities - via movement. */ - -/* === Parameter Settings; Most likely need not be changed === */ - -#define NRAND_DIGITS 9 /* decimal digits in "non-random" number [<= 9] */ -#define MIN_WORLD_SIZE 24 /* minimum value for a world axis. */ -#define MAXFORTVAL 24 /* the maximum internal value for fortification */ -#define MAXCHARITY 25 /* absolute limit which charity may reach. */ -#define MAXTAX 20 /* maximum setting of the taxation rate. */ -#define MAXNEWS 12 /* total number of turns worth of news saved. */ -#define PLEADER_EXP 100 /* % chance for leader to gain 1 exp pt / year */ -#define LONGTRIP 100 /* navy trip lth for 100% attrition of civs */ -#define SPEEDUP_COST 1 /* move decrease just before increasing speed */ -#define PSTARVE 25 /* % of population that starves if not fed */ -#define PCOLLAPSE 10 /* % change of unsupplied sector deterioration */ -#define PDISBAND 10 /* % of a unit that disbands w/out supplies. */ -#define PVOLUNTEERS 20 /* % of a sector population available for duty */ -#define PBARNICLES 2 /* % chance for ship damage w/out supplies */ -#define LATESTART 2 /* 1 pt / LATESTART turns after beginning for - new nations when they start late in the game */ -#define MIN_GAIN_STR 250 /* minimum strength needed to gain attack bonus */ -#define PROB_GAIN_STR 1500 /* 100% chance to gain attack bonus for strength */ - -/* Range Values; making these numbers large takes more CPU time */ -#define LANDSEE 2 /* how far you can see from your land */ -#define NAVYSEE 1 /* how far navies can see around them */ -#define ARMYSEE 2 /* how far armies can see around them */ -#define CVNSEE 1 /* how far caravans can see around them */ -#define PRTZONE 3 /* how far pirates roam from their basecamp */ -#define MEETNTN 2 /* how close nations must be to adjust status */ -#define NAVYRANGE 3 /* how close fleets need to be to engage */ -#define VISRANGE 4 /* sector number known if within this range */ + +/* Optional Configuration Definitions */ +#define SECURITY +#define LISTUSERS +#define REMAKE +#define CHEAT +#define SPEW +#define RUNSTOP +#define UPDATESLEEP 30 + +/* Parameter Settings - preserved exactly from original */ +#define NRAND_DIGITS 9 +#define MIN_WORLD_SIZE 24 +#define MAXFORTVAL 24 +#define MAXCHARITY 25 +#define MAXTAX 20 +#define MAXNEWS 12 +#define PLEADER_EXP 100 +#define LONGTRIP 100 +#define SPEEDUP_COST 1 +#define PSTARVE 25 +#define PCOLLAPSE 10 +#define PDISBAND 10 +#define PVOLUNTEERS 20 +#define PBARNICLES 2 +#define LATESTART 2 +#define MIN_GAIN_STR 250 +#define PROB_GAIN_STR 1500 + +/* Range Values */ +#define LANDSEE 2 +#define NAVYSEE 1 +#define ARMYSEE 2 +#define CVNSEE 1 +#define PRTZONE 3 +#define MEETNTN 2 +#define NAVYRANGE 3 +#define VISRANGE 4 /* Pager Settings */ -#define MAX_FILE_LINES 5000 /* max file size for pager to read in */ -#define D_PAGEOFF 0 /* offset of current line from the top in pager */ -#define D_PAGETAB 8 /* spacing for tabs in the pager */ +#define MAX_FILE_LINES 5000 +#define D_PAGEOFF 0 +#define D_PAGETAB 8 /* Sector Specifications */ -#define DESFOOD 4 /* min food val to redesignate sector */ -#define TOOMANYPEOPLE 5000L /* too many people in sector - 1/2 repro - and 1/2 production; not in cities. */ -#define ABSMAXPEOPLE 50000L /* absolute max people in any sector */ -#define MILLSIZE 500L /* min number of people to work a mill */ -#define TOOMUCHMINED 50000L /* units mined for 100% chance of metal - depletion actual chance is prorated */ +#define DESFOOD 4 +#define TOOMANYPEOPLE 5000L +#define ABSMAXPEOPLE 50000L +#define MILLSIZE 500L +#define TOOMUCHMINED 50000L /* Cost Specifications */ -#define MOVECOST 20L /* talons cost for each command entered */ -#define PEOPLE_MCOST 50L /* cost for one civilian in move_people */ -#define NAVYMAINT 4000L /* navy maintainance cost / hold */ -#define CVNMAINT 1000L /* caravan maintainance cost */ -#define FORTCOST 1000L /* cost to build a fort point */ -#define CARAVANCOST 5000L /* cost for caravans (per 10 wagons) */ -#define CARAVANWOOD 400L /* how much wood per 10 wagons */ +#define MOVECOST 20L +#define PEOPLE_MCOST 50L +#define NAVYMAINT 4000L +#define CVNMAINT 1000L +#define FORTCOST 1000L +#define CARAVANCOST 5000L +#define CARAVANWOOD 400L /* Base numeric settings */ -#define TAKESECTOR 75 /* base number of soldiers for capture */ -#define TAKE_RATIO 7 /* Ratio N:1 needed to take a sector */ -#define BASE_TAKEPCT 10 /* Troop size, % of civs, for capturing */ -#define MAXLOSS 60 /* maximum % of men lost in 1:1 battle */ -#define FINDPERCENT 1 /* percent to find gold/metal in sector */ -#define LOAD_CITYCOST 4 /* move lost in (un)loading in cities */ -#define LOAD_LANDCOST 12 /* move lost in (un)loading elsewhere */ +#define TAKESECTOR 75 +#define TAKE_RATIO 7 +#define BASE_TAKEPCT 10 +#define MAXLOSS 60 +#define FINDPERCENT 1 +#define LOAD_CITYCOST 4 +#define LOAD_LANDCOST 12 /* Unit definitions */ -#define MAXNAVYCREW 100 /* full strength crew on a naval fleet */ -#define MAXCVNCREW 30 /* full strength crew on a 1 "caravan" */ -#define NAVY_HOLD 100000L /* storage space of a ship unit */ -#define CVN_HOLD 50000L /* storage space of a caravan wagon */ -#define ARMYUNITCOST 500L /* added cost per separate army unit */ -#define NAVYUNITCOST 1000L /* added cost per separate navy unit */ -#define CVNUNITCOST 500L /* added cost per separate caravan unit */ -#define WAGONS_IN_CVN 10 /* number of wagons per cvn size unit */ - -/* Addtional Npc Behavior Settings */ -#define CITYLIMIT 5L /* % of npc pop in sctr before => city */ -#define CITYPERCENT 20L /* % of npc pop able to be in cities */ -/* note that militia are not considered military below */ -#define MILRATIO 8L /* ratio civ:mil for NPCs */ -#define MILINCAP 8L /* ratio (mil in cap):mil for NPCs */ -#define MILINCITY 10L /* militia=people/MILINCITY in city/cap */ -#define NPCTOOFAR 15 /* npcs stay within this distance of cap*/ -#define METALORE 7L /* metal/soldier needed for +1% weapons */ - -/* To change the default campaign settings, see buildA.h */ +#define MAXNAVYCREW 100 +#define MAXCVNCREW 30 +#define NAVY_HOLD 100000L +#define CVN_HOLD 50000L +#define ARMYUNITCOST 500L +#define NAVYUNITCOST 1000L +#define CVNUNITCOST 500L +#define WAGONS_IN_CVN 10 + +/* NPC Behavior Settings */ +#define CITYLIMIT 5L +#define CITYPERCENT 20L +#define MILRATIO 8L +#define MILINCAP 8L +#define MILINCITY 10L +#define NPCTOOFAR 15 +#define METALORE 7L + +/* Modern utility macros */ +#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) +#define MIN(a, b) ((a) < (b) ? (a) : (b)) +#define MAX(a, b) ((a) > (b) ? (a) : (b)) + +#ifdef DEBUG + #define DEBUG_PRINT(fmt, ...) \ + fprintf(stderr, "[DEBUG] %s:%d: " fmt "\n", __func__, __LINE__, ##__VA_ARGS__) +#else + #define DEBUG_PRINT(fmt, ...) +#endif + +#endif /* CONQUER_HEADER_H */ diff --git a/gpl-release/Include/sysconf.h b/gpl-release/Include/sysconf.h index 4f9c706..3850e7b 100644 --- a/gpl-release/Include/sysconf.h +++ b/gpl-release/Include/sysconf.h @@ -115,19 +115,24 @@ /* for other BSD systems */ #ifdef BSD +/* Only use old declarations on very old systems */ +#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L +#if !defined(__GNUC__) || __GNUC__ < 3 #undef UNISTD #undef STDLIB #undef LRAND48 +#define DCLR_A +#define DCLR_B +#define DCLR_C +#define DCLR_D +#endif /* old GCC */ +#endif /* old C standard */ #define WINCH_HANDLER #define SETREUID #define GETDTABLESIZE -#define REGEXP +/* #define REGEXP */ /* Disabled - old BSD regex not available on modern macOS */ #define BZERO #define SETPRIORITY -#define DCLR_A -#define DCLR_B -#define DCLR_C -#define DCLR_D #endif /* BSD */ /* AIX machines */ @@ -267,7 +272,9 @@ extern int setpriority(); #define index(s,c) strchr(s,c) #endif /* STRCHR */ -/* check the ctype "function"s */ +/* check the ctype "function"s - only on very old systems */ +#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L +#if !defined(__GNUC__) || __GNUC__ < 3 #ifndef toupper extern int toupper(); #endif /* toupper */ @@ -286,6 +293,9 @@ extern int isalpha(); #ifndef isspace extern int isspace(); #endif /* isspace */ +#endif /* old GCC */ +#endif /* old C standard */ + /* the memory function and sprintf weirdness */ #ifdef MEMORYH @@ -306,8 +316,13 @@ extern int sprintf(); #endif /* MALLOCH */ #ifdef BZERO +/* Only declare bzero on old systems - modern systems have it as a macro */ +#if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L +#if !defined(__GNUC__) || __GNUC__ < 3 extern void bzero(); -#endif /* BSD */ +#endif /* old GCC */ +#endif /* old C standard */ +#endif /* BZERO */ /* so, VAX C doesn't like unlink or uid stuff, huh? */ #ifdef VAXC @@ -369,8 +384,16 @@ extern int re_exec(); /* The user listing stuff */ #ifdef LISTUSERS -extern int read(), write(); -extern char *ttyname(); + +#ifndef _UNISTD_H +extern ssize_t read(int, void *, size_t); +extern ssize_t write(int, const void *, size_t); +#endif + +#ifndef _UNISTD_H +extern char *ttyname(int); +#endif + #endif /* LISTUSERS */ /* Finally, the data customizations */ diff --git a/gpl-release/Makefile b/gpl-release/Makefile deleted file mode 100644 index e82f1ef..0000000 --- a/gpl-release/Makefile +++ /dev/null @@ -1,410 +0,0 @@ -# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-FileCopyrightText: 1987-1992 Ed Barlow -# SPDX-FileCopyrightText: 1987-1992 Adam Bryant -# SPDX-FileCopyrightText: 2025 Juan Manuel Méndez Rey -# -# Conquer - Classic Multi-Player Strategy Game - Build Configuration -# -# 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 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# -# Relicensed to GPL v3+ with explicit permission from original authors. -# For relicensing documentation, see RELICENSING-PERMISSIONS.md -# -# Make sure to set your desired configuration by editing -# the file "header.h", within the Include directory. -# -# To configure all of the Makefiles, first copy this file to -# Makefile and then type "make Makefiles". -# -# Make sure to also check the Makefiles within each of the -# subdirectories to be sure that everything is properly -# configured. -# -# The following variables are all passed on from this Makefile -# by the above command: -# -# MAKE - the make command -# MKDPND - the make depend command -# MKDIR - the command to create a new directory -# SHELL - the shell used when running the make -# CD - command to change to a different directory -# CC - the compiler -# RM - the program to remove files -# CP - command to copy files -# MV - command to relocate files -# ECHO - simple command to print arguments literally -# STRIP - "strip" command used to remove symbol table -# TOUCH - command to create empty file or update file time -# NULL - place to send useless error messages -# CHOWN - command to adjust file ownership -# CHMOD - command to adjust file permissions -# LIBS - various libraries used when compiling conquer -# SYSFLG - *important* flags used for system definition -# CFLAGS - the list of compiler options -# CKFLAGS - special flags for the checkX.o compilation -# TOPDIR - full path to this directory -# DATADIR - full path of the default data directory -# BINDIR - full path where executables will be placed -# INCDIR - the name of the include directory -# SRCDIR - the name of the src directory -# AUXDIR - the name of the auxilary directory -# DOCDIR - the name of the documentation directory -# CQUER - name for the user interface program -# CQRUN - name for the administrative program -# CQSORT - name for the sorting program -# CXTRACT - name for the prototype extractor -# NROFF - command to create online documentation -# TROFF - command to create hardcopy documentation -# -# These are also passed on, but should not be changed: -# -# GFILS - source code for "conquer" files -# AFILS - source code for "conqrun" files -# XFILS - source code for both programs -# GOBJS - object files for "conquer" compilation -# AOBJS - object files for "conqrun" compilation -# XOBJS - object files for both programs -# -# Please report any problems that you encounter with compilation, -# build issues, or bugs through the project's issue tracker. -# -# Current Maintainer: Juan Manuel Méndez Rey -# Project Repository: https://github.com/vejeta/conquerv5 -# Bug Reports: https://github.com/vejeta/conquerv5/issues -# Documentation: See README.md and RELICENSING-PERMISSIONS.md -# -# This is a community-maintained GPL v3+ version of the classic -# Conquer game. Contributions and improvements are welcome. - -# -# This should be installed by whomever you want to own the game. -# I recommend "games" or "root". - -# The various making things -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir - -# This bourne shell should work fine but the csh would -# probably work if you set the NULL to >&/dev/null -SHELL = /bin/sh - -# Other standard things, such as the compiler -CD = cd -CC = gcc -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch - -# *Very important* This indicates the kind of machine -# you are working on. The current list of options is: -# -# SYSV3 - for system V R3 derivatives {?} -# SYSV4 - for system V R4 derivatives -# BSD - for normal BSD derivatives -# SUN41 - for Sun OS 4.1 > -# MACHOS - for NeXT machines running Mach {?} -# AIX - for IBM Unix systems -# AIX370 - for IBM 370 systems running AIX -# ULTRIX - for DEC's Unix systems -# HPUX - for Hewlett Packards Unix systems -# VAXC - for the DEC VMS VAXC compiler -# VMS - for DEC's VMS operating systems -# -# for normal System V derivatives, use one of these (AT+T, etc) -#SYSFLG = -DSYSV4 -#SYSFLG = -DSYSV3 -# -# for normal BSD derivatives (UMax 4.[23], SunOS 3.x, 4.0(?)) -SYSFLG = -DBSD -# -# for Sun OS 4.1 this is the right entry -#SYSFLG = -DSUN41 -# -# for the NeXT Mach systems {?} -#SYSFLG = -DMACHOS -# -# for AIX systems -#SYSFLG = -DAIX -# -# for AIX 370 systems -#SYSFLG = -DAIX370 -# -# for DEC Ultrix systems -#SYSFLG = -DULTRIX -# -# for HPUNIX systems, just use the HPUX definition -#SYSFLG = -DHPUX -# -# for Xenix machines, choose whichever base derivitive fits -#SYSFLG = -DSYSV4 -DXENIX -#SYSFLG = -DBSD -DXENIX -# -# for DEC's Vax VMS systems, the following definitions should work -#SYSFLG = -DVMS -DVAXC - -# Ownership changing command -# : use this when installing as root -#CHOWN = chown scores -# : use this for normal user installation -CHOWN = echo ... ignore - -# Permission changing command -# : use this for setuid installation (recommended) -CHMOD = chmod -# : use this for non-setuid installation (non-UNIX?) -#CHMOD = echo ... ignore also - -# uncomment the next line if you dont have getopt in your library -# (eg you are on a pc, or a non unix system). getopt.c is a -# public domain software, and has not been tested by the authors -# of conquer. -#GETOPT = getopt.c -#GETOBJ = getopt.o - -# for VMS systems without the mvprintw command in the curses -# library, use the vms.c file. -#VMSFILE = vms.c -#VMSOBJ = vms.o - -# -# libraries for BSD systems: -LIBS = -lcurses -ltermcap -lcrypt -# -# libraries for SYSV systems: -#LIBS = -lcurses -# -# libraries for Xenix systems: -#LIBS = -ltermlib -ltcap -lcrypt -# -# (To gain regular expression use, add your Reg Exp -# library here, and use a -DREGEX in CFLAGS) -# libraries for HPUX systems (varies with systems): -#LIBS = -lcurses -# -# libraries for SCO SysV systems: -#LIBS = -lcurses -lcrypt_i -# -# (?) libraries for SCO Xenix systems: -#LIBS = -ltermlib -ltcap -lcrypt_i - -# Various Compiler Options -# -# WARNING: AIX370 System, do not use the '-O' with -# your CFLAGS definitions below. -# -# Note: with gcc name conflicts in header files can be avoided by -# increasing the -Wid-clash-# value. -# -# Options flag used for non-debugging purposes (normal C compiler) -#CFLAGS = -O -# Options flag used when not debugging (GNU C compiler) -#CFLAGS = -O -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -# Options flag used when debugging with normal C compiler. -#CFLAGS = -g -DDEBUG -# Options flag used when debugging with the GNU C Compiler -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -# - -# With GCC on SUN 4 (SPARC) Machines, the optimizer cannot -# be used when compiling checkX.c. Switch comments as needed. -#CKFLAGS = -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -CKFLAGS = ${CFLAGS} - -# TOPDIR is this directory. It is important to provide a full -# (from root) path to this directory. NOTE: some make programs -# do not support the ${PWD} construct. -TOPDIR = ${PWD} - -# DATADIR is the directory where the main (or default) campaign -# will be located. It is also the location for all of the -# global data files, such as the help files. -DATADIR = /usr/local/games/lib/conquer - -# BINDIR is the directory where the binaries will be placed -# upon the installation. -BINDIR = /usr/local/games/bin - -# The various subdirectories for the source code -# and support files. -INCDIR = Include -SRCDIR = Src -AUXDIR = Auxil -DOCDIR = Docs - -# CQUER is the name for the user interface portion -CQUER = conquer - -# CQRUN is the name for the administrative portion -CQRUN = conqrun - -# CQSORT is the name for the program to perform the sorting -CQSORT = conqsort - -# CXTRACT is the name of the prototype extractor -CXTRACT = cextract - -# NROFF is the roff processing command which is used -# to create online versions of documenation. -NROFF = nroff - -# TROFF is the roff processing command which is used -# to create the hardcopy (postscript) version of the -# documentation. Be sure to specify the flag to send the -# output to the standard output and not to the printer. -TROFF = psroff -t - -# -# === Adjust below here at your own risk === -# - -# GFILS are files only needed for the user interface. -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c \ -emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c \ -keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c \ -pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c - -# AFILS are files only needed for the adminstration program. -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c \ -economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c \ -updateA.c - -# XFILS are files used in both programs. -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c \ -customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c \ -memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c ${GETOPT} ${VMSFILE} - -# List of object files -GOBJS = ${GFILS:.c=.o} -AOBJS = ${AFILS:.c=.o} -XOBJS = ${XFILS:.c=.o} ${GETOBJ} ${VMSOBJ} - -# === BROKEN MAKE === -# Comment the above and uncomment these for bad make versions. -# [I highly recommend you upgrade your make if this is needed] -#GOBJS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o \ -#emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o \ -#keybindG.o mailG.o moveG.o miscG.o navyG.o ntninfoG.o pagerG.o \ -#regionG.o sectorG.o selectG.o magicG.o xferG.o time_ckG.o -#AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o \ -#economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o \ -#updateA.o -#XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o \ -#customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o \ -#memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o ${GETOBJ} ${VMSOBJ} - -all: - @echo "Use one of:" - @echo " make build -- build everything" - @echo " make install -- install everything" - @echo " make clean -- clean up some files" - @echo " make clobber -- clean up all files" - @echo " make Makefiles -- configure all Makefiles properly" - @echo " make mkfiles -- same as above" - -# -# Build within each directory -build: -# (${CD} ${INCDIR}; ${MAKE} build) ## this need only be done by adb - (${CD} ${SRCDIR}; ${MAKE} build) - (${CD} ${AUXDIR}; ${MAKE} build) - (${CD} ${DOCDIR}; ${MAKE} build) - -# -# Install within each directory -install: - (${CD} ${SRCDIR}; ${MAKE} install) - (${CD} ${AUXDIR}; ${MAKE} install) - (${CD} ${DOCDIR}; ${MAKE} install) - @echo Installation complete... - @echo You may now build the world with \"conqrun -m\". - -# -# Clean up within each directory -clean: - -(${CD} ${INCDIR}; ${MAKE} clean) - -(${CD} ${SRCDIR}; ${MAKE} clean) - -(${CD} ${AUXDIR}; ${MAKE} clean) - -(${CD} ${DOCDIR}; ${MAKE} clean) - ${RM} *.o *~ \#* *.bak ${NULL} - -# -# Really clean up within each directory -clobber: - -(${CD} ${INCDIR}; ${MAKE} clobber) - -(${CD} ${SRCDIR}; ${MAKE} clobber) - -(${CD} ${AUXDIR}; ${MAKE} clobber) - -(${CD} ${DOCDIR}; ${MAKE} clobber) - -${RM} ${INCDIR}/Makefile ${SRCDIR}/Makefile ${NULL} - -${RM} ${AUXDIR}/Makefile ${DOCDIR}/Makefile ${NULL} - -${RM} ${INCDIR}/header.h ${NULL} - -# -# Build all of the Makefiles -mkfiles: - echo 's:%%MAKE%%:${MAKE}:g' > sed.out - echo 's:%%MKDPND%%:${MKDPND}:g' >> sed.out - echo 's:%%MKDIR%%:${MKDIR}:g' >> sed.out - echo 's:%%CD%%:${CD}:g' >> sed.out - echo 's:%%CC%%:${CC}:g' >> sed.out - echo 's:%%RM%%:${RM}:g' >> sed.out - echo 's:%%CP%%:${CP}:g' >> sed.out - echo 's:%%MV%%:${MV}:g' >> sed.out - echo 's:%%ECHO%%:${ECHO}:g' >> sed.out - echo 's:%%SHELL%%:${SHELL}:g' >> sed.out - echo 's:%%STRIP%%:${STRIP}:g' >> sed.out - echo 's:%%NULL%%:${NULL}:g' >> sed.out - echo 's:%%TOUCH%%:${TOUCH}:g' >> sed.out - echo 's:%%CHOWN%%:${CHOWN}:g' >> sed.out - echo 's:%%CHMOD%%:${CHMOD}:g' >> sed.out - echo 's:%%LIBS%%:${LIBS}:g' >> sed.out - echo 's:%%SYSFLG%%:${SYSFLG}:g' >> sed.out - echo 's:%%CFLAGS%%:${CFLAGS}:g' >> sed.out - echo 's:%%CKFLAGS%%:${CKFLAGS}:g' >> sed.out - echo 's:%%TOPDIR%%:${TOPDIR}:g' >> sed.out - echo 's:%%DATADIR%%:${DATADIR}:g' >> sed.out - echo 's:%%BINDIR%%:${BINDIR}:g' >> sed.out - echo 's:%%INCDIR%%:${INCDIR}:g' >> sed.out - echo 's:%%SRCDIR%%:${SRCDIR}:g' >> sed.out - echo 's:%%AUXDIR%%:${AUXDIR}:g' >> sed.out - echo 's:%%DOCDIR%%:${DOCDIR}:g' >> sed.out - echo 's:%%CQUER%%:${CQUER}:g' >> sed.out - echo 's:%%CQRUN%%:${CQRUN}:g' >> sed.out - echo 's:%%CQSORT%%:${CQSORT}:g' >> sed.out - echo 's:%%CXTRACT%%:${CXTRACT}:g' >> sed.out - echo 's:%%NROFF%%:${NROFF}:g' >> sed.out - echo 's:%%TROFF%%:${TROFF}:g' >> sed.out - echo 's:%%GFILS%%:${GFILS}:g' >> sed.out - echo 's:%%AFILS%%:${AFILS}:g' >> sed.out - echo 's:%%XFILS%%:${XFILS}:g' >> sed.out - echo 's:%%GOBJS%%:${GOBJS}:g' >> sed.out - echo 's:%%AOBJS%%:${AOBJS}:g' >> sed.out - echo 's:%%XOBJS%%:${XOBJS}:g' >> sed.out - -sed -f sed.out ${INCDIR}/Makefile.inc > ${INCDIR}/Makefile - -sed -f sed.out ${SRCDIR}/Makefile.src > ${SRCDIR}/Makefile - -sed -f sed.out ${DOCDIR}/Makefile.dcm > ${DOCDIR}/Makefile - -sed -f sed.out ${AUXDIR}/Makefile.aux > ${AUXDIR}/Makefile - ${RM} sed.out ${NULL} - -# just in case -makefiles: mkfiles - -# -Makefiles: mkfiles - -# diff --git a/gpl-release/Makefile.top b/gpl-release/Makefile.top index ec9d29e..008872c 100644 --- a/gpl-release/Makefile.top +++ b/gpl-release/Makefile.top @@ -3,7 +3,7 @@ # SPDX-FileCopyrightText: 1987-1992 Adam Bryant # SPDX-FileCopyrightText: 2025 Juan Manuel Méndez Rey # -# Conquer - Classic Multi-Player Strategy Game - Build Configuration +# Conquer - Classic Multi-Player Strategy Game - Modernized Build Configuration # # 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 @@ -20,393 +20,414 @@ # # Relicensed to GPL v3+ with explicit permission from original authors. # For relicensing documentation, see RELICENSING-PERMISSIONS.md - -# Make sure to set your desired configuration by editing -# the file "header.h", within the Include directory. -# -# To configure all of the Makefiles, first copy this file to -# Makefile and then type "make Makefiles". -# -# Make sure to also check the Makefiles within each of the -# subdirectories to be sure that everything is properly -# configured. -# -# The following variables are all passed on from this Makefile -# by the above command: -# -# MAKE - the make command -# MKDPND - the make depend command -# MKDIR - the command to create a new directory -# SHELL - the shell used when running the make -# CD - command to change to a different directory -# CC - the compiler -# RM - the program to remove files -# CP - command to copy files -# MV - command to relocate files -# ECHO - simple command to print arguments literally -# STRIP - "strip" command used to remove symbol table -# TOUCH - command to create empty file or update file time -# NULL - place to send useless error messages -# CHOWN - command to adjust file ownership -# CHMOD - command to adjust file permissions -# LIBS - various libraries used when compiling conquer -# SYSFLG - *important* flags used for system definition -# CFLAGS - the list of compiler options -# CKFLAGS - special flags for the checkX.o compilation -# TOPDIR - full path to this directory -# DATADIR - full path of the default data directory -# BINDIR - full path where executables will be placed -# INCDIR - the name of the include directory -# SRCDIR - the name of the src directory -# AUXDIR - the name of the auxilary directory -# DOCDIR - the name of the documentation directory -# CQUER - name for the user interface program -# CQRUN - name for the administrative program -# CQSORT - name for the sorting program -# CXTRACT - name for the prototype extractor -# NROFF - command to create online documentation -# TROFF - command to create hardcopy documentation -# -# These are also passed on, but should not be changed: -# -# GFILS - source code for "conquer" files -# AFILS - source code for "conqrun" files -# XFILS - source code for both programs -# GOBJS - object files for "conquer" compilation -# AOBJS - object files for "conqrun" compilation -# XOBJS - object files for both programs -# -# Please report any problems with compilation or build issues -# through the project's issue tracker. -# -# Current Maintainer: Juan Manuel Méndez Rey -# Project Repository: https://github.com/vejeta/conquerv5 -# Bug Reports: https://github.com/vejeta/conquerv5/issues -# -# Please report any problems with compilation or build issues -# through the project's issue tracker. -# -# Current Maintainer: Juan Manuel Méndez Rey -# Project Repository: https://github.com/vejeta/conquerv5 -# Bug Reports: https://github.com/vejeta/conquerv5/issues -# -# This should be installed by whomever you want to own the game. -# I recommend "games" or "root". - -# The various making things -MAKE = /bin/make -MKDPND = makedepend -MKDIR = mkdir - -# This bourne shell should work fine but the csh would -# probably work if you set the NULL to >&/dev/null -SHELL = /bin/sh - -# Other standard things, such as the compiler -CD = cd -CC = gcc -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch - -# *Very important* This indicates the kind of machine -# you are working on. The current list of options is: -# -# SYSV3 - for system V R3 derivatives {?} -# SYSV4 - for system V R4 derivatives -# BSD - for normal BSD derivatives -# SUN41 - for Sun OS 4.1 > -# MACHOS - for NeXT machines running Mach {?} -# AIX - for IBM Unix systems -# AIX370 - for IBM 370 systems running AIX -# ULTRIX - for DEC's Unix systems -# HPUX - for Hewlett Packards Unix systems -# VAXC - for the DEC VMS VAXC compiler -# VMS - for DEC's VMS operating systems -# -# for normal System V derivatives, use one of these (AT+T, etc) -#SYSFLG = -DSYSV4 -#SYSFLG = -DSYSV3 -# -# for normal BSD derivatives (UMax 4.[23], SunOS 3.x, 4.0(?)) -#SYSFLG = -DBSD -# -# for Sun OS 4.1 this is the right entry -SYSFLG = -DSUN41 -# -# for the NeXT Mach systems {?} -SYSFLG = -DMACHOS -# -# for AIX systems -#SYSFLG = -DAIX -# -# for AIX 370 systems -#SYSFLG = -DAIX370 -# -# for DEC Ultrix systems -#SYSFLG = -DULTRIX -# -# for HPUNIX systems, just use the HPUX definition -#SYSFLG = -DHPUX -# -# for Xenix machines, choose whichever base derivitive fits -#SYSFLG = -DSYSV4 -DXENIX -#SYSFLG = -DBSD -DXENIX -# -# for DEC's Vax VMS systems, the following definitions should work -#SYSFLG = -DVMS -DVAXC - -# Ownership changing command -# : use this when installing as root -CHOWN = chown scores -# : use this for normal user installation -#CHOWN = echo ... ignore - -# Permission changing command -# : use this for setuid installation (recommended) -CHMOD = chmod -# : use this for non-setuid installation (non-UNIX?) -#CHMOD = echo ... ignore also - -# uncomment the next line if you dont have getopt in your library -# (eg you are on a pc, or a non unix system). getopt.c is a -# public domain software, and has not been tested by the authors -# of conquer. -#GETOPT = getopt.c -#GETOBJ = getopt.o - -# for VMS systems without the mvprintw command in the curses -# library, use the vms.c file. -#VMSFILE = vms.c -#VMSOBJ = vms.o - -# -# libraries for BSD systems: -LIBS = -lcurses -ltermcap -# -# libraries for SYSV systems: -#LIBS = -lcurses -# -# libraries for Xenix systems: -#LIBS = -ltermlib -ltcap -lcrypt -# -# (To gain regular expression use, add your Reg Exp -# library here, and use a -DREGEX in CFLAGS) -# libraries for HPUX systems (varies with systems): -#LIBS = -lcurses -# -# libraries for SCO SysV systems: -#LIBS = -lcurses -lcrypt_i -# -# (?) libraries for SCO Xenix systems: -#LIBS = -ltermlib -ltcap -lcrypt_i - -# Various Compiler Options # -# WARNING: AIX370 System, do not use the '-O' with -# your CFLAGS definitions below. +# MODERNIZED CROSS-PLATFORM MAKEFILE +# +# This modernized Makefile provides: +# - Automatic platform detection +# - Cross-platform compiler support (GCC, Clang, MSVC) +# - Modern compiler flags and optimizations +# - Improved dependency handling +# - Better error handling and diagnostics +# - Preserves all original functionality # -# Note: with gcc name conflicts in header files can be avoided by -# increasing the -Wid-clash-# value. -# -# Options flag used for non-debugging purposes (normal C compiler) -#CFLAGS = -O -# Options flag used when not debugging (GNU C compiler) -#CFLAGS = -O -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -# Options flag used when debugging with normal C compiler. -#CFLAGS = -g -DDEBUG -# Options flag used when debugging with the GNU C Compiler -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -# - -# With GCC on SUN 4 (SPARC) Machines, the optimizer cannot -# be used when compiling checkX.c. Switch comments as needed. -#CKFLAGS = -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -CKFLAGS = ${CFLAGS} - -# TOPDIR is this directory. It is important to provide a full -# (from root) path to this directory. NOTE: some make programs -# do not support the ${PWD} construct. -TOPDIR = ${PWD} - -# DATADIR is the directory where the main (or default) campaign -# will be located. It is also the location for all of the -# global data files, such as the help files. -DATADIR = /usr/games/lib/conquer - -# BINDIR is the directory where the binaries will be placed -# upon the installation. -BINDIR = /usr/games - -# The various subdirectories for the source code -# and support files. -INCDIR = Include -SRCDIR = Src -AUXDIR = Auxil -DOCDIR = Docs - -# CQUER is the name for the user interface portion -CQUER = conquer - -# CQRUN is the name for the administrative portion -CQRUN = conqrun - -# CQSORT is the name for the program to perform the sorting -CQSORT = conqsort - -# CXTRACT is the name of the prototype extractor -CXTRACT = cextract - -# NROFF is the roff processing command which is used -# to create online versions of documenation. -NROFF = nroff - -# TROFF is the roff processing command which is used -# to create the hardcopy (postscript) version of the -# documentation. Be sure to specify the flag to send the -# output to the standard output and not to the printer. -TROFF = psroff -t - -# -# === Adjust below here at your own risk === -# - -# GFILS are files only needed for the user interface. -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c \ +# To configure all of the Makefiles, first copy this file to +# Makefile and then type "make Makefiles". +# +# Current Maintainer: Juan Manuel Méndez Rey +# Project Repository: https://github.com/vejeta/conquerv5 +# Bug Reports: https://github.com/vejeta/conquerv5/issues + + +# ================================================================ +# PLATFORM DETECTION +# ================================================================ + +UNAME_S := $(shell uname -s 2>/dev/null || echo Windows) +UNAME_M := $(shell uname -m 2>/dev/null || echo unknown) + +ifeq ($(UNAME_S),Linux) + PLATFORM = linux + PLATFORM_FLAGS = -DPLATFORM_LINUX -DPLATFORM_UNIX + PLATFORM_LIBS = -lcrypt +endif + +ifeq ($(UNAME_S),Darwin) + PLATFORM = macos + PLATFORM_FLAGS = -DPLATFORM_MACOS -DPLATFORM_UNIX + PLATFORM_LIBS = +endif + +ifeq ($(UNAME_S),FreeBSD) + PLATFORM = freebsd + PLATFORM_FLAGS = -DPLATFORM_FREEBSD -DPLATFORM_UNIX + PLATFORM_LIBS = -lcrypt +endif + +ifeq ($(UNAME_S),OpenBSD) + PLATFORM = openbsd + PLATFORM_FLAGS = -DPLATFORM_OPENBSD -DPLATFORM_UNIX + PLATFORM_LIBS = +endif + +ifeq ($(UNAME_S),NetBSD) + PLATFORM = netbsd + PLATFORM_FLAGS = -DPLATFORM_NETBSD -DPLATFORM_UNIX + PLATFORM_LIBS = -lcrypt +endif + +# ================================================================ +# LIBC DETECTION (for Alpine/musl compatibility) +# ================================================================ + +IS_ALPINE := $(shell test -f /etc/alpine-release && echo yes || echo no) + +ifeq ($(UNAME_S),Linux) + PLATFORM = linux + PLATFORM_FLAGS = -DPLATFORM_LINUX -DPLATFORM_UNIX + PLATFORM_LIBS = -lcrypt + # Add BSD function compatibility for Alpine Linux (musl libc) + ifeq ($(IS_ALPINE),yes) + PLATFORM_FLAGS += -D_DEFAULT_SOURCE -D_BSD_SOURCE + endif +endif + + +# ================================================================ +# COMPILER DETECTION +# ================================================================ + +ifeq ($(CC),) + CC := $(shell which gcc 2>/dev/null || which clang 2>/dev/null || which cc 2>/dev/null || echo gcc) +endif + +CC_VERSION := $(shell $(CC) --version 2>/dev/null | head -n1) + +ifneq ($(findstring gcc,$(CC_VERSION)),) + COMPILER = gcc + COMPILER_FLAGS = -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-qual +endif + +ifneq ($(findstring clang,$(CC_VERSION)),) + COMPILER = clang + COMPILER_FLAGS = -Wall -Wextra -Wshadow -Wpointer-arith -Wcast-qual +endif + +ifeq ($(COMPILER_FLAGS),) + COMPILER_FLAGS = -Wall +endif + +# ================================================================ +# ADMINISTRATOR CONFIGURATION (FIXED) +# ================================================================ + +CURRENT_USER := $(shell whoami 2>/dev/null || echo $(USER) 2>/dev/null || echo "admin") +LOGIN ?= $(CURRENT_USER) + +# ================================================================ +# BUILD CONFIGURATION +# ================================================================ + +BUILD ?= debug + +ifeq ($(BUILD),release) + OPTIMIZATION = -O2 -DNDEBUG + STRIP_BINARIES = yes +else ifeq ($(BUILD),debug) + OPTIMIZATION = -g -O0 -DDEBUG + STRIP_BINARIES = no +else + OPTIMIZATION = -O1 -g + STRIP_BINARIES = no +endif + +# ================================================================ +# TOOLS AND UTILITIES +# ================================================================ + +MAKE = make +MKDPND = makedepend +MKDIR = mkdir -p +SHELL := $(shell which bash 2>/dev/null || which sh 2>/dev/null || echo /bin/sh) +CD = cd +RM = rm -f +CP = cp +MV = mv +ECHO = echo +TOUCH = touch +NULL = 2>/dev/null + +ifeq ($(STRIP_BINARIES),yes) + STRIP = strip +else + STRIP = echo "Not stripping" +endif + +# ================================================================ +# SYSTEM FLAGS (FIXED) +# ================================================================ + +ifeq ($(PLATFORM),linux) + SYSFLG = -DBSD $(PLATFORM_FLAGS) +else ifeq ($(PLATFORM),macos) + SYSFLG = -DBSD $(PLATFORM_FLAGS) +else ifeq ($(PLATFORM),freebsd) + SYSFLG = -DBSD $(PLATFORM_FLAGS) +else ifeq ($(PLATFORM),openbsd) + SYSFLG = -DBSD $(PLATFORM_FLAGS) +else ifeq ($(PLATFORM),netbsd) + SYSFLG = -DBSD $(PLATFORM_FLAGS) +else + SYSFLG = -DBSD -DPLATFORM_UNIX +endif + +# ================================================================ +# LIBRARY CONFIGURATION +# ================================================================ + +# Simple approach: detect common library locations +HAS_NCURSES := $(shell test -f /usr/lib/libncurses.so -o -f /usr/lib/x86_64-linux-gnu/libncurses.so -o -f /lib/libncurses.so && echo yes || echo no) +ifeq ($(HAS_NCURSES),yes) + BASE_LIBS = -lncurses +else + BASE_LIBS = -lcurses +endif + +# Check if we're in a musl environment by looking for typical musl indicators +IS_MUSL := $(shell $(CC) -dumpmachine 2>/dev/null | grep -q musl && echo yes || echo no) + +# Simple termcap availability check +HAS_TERMCAP := $(shell test -f /usr/lib/libtermcap.so -o -f /usr/lib/x86_64-linux-gnu/libtermcap.so && echo yes || echo no) + +ifeq ($(PLATFORM),linux) + ifeq ($(IS_MUSL),yes) + LIBS = $(BASE_LIBS) $(PLATFORM_LIBS) + else ifeq ($(HAS_TERMCAP),yes) + LIBS = $(BASE_LIBS) -ltermcap $(PLATFORM_LIBS) + else + LIBS = $(BASE_LIBS) $(PLATFORM_LIBS) + endif +else ifeq ($(PLATFORM),macos) + LIBS = $(BASE_LIBS) -ltermcap $(PLATFORM_LIBS) +else ifeq ($(PLATFORM),freebsd) + LIBS = $(BASE_LIBS) -ltermcap $(PLATFORM_LIBS) +else ifeq ($(PLATFORM),openbsd) + LIBS = $(BASE_LIBS) -ltermcap $(PLATFORM_LIBS) +else ifeq ($(PLATFORM),netbsd) + LIBS = $(BASE_LIBS) -ltermcap $(PLATFORM_LIBS) +else + LIBS = $(BASE_LIBS) -ltermcap -lcrypt +endif + +# ================================================================ +# COMPILER FLAGS (FIXED - NO LOGIN_FLAG) +# ================================================================ + +BASE_CFLAGS = $(COMPILER_FLAGS) $(OPTIMIZATION) $(SYSFLG) +STD_FLAGS = -std=c99 + +ifeq ($(BUILD),release) + PERF_FLAGS = -fomit-frame-pointer -ffast-math + CFLAGS = $(BASE_CFLAGS) $(STD_FLAGS) $(PERF_FLAGS) +else + DEBUG_FLAGS = -fno-omit-frame-pointer -fstack-protector-strong + ifeq ($(COMPILER),gcc) + DEBUG_FLAGS += -fsanitize=address -fsanitize=undefined + endif + CFLAGS = $(BASE_CFLAGS) $(STD_FLAGS) $(DEBUG_FLAGS) +endif + +CKFLAGS = $(CFLAGS) +ifeq ($(COMPILER),gcc) + ifneq ($(findstring sparc,$(UNAME_M)),) + CKFLAGS = $(filter-out -O%,$(CFLAGS)) -O0 + endif +endif + +# ================================================================ +# INSTALLATION PATHS +# ================================================================ + +ifneq ($(shell id -u 2>/dev/null),0) + CHOWN = echo "... ignore (not root)" + CHMOD = chmod + PREFIX ?= $(HOME)/conquerv5 +else + CHOWN = chown games.games + CHMOD = chmod + PREFIX ?= /usr/local +endif + +TOPDIR = $(PWD) +DATADIR = $(PREFIX)/share/conquerv5 +BINDIR = $(PREFIX)/bin + +INCDIR = Include +SRCDIR = Src +AUXDIR = Auxil +DOCDIR = Docs + +CQUER = conquer +CQRUN = conqrun +CQSORT = conqsort +CXTRACT = cextract + +NROFF = nroff +TROFF = groff -Tps + +HEADER_DIST := $(INCDIR)/header.h.dist +HEADER := $(INCDIR)/header.h + +# ================================================================ +# SOURCE FILES +# ================================================================ + +GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c \ emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c \ keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c \ pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c -# AFILS are files only needed for the adminstration program. -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c \ +AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c \ economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c \ updateA.c -# XFILS are files used in both programs. -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c \ +XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c \ customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c \ -memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c ${GETOPT} ${VMSFILE} - -# List of object files -GOBJS = ${GFILS:.c=.o} -AOBJS = ${AFILS:.c=.o} -XOBJS = ${XFILS:.c=.o} ${GETOBJ} ${VMSOBJ} - -# === BROKEN MAKE === -# Comment the above and uncomment these for bad make versions. -# [I highly recommend you upgrade your make if this is needed] -#GOBJS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o \ -#emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o \ -#keybindG.o mailG.o moveG.o miscG.o navyG.o ntninfoG.o pagerG.o \ -#regionG.o sectorG.o selectG.o magicG.o xferG.o time_ckG.o -#AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o \ -#economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o \ -#updateA.o -#XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o \ -#customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o \ -#memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o ${GETOBJ} ${VMSOBJ} - -all: - @echo "Use one of:" +memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c + +GOBJS = $(GFILS:.c=.o) +AOBJS = $(AFILS:.c=.o) +XOBJS = $(XFILS:.c=.o) + +# ================================================================ +# TARGETS +# ================================================================ + +.PHONY: all build install clean clobber Makefiles mkfiles makefiles info help + +all: + @echo "Conquer v5 Build System (Modernized)" + @echo "Platform: $(PLATFORM) ($(UNAME_S)/$(UNAME_M))" + @echo "Compiler: $(CC) ($(COMPILER))" + @echo "Build: $(BUILD)" + @echo "" + @echo "Available targets:" @echo " make build -- build everything" @echo " make install -- install everything" - @echo " make clean -- clean up some files" - @echo " make clobber -- clean up all files" + @echo " make clean -- clean up build files" + @echo " make clobber -- clean up all generated files" @echo " make Makefiles -- configure all Makefiles properly" - @echo " make mkfiles -- same as above" + @echo " make info -- show build configuration" + +info: + @echo "Build Configuration:" + @echo " Platform: $(PLATFORM)" + @echo " System: $(UNAME_S) $(UNAME_M)" + @echo " Compiler: $(CC)" + @echo " Build Type: $(BUILD)" + @echo " Login: $(LOGIN)" + @echo " Flags: $(CFLAGS)" + @echo " Libraries: $(LIBS)" + +# ================================================================ +# HEADER GENERATION (FIXED) +# ================================================================ + +$(HEADER): $(HEADER_DIST) + @echo "Generating $@ from $< (LOGIN=$(LOGIN))" + @awk -v login="$(LOGIN)" '/^[ \t]*#define[ \t]+LOGIN/ { print "#define LOGIN \"" login "\""; next } { print }' $< > $@ + +# ================================================================ +# BUILD TARGETS +# ================================================================ -# -# Build within each directory build: -# (${CD} ${INCDIR}; ${MAKE} build) ## this need only be done by adb - (${CD} ${SRCDIR}; ${MAKE} build) - (${CD} ${AUXDIR}; ${MAKE} build) - (${CD} ${DOCDIR}; ${MAKE} build) + @echo "Building Conquer v5 ($(BUILD) mode on $(PLATFORM))..." + ($(CD) $(SRCDIR) && $(MAKE) build) + ($(CD) $(AUXDIR) && $(MAKE) build) + ($(CD) $(DOCDIR) && $(MAKE) build) + @echo "Build complete!" -# -# Install within each directory install: - (${CD} ${SRCDIR}; ${MAKE} install) - (${CD} ${AUXDIR}; ${MAKE} install) - (${CD} ${DOCDIR}; ${MAKE} install) - @echo Installation complete... - @echo You may now build the world with \"conqrun -m\". + @echo "Installing Conquer v5 to $(PREFIX)..." + -$(MKDIR) $(DATADIR) $(BINDIR) + ($(CD) $(SRCDIR) && $(MAKE) install) + ($(CD) $(AUXDIR) && $(MAKE) install) + ($(CD) $(DOCDIR) && $(MAKE) install) + @echo "Installation complete!" -# -# Clean up within each directory clean: - -(${CD} ${INCDIR}; ${MAKE} clean) - -(${CD} ${SRCDIR}; ${MAKE} clean) - -(${CD} ${AUXDIR}; ${MAKE} clean) - -(${CD} ${DOCDIR}; ${MAKE} clean) - ${RM} *.o *~ \#* *.bak ${NULL} + @echo "Cleaning build files..." + -($(CD) $(INCDIR) && $(MAKE) clean $(NULL)) + -($(CD) $(SRCDIR) && $(MAKE) clean $(NULL)) + -($(CD) $(AUXDIR) && $(MAKE) clean $(NULL)) + -($(CD) $(DOCDIR) && $(MAKE) clean $(NULL)) + -$(RM) *.o *~ \#* *.bak $(NULL) -# -# Really clean up within each directory clobber: - -(${CD} ${INCDIR}; ${MAKE} clobber) - -(${CD} ${SRCDIR}; ${MAKE} clobber) - -(${CD} ${AUXDIR}; ${MAKE} clobber) - -(${CD} ${DOCDIR}; ${MAKE} clobber) - -${RM} ${INCDIR}/Makefile ${SRCDIR}/Makefile ${NULL} - -${RM} ${AUXDIR}/Makefile ${DOCDIR}/Makefile ${NULL} - -${RM} ${INCDIR}/header.h ${NULL} + @echo "Cleaning all generated files..." + -($(CD) $(INCDIR) && $(MAKE) clobber $(NULL)) + -($(CD) $(SRCDIR) && $(MAKE) clobber $(NULL)) + -($(CD) $(AUXDIR) && $(MAKE) clobber $(NULL)) + -($(CD) $(DOCDIR) && $(MAKE) clobber $(NULL)) + -$(RM) $(INCDIR)/Makefile $(SRCDIR)/Makefile $(NULL) + -$(RM) $(AUXDIR)/Makefile $(DOCDIR)/Makefile $(NULL) + -$(RM) $(INCDIR)/header.h sed.out $(NULL) + +# ================================================================ +# MAKEFILE GENERATION (COMPLETELY FIXED) +# ================================================================ -# -# Build all of the Makefiles mkfiles: - echo 's:%%MAKE%%:${MAKE}:g' > sed.out - echo 's:%%MKDPND%%:${MKDPND}:g' >> sed.out - echo 's:%%MKDIR%%:${MKDIR}:g' >> sed.out - echo 's:%%CD%%:${CD}:g' >> sed.out - echo 's:%%CC%%:${CC}:g' >> sed.out - echo 's:%%RM%%:${RM}:g' >> sed.out - echo 's:%%CP%%:${CP}:g' >> sed.out - echo 's:%%MV%%:${MV}:g' >> sed.out - echo 's:%%ECHO%%:${ECHO}:g' >> sed.out - echo 's:%%SHELL%%:${SHELL}:g' >> sed.out - echo 's:%%STRIP%%:${STRIP}:g' >> sed.out - echo 's:%%NULL%%:${NULL}:g' >> sed.out - echo 's:%%TOUCH%%:${TOUCH}:g' >> sed.out - echo 's:%%CHOWN%%:${CHOWN}:g' >> sed.out - echo 's:%%CHMOD%%:${CHMOD}:g' >> sed.out - echo 's:%%LIBS%%:${LIBS}:g' >> sed.out - echo 's:%%SYSFLG%%:${SYSFLG}:g' >> sed.out - echo 's:%%CFLAGS%%:${CFLAGS}:g' >> sed.out - echo 's:%%CKFLAGS%%:${CKFLAGS}:g' >> sed.out - echo 's:%%TOPDIR%%:${TOPDIR}:g' >> sed.out - echo 's:%%DATADIR%%:${DATADIR}:g' >> sed.out - echo 's:%%BINDIR%%:${BINDIR}:g' >> sed.out - echo 's:%%INCDIR%%:${INCDIR}:g' >> sed.out - echo 's:%%SRCDIR%%:${SRCDIR}:g' >> sed.out - echo 's:%%AUXDIR%%:${AUXDIR}:g' >> sed.out - echo 's:%%DOCDIR%%:${DOCDIR}:g' >> sed.out - echo 's:%%CQUER%%:${CQUER}:g' >> sed.out - echo 's:%%CQRUN%%:${CQRUN}:g' >> sed.out - echo 's:%%CQSORT%%:${CQSORT}:g' >> sed.out - echo 's:%%CXTRACT%%:${CXTRACT}:g' >> sed.out - echo 's:%%NROFF%%:${NROFF}:g' >> sed.out - echo 's:%%TROFF%%:${TROFF}:g' >> sed.out - echo 's:%%GFILS%%:${GFILS}:g' >> sed.out - echo 's:%%AFILS%%:${AFILS}:g' >> sed.out - echo 's:%%XFILS%%:${XFILS}:g' >> sed.out - echo 's:%%GOBJS%%:${GOBJS}:g' >> sed.out - echo 's:%%AOBJS%%:${AOBJS}:g' >> sed.out - echo 's:%%XOBJS%%:${XOBJS}:g' >> sed.out - -sed -f sed.out ${INCDIR}/Makefile.inc > ${INCDIR}/Makefile - -sed -f sed.out ${SRCDIR}/Makefile.src > ${SRCDIR}/Makefile - -sed -f sed.out ${DOCDIR}/Makefile.dcm > ${DOCDIR}/Makefile - -sed -f sed.out ${AUXDIR}/Makefile.aux > ${AUXDIR}/Makefile - ${RM} sed.out ${NULL} - -# just in case -makefiles: mkfiles - -# -Makefiles: mkfiles - -# + @echo "Configuring Makefiles for $(PLATFORM)..." + @echo 's:%%MAKE%%:$(MAKE):g' > sed.out + @echo 's:%%MKDPND%%:$(MKDPND):g' >> sed.out + @echo 's:%%MKDIR%%:$(MKDIR):g' >> sed.out + @echo 's:%%CD%%:$(CD):g' >> sed.out + @echo 's:%%CC%%:$(CC):g' >> sed.out + @echo 's:%%RM%%:$(RM):g' >> sed.out + @echo 's:%%CP%%:$(CP):g' >> sed.out + @echo 's:%%MV%%:$(MV):g' >> sed.out + @echo 's:%%ECHO%%:$(ECHO):g' >> sed.out + @echo 's:%%SHELL%%:$(SHELL):g' >> sed.out + @echo 's:%%STRIP%%:$(STRIP):g' >> sed.out + @echo 's:%%NULL%%:$(NULL):g' >> sed.out + @echo 's:%%TOUCH%%:$(TOUCH):g' >> sed.out + @echo 's:%%CHOWN%%:$(CHOWN):g' >> sed.out + @echo 's:%%CHMOD%%:$(CHMOD):g' >> sed.out + @echo 's:%%LOGIN%%:$(LOGIN):g' >> sed.out + @echo 's:%%LIBS%%:$(LIBS):g' >> sed.out + @echo 's:%%SYSFLG%%:$(SYSFLG):g' >> sed.out + @echo 's:%%CFLAGS%%:$(CFLAGS):g' >> sed.out + @echo 's:%%CKFLAGS%%:$(CKFLAGS):g' >> sed.out + @echo 's:%%TOPDIR%%:$(TOPDIR):g' >> sed.out + @echo 's:%%DATADIR%%:$(DATADIR):g' >> sed.out + @echo 's:%%BINDIR%%:$(BINDIR):g' >> sed.out + @echo 's:%%INCDIR%%:$(INCDIR):g' >> sed.out + @echo 's:%%SRCDIR%%:$(SRCDIR):g' >> sed.out + @echo 's:%%AUXDIR%%:$(AUXDIR):g' >> sed.out + @echo 's:%%DOCDIR%%:$(DOCDIR):g' >> sed.out + @echo 's:%%CQUER%%:$(CQUER):g' >> sed.out + @echo 's:%%CQRUN%%:$(CQRUN):g' >> sed.out + @echo 's:%%CQSORT%%:$(CQSORT):g' >> sed.out + @echo 's:%%CXTRACT%%:$(CXTRACT):g' >> sed.out + @echo 's:%%NROFF%%:$(NROFF):g' >> sed.out + @echo 's:%%TROFF%%:$(TROFF):g' >> sed.out + @echo 's:%%GFILS%%:$(GFILS):g' >> sed.out + @echo 's:%%AFILS%%:$(AFILS):g' >> sed.out + @echo 's:%%XFILS%%:$(XFILS):g' >> sed.out + @echo 's:%%GOBJS%%:$(GOBJS):g' >> sed.out + @echo 's:%%AOBJS%%:$(AOBJS):g' >> sed.out + @echo 's:%%XOBJS%%:$(XOBJS):g' >> sed.out + -sed -f sed.out $(INCDIR)/Makefile.inc > $(INCDIR)/Makefile + -sed -f sed.out $(SRCDIR)/Makefile.src > $(SRCDIR)/Makefile + -sed -f sed.out $(DOCDIR)/Makefile.dcm > $(DOCDIR)/Makefile + -sed -f sed.out $(AUXDIR)/Makefile.aux > $(AUXDIR)/Makefile + $(RM) sed.out $(NULL) + @echo "Makefiles configured successfully!" + +makefiles: mkfiles +Makefiles: mkfiles + +Makefiles: $(HEADER) +build: $(HEADER) diff --git a/gpl-release/README b/gpl-release/README index 5bc51f8..4f17e40 100644 --- a/gpl-release/README +++ b/gpl-release/README @@ -1,4 +1,4 @@ -It will always be necessary to redo these commands whenever you + It will always be necessary to redo these commands whenever you receive a new patch or tar file, to assure that any Makefile changes are propogated to all of your files. @@ -42,5 +42,4 @@ conquer and as such, will probably have to be updated if you do any programming for conquer. I have a copy of the cextract program available if you needed, just send me email. -adam bryant vejeta@gmail.com or https://github.com/vejeta/conquerv5/issues diff --git a/gpl-release/README.md b/gpl-release/README.md index ae2c3cb..953b0a2 100644 --- a/gpl-release/README.md +++ b/gpl-release/README.md @@ -130,6 +130,7 @@ SYSTEM REQUIREMENTS: - make utility (GNU make preferred) - curses library (ncurses recommended) - Standard Unix utilities (sed, etc.) +- groff, ghostscript (To build documentation) INSTALLATION PROCESS: 1. Extract the source code to a directory diff --git a/gpl-release/Src/Makefile b/gpl-release/Src/Makefile deleted file mode 100644 index 2fd974f..0000000 --- a/gpl-release/Src/Makefile +++ /dev/null @@ -1,811 +0,0 @@ -# conquer: Copyright 1991 by Edward M Barlow and Adam Bryant -# All Rights Reserved -# -# This Makefile should not need changing. -# -# Please report any problems with compilation or build issues -# through the project's issue tracker. -# -# Current Maintainer: Juan Manuel Méndez Rey -# Project Repository: https://github.com/vejeta/conquerv5 -# Bug Reports: https://github.com/vejeta/conquerv5/issues -# - -# All of the default settings -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir -SHELL = /bin/sh -CC = gcc -CD = cd -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch -CHOWN = echo ... ignore -CHMOD = chmod -LIBS = -lcurses -ltermcap -lcrypt -SYSFLG = -DBSD -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -CKFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -TOPDIR = /home/brand1/kevin/foo/conquer -DATADIR = /usr/local/games/lib/conquer -BINDIR = /usr/local/games/bin -INCDIR = /home/brand1/kevin/foo/conquer/Include -SRCDIR = /home/brand1/kevin/foo/conquer/Src -AUXDIR = /home/brand1/kevin/foo/conquer/Auxil -DOCDIR = /home/brand1/kevin/foo/conquer/Docs -CQUER = conquer -CQRUN = conqrun -CQSORT = conqsort -CXTRACT = cextract -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c updateA.c -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c - -# lists of object files -AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o updateA.o jointA.o -GOBJS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o keybindG.o magicG.o mailG.o miscG.o moveG.o navyG.o ntninfoG.o pagerG.o regionG.o sectorG.o selectG.o xferG.o time_ckG.o jointG.o -XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o - -# -# Makefile specific variables -# - -# preprocessor definitions -CPPFLGS = -I${INCDIR} ${SYSFLG} - -# list of support files to be installed -SUPPORT = nations - -# -# Building and Installation Procedures -# -all: - @${ECHO} "Use one of:" - @${ECHO} " make build -- build everything" - @${ECHO} " make install -- install everything" - @${ECHO} " make clean -- clean up everything" - @${ECHO} " make clobber -- really do some cleanup" - -# -build: ${CQUER} ${CQRUN} - @${ECHO} Done with build in Src - -# -install: in${CQUER} in${CQRUN} insupport - @${ECHO} Done with install in Src - -# -# installation of support files -insupport: ${SUPPORT} - -${MKDIR} ${DATADIR} - ${CHOWN} ${DATADIR} - ${CHMOD} 700 ${DATADIR} - ${CP} ${SUPPORT} ${DATADIR} - ${CHOWN} ${DATADIR}/* - ${TOUCH} insupport - -# -# Makefile specific dependencies and rules - -# User interface -${CQUER}: ${GOBJS} ${XOBJS} - @${ECHO} ${CQUER} object files done... - @${ECHO} === Compiling User Interface - ${CC} ${CFLAGS} -o ${CQUER} ${GOBJS} ${XOBJS} ${LIBS} - -# Administrative program -${CQRUN}: ${AOBJS} ${XOBJS} - @${ECHO} ${CQRUN} object files done... - @${ECHO} === Compiling Administrative Program - ${CC} ${CFLAGS} -o ${CQRUN} ${AOBJS} ${XOBJS} ${LIBS} - -# Installation of user interface -in${CQUER}: ${CQUER} - @${ECHO} Installing ${CQUER}... - ${STRIP} ${CQUER} - -${RM} ${BINDIR}/${CQUER} ${NULL} - -${MKDIR} ${BINDIR} - ${MV} ${CQUER} ${BINDIR} - ${CHOWN} ${BINDIR}/${CQUER} - ${CHMOD} 4751 ${BINDIR}/${CQUER} - ${TOUCH} ${CQUER} - ${TOUCH} in${CQUER} - -# Installation of administrative program -in${CQRUN}: ${CQRUN} - @${ECHO} Installing ${CQRUN}... - ${STRIP} ${CQRUN} - -${RM} ${BINDIR}/${CQRUN} ${NULL} - -${MKDIR} ${BINDIR} - ${MV} ${CQRUN} ${BINDIR} - ${CHOWN} ${BINDIR}/${CQRUN} - ${CHMOD} 4751 ${BINDIR}/${CQRUN} - ${TOUCH} ${CQRUN} - ${TOUCH} in${CQRUN} -# -checkX.o: checkX.c - ${CC} ${CKFLAGS} ${CPPFLGS} -c $*.c - -# -miscA.o: miscA.c Makefile - ${CC} ${CFLAGS} -DCONQ_SORT=\"${CQSORT}\" ${CPPFLGS} -c $*.c - -# -customX.o: customX.c Makefile - ${CC} ${CFLAGS} -DDEFAULTDIR=\"${DATADIR}\" -DEXEDIR=\"${BINDIR}\" ${CPPFLGS} -c $*.c - -# Creating object files -.c.o: $< - ${CC} ${CFLAGS} ${CPPFLGS} -c $*.c - -# Generate the dependencies -depend: - @${ECHO} Building the dependencies - -${MKDPND} -- ${CPPFLGS} -- ${AFILS} ${GFILS} ${XFILS} jointA.c jointG.c - @${ECHO} Dependency building done - -# Cleaning things up -clean: - ${RM} *.o *~ *.bak *.orig \#* ${NULL} - -# Really clean things up -clobber: clean - ${RM} ${CQUER} ${CQRUN} in${CQUER} in${CQRUN} insupport ${NULL} - -# Stuff for Saber C v3.0 -saber_${CQRUN}: saber_xobj saber_aobj - #load ${LIBS} - -saber_un${CQRUN}: saber_unx saber_una - #unload ${LIBS} - -saber_${CQUER}: saber_xobj saber_gobj - #load ${LIBS} - -saber_un${CQUER}: saber_unx saber_ung - #unload ${LIBS} - -saber_xobj: ${XOBJS} - #load ${CFLAGS} \'${CPPFLGS}\' ${XOBJS} - -saber_aobj: ${AOBJS} - #load ${CFLAGS} \'${CPPFLGS}\' ${AOBJS} - -saber_gobj: ${GOBJS} - #load ${CFLAGS} \'${CPPFLGS}\' ${GOBJS} - -saber_unx: - #unload ${XOBJS} - -saber_una: - #unload ${AOBJS} - -saber_ung: - #unload ${GOBJS} - -# Add to the suffixes list for Saber C loading -.SUFFIXES: .src .obj - -# Lines to load just one source or object file into Saber -.c.src: - #load ${CFLAGS} ${CPPFLGS} $< - -.o.obj: - #load ${CFLAGS} \'${CPPFLGS}\' $< - -# -# DO NOT DELETE THIS LINE -- make depend depends on it. - -# all of these dependencies are the default values, for those systems -# that do not have the makedepend command. - -# -# The global dependencies -# -${AOBJS}: ${INCDIR}/dataA.h -${AOBJS}: ${INCDIR}/dataX.h -${AOBJS}: ${INCDIR}/header.h -${AOBJS}: ${INCDIR}/paramX.h -${AOBJS}: ${INCDIR}/sysconf.h -${AOBJS}: ${INCDIR}/fileX.h -${AOBJS}: ${INCDIR}/fileA.h - -${GOBJS}: ${INCDIR}/dataG.h -${GOBJS}: ${INCDIR}/dataX.h -${GOBJS}: ${INCDIR}/header.h -${GOBJS}: ${INCDIR}/paramX.h -${GOBJS}: ${INCDIR}/sysconf.h -${GOBJS}: ${INCDIR}/fileX.h -${GOBJS}: ${INCDIR}/fileG.h -${GOBJS}: ${INCDIR}/keybindG.h - -${XOBJS}: ${INCDIR}/dataX.h -${XOBJS}: ${INCDIR}/header.h -${XOBJS}: ${INCDIR}/paramX.h -${XOBJS}: ${INCDIR}/sysconf.h -${XOBJS}: ${INCDIR}/fileX.h - -# -# Individual object file dependencies -# -mainA.o: ${INCDIR}/worldX.h - -adduserA.o: ${INCDIR}/armyX.h -adduserA.o: ${INCDIR}/cityX.h -adduserA.o: ${INCDIR}/calenX.h -adduserA.o: ${INCDIR}/magicX.h -adduserA.o: ${INCDIR}/buildA.h -adduserA.o: ${INCDIR}/desigX.h -adduserA.o: ${INCDIR}/mtrlsX.h -adduserA.o: ${INCDIR}/racesX.h -adduserA.o: ${INCDIR}/worldX.h -adduserA.o: ${INCDIR}/activeX.h -adduserA.o: ${INCDIR}/elevegX.h -adduserA.o: ${INCDIR}/nclassX.h -adduserA.o: ${INCDIR}/stringX.h -adduserA.o: ${INCDIR}/tgoodsX.h -adduserA.o: ${INCDIR}/statusX.h -adduserA.o: ${INCDIR}/adduserA.h -adduserA.o: ${INCDIR}/keyvalsX.h - -combatA.o: ${INCDIR}/armyX.h -combatA.o: ${INCDIR}/cityX.h -combatA.o: ${INCDIR}/navyX.h -combatA.o: ${INCDIR}/butesX.h -combatA.o: ${INCDIR}/desigX.h -combatA.o: ${INCDIR}/magicX.h -combatA.o: ${INCDIR}/worldX.h -combatA.o: ${INCDIR}/activeX.h -combatA.o: ${INCDIR}/combatA.h -combatA.o: ${INCDIR}/elevegX.h -combatA.o: ${INCDIR}/statusX.h -combatA.o: ${INCDIR}/caravanX.h -combatA.o: ${INCDIR}/dstatusX.h - -configA.o: ${INCDIR}/buildA.h -configA.o: ${INCDIR}/calenX.h -configA.o: ${INCDIR}/worldX.h -configA.o: ${INCDIR}/activeX.h -configA.o: ${INCDIR}/stringX.h -configA.o: ${INCDIR}/keyvalsX.h - -createA.o: ${INCDIR}/armyX.h -createA.o: ${INCDIR}/cityX.h -createA.o: ${INCDIR}/navyX.h -createA.o: ${INCDIR}/buildA.h -createA.o: ${INCDIR}/desigX.h -createA.o: ${INCDIR}/magicX.h -createA.o: ${INCDIR}/racesX.h -createA.o: ${INCDIR}/mtrlsX.h -createA.o: ${INCDIR}/worldX.h -createA.o: ${INCDIR}/activeX.h -createA.o: ${INCDIR}/elevegX.h -createA.o: ${INCDIR}/statusX.h -createA.o: ${INCDIR}/tgoodsX.h - -dataA.o: ${INCDIR}/magicX.h -dataA.o: ${INCDIR}/adduserA.h - -economyA.o: ${INCDIR}/armyX.h -economyA.o: ${INCDIR}/cityX.h -economyA.o: ${INCDIR}/itemX.h -economyA.o: ${INCDIR}/navyX.h -economyA.o: ${INCDIR}/butesX.h -economyA.o: ${INCDIR}/calenX.h -economyA.o: ${INCDIR}/desigX.h -economyA.o: ${INCDIR}/racesX.h -economyA.o: ${INCDIR}/magicX.h -economyA.o: ${INCDIR}/mtrlsX.h -economyA.o: ${INCDIR}/worldX.h -economyA.o: ${INCDIR}/activeX.h -economyA.o: ${INCDIR}/elevegX.h -economyA.o: ${INCDIR}/statusX.h -economyA.o: ${INCDIR}/caravanX.h -economyA.o: ${INCDIR}/dstatusX.h - -mailA.o: ${INCDIR}/activeX.h - -miscA.o: ${INCDIR}/armyX.h -miscA.o: ${INCDIR}/cityX.h -miscA.o: ${INCDIR}/itemX.h -miscA.o: ${INCDIR}/navyX.h -miscA.o: ${INCDIR}/butesX.h -miscA.o: ${INCDIR}/worldX.h -miscA.o: ${INCDIR}/hlightX.h -miscA.o: ${INCDIR}/caravanX.h - -monsterA.o: ${INCDIR}/armyX.h -monsterA.o: ${INCDIR}/cityX.h -monsterA.o: ${INCDIR}/navyX.h -monsterA.o: ${INCDIR}/desigX.h -monsterA.o: ${INCDIR}/mtrlsX.h -monsterA.o: ${INCDIR}/worldX.h -monsterA.o: ${INCDIR}/elevegX.h -monsterA.o: ${INCDIR}/statusX.h - -moveA.o: ${INCDIR}/armyX.h -moveA.o: ${INCDIR}/moveX.h - -npcA.o: ${INCDIR}/activeX.h - -sectorA.o: ${INCDIR}/armyX.h -sectorA.o: ${INCDIR}/cityX.h -sectorA.o: ${INCDIR}/magicX.h -sectorA.o: ${INCDIR}/racesX.h -sectorA.o: ${INCDIR}/desigX.h -sectorA.o: ${INCDIR}/activeX.h -sectorA.o: ${INCDIR}/statusX.h -sectorA.o: ${INCDIR}/dstatusX.h - -updateA.o: ${INCDIR}/armyX.h -updateA.o: ${INCDIR}/navyX.h -updateA.o: ${INCDIR}/butesX.h -updateA.o: ${INCDIR}/calenX.h -updateA.o: ${INCDIR}/desigX.h -updateA.o: ${INCDIR}/magicX.h -updateA.o: ${INCDIR}/mtrlsX.h -updateA.o: ${INCDIR}/racesX.h -updateA.o: ${INCDIR}/worldX.h -updateA.o: ${INCDIR}/activeX.h -updateA.o: ${INCDIR}/hlightX.h -updateA.o: ${INCDIR}/statusX.h -updateA.o: ${INCDIR}/tgoodsX.h -updateA.o: ${INCDIR}/caravanX.h -updateA.o: ${INCDIR}/dstatusX.h - -mainG.o: ${INCDIR}/moveX.h -mainG.o: ${INCDIR}/worldX.h -mainG.o: ${INCDIR}/activeX.h -mainG.o: ${INCDIR}/hlightX.h -mainG.o: ${INCDIR}/displayG.h -mainG.o: ${INCDIR}/displayX.h -mainG.o: ${INCDIR}/patchlevel.h - -armyG.o: ${INCDIR}/armyX.h -armyG.o: ${INCDIR}/cityX.h -armyG.o: ${INCDIR}/navyX.h -armyG.o: ${INCDIR}/desigX.h -armyG.o: ${INCDIR}/mtrlsX.h -armyG.o: ${INCDIR}/worldX.h -armyG.o: ${INCDIR}/statusX.h -armyG.o: ${INCDIR}/dstatusX.h -armyG.o: ${INCDIR}/keyvalsX.h - -caravanG.o: ${INCDIR}/cityX.h -caravanG.o: ${INCDIR}/navyX.h -caravanG.o: ${INCDIR}/mtrlsX.h -caravanG.o: ${INCDIR}/worldX.h -caravanG.o: ${INCDIR}/elevegX.h -caravanG.o: ${INCDIR}/statusX.h -caravanG.o: ${INCDIR}/caravanX.h - -customG.o: ${INCDIR}/armyX.h -customG.o: ${INCDIR}/desigX.h -customG.o: ${INCDIR}/worldX.h -customG.o: ${INCDIR}/elevegX.h -customG.o: ${INCDIR}/tgoodsX.h -customG.o: ${INCDIR}/displayG.h -customG.o: ${INCDIR}/displayX.h -customG.o: ${INCDIR}/optionsX.h -customG.o: ${INCDIR}/patchlevel.h - -dataG.o: ${INCDIR}/infoG.h -dataG.o: ${INCDIR}/displayG.h -dataG.o: ${INCDIR}/displayX.h - -displayG.o: ${INCDIR}/armyX.h -displayG.o: ${INCDIR}/cityX.h -displayG.o: ${INCDIR}/navyX.h -displayG.o: ${INCDIR}/moveX.h -displayG.o: ${INCDIR}/calenX.h -displayG.o: ${INCDIR}/desigX.h -displayG.o: ${INCDIR}/magicX.h -displayG.o: ${INCDIR}/mtrlsX.h -displayG.o: ${INCDIR}/racesX.h -displayG.o: ${INCDIR}/worldX.h -displayG.o: ${INCDIR}/activeX.h -displayG.o: ${INCDIR}/elevegX.h -displayG.o: ${INCDIR}/hlightX.h -displayG.o: ${INCDIR}/statusX.h -displayG.o: ${INCDIR}/stringX.h -displayG.o: ${INCDIR}/tgoodsX.h -displayG.o: ${INCDIR}/displayG.h -displayG.o: ${INCDIR}/displayX.h -displayG.o: ${INCDIR}/caravanX.h -displayG.o: ${INCDIR}/patchlevel.h - -emailG.o: ${INCDIR}/rmailX.h -emailG.o: ${INCDIR}/keyvalsX.h - -enlistG.o: ${INCDIR}/armyX.h -enlistG.o: ${INCDIR}/cityX.h -enlistG.o: ${INCDIR}/itemX.h -enlistG.o: ${INCDIR}/navyX.h -enlistG.o: ${INCDIR}/desigX.h -enlistG.o: ${INCDIR}/magicX.h -enlistG.o: ${INCDIR}/mtrlsX.h -enlistG.o: ${INCDIR}/worldX.h -enlistG.o: ${INCDIR}/elevegX.h -enlistG.o: ${INCDIR}/activeX.h -enlistG.o: ${INCDIR}/hlightX.h -enlistG.o: ${INCDIR}/statusX.h -enlistG.o: ${INCDIR}/caravanX.h - -hexmapG.o: ${INCDIR}/armyX.h -hexmapG.o: ${INCDIR}/cityX.h -hexmapG.o: ${INCDIR}/moveX.h -hexmapG.o: ${INCDIR}/navyX.h -hexmapG.o: ${INCDIR}/desigX.h -hexmapG.o: ${INCDIR}/magicX.h -hexmapG.o: ${INCDIR}/racesX.h -hexmapG.o: ${INCDIR}/activeX.h -hexmapG.o: ${INCDIR}/elevegX.h -hexmapG.o: ${INCDIR}/hlightX.h -hexmapG.o: ${INCDIR}/statusX.h -hexmapG.o: ${INCDIR}/tgoodsX.h -hexmapG.o: ${INCDIR}/dstatusX.h -hexmapG.o: ${INCDIR}/caravanX.h -hexmapG.o: ${INCDIR}/displayG.h -hexmapG.o: ${INCDIR}/displayX.h -hexmapG.o: ${INCDIR}/worldX.h - -ieditG.o: ${INCDIR}/armyX.h -ieditG.o: ${INCDIR}/cityX.h -ieditG.o: ${INCDIR}/infoG.h -ieditG.o: ${INCDIR}/navyX.h -ieditG.o: ${INCDIR}/mtrlsX.h -ieditG.o: ${INCDIR}/worldX.h -ieditG.o: ${INCDIR}/activeX.h -ieditG.o: ${INCDIR}/statusX.h -ieditG.o: ${INCDIR}/stringX.h -ieditG.o: ${INCDIR}/caravanX.h -ieditG.o: ${INCDIR}/dstatusX.h - -infoG.o: ${INCDIR}/armyX.h -infoG.o: ${INCDIR}/cityX.h -infoG.o: ${INCDIR}/infoG.h -infoG.o: ${INCDIR}/itemX.h -infoG.o: ${INCDIR}/navyX.h -infoG.o: ${INCDIR}/desigX.h -infoG.o: ${INCDIR}/mtrlsX.h -infoG.o: ${INCDIR}/racesX.h -infoG.o: ${INCDIR}/worldX.h -infoG.o: ${INCDIR}/activeX.h -infoG.o: ${INCDIR}/nclassX.h -infoG.o: ${INCDIR}/statusX.h -infoG.o: ${INCDIR}/stringX.h -infoG.o: ${INCDIR}/caravanX.h -infoG.o: ${INCDIR}/dstatusX.h -infoG.o: ${INCDIR}/keyvalsX.h - -ioG.o: ${INCDIR}/armyX.h -ioG.o: ${INCDIR}/cityX.h -ioG.o: ${INCDIR}/itemX.h -ioG.o: ${INCDIR}/navyX.h -ioG.o: ${INCDIR}/butesX.h -ioG.o: ${INCDIR}/calenX.h -ioG.o: ${INCDIR}/desigX.h -ioG.o: ${INCDIR}/mtrlsX.h -ioG.o: ${INCDIR}/racesX.h -ioG.o: ${INCDIR}/worldX.h -ioG.o: ${INCDIR}/activeX.h -ioG.o: ${INCDIR}/elevegX.h -ioG.o: ${INCDIR}/nclassX.h -ioG.o: ${INCDIR}/spellsX.h -ioG.o: ${INCDIR}/statusX.h -ioG.o: ${INCDIR}/stringX.h -ioG.o: ${INCDIR}/tgoodsX.h -ioG.o: ${INCDIR}/caravanX.h -ioG.o: ${INCDIR}/dstatusX.h -ioG.o: ${INCDIR}/patchlevel.h - -iodataG.o: ${INCDIR}/mtrlsX.h -iodataG.o: ${INCDIR}/activeX.h -iodataG.o: ${INCDIR}/cityX.h -iodataG.o: ${INCDIR}/worldX.h - -keybindG.o: ${INCDIR}/keyvalsX.h - -magicG.o: ${INCDIR}/armyX.h -magicG.o: ${INCDIR}/cityX.h -magicG.o: ${INCDIR}/moveX.h -magicG.o: ${INCDIR}/navyX.h -magicG.o: ${INCDIR}/butesX.h -magicG.o: ${INCDIR}/desigX.h -magicG.o: ${INCDIR}/mtrlsX.h -magicG.o: ${INCDIR}/magicX.h -magicG.o: ${INCDIR}/racesX.h -magicG.o: ${INCDIR}/worldX.h -magicG.o: ${INCDIR}/activeX.h -magicG.o: ${INCDIR}/spellsX.h -magicG.o: ${INCDIR}/statusX.h -magicG.o: ${INCDIR}/caravanX.h -magicG.o: ${INCDIR}/dstatusX.h -magicG.o: ${INCDIR}/keyvalsX.h - -mailG.o: ${INCDIR}/rmailX.h -mailG.o: ${INCDIR}/keyvalsX.h - -miscG.o: ${INCDIR}/armyX.h -miscG.o: ${INCDIR}/infoG.h -miscG.o: ${INCDIR}/itemX.h -miscG.o: ${INCDIR}/moveX.h -miscG.o: ${INCDIR}/butesX.h -miscG.o: ${INCDIR}/calenX.h -miscG.o: ${INCDIR}/desigX.h -miscG.o: ${INCDIR}/magicX.h -miscG.o: ${INCDIR}/mtrlsX.h -miscG.o: ${INCDIR}/activeX.h -miscG.o: ${INCDIR}/hlightX.h -miscG.o: ${INCDIR}/stringX.h -miscG.o: ${INCDIR}/tgoodsX.h -miscG.o: ${INCDIR}/optionsX.h -miscG.o: ${INCDIR}/cityX.h -miscG.o: ${INCDIR}/worldX.h - -moveG.o: ${INCDIR}/armyX.h -moveG.o: ${INCDIR}/itemX.h -moveG.o: ${INCDIR}/moveX.h -moveG.o: ${INCDIR}/navyX.h -moveG.o: ${INCDIR}/calenX.h -moveG.o: ${INCDIR}/desigX.h -moveG.o: ${INCDIR}/statusX.h -moveG.o: ${INCDIR}/caravanX.h -moveG.o: ${INCDIR}/dstatusX.h -moveG.o: ${INCDIR}/keyvalsX.h - -navyG.o: ${INCDIR}/armyX.h -navyG.o: ${INCDIR}/cityX.h -navyG.o: ${INCDIR}/navyX.h -navyG.o: ${INCDIR}/desigX.h -navyG.o: ${INCDIR}/mtrlsX.h -navyG.o: ${INCDIR}/worldX.h -navyG.o: ${INCDIR}/elevegX.h -navyG.o: ${INCDIR}/statusX.h -navyG.o: ${INCDIR}/caravanX.h - -ntninfoG.o: ${INCDIR}/butesX.h -ntninfoG.o: ${INCDIR}/mtrlsX.h -ntninfoG.o: ${INCDIR}/racesX.h -ntninfoG.o: ${INCDIR}/worldX.h -ntninfoG.o: ${INCDIR}/activeX.h -ntninfoG.o: ${INCDIR}/nclassX.h -ntninfoG.o: ${INCDIR}/stringX.h -ntninfoG.o: ${INCDIR}/ntninfoG.h -ntninfoG.o: ${INCDIR}/keyvalsX.h - -pagerG.o: ${INCDIR}/stringX.h -pagerG.o: ${INCDIR}/keyvalsX.h - -regionG.o: ${INCDIR}/armyX.h -regionG.o: ${INCDIR}/cityX.h -regionG.o: ${INCDIR}/navyX.h -regionG.o: ${INCDIR}/butesX.h -regionG.o: ${INCDIR}/desigX.h -regionG.o: ${INCDIR}/mtrlsX.h -regionG.o: ${INCDIR}/worldX.h -regionG.o: ${INCDIR}/stringX.h -regionG.o: ${INCDIR}/caravanX.h -sectorG.o: ${INCDIR}/cityX.h -sectorG.o: ${INCDIR}/worldX.h -sectorG.o: ${INCDIR}/magicX.h -sectorG.o: ${INCDIR}/mtrlsX.h -sectorG.o: ${INCDIR}/desigX.h -sectorG.o: ${INCDIR}/elevegX.h -sectorG.o: ${INCDIR}/hlightX.h -sectorG.o: ${INCDIR}/stringX.h -sectorG.o: ${INCDIR}/tgoodsX.h -sectorG.o: ${INCDIR}/displayG.h -sectorG.o: ${INCDIR}/displayX.h -selectG.o: ${INCDIR}/moveX.h -selectG.o: ${INCDIR}/displayG.h -selectG.o: ${INCDIR}/displayX.h -selectG.o: ${INCDIR}/keyvalsX.h - -xferG.o: ${INCDIR}/xferG.h -xferG.o: ${INCDIR}/desigX.h -xferG.o: ${INCDIR}/mtrlsX.h -xferG.o: ${INCDIR}/statusX.h -xferG.o: ${INCDIR}/keyvalsX.h -xferG.o: ${INCDIR}/armyX.h -xferG.o: ${INCDIR}/cityX.h -xferG.o: ${INCDIR}/navyX.h -xferG.o: ${INCDIR}/worldX.h -xferG.o: ${INCDIR}/caravanX.h -xferG.o: ${INCDIR}/dstatusX.h - -time_ckG.o: ${INCDIR}/keyvalsX.h - -dataX.o: ${INCDIR}/butesX.h -dataX.o: ${INCDIR}/desigX.h -dataX.o: ${INCDIR}/magicX.h -dataX.o: ${INCDIR}/mtrlsX.h -dataX.o: ${INCDIR}/racesX.h -dataX.o: ${INCDIR}/elevegX.h -dataX.o: ${INCDIR}/nclassX.h -dataX.o: ${INCDIR}/tgoodsX.h -dataX.o: ${INCDIR}/displayX.h -dataX.o: ${INCDIR}/optionsX.h - -datamagX.o: ${INCDIR}/butesX.h -datamagX.o: ${INCDIR}/magicX.h -datamagX.o: ${INCDIR}/spellsX.h - -datamilX.o: ${INCDIR}/armyX.h -datamilX.o: ${INCDIR}/navyX.h -datamilX.o: ${INCDIR}/magicX.h -datamilX.o: ${INCDIR}/statusX.h - -checkX.o: ${INCDIR}/armyX.h -checkX.o: ${INCDIR}/cityX.h -checkX.o: ${INCDIR}/itemX.h -checkX.o: ${INCDIR}/navyX.h -checkX.o: ${INCDIR}/calenX.h -checkX.o: ${INCDIR}/desigX.h -checkX.o: ${INCDIR}/mtrlsX.h -checkX.o: ${INCDIR}/racesX.h -checkX.o: ${INCDIR}/activeX.h -checkX.o: ${INCDIR}/elevegX.h -checkX.o: ${INCDIR}/nclassX.h -checkX.o: ${INCDIR}/statusX.h -checkX.o: ${INCDIR}/tgoodsX.h -checkX.o: ${INCDIR}/caravanX.h -checkX.o: ${INCDIR}/dstatusX.h - -computeX.o: ${INCDIR}/armyX.h -computeX.o: ${INCDIR}/cityX.h -computeX.o: ${INCDIR}/itemX.h -computeX.o: ${INCDIR}/navyX.h -computeX.o: ${INCDIR}/butesX.h -computeX.o: ${INCDIR}/calenX.h -computeX.o: ${INCDIR}/desigX.h -computeX.o: ${INCDIR}/magicX.h -computeX.o: ${INCDIR}/mtrlsX.h -computeX.o: ${INCDIR}/worldX.h -computeX.o: ${INCDIR}/activeX.h -computeX.o: ${INCDIR}/elevegX.h -computeX.o: ${INCDIR}/statusX.h -computeX.o: ${INCDIR}/tgoodsX.h -computeX.o: ${INCDIR}/weightX.h -computeX.o: ${INCDIR}/caravanX.h - -convertX.o: ${INCDIR}/magicX.h -convertX.o: ${INCDIR}/keyvalsX.h - -customX.o: ${INCDIR}/desigX.h -customX.o: ${INCDIR}/elevegX.h -customX.o: ${INCDIR}/optionsX.h - -executeX.o: ${INCDIR}/armyX.h -executeX.o: ${INCDIR}/cityX.h -executeX.o: ${INCDIR}/itemX.h -executeX.o: ${INCDIR}/navyX.h -executeX.o: ${INCDIR}/butesX.h -executeX.o: ${INCDIR}/magicX.h -executeX.o: ${INCDIR}/mtrlsX.h -executeX.o: ${INCDIR}/worldX.h -executeX.o: ${INCDIR}/activeX.h -executeX.o: ${INCDIR}/elevegX.h -executeX.o: ${INCDIR}/nclassX.h -executeX.o: ${INCDIR}/statusX.h -executeX.o: ${INCDIR}/caravanX.h -executeX.o: ${INCDIR}/dstatusX.h - -ioX.o: ${INCDIR}/armyX.h -ioX.o: ${INCDIR}/cityX.h -ioX.o: ${INCDIR}/navyX.h -ioX.o: ${INCDIR}/itemX.h -ioX.o: ${INCDIR}/calenX.h -ioX.o: ${INCDIR}/desigX.h -ioX.o: ${INCDIR}/magicX.h -ioX.o: ${INCDIR}/statusX.h -ioX.o: ${INCDIR}/stringX.h -ioX.o: ${INCDIR}/elevegX.h -ioX.o: ${INCDIR}/spellsX.h -ioX.o: ${INCDIR}/tgoodsX.h -ioX.o: ${INCDIR}/optionsX.h -ioX.o: ${INCDIR}/keyvalsX.h -ioX.o: ${INCDIR}/caravanX.h -ioX.o: ${INCDIR}/patchlevel.h - -iodataX.o: ${INCDIR}/armyX.h -iodataX.o: ${INCDIR}/cityX.h -iodataX.o: ${INCDIR}/navyX.h -iodataX.o: ${INCDIR}/itemX.h -iodataX.o: ${INCDIR}/butesX.h -iodataX.o: ${INCDIR}/activeX.h -iodataX.o: ${INCDIR}/statusX.h -iodataX.o: ${INCDIR}/dataioX.h -iodataX.o: ${INCDIR}/caravanX.h -iodataX.o: ${INCDIR}/olddataX.h -iodataX.o: ${INCDIR}/patchlevel.h - -magicX.o: ${INCDIR}/magicX.h -magicX.o: ${INCDIR}/racesX.h -magicX.o: ${INCDIR}/elevegX.h - -mailX.o: ${INCDIR}/calenX.h -mailX.o: ${INCDIR}/rmailX.h - -memoryX.o: ${INCDIR}/armyX.h -memoryX.o: ${INCDIR}/cityX.h -memoryX.o: ${INCDIR}/itemX.h -memoryX.o: ${INCDIR}/navyX.h -memoryX.o: ${INCDIR}/butesX.h -memoryX.o: ${INCDIR}/desigX.h -memoryX.o: ${INCDIR}/racesX.h -memoryX.o: ${INCDIR}/activeX.h -memoryX.o: ${INCDIR}/statusX.h -memoryX.o: ${INCDIR}/caravanX.h -memoryX.o: ${INCDIR}/displayX.h -memoryX.o: ${INCDIR}/dstatusX.h - -miscX.o: ${INCDIR}/armyX.h -miscX.o: ${INCDIR}/desigX.h -miscX.o: ${INCDIR}/racesX.h -miscX.o: ${INCDIR}/elevegX.h -miscX.o: ${INCDIR}/nclassX.h -miscX.o: ${INCDIR}/tgoodsX.h -miscX.o: ${INCDIR}/displayX.h - -moveX.o: ${INCDIR}/armyX.h -moveX.o: ${INCDIR}/moveX.h -moveX.o: ${INCDIR}/navyX.h -moveX.o: ${INCDIR}/desigX.h -moveX.o: ${INCDIR}/magicX.h -moveX.o: ${INCDIR}/elevegX.h -moveX.o: ${INCDIR}/hlightX.h -moveX.o: ${INCDIR}/statusX.h -moveX.o: ${INCDIR}/caravanX.h -moveX.o: ${INCDIR}/dstatusX.h - -sectorX.o: ${INCDIR}/cityX.h -sectorX.o: ${INCDIR}/itemX.h -sectorX.o: ${INCDIR}/butesX.h -sectorX.o: ${INCDIR}/calenX.h -sectorX.o: ${INCDIR}/desigX.h -sectorX.o: ${INCDIR}/magicX.h -sectorX.o: ${INCDIR}/mtrlsX.h -sectorX.o: ${INCDIR}/racesX.h -sectorX.o: ${INCDIR}/worldX.h -sectorX.o: ${INCDIR}/elevegX.h -sectorX.o: ${INCDIR}/hlightX.h -sectorX.o: ${INCDIR}/statusX.h -sectorX.o: ${INCDIR}/tgoodsX.h - -selectX.o: ${INCDIR}/armyX.h - -unitsX.o: ${INCDIR}/armyX.h -unitsX.o: ${INCDIR}/cityX.h -unitsX.o: ${INCDIR}/itemX.h -unitsX.o: ${INCDIR}/navyX.h -unitsX.o: ${INCDIR}/butesX.h -unitsX.o: ${INCDIR}/calenX.h -unitsX.o: ${INCDIR}/desigX.h -unitsX.o: ${INCDIR}/magicX.h -unitsX.o: ${INCDIR}/mtrlsX.h -unitsX.o: ${INCDIR}/racesX.h -unitsX.o: ${INCDIR}/worldX.h -unitsX.o: ${INCDIR}/activeX.h -unitsX.o: ${INCDIR}/elevegX.h -unitsX.o: ${INCDIR}/statusX.h -unitsX.o: ${INCDIR}/nclassX.h -unitsX.o: ${INCDIR}/caravanX.h -unitsX.o: ${INCDIR}/dstatusX.h - -jointA.o: ${INCDIR}/magicX.h - -jointG.o: ${INCDIR}/armyX.h -jointG.o: ${INCDIR}/moveX.h -jointG.o: ${INCDIR}/desigX.h -jointG.o: ${INCDIR}/magicX.h -jointG.o: ${INCDIR}/spellsX.h -jointG.o: ${INCDIR}/tgoodsX.h -jointG.o: ${INCDIR}/displayX.h -jointG.o: ${INCDIR}/optionsX.h -# diff --git a/gpl-release/Src/Makefile.src b/gpl-release/Src/Makefile.src index 7ed08f7..540d0a6 100644 --- a/gpl-release/Src/Makefile.src +++ b/gpl-release/Src/Makefile.src @@ -58,7 +58,7 @@ CHOWN = %%CHOWN%% CHMOD = %%CHMOD%% LIBS = %%LIBS%% SYSFLG = %%SYSFLG%% -CFLAGS = %%CFLAGS%% +CFLAGS = %%CFLAGS%% CKFLAGS = %%CKFLAGS%% TOPDIR = %%TOPDIR%% DATADIR = %%DATADIR%% diff --git a/gpl-release/Src/adduserA.c b/gpl-release/Src/adduserA.c index 27891be..e0616fb 100644 --- a/gpl-release/Src/adduserA.c +++ b/gpl-release/Src/adduserA.c @@ -956,7 +956,7 @@ newlogin PARM_1(int, makenpcs) int no_save = FALSE, more = TRUE; long x; char tmp_passwd[PASSLTH+1]; - register i; + register int i; /* setup curses display */ cq_init("cqadd"); diff --git a/gpl-release/Src/conqrun b/gpl-release/Src/conqrun deleted file mode 100644 index e69de29..0000000 diff --git a/gpl-release/Src/conquer b/gpl-release/Src/conquer deleted file mode 100644 index e69de29..0000000 diff --git a/gpl-release/Src/inconqrun b/gpl-release/Src/inconqrun deleted file mode 100644 index e69de29..0000000 diff --git a/gpl-release/Src/inconquer b/gpl-release/Src/inconquer deleted file mode 100644 index e69de29..0000000 diff --git a/gpl-release/Src/insupport b/gpl-release/Src/insupport deleted file mode 100644 index e69de29..0000000 diff --git a/gpl-release/Src/ioX.c b/gpl-release/Src/ioX.c index e8d9360..5aaa078 100644 --- a/gpl-release/Src/ioX.c +++ b/gpl-release/Src/ioX.c @@ -46,7 +46,8 @@ #include "caravanX.h" #include "patchlevel.h" #ifdef WINCH_HANDLER -#include +#include +#include /* For ioctl() and TIOC* constants */ #endif /* WINCH_HANDLER */ #ifdef ALLOW_EDIT_FORK #include @@ -72,7 +73,7 @@ send_dummy_char() /* WIN_SIZE_CHANGE -- signal handler for window size change */ void -win_size_change PARM_0(void) +win_size_change PARM_0(int sig) { #ifdef WINCH_HANDLER struct winsize w; diff --git a/gpl-release/Src/jointA.c b/gpl-release/Src/jointA.c index 9d7939e..bec9d50 100644 --- a/gpl-release/Src/jointA.c +++ b/gpl-release/Src/jointA.c @@ -91,9 +91,9 @@ bind_func PARM_1(int, which) /* HANGUP -- signal catching routine */ void -hangup PARM_0(void) +hangup PARM_0(int sig) { - extern addlocknum, uplocknum; + extern int addlocknum, uplocknum; extern char lock_string[FILELTH]; /* close any locks that are set */ diff --git a/gpl-release/Src/jointG.c b/gpl-release/Src/jointG.c index 7dfc755..06d2c78 100644 --- a/gpl-release/Src/jointG.c +++ b/gpl-release/Src/jointG.c @@ -567,7 +567,7 @@ bind_func PARM_1(int, which) /* HANGUP -- signal catching routine */ void -hangup PARM_0(void) +hangup PARM_0(int sig) { /* finish up the nation */ if (movemode != MOVE_NOMOVE) { diff --git a/gpl-release/Src/mainA.c b/gpl-release/Src/mainA.c index 8fb2686..753f262 100644 --- a/gpl-release/Src/mainA.c +++ b/gpl-release/Src/mainA.c @@ -291,7 +291,9 @@ main PARM_2 (int, argc, char **, argv) fprintf(fupdate, "entering just a single period:\n"); do { fprintf(fupdate, "msg> "); - if (gets(string) == NULL) break; + if (fgets(string, BIGLTH, stdin) == NULL) break; + /* Remove trailing newline if present */ + string[strcspn(string, "\n")] = '\0'; if (strcmp(string, ".") != 0) { fprintf(fexe, " %s\n", string); } diff --git a/gpl-release/Src/mainG.c b/gpl-release/Src/mainG.c index 9670d2a..70be321 100644 --- a/gpl-release/Src/mainG.c +++ b/gpl-release/Src/mainG.c @@ -302,7 +302,9 @@ main PARM_2 (int, argc, char **, argv) fprintf(stderr, "\t\tgodadd - to remove player addition lock\n"); fprintf(stderr, "\t\t* - to remove all lock files\n\n"); fprintf(stderr, "Remove which lock file(s)? "); - gets(nationname); + if (fgets(nationname, BITHLTH, stdin) != NULL) { + nationname[strcspn(nationname, "\n")] = '\0'; + } } if (strcmp(nationname, "*") != 0) { sprintf(lfilestr, "%s.%s", nationname, isontag); @@ -488,7 +490,9 @@ main PARM_2 (int, argc, char **, argv) if (pflag || Pflag) fprintf(stderr, "Display map for what nation: "); else fprintf(stderr, "What nation would you like to be: "); - gets(nationname); + if (fgets(nationname, BIGLTH, stdin) != NULL) { + nationname[strcspn(nationname, "\n")] = '\0'; + } } /* validate god login */ diff --git a/gpl-release/Src/time_ckG.c b/gpl-release/Src/time_ckG.c index 9c90bcd..1162e4f 100644 --- a/gpl-release/Src/time_ckG.c +++ b/gpl-release/Src/time_ckG.c @@ -269,7 +269,7 @@ doupexit PARM_0(void) return; } bottommsg("Exiting for a update"); - hangup(); + hangup(0); /*NOTREACHED*/ } @@ -282,13 +282,13 @@ doexit PARM_0(void) return; } bottommsg("Game is closed down"); - hangup(); + hangup(0); /*NOTREACHED*/ } /* ALRM_HANDLER -- signal handler for alarms */ static void -alrm_handler PARM_0(void) +alrm_handler PARM_0(int sig) { /* reset the alarm, can't worry about failure here */ signal(SIGALRM, alrm_handler); diff --git a/gpl-release/Src/vms.c b/gpl-release/Src/vms.c index 5d08fb3..a46a0fb 100644 --- a/gpl-release/Src/vms.c +++ b/gpl-release/Src/vms.c @@ -47,7 +47,9 @@ getpass PARM_1(char *, prompt) system("set term/noecho"); printf(prompt); - gets(buffer); + if (fgets(buffer, BIGLTH, stdin) != NULL) { + buffer[strcspn(buffer, "\n")] = '\0'; + } system("set term/echo"); return(buffer); } diff --git a/original/Auxil/Makefile b/original/Auxil/Makefile deleted file mode 100644 index 1854a57..0000000 --- a/original/Auxil/Makefile +++ /dev/null @@ -1,109 +0,0 @@ -# conquer: Copyright (c) 1991 by Edward M Barlow and Adam Bryant -# All Rights Reserved -# -# This Makefile should not need changing. -# -# Please report any problems that you encounter with any of the -# Makefiles. If any problems develop while compiling, or if any -# files but the Makefiles and header.h files need editing, -# please send me mail. -# adb@cs.bu.edu -# adb@bucsf.bu.edu -# adb@bu.edu -# - -# All of the default settings -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir -SHELL = /bin/sh -CD = cd -CC = gcc -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch -CHOWN = echo ... ignore -CHMOD = chmod -LIBS = -lcurses -ltermcap -lcrypt -SYSFLG = -DBSD -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -TOPDIR = /home/brand1/kevin/foo/conquer -DATADIR = /usr/local/games/lib/conquer -BINDIR = /usr/local/games/bin -INCDIR = /home/brand1/kevin/foo/conquer/Include -SRCDIR = /home/brand1/kevin/foo/conquer/Src -AUXDIR = /home/brand1/kevin/foo/conquer/Auxil -DOCDIR = /home/brand1/kevin/foo/conquer/Docs -CQUER = conquer -CQRUN = conqrun -CQSORT = conqsort -CXTRACT = cextract -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c updateA.c -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c -GOBJS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o keybindG.o magicG.o mailG.o miscG.o moveG.o navyG.o ntninfoG.o pagerG.o regionG.o sectorG.o selectG.o xferG.o time_ckG.o -AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o updateA.o -XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o - -# -# Building and Installation Procedures -# -all: - @${ECHO} "Use one of:" - @${ECHO} " make build -- build everything" - @${ECHO} " make install -- install everything" - @${ECHO} " make clean -- clean up some files" - @${ECHO} " make clobber -- clean up all files" - -# -build: ${CQSORT} - @${ECHO} Build in Auxil done - -# -install: in${CQSORT} - @${ECHO} Installation in Auxil done - -# Cleaning things up -clean: - ${RM} *.o *~ *.bak \#* ${NULL} - -# Really clean things up -clobber: clean - ${RM} in${CQSORT} ${CQSORT} ${NULL} - -# -# Makefile specfic variables -# - -# use the value of C flags -CFLGS = ${CFLAGS} -CPPFLGS = ${SYSFLG} - -# list of object files -SORTOBJS = sort.o - -# -# Rules and dependencies for this Makefile -# -.c.o: $< - ${CC} ${CFLGS} ${CPPFLGS} -c $*.c - -${CQSORT}: ${SORTOBJS} - ${CC} ${CFLGS} -o ${CQSORT} ${SORTOBJS} - -in${CQSORT}: ${CQSORT} - @${ECHO} Installing ${CQSORT}... - ${STRIP} ${CQSORT} - -${RM} ${BINDIR}/${CQSORT} ${NULL} - -${MKDIR} ${BINDIR} - ${MV} ${CQSORT} ${BINDIR} - ${CHOWN} ${BINDIR}/${CQSORT} - ${CHMOD} 755 ${BINDIR}/${CQSORT} - ${TOUCH} ${CQSORT} - ${TOUCH} in${CQSORT} - -# diff --git a/original/Auxil/inconqsort b/original/Auxil/inconqsort deleted file mode 100644 index e69de29..0000000 diff --git a/original/Auxil/sort.o b/original/Auxil/sort.o deleted file mode 100644 index cc8127a..0000000 Binary files a/original/Auxil/sort.o and /dev/null differ diff --git a/original/Docs/Beginnings.doc b/original/Docs/Beginnings.doc deleted file mode 100644 index 0941fcd..0000000 --- a/original/Docs/Beginnings.doc +++ /dev/null @@ -1,311 +0,0 @@ - -Basic Conquering - - Well, to beginners, Conquer can be a rather daunting game. But, - once learned, it can be great fun and more than a little addic - tive. [Don't say I didn't warn you.] - - For those players who are just starting, I would recommend that - you get into a campaign with other beginners, or at least start - in a world where options are not configured too hard. At least, - in such a situation, there will not be too critical a need to - learn all of the aspects of the game. - - With some beginners, there seems to be a tendency to focus all of - your energies into building up armies and sending them against - other nations. While this can be great fun, it should be at - tempted with caution. Most nations can only permanently support - armies of around 10% of the size of the civilian population, - maybe twice that for short term wars; anything larger will put a - great burden on the national economy. Also, make sure that you - can keep your troops supplied in some manner, or they will just - disappear during the middle of the war. Anyway, the section be - low entitled "Making War" will give a more comprehensive look in - to waging war. - -Using Display Features - - The ability to see all that is going on around your nation is the - most important thing to learn. The longer to notice events tak - ing place, the harder it becomes to respond to them. - - Because of this, the display and highlighting commands become the - most important commands within Conquer, due to all of the infor - mation which may be gathered using them. - - Probably the most useful aspect of all of the display routines is - the ability to combine the detailed highlighting routines togeth - er to generate a much more informative display. For example, you - can immediately tell if any of your farm sectors are lacking a - granary by highlighting the top two slots using "designation: - Farms", and the bottom two slots using "minor desg: Granary". - Any sector with only the top two slots highlighted needs to have - a granary added to the sector. There are many more just as use - ful combinations such as "metal mines/blacksmith" and - "owned/roads". I am sure with a little experimentation, you can - build your own sets of highlighting combinations. [For more in - formation, see Display] - -Moving Units - - Learning how to relocate units around the map quickly and easily - is a very important aspect of Conquer, especially during wartime. - There are a number of tools within Conquer to make this process - much easier. [For more information, see Movement] - - Using the display options of "Army Movement", "Navy Movement", - and "Flight Movement" you can determine how expensive moving - through the various sectors will be. It is important to first - determine a destination for movement, and then to figure out an - ideal path. Since the movement mode also contains all of the - display and highlighting options, be sure to switch between them - at need, so that you may better find out how to relocate your - unit. - -Taking Land - - Once you know how to relocate units around the board, you may use - them to claim land for your nation. Only army units may capture - a sector, so don't bother even trying it with your navy or cara - van units. Also, the only sectors which may be claimed are those - which are currently unowned, or those which are owned by a nation - you are at war with. - - To take land, you leave your army in a sector at the end of the - turn, and place the army on "Attack". The attack status is need - ed because capturing land is an aggressive action and might re - quire military conflict. This also means that you need not take - land if you do not wish to. [In prior versions, units moving - across the map would leave a trail of captured sectors behind - them, whether they wished to or not.] - - There must be at least the equivalent of 75 men in the unit to - capture a sector. The relative capturing potential of a unit is - dependent on the unit type, so be aware of how much the unit is - worth. Monster units have a given size per man, which is less - than the combat strength of the unit. Leaders are only worth one - man when capturing a sector. And, the other army units each have - a capturing potential which is multiplied by the number of men in - the unit to determine the actual capturing strength. - - If there are enemy units within the sector, left over from a pri - or battle, you will have to have a significant numerical superi - ority to force your claim. And if there are already civilians in - the sector, you will need additional men in the sector in order - to subdue the population. So, you should figure around 75 men - plus 10% to 30% of the number of civilians in the sector. Final - ly, if the sector is a supply center, you will need to totally - eliminate all fortified troops from the sector before you may - claim it. - -Top Ten First Steps - - Probably the most difficult aspect of Conquer to manage is get - ting your nation and its economy stabilized in the first few up - dates. Thus, I will describe the steps I use to get a nation up - and running: - - 1. Put your national leader (unit 1) on Reserve. - 2. Move minor leaders out in all directions about - five to ten sectors away from the capital. - 3. Locate lumber, jewel, and metal rich sectors. - 4. Locate high (>= 8) food value sectors. - 5. Move 75+ men Attacking units into desirable sectors. - 6. Enlist five to ten scouts. - 7. Assign proper designations to already owned sectors. - 8. Build minor designations where needed. - 9. Check for any other sectors which might be useful to take. - 10. Reinforce the capital with any extra troops. - - The initial focus should be on building up the economy so that - your nation will not run out of any resources. Food and talons - are usually not too hard to come by, but metals and wood can - quickly become scarce. Thus, you should be looking for any metal - and wood sectors you can find. Either find one good (5 or more - value) or a bunch of smaller ones combined for each of those ma - terials. Jewel mines can also come in handy within a few months. - For every metal or jewel mine within your nation, the more likely - it will be that other metal or jewel deposits will be discovered - elsewhere in the nation, even in sectors which appeared empty be - fore. - - By the third turn you should have the following all taken care - of: all of the materials should be showing a net production; all - of the high food sectors (8 or higher) within range of the capi - tal should be in use; the minor leaders should be back into the - nation proper to avoid danger and the scouts should now be out - and doing all of the scouting; likely town sectors about 2 to 3 - sectors away from the capital should be filling with civilians. - - Within a year, a solid economy should be developed, and more than - one town should have been built. By the end of the second year, - you should have multiple cities along with a good network of car - avan routes carrying materials between your cities. If possible, - locate your cities near water so that navies can be employed to - carry your materials. Roads should be built up in as many sec - tors as possible. - - I believe in the slow expansion of the nation, but after you have - played a while, you will be able to determine how quickly you - wish your nation to expand. Just make sure that you do not ex - pand so quickly that you strain your resources. - -Gathering Magic - - In Conquer, the progression of a nation is measured by the number - of magical powers that nation possesses. And, the way to obtain - the magical powers is through the mining of jewels. - - A number of factors are involved in gaining jewels, the most im - portant being the ability of your nation to find the jewel veins - in the first place. Generally, your nation will have to progress - in its ability to recognize the valuable materials around it. - So, from the beginning your nation should be interested in taking - ANY sectors containing jewel deposits within your vicinity, and - using them to mine jewels until their production level becomes - insignificant compared with your better mines. At such time, the - civilians in the sector could probably be doing better work if - they were elsewhere. All of these ideas can, just as well, be - applied to the mining of metals. - - As the jewels are mined, they should be brought back to the na - tional capital so that they can be used to purchase new powers - using the "magical-info" mode. Be sure to bring talons along - with the jewels, since supply centers with large jewel deposits - are more likely to distribute talons than other supply centers. - [For more information, see Powers] - -Meeting Others - - Sooner or later, you are bound to meet another nation. Whether - or not that meeting is friendly is up to you and your neighbor. - I have found, though, that if a nation is capable of supporting a - war, one will inevitably happen. It is just a matter of who is - available to pounce on in such a circumstance. - - When first encountering another nation, you will still possess a - diplomatic status of "Unmet" towards that nation. You will be - unable to enter that nations territory while you are Unmet; this - is to prevent players from attacking another nation without any - warning. - - In order to officially meet a nation, you must own land, or have - leaders, within a certain distance (usually two) of land owned by - that nation. Once met, the two nations will have their statuses - set to neutral and whatever happens from then on is up to the two - nations. - -Making War - - Eventually, your nation will find itself at war with another na - tion. After all, the name of the game is Conquer. - - The most critical aspect of warfare is the ability to supply your - armies. If your supplies run out, so do the armies. The easiest - way to supply your troops is to keep them within supply range of - your supply centers (towns, cities, etc.). If this is not possi - ble, you will have to use navies or caravans to support the - troops. One important thing to note, any unit within range of - supply sites during the update will receive supplies automatical - ly, but if you wish to supply a unit manually, they can only re - ceive supplies from the current sector, unless they are on land - you own. - - One big hint concerning warfare: take the war to them. If it is - at all possible, be aggressive in your warfare, because the land - used as the battleground can get ruined very quickly. If it is - your land that becomes damaged, your economy will be the one to - suffer. - -Some More Hints... - - The complexity of Conquer is such that it is not possible to come - up with a sure fire method for building a better nation, but I - can provide some hints that should help beginners to compete with - more experienced players: - - == If your navies and caravans are just carrying materials, make - sure that they are set to "Carry" so that their cargo is not - removed before you wish it to be. - - == When sending navies out to explore, be sure to put enough - talons and food on the ship so that they can be self-sus - taining. Also, the status of "Support" will need to be - used. - - == Do not take sectors outside of the range of your supply cen - ters, since such sectors would not be usable by you. The - highlight of "range" will help you determine just what sec - tors you can safely take. - - == Do not overdraft armies. Having to support too many army - units can cripple your economy. - - == Try to draft units with specific tasks in mind. For example, - faster cavalry or avian units make swift attacking troops, - and archers, infantry or siege engines are fine in gar - risons. - - == When attacking another nation, you should establish a supply - center whose range overlaps that nation. If this is not - possible, the next best alternative is to capture one of - that nations supply centers, which is a much more difficult - proposition. - - == Be sure to build up the defenses of your nation by fortifying - your supply centers. Be careful not to use all of your re - sources to build up the defenses, though, since they are ex - pensive to build. - - == When attacking a nation, you can either go right for the sup - ply centers or you can take the surrounding sectors and - starve them out. If you wish to starve them out, though, - you will need a much stronger supply network, even though - your troops can be smaller. - - == Walls can be used to slow approaching land armies. - - == Taking over lizard and pirate sectors can be very rewarding. - The lizards are rumored to possess great jewel mines and the - metal resources of pirate nations are highly prized. - - == Mercenaries are very expensive, but are sometimes the only al - ternative because they supply their own weapons (meaning no - metals are needed). Also, since mercenaries are not drawn - from the citizens of your nation, their deaths will not mean - the lost of any population. - - == Granaries may only be built during the spring, summer and ear - ly fall months. - - == Supply centers take time to build. They can still take in and - redistribute supplies, but they are not able to draft - troops. So, be sure to time the construction so that it - will not hurt your nation. - - == Most captured sectors become devastated by the claiming of the - land, so you should be sure to "undevastate" them before - they may be used. - - == Do not let units stray out of support range for too long or - the unit will run out of supplies. - - == To increase the supplies of a unit, the unit must be on terri - tory owned by your nation. - - == The diplomacy statuses of "Allied" and "Jihad" are irrevoca - ble. - - == Putting a sector under siege cuts off the supplies to that - sector, and if it is a city, it cuts off its access to re - sources. [That includes the ability to draft mercenary - units.] - - == It takes a better than a two to one advantage in troops in the - area to place a sector under siege. - - == Roads increase communication rates and reduce movement costs. - - == KEEP YOUR LEADERS OUT OF TROUBLE. Your leader units are your - most valuable. Without your leaders to focus your troops, - many actions become much more difficult, if not impossible. diff --git a/original/Docs/Customize.doc b/original/Docs/Customize.doc deleted file mode 100644 index 616bbdb..0000000 --- a/original/Docs/Customize.doc +++ /dev/null @@ -1,361 +0,0 @@ - -Tailoring Conquer - - During the writing of Conquer, there were many times when people - have said that they wanted things done differently from the way I - envisioned it. While I could very easily have told them where - they can take their "valuable suggestions" :-), I found that - there were one or two of them that were bigger than me. So, I - decided that I would listen politely to the suggestions and then, - if possible, make it an option. Of course, I still decided what - options were the "default" ones, so I ended up with the last say - anyway. - - There are now many things within Conquer which allow the user to - specify how the user interface is to behave for them. The dis - play modes can be created or adjusted at will, the key bindings - can be manipulated in almost any manner, and there are a number - of flags which can be set based on the tastes of the user. - - Except for the display modifications, which are under the "cus - tom-display" function [For more information, see Display] , all - of the configuration commands are kept under the "conquer-op - tions" command. This command provides a list of options by which - the user may set a number of different preferences, including the - rebinding of the entire key map of Conquer. - - It should be noted that in all of the portions of Conquer con - taining key maps, the key bindings may be adjusted by calling the - "conquer-options" command while within that mode. - -The conquer-options Command - - Conquer currently supports twenty-one different options under the - "conquer-options" function. After executing the "conquer-op - tions" function, type in the name of the desired option to make - use of it. The complete list of options, and their meanings, is: - - all-blanks -- On detailed zoom, leave any unused bottom charac - ters of the sector blank, as opposed to the normal method of - using underlines. - - bind-key -- Interactively assign a set of keystrokes to call a - function. - - bottom-lines -- For detailed zooms, set the bottom of characters - of water sectors to be underlines, unless either "water-bot - toms" or "all-blanks" is enabled. - - check-keys -- Verify that all key bindings in the current mode - are properly set. Any conflicts or missing functions will - be reported as they are encountered. This is done each time - Conquer is started. - - expert -- This toggles the setting of the "expert" option. If - Conquer considers you an expert, it will no longer verify - most commands, and will assume you know what you are doing. - Any complaints resulting from the use of this option will be - given due consideration. - - gaudy -- When enabled, any time the nation's name is encountered - within the news, it will be highlighted so as to improve its - readability. - - header-mode -- If on, the header summary will be shown upon en - tering the mail editor, otherwise the next unread mail mes - sage will immediately be displayed. - - info-mode -- It is possible to toggle whether or not more infor - mation about the current sector will be visible during the - Conquer map display. The command "toggle-infomode" is also - provided, since this is an option which should be enabled or - disabled with ease. - - mail-check -- If on, and your system supports it, Conquer will - check the mail spool to determine if any real electronic has - been sent. Turning this option off will prevent "hanging" - if an NFS mounted mail spool directory becomes inaccessible. - - pager-offset -- Specify how many lines down the screen the Con - quer pager focus line is. - - pager-scroll -- Specify how many lines the Conquer pager will - scroll when paged. - - pager-tab -- The number of spaces used to represent a tab charac - ter are controlled by this option. A value of zero indi - cates that the tab should remain unconverted. - - read-opts -- Read in a file that is in the ".conqrc" format. - - rebind-key -- Assign a currently used key binding to another - function. - - recenter-map -- Assign the current sector location to be the rel - ative center of the national coordinate map. This provides - a method of aligning coordinate systems between nations. - - reset-keys -- Restore the key bindings to their default settings, - making it possible to at least recover from any keybinding - problems. - - store-opts -- Store all of the current Conquer configuration op - tions into an automatically generated customization file. - A query is made to determine the exact file location for - such an operation. Note that "nation" and "campaign" are - not stored to avoid the possibility of overwriting prior de - faults. - - supply-level -- When a military unit is created, it will automat - ically be built with food and payment for a given number of - turns. This option controls how many such supplies are pro - vided. - - terminal-bell -- If on, Conquer will beep, if possible, whenever - an error occurs. - - unbind-key -- Remove a given key binding from the current key - map. - - water-bottoms -- If on, the bottom portion of water sectors will - always be shown with water, and not underlines, in the de - tailed zoom. - -Building a Customization File - - Conquer provides support for customization files, which take the - form of plain text files containing configuration commands. - These files can be created manually, or can be automatically gen - erated using the "store-opts" option from the "cnoquer-options" - function. - - The configuration file consists of a list of single line com - mands, along with comments, which are indicated by a number sign - (#) as the first non-space character. The list of supported cus - tomization commands, and their meanings, is: - - include: path-to-file - Through the use of the "include" customization command, the - user is able to specify additional customization files to be - read in by Conquer. This is very useful for breaking apart - the customization environment into separate parts for ease - of control. [In the future, I plan to enable conditional - include options to allow customization based on the terminal - type or other information] - - nation: nationname - name: nationname - Both of the above commands are used to specify a default na - tion to be used by the player. These are useful to avoid - having to always specify the nation name on the command - line. This may be overridden by either the command line or - the environment variable. - - campaign: campaignname - data: campaignname - directory: campaignname - These customization commands provide the user with a method - of specifying a default campaign to be accessed. They may - be overridden by either the command line or the environment - variable. - - all-blanks - bottom-lines - expert - gaudy - header-mode - info-mode - mail-check - terminal-bell - water-bottoms - All of the above commands turn the appropriate option on. - If it is proceeded by a `!' character, that option is turned - off. - - supply-level: # - Set number of supply units each unit should receive when en - listed. - - pager-tab: # - pager-scroll: # - pager-offset: # - The above options, followed by a numeric indicate that the - appropriate variables should be given the indicated value. - - zoom-level: detail - The zoom level setting indicates what the beginning zoom - setting will be. The zoom level may be either "detail", - "medium", or "full". - - contour Type=C - vegetation Type=C - designation Type=C - Specify what characters are to be used to display the indi - cated contour, vegetation or designation types. - - unbind-key map "keystr" - bind-key map "keystr" function-name - rebind-key map "keystr" function-name - The above commands allow for the specification of a key - binding for an indicated Conquer key map. The currently - available maps are global, mail, magic, move, and reader. - The key string is a set of characters enclosed by either - single or double quotes. The key string should be composed - entirely of displayable characters, with a `^' character be - ing interpreted as an indicator for control characters, and - the '\' character being used to give "C" style character se - quences or just to quote a given character. - - display-mode "Name" highlight style - display-mode "Name" focus hexloc - display-mode "Name" hexloc style - Create or modify display modes and its display, focus or - highlighting settings. A hexloc indicates the position - which can be either low-left, low-right, up-left or low- - right. The styles are the display or highlight settings - which are available to the user. The focus command is used - to indicate which of the four hexloc positions is to be con - sidered the most important. - - default-display highlight style - default-display focus hexloc - default-display hexloc style - Set the default display mode settings in much the same man - ner as the named display modes. This default display method - is used Conquer is first entered. - -The Environment Variable - - In addition to the the customization file, Conquer provides sup - port for an the "CONQ_OPTS" environment variable. I won't get - into a discussion on how to set the environment variable here, - since that varies with each user's shell or operating system, and - is usually easy to do. But, I will describe just what things can - be set using the environment variable. - - The environment variable is not quite as robust as the customiza - tion file, but it does provide a quick way of overriding many op - tions which were set in such a file, without having to permanent - ly change that file. Anyway, the environment variable supports a - list of mostly one character items which correspond with Conquer - options: - - B - A `B' character indicates to enable the "all-blanks" option. - It may be disabled by preceding it with a `!' character. - - b - A `b' character indicates to enable the "bottom-lines" op - tion. It too may be disabled with a preceding `!' charac - ter. - - e - An `e' represents the "mail-check" option. It may be dis - abled by preceding it with a `!'. A - - G - The "gaudy" highlighting option is enabled with a single `G' - option, and may be disabled by preceding it with a `!' char - acter. - - H - The "header-mode" is controlled with a `H' character. If - preceded by a `!' character, it may be disabled. - - i - Choosing to start with info-mode enabled is done using the - `i' character within the environment variable. The `!' will - disable it. - - t - Enabling the "terminal-bell" option is done with a `t'. A - preceding exclamation point will disable it. - - w - The "water-bottoms" option is set using the `w' flag, or - disabled with a '!w' sequence. - - x - Becoming an "expert" is no problem, just use the `x' charac - ter within the environment variable. Disable with an excla - mation point. - - name=nationname - The name of the nation to be used may be specified using - this option. Be sure to use a comma to end it, if there are - any additional options after it. - - data=campaign - Finally, the campaign may be specified through the use of - this option. It should also be distinguished from following - option through the use of a comma. - - As an example, if a player using csh wished to enable "gaudy" and - "water-bottoms", along with disabling "all-blanks", they could - use the following, which would also set their name and campaign: - - setenv CONQ_OPTS 'Gw!b,name=Mordor,data=MiddleEarth' - - While the environment variable cannot be used to specify display - modes, screen characters, or pager variables, it does have a num - ber of useful features which can make it easy to override cus - tomization file settings. - -The Command Line - - There are two main programs which compose the Conquer system: - conquer, the user interface, and conqrun, the administrative in - terface. If you wish to get an exact list of the options avail - able when running each program, you may use "conquer -" or "conqrun -" respec - tively. - - To the sake of completeness, I will list all of the command line - options for both here as well. For the conquer command, the op - tions are: - - Command line format: conquer [-nc] [-BbeGHhilMpsw -d DIR -nNAT] - -nc do not read in .conqrc file [first option only] - -n NAT play as nation NAT - -d DIR use to access different campaign - -B use blanks, not underlines [toggle] - -b always underline water [toggle] - -e don't check for system email [toggle] - -G highlight name in news [toggle] - -H use header-mode option [toggle] - -i don't set info-mode option [toggle] - -t don't enable warning bells [toggle] - -w draw water with no underlines [toggle] - -X enable expert status [toggle] - -l dislay list of user logged in - -h print help text - -P print a map with highlighting - -p print a map - -s print scores - -M edit the MOTD, if allowed - -D dump nation information - - Those selections with the [toggle] at the end are the Conquer - configuration options, which indicate, by the presence or absence - of the string "don't ", what will be done if they are enabled on - the command line. The conqrun command also have a number of se - lections: - - Command line format: conqrun [-nc] [-ACEQITZamx -dDIR] - -nc do not read in .conqrc file [first option only] - -E edit the world campaign settings - -I display some statistics - -A add some npc nations to the nations file - -Q examine the combat dice probabilities - -T (dis/en)able logins; 120 sec time to finish for those in - -Z delete all npc nation specifications - -a add new player - -d DIR to specify a different game directory - -o ofile send update output to the given file - -m make a world - -x execute program - - As you can tell from the above lists, you may avoid reading in - the Most of the Conquer settings are just parallels of the envi - ronment variable options, except that they act as toggles. To - find out exactly what each option does, you can probably just try - it out and see what happens. diff --git a/original/Docs/Display.doc b/original/Docs/Display.doc deleted file mode 100644 index 5563ea5..0000000 --- a/original/Docs/Display.doc +++ /dev/null @@ -1,494 +0,0 @@ - -Cartography in Conquer - - With Conquer version 5.0, hexagonal sectors and relative coordi - nate systems were introduced. Combined, these changes can be - more than a bit disorienting for players of the older versions of - Conquer. But, both of these changes greatly enhance game play by - introducing more realism. - - The shape of the sectors may be selected during world creation, - with the hexagonal map being the recommended choice. With this - setup, motion in any of the six directions results in a reloca - tion of equal distance. With rectangular sectors, distances be - come non-uniform, as can be demonstrated by having motion one - sector east followed by one sector north being equivalent to mo - tion one sector to the north-east. - - The numbering of coordinates is along both the north-south axis - and the east-west axis. This can be somewhat confusing for the - hexagonal coordinate system, with there then being zig-zagging - rows, but this provides a one-to-one relationship between the - displayed map coordinates and the internal data representation - used. Thus, some complex computations are avoided. - -The Displaying of Data - - With information a key element to game play, being able to quick - ly view data is a must. The display system in Conquer is de - signed to allow concise viewing of data through character repre - sentations and display highlighting. - - There are three levels of detail available for the map display. - The farthest out displays the most sectors, but the closest in - has a display of up to four characters for each sector. This al - lows for a greater amount of data for each sector to be shown. - When on the detailed zoom setting, one of the four characters is - designated as the focus character and is indicated by the posi - tioning of the cursor within the sector. There are a number of - different types of data which may be shown in each character - slot, and there are also many methods of highlighting which may - be employed upon each character slot. - - It is possible to build different combinations of character dis - plays and highlights to provide informative methods of gathering - data. The grouping of such display and highlight settings is - called a "display mode". There are a number of pre-built "dis - play modes", or others may be constructed using the display edit - ing commands. - -Display Commands - - There are a number of commands available to allow for the adjust - ment of the display settings. These commands range from zooming - controls and information mode toggling to outright editing modes - for display settings. - - The zooming commands are "zoom-in" and "zoom-out" which slide be - tween the various zooming levels. To shift the focus between the - four character slots, there are the "shift-focus" and "shift-fo - cus-back" commands which rotate the focus clockwise and counter- - clockwise respectively. - - For those times when you want to get more information about the - current sector (such as production, consumption, and minor desig - nations) there is the "info-mode". When running under the info- - mode, the main conquer display devotes a larger portion of the - screen to show information concerning the current sector. The - right side of the screen is totally devoted to listing the mili - tary units in the sector, and the map portion is relegated to a - smaller section of the screen, in the upper left. The "toggle- - infomode" command is used to switch between this mode and the - normal conquer map display. - - One quick command which can sometimes come in handy is "troop- - listing". This command clears the entire right column of the - screen and then uses this space to list all troops belonging to - other nations within that space. This is useful whenever there - are so many troops within the sector that they do not fit within - what little space is leftover after the listing of your own - troops. - - There are two commands which provide customizing of the display - routines. The simplest is the "adjust-view" command which allows - the user to change the symbols used to represent the designation, - vegetation or contour values. Simply enter the selection to be - changed and then give a printable character to use for the dis - play. The much more complex command, "customize-display" allows - interactive creation or editing of new display modes. Once the - display mode has been created, it may be selected using the "ad - just-display" command. - - Finally, because the highlighting of certain sectors can be a - very quick method for interpreting data, there are a number of - commands that allow the quick adjustment of the highlighting pat - terns. Those commands are: "highlight-all", "highlight-current", - "highlight-horizontal", "highlight-upleft-lowright", "highlight- - upright-lowleft", and "highlight-vertical". - - The two pages which follow give the complete list of all of the - display and highlighting styles which conquer supports. These - lists are used as the basis for the display modes themselves. - -List of Display Styles - - (c)ontour -- Show the elevation for all of the sectors on - the screen. - - (d)esignation -- Display the major designation value for any - sectors whose designation is known. - - (f)ood -- Display the food production ability for all habit - able sectors. - - (j)ewel -- Show the approximate jewel production ability of - all habitable sectors. - - (m)etal -- Show the approximate metal production ability of - all habitable sectors. - - (n)ation mark -- Display the nation mark of the owner for - all owned sectors. - - (p)eople -- Display the approximate population level for - owned sectors. Arabic numerals (0 to 9), indicate hun - dreds of people, and Roman numerals (I, V, X, L) indi - cate thousands of people. - - (r)ace -- Show the first letter of the race of the sector - owner. The races are: Human, Dwarf, Elf, Orc, Nomad, - Pirate, Savage and Lizard. - - (v)egetation -- Show the type of vegetation contained within - a sector. - - (w)ood -- Show the wood production ability for those sectors - able to produce wood. - - (y)our desg -- Display designation for sectors owned by the - current nation, and the nation marks for others. - - (A)rmy mcost -- Display the relative cost for a land based - unit to enter each sector. This cost is used for cara - van units as well as army units. - - (D)efense -- Show defensive value for a sector based on the - vegetation and elevation of the sector. - - (F)light mcost -- Display the cost, in movement points, for - a flying unit to enter each sector. - - (M)agic value -- Display the magical potential of the sec - tors. - - (N)aval mcost -- Show the cost, in movement points, for a - ship to enter a sector. A `+' indicates that the sec - tor may only be entered by landing the ship. - - (T)good desgs -- Display designations necessary to take ad - vantage of the special items in sectors. - - (V)alues -- Show tradegood values for each sector. With - jewel, magical, and metal tradegoods, the "mineral" - value is shown, while other tradegood types will have - the potency of the tradegood shown. - - (W)eights -- Display the relative weighting values of all - supply centers within the nation. This display is use - ful to get a feel for where materials will be dispersed - after production. - - (b)lank -- No information is to be shown in this display po - sition. - - (K)eep -- This option indicates that the current display - style in this position should not be changed. If this - is encountered in the actual display, it behaves like - the blank display. - -List of Highlight Styles - - (N)one -- Disable highlighting. - - (a)llies -- Highlight sectors owned by nations friendly to - the current nation. - - (d)esignation -- Highlight any sectors containing a specific - major designation. - - (e)nemies -- Highlight those sectors owned by nations un - friendly to the current nation. - - (m)inor desgs -- Highlight any sectors containing a specific - minor designation (construction). - - (n)eutrals -- Highlight those sectors which are neutral to - the current nation. - - (o)wned -- Highlight those sectors owned by a specific na - tion. - - (r)ange -- Highlight those sectors within supply range of a - supply center in the current sector. - - (s)couts -- Highlight sectors which contain scouting units. - - (u)nits -- Highlight sectors containing armies, navies, or - caravans. - - (y)our units -- Highlight those sectors containing armies, - navies or caravans owned by the current nation. - - (M)ovable -- Highlight sectors which contain units which - have movement ability remaining. - - (R)egion -- Highlight owned sectors within the range of in - fluence of the supply center in the current sector. - - (S)upported -- Highlight those sectors, owned by the current - nation, which are within support range of any of their - supply centers. - - (T)radegoods -- Highlight those sectors whose tradegoods are - of a specific tradegood class. - - (U)nsupported -- Highlight those sectors which are owned by - the current nation, yet are beyond the support range of - their supply centers. - - (K)eep -- Do not change the highlighting when this display - mode is selected. If this style is encountered in the - actual display, it behaves as if the "None" highlight - ing style is set. - -The Normal Conquer Display Mode - - As you have probably noticed, the normal Conquer display shows a - map of the world in most of the screen area. This map will con - tain one or more character representations of the various sectors - which are visible to your nation. The position of the characters - gives an indication of the relative location of the sectors on - the map. Sectors towards the top of the map are north of the - sectors towards the bottom, and sectors to the left of the map - are west of the sectors on the right of the map. - - The current sector is indicated by the position of the cursor. - More information about the current sector, such as who owns it, - what the actual coordinates of the sector are, and what, if any, - of your troops are within the sector, will be shown along the - right-hand column of the display. You can see an example of such - a screen below: - - *Wzrd 1 x=250 p=10 - m:100 sp:= st:Dfd - __ >Mage 2 x=50 p=5 - __/ -\__ m:100 sp:= st:Dfd - __/ %\__/ %\__ >Mage 3 x=51 p=5 - __/ -\__/ -\__/ -\__ m:100 sp:= st:Dfd - / %\__/ -\__/ %\__/ -\ >Mage 4 x=50 p=5 - \__/ %\__/ -\__/ -\__/ m:100 sp:= st:Dfd - / %\__/ -\F_/ %\__/ -\ >Mage 5 x=51 p=5 - \__/ -\t_/ -\F_/ -\__/ m:100 sp:= st:Dfd - / %\__/ -\C_/ %\__/ -\ --- more --- - \__/ %\F_/ #\F_/ %\__/ sector [0,0] - / ^\__/ %\__/ -\__/ %\ owner: Aereol - \__/ -\__/ -\__/ ^\__/ Capital Elf - \__/ %\__/ -\__/ Forest Flat - \__/ \__/ pop: 16628 move: 1 - food: 8 wood: 8 - item: drama (c) - - If you possess units within the current sector, information about - each of the individual troops will be shown, with two lines of - information for each unit. For armies, the information will con - tain the type of unit, the id number of the unit, the size of the - unit, and the status and movement capabilities of the unit. For - navies, the id number of the fleet, the number of each class of - ship within the fleet, and the status and movement capabilities - of the unit will be shown. And finally, the caravan units will - have the size, id number, status and movement capabilities of the - units shown. The currently selected unit within the sector will - have a marker other than the `>' sign next to it. Usually this - will be a `*', but a `+' is used to indicate the leader of a - group of army units or a ship or caravan which is carrying items - onboard. - - The above map shows all of the world which is visible to a nation - "Aereol". The currently selected sector is the capital located - at sector [0,0] which is surrounded by a number of farming sec - tors. There are a number of troops within the sector, including - the nation leaders and Ruler, the "Wizard", which is currently - selected. - -Zoooooom... - - Conquer has support for both hexmap and rectangular coordinate - systems. There are also three levels of "zooming" available, - where clarity of information will be traded off with the number - of sectors visible as the scale increases. Below are examples of - each level of zooming, with the hexmap coordinate system on the - left and the rectangular coordinate system on the right. - - ~ % % % ~ - F b ~ - %-~~~~~~~--%%-j%,, - % - - ~ ~ F F % - ~~~~~~~~~%-FFF%jb, - , , % % ~ ~ C b % % ~~~~~~~~~-%~CFi%j- - ~ i ~ ~ ~ ~ F % i b~~~~%~s~--%FF,ii% - % , ~ ~ ~ ~ ~ - ~ , ~~~~~~~~~%-%-,^--j - - At the "full" zoom setting, only one display "slot" is available, - but many sectors are visible at once. It should be noted, though, - that on the hexmap, it is not possible to travel directly east- - west, and that sectors are, however, connected with those direct - ly to their north or south. The rectangular system gains a much - more compact display because of the rectangular orientation of - the screen. - - % ~ - F b ~ - ~ ~ ~ ~ ~ - - % % - j - ~ ~ F F % - ~ ~ ~ ~ ~ % - F F F % - % ~ ~ C b % % ~ ~ ~ ~ ~ - % ~ C F i - ~ ~ ~ F % i % ~ s ~ - - % F F , i - ~ ~ ~ ~ - ~ , ~ ~ ~ ~ % - % - , ^ - - - At the "medium" zoom setting, less sectors are shown, but the - sector positioning is more apparent for the hexmap. For your - reference, the "designation" display style is being used here, - with the vegetation and elevations of the sectors being shown - when there is no designation present. - - / %\__/~~\~~/ -\__/ %\__/ ^\ |~~|~~|~~| %| -| ^| ^| %| %| - \__/~~\~~/~~\__/ %\F_/ %\__/ |~~|~~|~~|__|__|F_|F_|F_|__| - / %\~~/~~\~~/~~\F_/ -\F_/ ^\ |~~|~~|~~| -| %|~~| %| ^| #| - \__/~~\~~/~~\~~/~~\C_/ %\__/ |__|~~|__|__|__|__|C_|F_|__| - /~~\~~/~~\~~/~~\~~/~~\F_/ -\ | ^|~~| -| -| %| ^| %| ^| ^| - \~~/~~\~~/~~\~~/~~\~~/ -\__/ |s_|~~|__|__|__|F_|F_|__|__| - /~~\~~/~~\~~/~~\~~/~~\__/ -\ |~~|~~| %| -| %| -| %| ^| -| - \~~/~~\~~/~~\~~/~~\~~/ -\__/ |~~|~~|__|__|__|__|__|__|__| - - Finally, the "detail" zoom shows more information for each sector - and demonstrates very clearly the directional relationship be - tween neighboring sectors. The important thing to note here is - that there are now four characters of information for each sec - tor. - -The Information Mode - - When it is desirable to obtain more information about the current - sector than the standard conquer display provides, the informa - tion mode is what you are looking for. To enter the information - mode, simply use the "toggle-infomode" command, and it will - switch between the standard conquer display and the information - mode. - - The information mode is very much like the standard conquer dis - play, but the map takes up much less of the screen, and the extra - space is filled by a section which will show as much information - about the sector as the nation knows. The right side of the - screen is then totally devoted to the listing of the troops with - in the sector. - - An example of what might be shown in the information mode is: - - __/ %\__/ %\__ Capital of aereol [128] *Wzrd 1 x=250 p=10 - __/ %\__/ %\__/ %\__ m:100 sp:= st:Dfd - / ^\__/ %\__/ -\__/ %\ Attract: 151 Constructions >Mage 2 x=50 p=5 - \__/ %\__/ ^\__/ -\__/ Weights: 128 fortified m:100 sp:= st:Dfd - / ^\__/ ^\__/ %\__/ ^\ Defense: 60% >Mage 3 x=50 p=5 - \__/ %\F_/ -\F_/ ^\__/ Recruits: 8000 m:100 sp:= st:Dfd - / ^\__/ ^\C_/ -\__/ #\ Range: 3.0 >Mage 4 x=50 p=5 - \__/ %\F_/ v\F_/ -\__/ Talons: 200000 m:100 sp:= st:Dfd - / ^\__/ %\F_/ %\__/ ^\ Jewels: 15000 >Mage 5 x=50 p=5 - \__/ %\__/ -\__/ %\__/ Metals: 15000 m:100 sp:= st:Dfd - \__/ %\__/ ^\__/ Food: 40000 >Mage 6 x=50 p=5 - \__/ ^\__/ Wood: 15000 m:100 sp:= st:Dfd - \__/ >Mage 7 x=50 p=5 - Produce Consume m:100 sp:= st:Dfd - sector [0,0] Talons 154011 7500 >army 200: 175 inf -owner: aereol Jewels 0 0 2 m:0(-) st:Grsn -Forest Flat Capital Metals 0 860 >army 201: 75 inf -people: 23335 Elf Food 8 23335 2 m:100(=) st:Dfd -food: 8 wood: 8 move: 1 Wood 8 2620 >army 202: 75 inf -item: drama (c) 2 m:100(=) st:Dfd - - The display shown above concerns the Capital of the nation aere - ol. The left portion of the screen is devoted to the map of sec - tors around the capital, the right column to the troops within - the capital area, and the middle of the screen shows a good deal - of information about the supply center itself. - - At the top of the information portion of the screen, the sector - designation will be shown, with the value of the designation - shown in parenthesis. For supply centers, this will be the - weight assigned to the sector; for farms, it will be the food - value; for metal mines, the metal value; etc. - - Below that will be listed all of the constructions, a.k.a. minor - designations, as well as the attractiveness of the sector to the - civilians. Immediately below the attractiveness is the sum of - the weights of all supply centers within support range of the - sector. [In the above display, this shows that the capital is - the only supply center within range] Below that is the defensive - value of fortifications within the sector. At the very bottom, - the production and consumption summary is given, so that you can - determine just where all of the national resources are going. - - If the sector is a supply center, such as the capital above, - there will be some added information, such as how many volunteers - are in the sector, what the influence range of the supply center - is, and what materials are stored within the supply center. Oth - erwise, the number of civilians actually working within the sec - tor will be shown. [For more information, see Sector] - -The customize-display Command - - As stated earlier, a display mode consists of a specification for - all four character slots, highlight specifications, and a focus. - There are, therefore, many possible combinations of display modes - available. The command "customize-display" is used to create a - specific combination, and perhaps give a name to it, so that it - can be put to use at a later date. - - When first executed, the list of currently defined display modes - is listed. Simply specify the name of the display mode you wish - to edit, and press return. If the display mode is not already - defined, a new display mode will be created under that name. - - The bottom portion of the screen should look something like: - - Name: "Standard" Display and Highlighting Selections __ - Focus: low-left blank / owned | contour / owned / -\ - '?' for commands ---------------------+--------------------- \C_/ - 'q' to exit your desg / owned | blank / owned - - The name of the mode being edited, the current focus position and - the two brief command selections are listed on the left. The - settings for each position (or slot) are listed in the middle. - And a view of the current sector using the display mode under - construction is on the right. - - So, you use the space to change the focus of the display mode, - then use the `d' key to change the display style for a given po - sition. You can also change the highlighting using the `h' key, - or any of the highlighting keys available in the normal conquer - mode, and the name using the `n' key. If you wish to return the - settings to the original values, the `r' key will perform a re - set. All of these keybindings are mentioned when the `?' key is - pressed, if you should forget. - - Finally, when you leave the display customizer, using the `q' - key, it will store your newly created display mode in the list of - defined display modes. It will then be accessible via the "ad - just-display" command. If you specified to edit the current dis - play mode, conquer will ask you if you wish to try to save the - settings under some new name so that it will not be lost when you - switch to another display mode. An important bit of information - here: the position of the focus when leaving the customizer is - the value of the focus in the actual display mode. - - Be aware, though, that the customized display modes only remain - in existence for the duration of the current conquer session. - You may have conquer store the settings, though, using the "con - quer-options" command and its "store-settings" subcommand. - -Predefined Display Modes - - Conquer comes with a default list of display modes, so that play - ers need not design their own unless they wish to. The list of - predefined modes is: - - name low-left | low-right | up-left | up-right | focus - ============= ===========|===========|============|===========|=========== - Standard designation| blank | blank | contour | low-left - Designation designation| keep | keep | keep | low-left - Own Designati own desg | keep | keep | keep | low-left - Nation Marks keep | keep |nation mark | keep | up-left - Race keep | keep | race | keep | up-left - Population keep | people | keep | keep | low-right - Contour keep | keep | keep | contour | up-right - Vegetation keep | keep | keep |vegetation | up-right - Tradegoods keep |Tgood desg | keep | keep | low-right - Jewels keep | keep | jewels | keep | up-left - Magics keep | keep |Magic value | keep | up-left - Metals keep | keep | metals | keep | up-left - Values keep | keep | Values | keep | up-left - Food keep | keep | food | keep | up-left - Wood keep | keep | wood | keep | up-left - Defense keep | keep | Defense | keep | low-left - Army Move keep | Army Move | keep | keep | low-right - Navy Move keep | Navy Move | keep | keep | low-right - Flight Move keep |Flight Move| keep | keep | low-right - Weights keep | Weights | keep | keep | low-right - Blank blank | blank | blank | blank | low-left - - Note that all of the default display modes have a highlight style - of "Keep" to assure that they will not alter the current high - lighting method. diff --git a/original/Docs/Economics.doc b/original/Docs/Economics.doc deleted file mode 100644 index 6b98692..0000000 --- a/original/Docs/Economics.doc +++ /dev/null @@ -1,708 +0,0 @@ - -Conqueresque Economics - - Economic conditions play a crucial role in the development and - growth of a nation within Conquer. Each nation must properly - manage the resources available, and distribute them where they - are needed. Troops will need supplies in order to survive, and - ships and caravans will need materials for contruction and re - pairs. Civilians will need food during every turn, and the sec - tors will need materials just to keep current designations in - place, if not to build new ones. - - All of the economics issues revolve around the ability of the na - tion to acquire and distribute the materials available to it. - And there are many methods available for both the acquisition and - the distribution, it is up to the player controlling the nation - to decide what is best and when. - -Economics 101: Resources - - There are five types of raw materials within Conquer: talons, - metals, jewels, wood and food. Each is required for different - uses, and each must be produced in different ways: - - Talons -- The basic monetary unit of conquer, gold talons are - generated from the taxation of the population. The taxation lev - el is totally controllable by the player, so if more talons are - needed, more taxes can be gathered. Of course, with higher tax - es, there is much higher discontent, and a greater risk of rebel - lion against your rule. The amount of talons generated varies - with the type of the sector and the sector population; lumber - yards, iron mines, jewel mines, and the farm sectors all generate - talons based on the production of the sector. The remaining sec - tors have a fixed income for each person in the sector, which is - greater if the sector is of more importance. - - Metals -- Metals are used in the construction of buildings and - fortifications, as well as the supplying of many troops. Metals - are generated by mining them from the earth. Various sectors - contain metal deposits, such as iron, copper, adamantine and - mithril. These sectors have available to them a certain amount - of metal, which is related to the quality of the type of metal - within the sector; for each unit of metal value for a sector, - each miner within the sector will produce 1 unit of metal per - turn. But, finding the metals is not as simple as it might be. - Each nation has given "mining ability" and "metalworking abili - ty", the average of which is used to compute the likelihood of - being able to recognize the metallic tradegoods. In order to - find the better metal types, the nation must possess a better - mining and metalworking ability. - - Jewels -- Jewels are used to gain the services of various mon - sters, and to increase the magic powers and energy of a nation. - Jewels, really gems and precious metals, are produced very much - like metals. There are various forms of jewel types, such as ru - bies, gold, silver and platinum. And each nation possesses a - certain level of ability for finding and mining such jewels. - Much like with Metals, nations have a "jewelworking" ability - which, when averaged with the mining ability determines what - types of jewels are able to be mined by the nation. - - Wood -- Wood is used in the construction of naval vessels and for - defensive fortifications. As such, wood is a military necessity. - Wood is gained through the use of lumberyards. Each vegetation - type has a certain wood yield which it may give, where woods and - forests have the highest production potential. Special types of - trees, such as pine and oak, may also enhance the yield for a - sector. For each wood value a sector possesses, it will produce - ten units of wood per person. - - Food -- Food is a necessity of life, for both soldiers and civil - ians. If soldiers or civilians run out of food supplies they are - likely to die of starvation. Farms are used to grow food, but - the farms must be properly cultivated over a number of seasons or - only a partial crop will result. A normal yield is 1 unit of - food per person, per food value of the sector, each turn. During - the spring, a sector must be designated as a "Farm" sector. This - sector will produce a half yield. As the seasons progress the - farm will mature and become "Fertile" during the summer, and - "Fruitful" during the fall. The fertile sectors will produce a - full yield, while the fruitful sectors will produce a double - yield. During winter, the sector will revert back to a "Farm" - sector, and will not produce food again until the spring. - -Economics 201: Supply and Demand - - Raw materials are stored within the special storage designations, - called "supply centers". There are five supply center types: - Cache, Stockade, Town, City, and Capital. Materials stored with - in any of these designations will be made access to neighboring - sectors, military units and civilians. If a unit, sector, or - civilian does not receive the resources needed for its survival, - it will either die or decay. So, it is very important to main - tain constant supply lines for sectors and units. Naval units - and caravans can be used for mobile short range supply sources, - but with small storage capacities, they can not be depended on as - long term supply sites. - - Each of the supply centers will gather raw materials from neigh - boring sectors during the update, and then redistribute them, as - needed, to those same sectors. The range of influence of a sup - ply center varies with the type of supply center, but is also a - function of the national communication range. Each supply center - also has a weighting assigned to it, to determine what percentage - of each sector's production it should receive. Weights may be - adjusted by the player, but must not be less than the default - value for that supply center. The default range and weighting of - a supply center is given by the table below: - - Supply Center Type Influence Range (min) Default Weight - ==================== ====================== ======================== - National Capital NTN_COMM + 1.0 (3.0) 128 - City Sector NTN_COMM (3.0) 64 + 1 per 1,000 people - Town Sector NTN_COMM / 2.0 (2.0) 32 + 1 per 500 people - Stockade NTN_COMM / 4.0 (1.0) 10 - Cache 0 (0.0) 0 - - To give an example of the weighting system: A farm sector pro - duces 10,000 units of food and is within the influence of the - Capital, 1 City of 8,000 people and a town of 750 people. The - weight of each, respectively, is 128, 72 [64 + 8], and 33 [32 + - 1]. The total weight is 233, and the food received by each - should be: - - Sector Weight Food Received - ============ ========== ========================== - Capital 128 10,000 x 128 / 233 = 5493 - City 72 10,000 x 72 / 233 = 3090 - Town 33 10,000 x 33 / 233 = 1416 - - The 1 food unit lost because of integer division can be thought - of as slipping through the cracks of bureaucracy. - - Now, when a sector consumes items, the distribution of materials - to that sector is handled by taking into account how much of the - required item nearby supply centers possess. So, if a farm needs - 500 units of wood and there is one neighboring city with 1,000 - wood and another with 4,000 units of wood, 100 would be taken - from the first city and 400 from the second. As you can tell, - this is totally independent of the weighting scheme used to dis - tribute raw materials after production. - -Economics 301: Supplying the Military - - One of the more advanced options of Conquer is that of requiring - that military units be supplying. Since armies, navies, and car - avans can each roam well outside the national boundaries and sup - ply center ranges, they must each carry what they needed to sur - vive. - - The food and talons (and any other items needed for survival) are - lumped together in one packages called a "supply". During every - update, each unit will consume 1 supply. There is a limit to the - number of supplies a military unit may carry with them, so the - units will need to constantly be resupplied in order to continue - their activities. This will be done automatically if they are - within range of a supply center during an update. Otherwise, - there are a number of commands, including the "region-command" - and "command-unit" commands, which may be used to provide units - with supplies. But, when resupplying a unit using a manual - method, the unit must be in territory controlled by their nation, - or the supplies cannot be transported to them. - - The composition of military supplies varies. For most army - units, the supplies are composed of the monthly pay and the food - needed for survival. For monster units, the supplies are com - posed of the jewels needed to bribe the creature(s). Leaders and - scouts, being single man units, need not be supplied as they can - live off the land. Naval units need talons for payment as well - as food for their crew. And finally, caravans also need to be - given payment as well as food for their crew. - - Distribution of supplies is automated over land based connec - tions, so if a unit is on land, they may receive materials from - any storage location which is on land and within range. It - should be noted that the raw materials for the supplies may be - taken from supply centers, both the static cities, towns, etc. - and the mobile caravans and navies. So, if you are planning on - sending a troop of soldiers off into the world on their own, be - sure to send along a fully loaded caravan or navy with them. - [For more information, see Warfare] - -Displaying Economic Information - - Gathering information about economic conditions is an essential - part of economic management. So, knowing how to properly use the - Conquer display routines is very important. - - If your nation, or a portion of the nation, does not have enough - of any of the raw materials, it will be necessary to designate a - sector to produce more of whatever is needed. In order to do - this, you will have to determine what sectors within range of the - supply center(s) in question contain the most potential for gen - erating the needed materials. There are a few display modes - built in to display wood, food, jewel, and metal potential for - sectors. Also, you can turn on highlighting to indicate the - range of supply centers. [For more information, see Display] If - a sector is not already owned by your nation, it will be neces - sary to capture it before you may make use of it. [For more in - formation, see Warfare] - - Another key part of the display routines involves locating unsup - ported sectors. It is possible to highlight any sectors which - are unsupported by supply centers. This means that the sector is - not within range of any supply centers, and thus will not receive - supplies to sustain civilians or constructions within the sector. - If you find such sectors within your nation, it will be necessary - to either improve the communication range of the nation, or to - build a new supply center within range of the unsupported sector. - -Paying for Sectors - - Each of the sectors which a nation owns requires certain materi - als to maintain the sector and the things within the sector. If - the sector possesses a designation or constructions, there are - materials which will be needed to upkeep the constructions and - designation within the sector. - - The costs for the upkeep of a sector is computed by finding the - base cost for the sector designation, and adding on any addition - al costs for constructions, modified by the designation multipli - er. So, using the cost table in the Sector Information portion - of the documentation, a town sector with a blacksmith and a - church would cost: - - Item Talons Metals Wood - ====================================== ======== ======== ======== - Base Cost for a Town 1000 20 200 - 5x Cost for a Blacksmith 2000 0 40 - 5x Cost for a Church 1500 0 50 - - Total Costs for Sector 4500 20 290 - - As the above calculations demonstrate, it is often the minor des - ignations that cost the most, since the basic functions of a town - are mostly self-sufficient. [For more information, see Sector] - - In addition to the material expenses for a sector, the civilians - living within the sector will need to eat. The food required is - simple to compute: multiply the national "Eat Ratio" by the num - ber of civilians within the sector. - - Costs may be reduced when magical civilian powers such as "Ac - countant", "Metalcraft" and "Woodcraft" are obtained. [For more - information, see Powers] - -Economic Reports - - Since Conquer is a computer based game, it is capable of calcu - lating all of the consumption and production on either a regional - or national level. Summaries about the costs for each supply - center's realm of influence (or region) are available through the - "economy-report" command. - - This command brings up a full screen summary of the economic con - dition within the nation. There are three summary types: the - economic report, the resource report, and the sector totals. The - economic report summarizes talon consumption and intake, includ - ing an estimate for the talon level for the next turn. The re - source report lists all five resource (raw material) types with - population, production, and usage figures. And the sector totals - report list what type of civilians live in which sector types - within the scope of the summary. All of these reports may be for - a single supply center, or for the entire nation. - -The Economic Report - - The economic report screen from the "economy-report" will look - similar to this: - - City: Downwind Talons: 821679 - Location: [1,-3] Volunteers: 693 Jewels: 0 - Weight: 67 Ships in Harbor: 0 Metals: 279094 - Sectors: 39 Supported Troops: 5757 Food: 172677 - Wood: 107529 - | source | income | - |----------+----------| | item | expense | Initial Treasury....$821679 - |Cities | 99359| |----------+----------| Probable Income......132418 - |Town/Stock| 0| |Army | 53646| Probable Expenses....-83444 - |Farms | 3964| |Fleets | 3121| Misc. Items...............0 - |Mines | 26158| |Caravans | 2782| Inflation Loss............0 - |Others | 2935| |Sectors | 23895| ---------- - |----------+----------| |----------+----------| Probable Treasury...$870653 - |Income | 132418| |Subtotal | 83444| - -----------+----------- -----------+----------- - - The above example is for a city named Downwind, located at sector - [1,3]. There are 5757 army troops within range of this city, and - probably others given the low army support costs. The total in - tact by different sector groups is in the column on the left, and - the support outtake is in the central column. The right column - displays the calculation of the next month's expected treasury. - - For defensive purposes, it is good to note that this city has - plenty of materials stored away and could also draft up to 693 - additional soldiers to help defend the city. - -The Resource Report - - For the same city, the resource report screen looks like: - - City: Downwind Talons: 821679 - Location: [1,-3] Volunteers: 693 Jewels: 0 - Weight: 67 Ships in Harbor: 0 Metals: 279094 - Sectors: 39 Supported Troops: 5757 Food: 172677 - Wood: 107529 - - | raw | sector | regional | region | region | | estimated| - | material | type |population|production| usage | net | totals | - +----------+----------+----------+----------+----------+----------+----------+ - |Talons |All | 14154| 132418| 83444| 48974| 870653| - |Jewels |Jewel Mine| 1073| 11054| 0| 11054| 11054| - |Metals |Metal Mine| 1659| 20647| 773| 19874| 298968| - |Food |Farmland | 3468| 46897| 33587| 13310| 185987| - |Wood |Lumberyard| 207| 12003| 940| 11063| 118592| - -----------+----------+----------+----------+----------+----------+----------- - - This screen shows a city with a solid production network, since - there are civilians within range of the city producing all of the - raw material types. This means that it would be possible for - this city to survive on its own were it to be cut off from other - supply centers within the nation. So, checking for any negative - numbers within the "net" column will indicate if a supply center - needs to increase the production of any of the raw materials - within the region, or import them from another region. - -The Sector Totals Report - - Finally, the sector totals report for a sector looks like: - - City: Downwind Talons: 821679 - Location: [1,-3] Volunteers: 693 Jewels: 0 - Weight: 67 Ships in Harbor: 0 Metals: 279094 - Sectors: 39 Supported Troops: 5757 Food: 172677 - Wood: 107529 - - |num| type | people | |num| type | people | |num| type | people | - |===+==========+========| |===+==========+========| |===+==========+========| - | 4|None | 16| | 2|Lumberyard| 207| | 0|Stockade | 0| - | 0|Farm | 0| | 5|Shrine | 327| | 0|Town | 0| - | 11|Fertile | 3468| | 0|Bridge | 0| | 4|City | 4707| - | 0|Fruitful | 0| | 1|Canal | 7| | 1|Capital | 2690| - | 7|Metal Mine| 1659| | 0|Wall | 0| |---+----------+--------| - | 5|Jewel Mine| 1073| | 0|Cache | 0| | 40|Totals | 14154| - ----+----------+--------- ----+----------+--------- ----+----------+--------- - - This screen simply displays a summary of the sector population - within the region based on the sector designations. As expected, - there are people in all four production types: lumberyards, farm - types (fertile), metal mines, and jewel mines. Also, there are 3 - other cities and the national capital within range of this city, - so there is quite a network of cities within this nation. - -Redistribution of Materials - - The best way to maintain economic stability within a nation is to - make sure that each supply center has some of each of the four - production type sectors within its range of influence. There are - times, however, when this is not possible, such as when first es - tablishing a new supply center. In such cases, it is often nec - essary to move materials into the supply center from other supply - centers in the area. - - There are two ways to move materials into a supply center: - transfer them directly from a nearby supply center or place them - in a caravan or navy and carry them there. - - Transferring directly between supply centers is done using the - "region-command" function. The maximum distance over which this - is possible is determined by the campaign administrator, but by - default is two sectors. Placing a number of supply centers with - in range of each other makes it possible to "string" supplies - over long distances from one supply center to another for free. - The problem with this approach is that supplies may not be moved - over more than one supply center per month, so it might take a - long time to get supplies to or from cities farther out in the - nation. - - Transporting materials over land or water using caravans or - navies provides the quickest method of transfer, as long dis - tances may sometimes be covered over a single turn. However, - this method requires materials to build the units, and civilians - to crew the transports. Once a supply network of caravans and - navies is in place, though, the support costs are rather low and - the speed of material relocation is worth the added expenses. - Loading and unloading of materials from caravans and navies is - accomplished using the "transfer" command or the (T)fer Cargo op - tion of the "command-unit" function. - -The xfer screen - - The "xfer" screen used by both the "transfer" and "region-com - mand" functions is a simple multi-column display with one storage - site on the left and another on the right. Using the "hjkl" keys - items are transferred between the two locations, and until the - screen is quit, items may be freely moved between the two sites. - - Only those materials which may be transferred between the two - storage sites will be shown on the screen. So army units will - not be shown unless the transfer is between a naval fleet with - warships and a sector with units or another warship fleet. Also, - once raw materials are placed in a supply center, they are not - able to be transferred again until the next month. This mecha - nism prevents "instant" transfer of materials between supply cen - ters from one end of a nation to another. - - The transfer screen shows the capacities for each storage loca - tion and the current amounts in that location. Each line also - contains a "default transfer amount" which will be used to trans - fer materials if only a portion of the materials needs to be - transferred. - -Commands for the xfer Screen - - The list of commands available during the "xfer" screen: - - conquer-options (`O') -- Adjust environment by changing various - options, including keybindings. - - redraw-screen (`^L',`^R') -- Redraw the display of the screen. - - xfer-add (`+') -- Increase the current default transfer amount by - one. - - xfer-assign (`=') -- Assign a value the the default transfer - amount. - - xfer-divide (`/') -- Divide the default transfer amount by ten. - - xfer-down (`J',`j',`^N',DOWN-ARROW) -- Move the selection pointer - down one line. - - xfer-help (`?') -- Provide a listing of functions and key bind - ings. - - xfer-left (`H',`h',`<'`^B',LEFT-ARROW) -- Change transfer direc - tion from left-to-right to right-to-left, or if already - done, move as much as possible from the right to the left. - - xfer-move (` ') -- Transfer the current default amount in the - current direction. - - xfer-multiply (`*') -- Multiply the default transfer amount by - ten. - - xfer-quit (`Q',`q') -- Exit the transfer mode, finalizing trans - fers. - - xfer-right (`L',`l',`>',`^F',RIGHT-ARROW) -- Change transfer di - rection from right-to-left to left-to-right, or if already - done, move as much as possible from the left to the right. - - xfer-shiftdown (`p') -- Move the list of army or caravan units - downward. - - xfer-shiftup (`o') -- Move the list of army or caravan units up - ward. - - xfer-subtract (`-') -- Decrease the default transfer amount by - one. - - xfer-up (`K',`k',`^P',UP-ARROW) -- Move the selection pointer up - ward one line. - -The National Information Screen - - The "nation-information" function is a good way of gathering a - summary of your national status. It includes information about - many national statistics and traits, and examining it every turn - and noting trends is a good way to chart national progress. When - using the function, the display will be similar to this: - - = Identifiers = = Attributes = = Abilities = = Resources = - Nation.....Khazadum Communication...3.4 Attack Bonus....+30 Talons....$4816663 - Nation Mark.....'k' Eat Rate........1.6 Defense Bonus...+30 Jewels......158065 - Leader........Durin Health.......HghAvg Reproduction.....6% Metals...........0 - Race..........Dwarf Jewelcraft...VryLow Movement.........12 Food........461352 - Alignment......Good Knowledge.......Avg Wood.............0 - Class........Empire Merc Rep........Avg - Aggression..Enforce Metalcraft...VryLow = Totals = - NPC status......NPC Mine Ability.LowAvg Leaders.........19 - Morale..........Low Soldiers......2019 - Tax Rate.........10 Popularity...VryLow Civilians....64824 - Charity...........0 Reputation...VryLow Monsters.........0 - Currency........Avg Spell Pts.........0 Ship Holds.......0 - Inflation.........0 Spoilrate........90 Wagons...........0 - Terror.......VryLow Sectors.........14 - Wizardcraft.....Min Score...........53 - - The above screen shows an NPC Dwarven nation named Khazadum with - a ruler named Durin. Whenever other nations encounter Khazadum, - they will see a 'k' on their maps, since that is its nation mark. - The aggressiveness of the nation indicates that its troops will - be mostly defensive, and within their fortifications. The tax - rate is moderate, with inflation and currency levels stable. - - The eat rate is at a good low level, but the communication range - is a little low for a nation of this size. The metal craft and - mine ability are very low and there is no magical power potential - within the nation. Those are probably due to the nation not hav - ing either shrines within magical sectors or metal mines. Given - the lack of wood as well, it is possible that there are also no - lumberyards within the nation. The last two items are potential - ly crippling. - - On the whole, the nation seems to be in a bit of trouble, with - most of the attributes being very low to average, and the metal - and wood supplies having run out. It will take a fair amount of - work to get this nation out of trouble, particularly in regard to - the wood and metal levels. - -National Attributes - - The nation information screen is used to display a number of the - attributes of a nation. Items marked with an asterisk (*) have - the possible values: Min, VryLow, Low, LowAvg, Avg, HghAvg, High, - VryHgh, and Max. Those marked with a plus (+) are adjustable by - the user. - - Nation+ -- The name of the nation, which may be changed at any - time. - - Nation Mark+ -- What map character is used to represent the na - tion. - - Leader+ -- The name of the ruler of the nation. - - Race -- The race of the nation. [For more information, see Na - tions] - - Alignment -- The general moralistic leaning of the nation. The - possible alignments are: Good, Neutral, Evil, or Other. On - ly the first three are available to active nations. - - Class -- The national class. [For more information, see Nations] - - Aggression+ -- This indicates the type of update a computer play - er will make for the nation, if a computer update is made. - Computer aggressiveness ranges from Static to Killer and can - be turned off with the value Nomove. - - NPC Status+ -- Is the nation controlled by a player or by the - computer? If controlled by the computer, the status is NPC. - - Tax Rate+ -- What level of taxes are drawn from the civilians. - This may range between 0 and 25, but the higher the setting, - the lower the popularity of the government. - - Charity+ -- How much of the yearly treasury is distributed back - to the civilian population each year. The more that is giv - en, the higher the popularity of the government. - - Currency* -- The strength of the national currency. - - Inflation -- The yearly inflation, or deflation if negative, of - the national currency. - - Communication -- The distance over which communication is possi - ble. This rate is a factor of the density of supply centers - within a nation, and the availability of roads for trans - portation of messages. - - Eat Rate -- An indication of how much food per month civilians - will each. The amount of food within the nation and the - time of year will determine how much high this value is. - - Health* -- The average overall national health of the civilian - population. If this attribute is low, the population will - be more susceptible to disease and famine. Having civilians - who are not properly supplied will lower the national health - rate. - - Jewelcraft* -- An indicator of how adept the nation is add taking - raw gems and turning them into jewelry. The better the jew - elcraft, the greater the national skill in locating addi - tional jewel deposits. - - Knowledge* -- A measurement of the technological level of the na - tion. The greater the knowledge, the easier it is to accure - new magical powers. - - Merc Rep* -- An indicator of the respect shown to the nation by - mercenary organizations around the world. Higher respect - means lower enlistment and support costs for mercenary - troops. - - Metalcraft* -- Akin to Jewelcraft for metal minerals, a higher - value means that locating new metal deposites will be easi - er. - - Mine Ability* -- A measurement of the ability of the nation to - remove minerals from mines. A higher value indicates an - easier time in locating new mineral deposits. - - Morale* -- The general confidence of the national military. A - lower morale means a higher chance of desertion for sol - diers. - - Popularity* -- An indicator of how well-liked the government is - by its civilian population. A higher popularity means a - lower likelyhood for rebellion. - - Reputation* -- A measurement of how well regarded the nation is - by other nations in the world. A higher reputation will - mean better deals when trading with other nations. - - Spell Pts -- A numerical indicator for how much magical ability - is within the nation. This number dictates the maximum mag - ical potential of the national leaders and spellcasters. - - Spoilrate -- An indicator of how quickly food will spoil within - the nation. The percentage value is a measurement for how - much of the current supply will be decayed within the nation - over a year. - - Terror* -- How much fear for the national government does the - civilian population feel. A higher fear rate indicates a - lesser likelyhood of rebellion. - - Wizardcraft* -- A measurement of how adept the nation is at magi - cal tasks. The higher the wizardcraft, the higher the suc - cess in spell casting. - - Attack Bonus -- This number is added directly to the combat value - of any of this nation's military units during an attack. - [For more information, see Warfare] - - Defense Bonus -- This number is added directly to the combat val - ue of any of this nation's military units during any other - combat situation. [For more information, see Warfare] - - Reproduction -- This percentage represents what level of growth - the national civilian population will experience each year. - Of course, this is compounded monthly, so returns on invest - ments may vary. - - Movement -- A numerical measurement of the national movement po - tential. This is a reflection of both physical prowess of - the soldiers and of the ability of the military to relay or - ders. [For more information, see Movement] - - Score -- A numerical measure of how many resources a nation has. - Factors in determining the score include: amount of land - owned, size of the military and civilian populations, and - the amount of raw materials produced and stored in supply - centers. - - The items in the last column are simple measurements of various - quantities within the nation such as the raw materials and mili - tary units. - -The nation-information Functions - - A summary of those functions available in the nation information - screen: - - conquer-options (`O',`o') -- Adjust the conquer environment by - changing various options. - - ignore-key (`^@') -- Don't do anything when this keybinding is - pressed. - - info-backward (`^H',`^?') -- Move backward among the list of - items on the information screen. - - info-change (ESC,`C',`c') -- If allowed, change the value of the - currently selected item. - - info-change-backward (`B',`b') -- If allowed, change the current - item, by decreasing the value, if applicable. - - info-change-forward (`N',`n') -- If permissible, change the cur - rent item, by increasing the value, if applicable. - - info-description (`I',`i') -- Provide a description of the cur - rent item. - - info-destroy (`D',`d') -- God may remove the nation using this - command. - - info-down (`^N',DOWN-ARROW,`J',`j') -- Move down along the list - of items on the screen. - - info-exit (`Q',`q') -- Leave the national information screen. - - info-forward (`^I',`^J',`^M',` ') -- Move forward among the list - of items on the screen. - - info-help (`?') -- List all of the commands and bindings in this - mode. - - info-left (`^B',LEFT-ARROW,`H',`h') -- Move to the item to the - left of the current item. - - info-passwd (`X',`x') -- Change the national password using this - command. - - info-reset (`R',`r') -- Reset the national attributes back to the - settings they had upon entering the screen. - - info-right (`^F',RIGHT-ARROW,`L',`l') -- Move to the item to the - right of the current item. - - info-up (`^P',UP-ARROW,`K',`k') -- Move upwards along the list of - items on the screen. - - redraw-screen (`^L',`^R') -- Redraw the screen without clearing - it first. diff --git a/original/Docs/Functions.doc b/original/Docs/Functions.doc deleted file mode 100644 index 0008e3a..0000000 --- a/original/Docs/Functions.doc +++ /dev/null @@ -1,416 +0,0 @@ - -The Functionality of Conquer - - Almost all of the commands within Conquer have been given func - tion names. These names may be used to reassign keybindings, ad - justing the feel of Conquer to fit other preferences. In gener - al, Conquer bindings are based on emacs and/or vi keys, so most - users will be able to adjust quickly to the default keybindings. - - Conquer consists of a number of different keybinding maps, for a - total of seven different modes. The "global" commands cover all - of the top level Conquer functions available while looking at the - main map window. The "move" keymap handles all of the bindings - during unit or civilian relocation. The "magic" commands deal - with those functions used while perusing or purchasing magical - powers. The "xfer" keymap is for the screen where goods, units, - and people are transfered between two storage locations. The - "reader" keymap is for use in the mail reader. The "mail" keymap - is for when a new mail message is being written. Finally, the - "info" keymap is used for keybindings in the nation information - screen. - - Again, if any of the default key bindings are unsuitable, they - may be adjusted using the customization system built into Con - quer. [For more information, see Customize] - - At any time, help may be obtained using `?' (`ESC-?' if in the - "mail" editor). This help listing will provide access to a list - ing of all of the commands and keybindings in the current keymap. - -The Global Function Keys - - The "global" keymap provides the overall control for Conquer, al - lowing players to access all of the other keymaps and functions. - The other purpose of the "global" keymap is to select military - units within the current sector, or to move between the various - sectors. - - The movement commands are available with both the top-level - keymap and the "move" keymap. But, within the "move" keymap the - scrolling commands are not available. - - Selection of units is very important, since a unit will need to - be selected before orders may be given to it. There are a number - of commands which handle this task. - - Finally, with the display and digestion of information being very - important in game play, there are numerous functions available to - select what sort of information is displayed on the screen. Most - of this information is directly available at the "global" level, - with precise details being available in some of the other - keymaps. - -The Movement Commands - - Of all of the commands available to the players of Conquer, those - which control the selection of the current sector will get the - most use, and as such, should be memorized first. - - By default, the VI keys (hjklyubn) are set to all of the motion - commands. The upper case equivalents provide functions which - scroll the screen in the given direction. Also, the numeric key - pad is available for those that wish to use that alternative. - For the numeric keypad, you may use a period followed by the num - ber to scroll in the appropriate direction. - - The directions provided by the standard VI keys and numeric key - pad is shown using the following diagrams: - - `y' `k' `u' `7' `8' `9' - \ | / \ | / - \ | / \ | / - `h'--` '--`l' `4'--` '--`6' - / | \ / | \ - / | \ / | \ - `b' `j' `n' `1' `2' `3' - - Upper Case to Scroll Use ".#" to Scroll - - The full names of the movement functions are of the form "go-di - rection", such as "go-north", "go-southwest". The scrolling - functions are likewise, "scroll-direction". - - Note that with a hexagonal map, the directions west and east are - not available during the movement mode, since there are only six - compass directions. - -Display Commands - - During the normal interface mode of Conquer, the map of the - world, or a portion of that map, is displayed to the player. For - each sector, there is a good deal of information which may be ob - tained. In order to quickly digest the large amount of data - within the world, the global view of the map can be changed to - show different information to the user. The "display" commands - provide the method for making such changes. The commands, with - their default bindings within parenthesis, are as follows: - - adjust-display (`d') -- Select which display method is used to - show the information on the screen. - - customize-display (`D') -- Create new display modes or modify the - existing display modes to your taste. - - adjust-view (`^D') -- Change the character set for either the - vegetation, the major designations, or the contour of the - land. This command is useful to allow a clearer distinction - between different vegetations, designations, or elevations. - - shift-focus (`)',`+') -- Rotate the focus position clockwise. - - shift-focus-back (`(') -- Rotate the focus position counter- - clockwise. - - highlight-all (`=') -- Change all of the highlighting characters. - - highlight-current (`,') -- Change the highlight at the focus - character. - - highlight-horizontal (`-') -- Change the highlight of the focus - and neighboring character. - - highlight-upleft-lowright (`\') -- Change the highlight of the - upper left and lower right characters. - - highlight-upright-lowleft (`/') -- Change the highlight of the - upper right and lower left characters. - - highlight-vertical (`|') -- Change the highlight of the current - character and the character above or below. - - troop-listing (TAB) -- Display a list of all troops under the - control of other nations which are visible in the current - sector. - - toggle-infomode (`@') -- Toggle between the standard Conquer map - display and a mode which provides more information about the - current sector. - - zoom-in (`>') -- If possible, give a more detailed look at the - sectors on the map. - - zoom-out (`<') -- Enlarge the scale of the map, if possible, and - display more sectors than are currently shown. - - It should be noted that the `^D' construct indicates a Control-D - character, which is obtained by holding down the "Control" key - and then pressing the `D' key. - - Details concerning the display commands can be found elsewhere in - the documentation. [For more information, see Display] - -Selection Commands - - Selecting a specific military unit or sector is necessary before - that unit or sector may receive commands. The current sector is - indicated on the map portion of the screen by the placement of - the cursor, and information about the sector will be displayed in - the non-map portions of the screen. If any units are in the cur - rent sector they will be listed on the right side of the screen. - The unit which is highlighted and has a character other than the - normal "greater than" sign next to it is considered the "current" - unit. [The character used will be either a plus sign or an as - terisk.] - - The commands available for changing selections are: - - army-choose (`^A',`^G') -- Set the current unit to be a given - army unit. This will adjust the current sector to the loca - tion of the army, if it is not already within the current - sector. - - army-next (`A',`G') -- Set the current unit to be the next army - unit (in numerical order). If needed, the current sector - will also be adjusted. - - caravan-choose (`^V') -- Set the current unit to be a given cara - van. Again, the sector of focus is adjusted if the unit is - not within the current sector. - - caravan-next (`V') -- Set the current unit to be the numerically - next caravan unit. The current sector will be adjusted if - the unit is not already within the current sector. - - city-choose (`^E') -- Relocate the current sector to the city of - choice within the nation. - - jump-to-capital (`X') -- Set the current sector to be capital of - the nation. - - jump-to-mark (`^X') -- Adjust the current sector to a previously - stored location (see the "mark-sector" command) or to the - national capital if one has not been stored. - - jump-to-pick (`x') -- Set the current sector to a specified sec - tor, which is entered by coordinates. - - mark-sector (NULL-key) -- This command will mark the current sec - tor so that it may later be returned to using the "jump-to- - mark" command. - - navy-choose (`^F') -- Set the current unit to be a given naval - fleet. Again, the sector of focus is adjusted if the unit - is not within the current sector. - - navy-next (`F') -- Set the current unit to be the next, in as - cending numerical order, naval fleet. The current sector - will be adjusted if need be. - - pick-next (`p') -- Select the next unit by displayed order within - the current sector, regardless of unit type. This command - will never change the current sector. - - pick-previous (`o') -- Select the preceding unit within the cur - rent sector, as indicated by the display. This command will - also never cause the current sector to be changed. - - Note that the NULL-key is usually defined to be `^@' or `^ ' - (Control-Space). - -Unit Manipulation Commands - - Within Conquer, there are three types of military units: army, - navy, and caravan units. Since the actions of a nation are - greatly dependent on the power, location, and grouping of its - military, there are a number of commands available to allow the - manipulation of such units: - - army-report (`a') -- Display a listing of all of the armies with - in the nation, and allow the manipulation of army units - while examining the summary. - - auto-army-numbering (`#') -- The choice of how to number army - units can make selection and identification of army units - easier. - - caravan-report (`v') -- Summarize the data concerning all of the - caravans within the nation, and allow the adjustment of car - avans while examining such data. - - command-unit (ESC-key) -- Perform a quick manipulation of the - currently selected unit (army, navy, or caravan). Some of - the options include: adjusting the speed, renumbering the - unit, changing the unit status, setting the supply level, - etc. - - enlist (`E') -- Create a new army, navy or caravan from the peo - ple and resources within the sector. The current sector - must be a stockade, town, city or capital for it to enlist - troops. Drafted troops are taken from the population of the - sector. Upgrading of units is also possible using this com - mand. - - group-report (`g') -- This command provides a summary of the - armies within the nation, just like the "army-report" com - mand, but it limits the data to only those armies within the - current sector. - - move-unit (`m') -- The is one of the most useful commands within - the program, as it allows the player to relocate a unit from - one sector to another. The cost and method of unit movement - will vary with the type of unit, terrain and nation abili - ties. [For more information, see Movement] - - navy-report (`f') -- This command will provide a summary of all - of the naval fleets within the nation, and allow the manipu - lation of the units while looking at the data. - - transfer (`t') -- Move items between a caravan or navy and a city - or another caravan or navy. The currently selected unit - will be used as the target of the transfer. Goods may also - be transfered directly between cities using the "region-com - mand". [For more information, see Economics] - - Normally the ESC-key is a single button, or `^[' (Control-Left - Bracket). - -Informational Commands - - In addition to having a need to manipulate the different military - units of your nation, players must be provided with an organized - method for retrieving all of the information concerning their na - tion and the world around them. The army, navy, and caravan re - ports are examples of just such commands. Some more commands for - obtaining information are: - - campaign-info (`I') -- This command will provide a summary of the - settings for this particular campaign. Most importantly - this screen will indicate many of the settings which were - used when the world was created, giving the player an idea - of the difficulty of the environment around the nation. - - conquer-options (`0') -- Through the conquer-options command, the - player is able to adjust keybindings, and choose a new rela - tive center for the nation. [For more information, see Cus - tomize] - - diplomacy-report (`S') -- This command is used to review what na - tions you have met and what your diplomatic status is to - wards these nations. Here is where you may adjust the sta - tus of your nation towards other nations, declaring war or - offering a treaty. [For more information, see Nations] - - economy-report (`e') -- Careful monitoring of the economic pros - perity of your nation is necessary for your survival, and - this command is the quickest means for obtaining a report - concerning your nation on a global or regional basis. [For - more information, see Economics] - - help (`?') -- List all of the functions and associated keybind - ings. - - magic-info (`W') -- Display the list of your national powers, as - well as provide a method for gaining more. [For more infor - mation, see Powers] - - nation-info (`i') -- There are a number of national parameters - which can give a good indication as to the strength and well - being of your nation. This command provides access to all - such parameters governing your nation, and allows you to ad - just those which within your immediate control. [For more - information, see Nations] - - toggle-infomode (`@') -- Mentioned under the display commands, - this information providing function was worth mentioning - again. [For more information, see Display] - - troop-listing (TAB) -- Also mentioned under the display commands, - this command really isn't worth mentioning a second time, - but I thought I would anyway. - - world-scores (`s') -- It is always a good idea to keep an eye on - what other people are up to. This command gives a short - summary of all of the nations in the world and, if your cam - paign allows it, a description of their strengths. - -Communication Commands - - Conquer has been designed as a multi-player fantasy wargame, with - much of the emphasis being on the multi-player portion. As such, - communication with other nations is very important, and there are - a few commands available to facilitate that: - - mail-nation (`M') -- Send mail to another nation. - - read-mail (`R') -- Read, reply to, and forward mail send to your - nation. - - read-paper (`P') -- Check what is happening in the world around - you. - - A more detailed description of the mail facility can be found - elsewhere in the documenation. [For more information, see - Xchanges] - -Nation Control Commands - - Being able to manipulate the world around you can give such a - nice feeling. So, in order to allow the player to get that feel - ing of power that we all need in our lives, there are a few com - mands available to the ruler of a nation which allow the manipu - lation of the population and the land: - - change-designation (`c') -- Adjust the designation for the cur - rent sector. [For more information, see Sectors] - - construct (`C') -- Add to the value of a sector by building - things such as fortifications, churches, granaries, or any - other minor designations. [For more information, see Sec - tors] - - move-people (`Z') -- Relocate civilians at a cost of 50 talons - per person to within a two sector radius. [For more infor - mation, see Movement] - - region-command (`r') -- Rename a supply center, change weighting, - distribute supplies, or transfer raw materials. [For more - information, see Economics] - -Miscellaneous Commands - - Some functions just can't be put into any category: - - ignore-key (` ') -- Well, this command does just what it says: - the key will be ignored if it is hit. This is useful to - avoid having a bell ring everytime you hit a key which you - already know is useless. - - recenter-screen (`^R') -- This command will cause the current - sector to be centered within the map portion of the Conquer - display. - - redraw-screen (`^L') -- This command will cause the screen to be - redrawn. - - Both the "ignore-key" and "redraw-screen" functions should be - available through all of the Conquer key-maps. - -Is this the end? - - Well, there is still the big question: How do I get out of Con - quer? For some people, once you are hooked, forget it. But, for - those few who can actually stop playing, there are the following - commands: - - login-nation (`z') -- Switch control to another nation, continu - ing the addiction. - - quit (`q') -- Okay, so you do want out. This is the command to - do it. - - quit-and-save (`Q') -- This command not only lets you out, but - informs Conquer that you are ready for the game to be updat - ed. When all players have indicated such, early updates - might be able to take place. [For now this does nothing - more than the "quit" function] diff --git a/original/Docs/God-Powers.doc b/original/Docs/God-Powers.doc deleted file mode 100644 index 63054ac..0000000 --- a/original/Docs/God-Powers.doc +++ /dev/null @@ -1,658 +0,0 @@ - -The Power of God - - A world in Conquer is a complex thing, and needs to have someone - to watch over it. The creation of the world, the updating of the - turns, and the monitoring of events are all assigned to the con - trol of one person. It is that person's responsibility to make - sure that the game flows smoothly and fairly. The title of "god" - is given to this person, and any aspect of the game may be ad - justed by them. - - There are times when players will be unable to get their nations - started properly, such as if there are no metal or wood sectors - near them, or if, though pure bad luck, they are placed on a very - small island. Or, the nation might accidently lose all of their - money by drafting the wrong type of unit by accident. In such - situations, god may add land or resources to the nation, disband - troops and return spent resources, or even give gifts of wood or - metals to the nation to provide them with a second chance. - - If the site is large enough, or the tasks of the god too time - consuming, it is possible for the god to give another player the - ability to be a "god" to a world. Such a person would be called - a "demi-god". In this way, many campaigns may take place on a - single machine, with different demi-gods monitoring each. This - provides the ideal environment for players, where they can have a - variety of worlds, each one configured just a bit differently. - -Genesis: A Conquer Cookbook - - To begin a Conquer game, there must first be a world upon which - to run the campaign. A Conquer world is created using the com - mand: - - conqrun -m -d campaign - - If an empty string is specified [conqrun -m -d ""], then the de - fault Conquer campaign is assumed. If no '-d' flag is used, then - either the default campaign is used, or the campaign specified - using the CONQ_OPTS environment variable is used. [For more in - formation, see Customize] - - Once a check is made to be sure that the world creation is both - allowed and desired, a startup screen is displayed. After a key - press, Conquer will prompt you to enter super-user password for - the new world. This password will be used whenever access to god - powers is needed, to preserve security. Once that has been en - tered, the configuration screen will be presented to you. - -The Configuration Screen - - The configuration screen is a mode where the world parameters can - be specified, and where different options can be enabled or dis - abled. The screen itself will look something like: - - < Conquer Configuration Mode > - - Demi-god..highlndr Min Ntn Dist....13 Check Range......2 Scout Battles..25% - God Passwd........ Navy Bonus.....-25 Pct Reject....100% Rand Events......6 - Add Passwd........ Cvan Bonus.....-50 Pct Tgoods.....90% Disasters........5 - Limit D-god..False Combat Dice......9 % Metals......25% Mercenaries..91171 - D-god Builds..True Avg Damage.....50% % Jewels......25% Atck Bonus....+75 - Map Type....HexMap Deter Damage...50% % Magical.....15% Dfns Bonus....+75 - Relative Map..True Overmatch......10% Growth Rate....1.0 % Disb Mercs...15% - Verify Login..True Min Damage......5% Npc Ntns.........4 % Mnst Mercs....6% - Hide Scores...True Year.............8 Monst Repro....20% Max Diplo Adj....1 - Hide Users....True Month.......Junius Lizards.........50 Bribe Value.200000 - Late Start.......5 Pct Water......65% Savages.........50 Max Supply.......3 - World X Size...136 Pct Contour....75% Nomads..........50 Unit Sply Dist...1 - World Y Size...136 Expose Ratio...2.0 Pirates.........20 City Xfer Dist...2 - Max Build Pts..100 Smoothings.......7 Revolt Pct.....25% - - - - Conquer Version 5.0: World Adjustor Datadir: [default] -------------------------------------------------------------------------------- - 'hjkl'-select item ' ',DEL-cycle 'c',ESC-change item 'q'-save 'Q'-quit - - - If your terminal supports it, the current item will be highlight - ed. In any case, the cursor will be placed after the current - item. If the new world is being created over an old one, the - configuration of the prior world will be kept, otherwise the de - fault configuration will be used. - - To change a configuration option, use the VI movement keys, or - the numeric keypad, to move to the selection you wish to change, - and hit the `c' or ESCAPE key. Then enter a new value. When you - are done specifying the world parameters, enter a `q' if you wish - to build the new world or a `Q' if you wish to abort the cre - ation. - -Configuration Options - - In order to clarify what each of the possible configuration op - tions is, I have provided a description of each of them. Those - with an asterisk (*) following the name are adjustable at any - time after the world has been built: - - Demi-god* -- During compilation, the user who is empowered to - control all of the Conquer campaigns is specified using the - LOGIN definition in the header.h file. While it would be - nice if a single person could manage all of the campaigns - that a site would want to run, experience has shown that on - ly with large amounts of caffeine would it be close to pos - sible. - - Thus, the demi-god is born! The demi-god is the login name - of the person that god designates to run that particular - world. The powers of the demi-god may be limited to just - world updating, or can include all of the powers that god - possesses but only for that particular world. - - Whether or not a world has been assigned a demi-god, the - powers, if not the responsibilities, of god will remain the - same. - - The string "[none]" may be used to specify that there should - be no demi-god for a campaign. - - God Passwd* -- In order to access all of the powers of god, a - password will need to be entered. This option allows the - adjustment of the password. Demi-gods must know the old - password before changing it. - - Add Passwd* -- After a number of game turns have passed, users - will be asked to enter a password before being allowed to - create a new nation. This option controls the setting of - that password. Demi-gods must know the old password before - being allowed to change it. - - Limited D-god* -- If set, this option will prevent the demi-god - from being able to enter the nation "god", and will also - prevent the demi-god from being able to rebuild the world. - In essence, this means that the demi-god will only be able - to update the game. - - D-god builds* -- If this option is set to "False", the person - designated as the demi-god will not be able to rebuild the - world and start a new game. This is useful for preventing - people from starting a new campaign without checking with - god first. - - Map Type -- This is a nice, nifty, neato-keen, feature which al - lows you to determine what map will be used for a campaign. - The two possible choices are HexMap and RectMap. - - The RectMap is the plain old 8 directional coordinate sys - tem. The HexMap, on the other hand, is where each sector - has only 6 neighboring sectors, and all sectors are joined - by the edges. The Hexagonal coordinate system is a much - more realistic system and should be the preferred system, - but the RectMap is provided as an alternative for those who - wish to use it. - - Relative Map* -- If this option is set to "True", everyone, ex - cept god, will have sector locations displayed as the rela - tive displacement between the current location and some cen - tral sector [By default, the national capital.] So, the - sector one up and to the left of the capital will appear to - be [-1,1] to that nation. - - The reason this feature was added was to decrease the amount - of help player nations can give each other if they have not - actually met. [I can't put limitations on the mail system, - since they can just use the normal computer mail if they - want... this feature serves as a nice compromise.] - - Verify Login* -- Each nation has, stored within it, the login - name of the person who created it. If this option is set to - "True", only that person will be allowed access to the na - tion. This acts as an added security feature and will also - enable a check preventing people from creating more than one - nation, attempting to thus gain an advantage by doubling - their information resources. [I got sick and tired of hav - ing to delete nations created by people who would create two - or three nations and then play out the one with the better - starting position. Annoying cheaters!] - - Hide Scores* -- If this configuration option is set to "True", - any information which could possibly determine a national - strength or ability will be hidden from players during the - various score reports. - - Hide Users* -- If set to "True", the identity of the nation own - ers will not be displayed during score reports to other na - tions. - - Late Start* -- After a number of turns have been played in the - game, nation creation will not be allowed for all players. - This option controls how long, in game turns, before users - will be asked for the Add Passwd when trying to build a new - nation. - - World X Size -- - World Y Size -- These two options control the size of the world - used in the campaign. The larger the world, the longer be - fore nations meet, and, thus, the longer the game. When ad - justing the size of the world, be sure to also adjust the - number of monsters and NPC nations within the world. - - Max Build Pts* -- When creating nations using the "conqrun -a" - interface, each of the options within the nation configura - tion is assigned a "cost" which will be deducted from the - construction points remaining. The "Max Build Pts" are the - total number of construction points which a nation will be - given at the start of the nation building process. - - Min Ntn Dist* -- This setting is used to determine how far apart - nations' capitals must be when initially placed. Be sure to - reduce this value if you are building a small world. - - Navy Bonus* -- - Cvan Bonus* -- During combat between the various military units, - each unit is assigned a combat bonus. Army units are given - a default bonus of zero, which is then adjusted by the com - bat bonus of the particular army type. These two options - control the adjustment of the combat bonuses for navy and - caravan units, and can have a great affect on the results of - combat for those units. - - Combat Dice* -- When a military conflict occurs within Conquer, - Conquer will roll a number of combat dice to determine the - outcome of the battle. With more dice, a more pronounced - bell curve is given, but more time is required to compute - the results. With less dice, the bell curve becomes flatter - and the results become much more random, but the results are - more quickly determined. - - The "conqrun -Q" command is available to set and/or test the - various dice settings available. For example, on my system, - the results show that using 9 dice is superior to using 10, - since the algorithm used ends up with a smaller standard de - viation at that setting. - - Avg Damage* -- During combat, there is a certain amount of damage - which will occur to each troop. The "Avg Damage" is the - damage that a military unit will receive if it were to meet - a unit of the same combat strength and a balanced result - takes place. Increasing this value makes combats more dev - astating to all units involved. - - Deter Damage* -- Attacking forces will keep on searching for ene - my troops until they have engaged all enemy forces, or they - have received enough damage in one encounter to cause them - to turn back. This selection controls what that amount of - damage is. - - Overmatch* -- When the number of troops is larger for one side in - an engagement than the other, the combat damage will be ad - justed by this percentage for each odds level of a combat. - For example, with an Overmatch value of 10% and if side A is - 3 times the size of side B, side A's damage will be de - creased by 20% and side B's will be increased by 20%. In - creasing this value increases the affect of numerical supe - riority. - - Min Damage* -- This setting indicates the minimum amount of dam - age which a unit must receive, based on the combat roll. - This is calculated after the Overmatch to assure that a mil - itary unit will suffer something for the battle. So, if a - unit would have received 25% damage, but by Overmatch it - went below zero, the troop would get an actual damage result - of 5%x25% or 1.25% worth of damage. This is calculated - based on a Min Damage value of 5%. - - Year* -- - Month* -- During world creation you may specify a different time - at which the game is to begin. This is mostly provided as a - cosmetic feature, but by specifying a different month, you - can control the season during which the campaign will begin. - You might want to refer to the calendar information, to get - a clear idea of the dating scheme used by Conquer. [For - more information, see Overview] - - Pct Water -- This item is also fairly straight forward. It con - trols how much of the world should be composed of water sec - tors. I recommend at least fifty percent to make the use of - naval fleets worthwhile, even higher if you wish to require - the use of such units. - - Pct Contour -- This option controls what percentage of the sec - tors which are land sectors should be non-flat in nature. - Non-flat means any of: Valley, Hill, Mountains, or Mountain - Peak. - - Expose Ratio* -- This value controls how hazardous it is for - troops to be out in bad weather or vegetation. Lowering the - value makes it less hazardous for troops. - - Smoothings -- This item is the most important in determining the - general shape of the land masses in the world. The number - entered under this option means literally what it says: the - number of times a smoothing algorithm is run on the world. - - The smoothing algorithm is simple: on a N% (currently 33%) - chance, change the current sector to be land or water de - pending on whether there is more water or land within a 2 - sector radius. The altitude of the land sectors are also - raised or lowered depending on if there are more things - nearby which are higher or lower. - - Setting this number to 1 creates a very splotchy world with - a large number of small islands scattered around, and set - ting it to the highest value (15), creates a world of solid - land masses with no small islands. [Except for pirate bases - which are ALWAYS single sector mountainous islands] - - I usually choose a value between 5 and 7 depending on how - many little islands I want to have scattered throughout the - world. - - Check Range -- - Pct Reject -- These two options control the initial placement of - the solid 8x8 blocks of land. All of the solid land masses - are placed, with surrounding blocks of "75% land, 25% wa - ter", at random. A check is made of blocks within "Check - Range" to determine if there is already land close by. If - there is, that location will be rejected on a "Pct Reject" - chance, and a new location will be selected. - - A larger range and higher percentage causes more separate - continental islands to be placed, while lowering them will - allow the possibility for a single dominant land mass to be - formed. - - Pct Tgoods -- - % Metals -- - % Jewels -- - % Magical -- These options control the amount of tradegoods - placed during the creation of the world. The "Pct Tgoods" - is the percent chance that a land sector will contain some - form of tradegood, and the other percentages indicate what - chance there is that a tradegood will be of the given type. - - Since there are types of tradegoods other than the metal, - jewel, and magical tradegoods, there is a limit to the com - bined percentage of those options. - - Growth Rate* -- The player nations, NPC nations and monster units - within Conquer each will slowly grow in size as time passes. - The growth is controlled by the reproductive rates of each - of the nations and the "Monst Repro" and "% Mnst Mercs" set - tings for monsters. It is possible to globally increase or - decrease the reproductive ability by adjusting this value. - Increasing this value increases the rate at which nations - will grow. - - Npc Ntns -- This controls the number of non-player character na - tions that are created when the world is built. These na - tions are read from the "nations" data file, so it is also - limited by the number of entries within that file. You may - use the "conqrun -A" command to add more nations to the "na - tions" file, and the "conqrun -Z" command to remove all of - the nations. - - Monster Repro* -- This selection controls how quickly the monster - nation populations increase on a yearly basis. It is offset - by both the death of the monster races (lizards, nomads, - savages, pirates and peasant rebellions) from combat, as - well as setting of the "% Mnst Mercs" option. - - Lizards -- This indicates exactly how many lizard castles should - be placed upon the world. Each lizard castle will be placed - upon a highly valuable jewel tradegood, and will have forti - fications consistent with the jewel level of the sector. - Two lizard army troops will be guarding each castle: one - roaming infantry troop, and one garrisoned archer troop. - The combat bonus of the lizard troops is that of the merce - naries during the build, plus 20 to the defensive bonus. - - Savages -- Units of this nation randomly roam about the world as - agressive army units. Half of all of the savage troops are - actually monster units of some type, with the size an in - verse ratio to the strength of the troop, the remaining unit - are randomly sized infantry troops. Combat bonuses for sav - ages are those of mercenaries at the time the world was - built. - - Nomads -- This nation is composed of a number of armies of Light - Cavalry. They must move every turn, never staying in any - sector for more than a month. The combat bonus of nomad - armies is that of the mercenaries at build time, plus 10 - more to the attack bonus. - - Pirates -- Controlling the seas, these pirate bases each have a - fleet of warships and an army of soldiers protecting its - horde of minerals. The combat bonus of the pirate nation is - that of the mercenaries at build time, with an adjustment of - plus 20 to the attack, and minus 10 to the defense. - - Revolt Pct* -- Every turn, each nation will have a certain chance - that the population will rebel and break away from the moth - er nation. This item is used as a multiplier of the calcu - lated chance to influence the chance of revolts. Thus, a - setting of 100% means no adjustment, while a setting of 0% - prevents revolts altogether. - - Scout Capture* -- This indicates the chance that scouts may be - dragged into combat and possibly be destroyed. - - Rand Events* -- On the average, how many random (non-weather) - events take place over the entire world during each update. - - Disasters* -- How many random weather events should occur each - update. - - Mercenaries* -- - Atck Bonus* -- - Dfns Bonus* -- These options control the amount and strength of - the mercenary troops within the campaign. It is also used - as a base determinant for the "monster" nations. Note: Once - a world is built, God may change the mercenaries' combat - bonus, but it will not affect the combat bonuses of the var - ious monster nations. At that point, the monster combat - bonuses must be adjusted like that of any other nation. - - % Disb Mercs -- This option determines what percentage of dis - banded troops decide to become mercenaries, instead of meek - ly becoming part of the population. - - % Mnst Mercs -- This option determines what percentage of men - within the monster nations decide to join the pool of avail - able mercenaries each year. - - Max Diplo Adj* -- Each nation is able to adjust the diplomatic - status it has for any nation it has met. The value of this - option determines the maximum adjustment from the current - diplomatic setting which may be made. Keeping this value to - 1 or 2 means that it will not be possible to declare War on - a nation without any prior warning. Due to the diplomacy - change not being visible to other nations until after an up - date, it is recommended that a low value be used for this - option. - - Bribery Value* -- This item sets a minimum relative value at - which a bribery is effective on an NPC nation. It should be - noted that the new bribery system simulates real events that - can take place when nations send money to each other through - envoys. [ie., The envoy you sent disappeared with your mon - ey and was last seen in the vicinity of the French Riv - iera...] - - Max Supply* -- Each army or other military unit may carry only so - many months worth of food and pay with them. This selection - determines the limit as to how many months may be carried at - one time. - - Unit Sply Dist* -- This option controls the distance over which - the navies and caravans can provide support when they are on - "Support" status. If this value is set to 0, they may only - distribute to the current sector, other settings indicate - the maximum range over which they may distribute, with a - value of -1 being entered to have them distribute based on - the national communication range. - - City Xfer Dist* -- This selection controls the maximum distance - which can separate two cities before they will be unable to - transfer goods directly using the "region-command" transfer - mechanism. Like the Unit Sply Dist setting, entering a -1 - will make it conform to the communication range of the na - tion. - -Changing Things Later On - - Once the world has already been created, there will probably be - some times when god will have to make adjustments to the state of - the campaign. After all, what fun would it be to play god with - out being able to "Play God"? :-) - - Anyway, the most basic of changes, such as turning on or off cam - paign options, is done through the an interface similar to that - used during world creation. This is available through the "con - qrun -E" command. Those options which are not able to be changed - will simply not allow themselves to be adjusted. This command - provides the only method available for god to change the campaign - and add user passwords, if they should ever need changing. - - If god wishes to adjust the number of dice to be rolled during - combat, then the command "conqrun -Q" provides a interface for - viewing and adjusting the probably of various dice settings. Any - changes made to the Combat Dice here will be reflected on the - world options. - - To get a quick listing of some campaign settings, simply use the - "conqrun -I" command. Conquer will then display statistics about - each nation that might be of interest to a campaign deity. - - Finally, there is the most powerful ability of god: the ability - to change anything in any portion of the campaign. Such powers - are granted by just logging in as nation "god". [I often refer - to this as "going into god-mode".] Almost all of the commands - available to normal players will also function for god, and each - will also provide additional options which will allow god to ma - nipulate almost any item. It is simply a matter of determining - which commands will do what for god, and that is what the remain - der of this section of the documentation is for... - -How to do God's Work - - Well, as I said earlier, many of the normal user commands will - simply function differently if you are logged in as god. Also, - when god wishes to adjust some information about a given nation, - god will, for a short period of time, become that nation, and - will then be able to manipulate that nations' sectors, units or - cities. So, in order for god to adjust items for a nation, that - nation must not be logged in. This is to prevent conflicts be - tween adjustments god might make and adjustments a player might - make. - - It should be noted that god will only assume the identity of a - nation for the duration of the individual commands. For some - commands, such as "move-unit", god will automatically assume the - identity of the nation that owns the current unit. For others, - such as "economy-report" or "enlist", god will be queried for the - name of the nation to become. - - As Conquer is currently implemented, god will retain the login - "lock" on any nation that is adjusted. This is to avoid any con - flicts that might develop from reading in the commands already - issued by a nation more than once. So, if you wish to release a - lock on an edited nation, you must get out of god-mode. - -Making Adjustments - - There are many different objects within Conquer, each of which - has a variety of commands which may affect it. Whenever god ac - cesses a function which may make changes, a nation name to apply - the changes to will be asked for. Some commands, such as "move- - unit" will automatically assume that the nation owning the cur - rent unit will be the one affected. Whenever god makes changes - to a nation, that nation may not be using Conquer, so once god is - done makes changes, it would be a good idea to log out. - - The following list is to let god know which commands to use to - get various tasks done: - - adjusting army units -- Army units may be adjusted using the - "army-report" or "group-report" functions. The "command- - unit" function will also change a limited subset of unit in - formation. - - adjusting caravans -- Caravans may be manipulated using the "car - avan-report" or "command-unit" functions, much as an army - unit. - - adjusting naval units -- Navies may be manipulated using the - "navy-report" or "command-unit" functions, just like armies - and caravans. - - relocating a unit -- Armies, navies and caravans may be relocated - using the "move-unit" function. The currently selected unit - will be the one to be relocated. - - creating a unit -- A unit may be created using the "enlist" com - mand or using the appropriate "{navy,caravan,army}-report" - function. - - disbanding a unit -- A unit may be deleted by using the "command- - unit" function or the appropriate "{navy,caravan,army}-re - port" function. - - changing material amounts within a supply center -- The amount of - raw materials within a supply center may be adjusted using - either the "economy-report" interface or the "region-com - mand" function. - - changing material amounts stored on a unit -- The amount of raw - materials on a caravan or a navy may be adjusted using the - "navy-report" or "caravan-report" funtions, as appropriate. - - changing supply levels on a unit -- The supply levels on units - may be adjusted individually using the "command-unit" func - tion or the appropriate "{navy,caravan,army}-report func - tion. Global adjustments may be performed using the "re - gion-command" function. - - renaming a supply center -- Supply centers may be renamed by us - ing the "region-command" function. - - renaming a nation -- Nations may be renamed using the "nation-in - fo" function. - - changing the owner of a nation -- The login name for the owner of - a nation must be changed using the "nation-info" command. - - adjusting national statistics -- National attributes, such as the - eat and communication rates, may be adjusted using the "na - tion-info" command. - - deleting a nation -- Nations may only be deleted through the "na - tion-info" command. - - creating a nation -- Nations must be created using the conqrun - program, with the -a flag. Additional NPC nations may be - added by creating a nation and then using the "nation-info" - command to change the nation to a non-player nation. - - changing the constructions of a sector -- The constructions with - in a sector may be changed using the "construct" command. - Removal of old constructions is done by devastating the sec - tor. - - changing any other information about a sector -- The owner, con - tour, designation, population, vegetation, trade good, and - many other traits of a sector may be changed by using the - "change-designation" function. - - relocating people from a sector -- The "move-people" function may - also be used by god to change the population of two sectors - at the same time. - - changing the magical powers a nation possesses -- The "magic-in - fo" function may be used to add to or take away from the - magical powers a nation has. - - casting spells -- God may cast any spell upon any sector or unit - by using the "cast-spells" function. - - call down a natural disaster -- The "cast-spells" function also - allows god to erupt volcanos, shake the earth, or call down - other natural disasters. - - going to a specific capital -- It is possible to go to the capi - tal of any nation using the "jump-to-capital" command. - - going to a specific city -- It is possible to go directly to any - city in the world using the "city-choose" function. - - going to a specific unit -- To jump directly to any unit in any - nation, the "army-choose", "navy-choose", and "caravan- - choose" functions are available. - - going to a specific sector -- To relocate to a given sector, just - use the "jump-to-pick" function. - - giving a message to players during startup -- While in god-mode, - use the "edit-motd" function to start an editor for the mes - sage of the day. The "conquer -M" program may also be used, - if you do not wish to log into Conquer just to edit the - MOTD. - - kick players out of the game -- You may prevent players from log - ging into Conquer by using the "conqrun -T" program. This - should give them a short delay before they are automatically - logged out, if they are currently in the program. - - update the game -- A very important aspect of godhood is having - to update the world. The program "conqrun -x" is used to - update the program, and depending on how it was compiled - will wait until all players have logged out, preventing fur - ther logins, and then update the world. Using this program - with an automated script program, such as "at" on Unix, can - make life much easier for a god. - - A detailed listing of which keys are bound to what functions is - listed elsewhere in the documentation. [For more information, - see Functions] diff --git a/original/Docs/Helpfiles.doc b/original/Docs/Helpfiles.doc deleted file mode 100644 index 0e005bd..0000000 --- a/original/Docs/Helpfiles.doc +++ /dev/null @@ -1,145 +0,0 @@ - -The Documentation System - - As you might have noticed, Conquer is a rather complex game. For - this reason, I hope to provide a thorough documentation system. - - One of the keys to making sure that the documentation is as accu - rate as possible is the fact that I use the same source files to - generate both the online and hardcopy versions of the documenta - tion. This assures that if I have gotten something wrong, I - have at least been consistent about it. - - For those who are curious, I write the documentation using the - roff typesetting package which is available on most Unix systems. - I developed my own set of macros which allow me to create auto - matic paging for both the troff (actually psroff) and the nroff - output. [Well, I did cheat a bit by filtering the nroff output a - little, but that was just to allow the output to work in my - pager, so you can't hold it against me.] I only use 3 fonts in - the psroff mode: a fixed font for the screen examples and two - times roman fonts for the normal text and titles. My macros also - have the nice feature of keeping track of what will fit on a - page, so that I can avoid having sections of text cut in half. - - I am always open to suggestions for improvement, and that in - cludes suggestions for enhancing the documentation system, or - just ways of clarifying the text of the documentation itself. - So, if you have any ideas you think I should hear about, concern - ing ANY aspect of the game, feel free to get in touch with me. - - Adam Bryant - adb@bu.edu - -What is in each Help Section? - - This section gives a quick summary of what each of the help sec - tions contain, so that you might be able to locate the informa - tion more easily. - - Helpfiles ("Conquer Documentation Sections") -- A description of - what this part of the documentation is for is given within - the section itself. - - Overview ("A General View of Conquer") -- Read this to get a gen - eral idea of what Conquer is about. - - Functions ("The List of Commands") -- The list of Conquer func - tions, function descriptions and default key bindings. - - Display ("Conquer Data Display Routines") -- A description of the - information display system. - - Sectors ("Sector Information") -- Descriptions of designations, - constructions, vegetations, elevations and raw materials. - - Nations ("Racial Traits and Nation Roles") -- Information about - the different races and nation types. - - Economics ("Economic Management") -- A look at how the economic - system of Conquer works. - - Movement ("Unit Relocation") -- Relocating units from sector - [X1,Y1] to sector [X2,Y2] is an important aspect of the - game, and this section helps you learn how to do just that. - - Warfare ("Military Units and Combat") -- How to destroy your op - ponents using military means, or at least keep from being - destroyed yourself. - - Powers ("Magic Powers") -- Spell casting and magic powers play an - important role in the realm of Conquer, and this documenta - tion describes how such sorcery is done. - - Xchanges ("Communication Between Players") -- Sending messages - from one nation to another is much easier electronically - than via horseback. - - Beginnings ("Beginners Hints") -- For those just starting, this - section provides tips and hints as to how to become a better - player, or at least give enough clues to allow you to sur - vive. - - God-Powers ("Conquer God Mode") -- A cookbook for world creation - and a listing of commands for ruling the world. - - Customize ("Conquer Customization Settings") -- This help section - describes how to customize the Conquer environment. Rebind - keys, create your own displays, and have Conquer store the - changes. - - Quickies ("Charts and Summaries") -- A summary of the commands - and concepts of Conquer which, printed, will make a nice ad - dition to your desk reference. - - Version ("Version Information") -- Last, but not least, there is - the credits. This document will give a listing of people - involved in the creation of Conquer and some of its history. - -What about those other things? - - Now, if you were paying attention, as I am sure you were, you are - wondering why I left some of the on-line help entries out. Well, - those help entries are used as part of the documentation, but are - not built from preset help files. They are generated by Conquer - based on the data in the campaign so an accurate representation - is possible. - - The "Runtime" documentation consists of: - - Army Types -- This entry will provide a quick summary of the - ability of a specified type of army unit. A good deal of - information will be provided, including combat information - and any special unit abilities. A summary of all of the - units is also available by entering "*" as the unit type. - - Key Bindings -- This selection provides an interactive way of - querying what function is bound to a given keystroke. - - List of Commands -- This option provides a listing of all of the - global level functions as well as all key bindings which are - associated with each function. - - Tradegoods -- Tradegoods play an important role within Conquer, - and as such also need some quick documentation. Tradegoods - are broken into fourteen separate classes, with each class - producing a given effect. To get information on items with - in a class, or on the tradegood class itself, specify which - class of tradegoods you are interested in. - - The tradegood classes are: None, Popularity, Communication, - Fishing, Farming, Spoilrate, Lumber, Knowledge, Eatrate, - Health, Terror, Magical, Metals, Jewels. - - The information provided is: class name, description of - class, what affect a tradegood has on a sector, the list of - tradegoods in the class. Along with all of the tradegoods, - the relative value of the tradegood, the chance of occur - rence within that class, the major designation and sector - population necessary to take advantage of the tradegood is - given. - - Well, that concludes my summary of the documentation, hopefully - it has helped you sort through all of this mess. [Of course, if - anyone but me calls it a mess, they will have some explaining to - do :-)] diff --git a/original/Docs/Makefile b/original/Docs/Makefile deleted file mode 100644 index f5ca490..0000000 --- a/original/Docs/Makefile +++ /dev/null @@ -1,157 +0,0 @@ -# conquer: Copyright (c) 1991 by Edward M Barlow and Adam Bryant -# All Rights Reserved -# -# This Makefile should not need changing. -# -# Please report any problems that you encounter with any of the -# Makefiles. If any problems develop while compiling, or if any -# files but the Makefiles and header.h files need editing, -# please send me mail. -# adb@cs.bu.edu -# adb@bucsf.bu.edu -# adb@bu.edu -# - -# All of the default settings -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir -SHELL = /bin/sh -CD = cd -CC = gcc -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch -CHOWN = echo ... ignore -CHMOD = chmod -LIBS = -lcurses -ltermcap -lcrypt -SYSFLG = -DBSD -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -TOPDIR = /home/brand1/kevin/foo/conquer -DATADIR = /usr/local/games/lib/conquer -BINDIR = /usr/local/games/bin -INCDIR = /home/brand1/kevin/foo/conquer/Include -SRCDIR = /home/brand1/kevin/foo/conquer/Src -AUXDIR = /home/brand1/kevin/foo/conquer/Auxil -DOCDIR = /home/brand1/kevin/foo/conquer/Docs -CQUER = conquer -CQRUN = conqrun -CQSORT = conqsort -CXTRACT = cextract -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c updateA.c -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c -GOBJS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o keybindG.o magicG.o mailG.o miscG.o moveG.o navyG.o ntninfoG.o pagerG.o regionG.o sectorG.o selectG.o xferG.o time_ckG.o -AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o updateA.o -XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o -NROFF = nroff -TROFF = psroff -t - -# -# Building and Installation Procedures -# -all: - @${ECHO} "Use one of:" - @${ECHO} " make build -- build everything" - @${ECHO} " make install -- install everything" - @${ECHO} " make clean -- clean up some files" - @${ECHO} " make clobber -- clean up all files" - -# -build: - @${ECHO} "Build in Doc complete" - -# -install: indocs - @${ECHO} "Install in Doc complete" - -# Cleaning things up -clean: - ${RM} *.o *~ *.bak \#* ${NULL} - -# Really clean things up -clobber: clean clobber2 - ${RM} ${NCONV} indocs ${NULL} - -# -# Makefile specific variables -# - -# Name of the program to properly convert the nroff output -NCONV = ./ezconv - -# List of source files for documentation -DSRC = Helpfiles.nr Overview.nr Functions.nr Display.nr \ -Sectors.nr Nations.nr Economics.nr Movement.nr Warfare.nr \ -Powers.nr Xchanges.nr Beginnings.nr God-Powers.nr Customize.nr \ -Quickies.nr Version.nr - -# List of output files for hardcopy build -DHRD = Conquer-Doc.ps - -# List of output files for online build -DONL = ${DSRC:.nr=.doc} -# === BROKEN MAKE === -# (note: bad makes need this) -#DONL = Helpfiles.doc Overview.doc Functions.doc Display.doc \ -#Sectors.doc Nations.doc Economics.doc Movement.doc Warfare.doc \ -#Powers.doc Xchanges.doc Beginnings.doc God-Powers.doc Customize.doc \ -#Quickies.doc Version.doc - -# List of dependencies for installation -# [if you do not have nroff, comment this out] -INDOCS = ${DONL} - -# Add to the suffixes list -.SUFFIXES: .nr .doc .ps - -# -# Makefile specific rules and building information -# -online: ${DONL} - @${ECHO} "== Online Documentation Updated ==" - -hardcopy: ${DHRD} - @${ECHO} "== Hardcopy Documentation Updated ==" - -docs: ${NCONV} online hardcopy - -indocs: ${DONL} - -${MKDIR} ${DATADIR} - ${CHOWN} ${DATADIR} - ${CHMOD} 700 ${DATADIR} - ${CP} ${INDOCS} ${DATADIR} - ${CHOWN} ${DATADIR}/* - ${TOUCH} indocs - -clobber2: - ${RM} ${DONL} ${DHRD} ${NULL} - -# -# how to create each of the online documents -.nr.doc: $< - ${NROFF} roff-mac.nr $*.nr | ${NCONV} > $*.doc - -# -# how to create the postscript documents -.nr.ps: $< - ${TROFF} $*.nr > $*.ps - -# -# quick conversion program -${NCONV}: ${NCONV}.c - ${CC} -O ${SYSFLG} -o ${NCONV} ${NCONV}.c - ${STRIP} ${NCONV} - -# -# additional dependencies -${DONL}: roff-mac.nr ${NCONV} -# -${DHRD}: roff-mac.nr ${DSRC} -# -build: ${DONL} ${DHRD} -# diff --git a/original/Docs/Movement.doc b/original/Docs/Movement.doc deleted file mode 100644 index f3631ad..0000000 --- a/original/Docs/Movement.doc +++ /dev/null @@ -1,416 +0,0 @@ - -The Concept of Motion - - Within conquer, there are three types of mobile units: armies, - navies, and caravans. Armies and caravans will generally travel - over land, while the navies will roam the oceans. Flight is also - possible for those army units which naturally possess flight, or - which are given the property of flight via magic. Using flight, - army units are able to traverse many places, such as oceans, - which would otherwise be inaccessible. - - The "Movement" attribute of a nation is a quantitative indication - of how well orders are distributed to military units, as well as - a rating for how quickly a unit may be relocated. This, combined - with the inherent quickness of the unit, will give an indication - as to how far a unit may move in a single update. This quantita - tive value can be thought of as movement points, and is displayed - in the extended information portion of the "command-unit" func - tion. - - Sectors will each have a relative movement cost, based on the - terrain and vegetation of the sector, as well as the racial char - acteristics of the nation. These costs are in the same movement - points as the "Movement" attribute of a nation and the movement - potential of a unit. - - Each unit also possesses a speed, which indicates the rate of mo - tion of the unit. The faster a unit is moving, the more movement - potential a unit will possess. But, there is a trade-off, be - cause a unit moving faster is much more vulnerable to adverse - conditions and combat than units which are moving slowly due to - the energy expended during motion. - - It is possible to view the various movement costs for each sector - using the display routines. [For more information, see Display] - - If you find the concept of movement points confusing, you really - shouldn't worry about it, because the program will calculate all - of the movement in percentages. The movement points need only be - taken into account if you wish to compute the relative movement - costs for sectors or the relative speed of units. - - It should be noted that the diplomatic status between two nations - can determine whether or not a sector is accessible to a nation. - [For more information, see Nations] - -The Commands Governing Motion - - There are a number of commands which affect the motion of units. - The most obvious command is "move-unit" which is used to actually - relocate a unit. While in the main Conquer map, simply highlight - the unit you wish to move, and perform the "move-unit" command, - which is bound to `m' key by default. - - Another command which will affect the movement ability of a unit, - is the "command-unit" function, which is bound to the Escape key - by default. This command can adjust the status of the unit, - which determines whether or not a unit will actually be able to - move. Of even more importance, are the speed adjustments within - the "command-unit" function. These are used to directly adjust - the unit speed. [For more information, see Warfare] - - There are three possible unit speeds: "Slow", where movement po - tential is half of the normal; "Normal", with movement potential - being met; and "Fast" with time and a half the movement potential - otherwise possible. The drawback to the various speeds is that - troops may die from harsh travel at the faster speeds, and their - combat bonus is greatly affected by the varying speeds, as the - chart below demonstrates: - - Speed Setting Army Bonus Caravan Bonus Navy Bonus* - ================= ============ ============= ============ - Slow +40 +20 -40 - Normal 0 0 0 - Fast -40 -20 +40 - - Armies and Caravans are less combat ready if moving faster, - while speed on the seas can only help a naval unit in combat. - - *Navies in a land sector have no speed adjustment within combat. - - Also, if the unit is flying, that unit will have an additional 20 - combat bonus points added on. [For more information, see War - fare] - -Army Motion - - Army units can be relocated in a number of different ways. They - can move on their own from one sector to another. They can be - carried over water using naval warships. They can fly after hav - ing the spell of "Flight" cast on them, thus being able to cross - water sectors without a navy. And, they can be grouped together - under a leader, and moved when that leader moves. - - The movement potential for an army unit is directly proportional - to the national "Movement" attribute. This value will be multi - plied by the movement rate of the unit type, and then adjusted by - the speed of the unit. - - While moving, army units, if not flying or scouting, can be - stopped whenever they encounter a group of hostile troops or a - wall sector owned by a hostile nation. Any garrisoned unit large - enough to hold a land sector will be able to stop any sized army - unit. If the garrisoned units are at least half the strength of - the units trying to move, then those units will only be able to - leave the sector by going the same way out as they used to come - in. Non-garrisoned troops are considered to be mobile within the - sector, and as such are not positioned properly to prevent enemy - movement. - - There is one other form of movement available to army units: - that of being instantly transported from one sector to another. - If the nation possess the proper magical knowledge, and they have - a wizard with enough power, they can instantly relocate a unit - from one sector to another using the spell of "Teleport". [For - more information, see Powers] - -Caravan Motion - - Caravan units move in mostly the same manner as army units, ex - cept the heavy wagons are not too prone towards either flight or - teleportation. They will suffer the same prevention of motion as - army units within sectors controlled by others, and will also - have their movement ability governed by the "movement ability" of - the nation. - - The exact number of movement points which a caravan receives is - half that of the national movement ability (with a minimum value - of 6), adjusted by the speed of the caravan. If any crew is - missing from a caravan, the caravan will lose the same percentage - of mobility. - - Caravans are useful for conveying both civilians and materials - around, but they are not able to be moved across water sectors at - all. This, combined with their minimal combat effectiveness - means that caravans while useful in moving materials to sectors - that need them, are rather vulnerable to attacks if not properly - protected. - -Navy Motion - - Naval fleets can prove to be a powerful weapon for your nation. - Their large capacity for storage and ability to traverse water - sectors gives them the potential to make or break the economy - and/or military of your nation. Whenever a fleet is relocated, - all the materials, civilians, and troops onboard are carried - along with it. - - The movement points which a fleet may possess are dependent on - the type of ships within the fleet. Light ships have 3 more - movement points than medium ships, and 6 more than heavy ships. - Warships have a base rate of 30 (for heavy models). Galleys have - a base rate of 25 and the slower Merchants have a base rate of - 20. Finally, the very slow Barges have a base rate of 10. The - movement rate of the entire fleet (or unit) is the movement rate - of the slowest ship in that fleet. If the fleet is missing any - crew, the percentage of missing crew will indicate the percentage - of lost speed. - - If a navy unit is within a land sector, that unit is considered - to be beached, or in the harbor, if the sector possesses one. - Once in a land sector the navy can load or unload armies using - the "transport" command after the fleet is highlighted as a se - lection. It should be noted that only those troops which are ex - perienced at making beachheads, such as Sailors or Marines, may - disembark within territory not owned by the nation. If troops - are lead off by a leader, however, the restriction concerning un - owned territory will be waived. If the land sector in question - contains a supply center owned by the nation, raw materials may - be transferred between the two. [For more information, see Eco - nomics] - - In order to supply units using any materials onboard, the naval - unit must be either on land, or at sea, matching the type of sec - tor which the unit to receive supplies is within. - -The Movement Process - - The actual method of moving a unit from one sector to another is - fairly simple. You select the unit that you wish to move by - highlighting it using the "pick-previous" and "pick-next" com - mands, and then execute the "move-unit" command. - - If the unit is able to be moved, you will will be now be in the - movement-mode of conquer, otherwise an error message showing why - the unit was unable to be moved will be displayed. Once within - the movement-mode, you are able to relocate the unit by telling - it which direction to go using the proper directional command. - - The percentage of movement available to the unit will be dis - played, and the percentage costs for relocating to each of the - neighboring sectors will be shown in the bottom portion of the - screen. - - If the sector in the direction you chose is a valid one for the - unit to move into, you will be switched to that sector. Other - wise, the reason for your not being able to enter the sector will - be given, and the movement will be disallowed. You can then en - ter another direction to move towards, or hit the space bar to - stop your movement. - - As the unit moves through each sector, the percentage movement - cost of the sector is deducted from the unit's movement poten - tial. If the unit runs out of movement or if you end the move - ment phase, the motion will be stopped and the unit will now be - located in the current sector. Stopping motion will cost an ad - ditional 5% of movement potential, so you should make sure to - take this fact into consideration if you wish to move the unit - again during the same turn. - - Once the final sector has been reached, the unit will be relocat - ed to that sector. If the unit was flying and "lands" in a sec - tor that is incompatible with the unit's survival, the unit will - be destroyed. At this point, if the unit is flying via magical - means, the power of flight will be lost, with the flight spell - being broken upon contact with the ground. - -The Other Movement Methods - - Besides the normal, cost involved method of motion, you can relo - cate things using a sector selector. Relocating people using the - "move-people" command, or transporting an army unit using the - "Teleport" spell are both examples of this technique. - - With such forms of movement, the distance of the movement is what - matters, not the actual relocation route itself. In other words, - you can select any sector within a given range, as long as you - can get to that sector. This sort of movement can be aborted us - ing the "move-quit" command, which is usually bound to the Escape - key. - -The Costs for Land Movement - - For each sector, there is a given movement cost to enter that - sector. This cost is determined by the race of the nation doing - the entry, the vegetation of the sector, and the elevation of the - sector. The movement cost for a sector can also be halved - through the use of the minor designation of roads. - - The list of the land movement costs for each of the elevations, - by race, is: - - Elevation Level Orc Elf Dwarf Human Others - =================== ======= ======= ======= ======= ======== - Water (*) --- --- --- --- --- - Valley 2 3 2 3 3 - Flat 1 1 1 1 1 - Hill 2 2 1 2 2 - Mountain 3 5 3 4 4 - Peak 4 8 4 6 6 - - (*) - Water sectors may be made passable using bridges, - causing such sectors to possess a movement cost of 2. - - The added land movement costs for each vegetation type, by race, - is: - - Vegetation Type Orc Elf Dwarf Human Others - =================== ======= ======= ======= ======= ======== - Volcano --- --- --- --- --- - Desert (*) 3 6 5 3 3 - Tundra 2 4 3 3 3 - Barren 1 1 0 1 1 - Light Vegetation 0 1 0 0 0 - Good 0 0 0 0 0 - Wood 2 0 1 0 0 - Forest 2 0 3 1 1 - Jungle (**) 4 2 5 3 3 - Swamp (**) 3 2 4 3 3 - Ice (*) 7 7 7 2 2 - None --- --- --- --- --- - - (*) - Possessing either the magic power of Dervish or - Destroyer reduces this cost to 1. - (**) - The magic power of Amphibian reduces this cost to 1 - - Basically, you add the movement cost for the elevation of the - current sector with the movement cost for the vegetation and you - obtain the movement cost for the entire sector. - -The Costs for Naval Movement - - The method used to determine the cost of movement for water sec - tors is fairly straight-forward. It costs all of the movement - points for a ship to enter a land sector which does not possess a - canal or a harbor. Movement in water sectors is easier along - coastal regions, and more difficult in deep water. - - For navies, land sectors come in three forms: "tera" - inacces - sible land sectors; "costa" - land sectors neighboring water; - "waterways" - land sectors with harbors or canals for smooth - naval access. The "tera" sectors cannot be reached via ships. - The "costa" sectors can be moved into, but the navy losses all - movement by beaching the craft in this manner. And the "water - way" sectors have a movement cost of either two or four, depend - ing on whether the sector is a canal or a harbor respectively. - - Finally, the movement cost for a water sector is dependent on the - number of neighboring water and land sectors. If the sector is - totally surrounded by land or water, the cost is 5. If there is - an even balance of land and water sectors, the cost is 1. The - rest of the possibilities range between those two extremes. This - creates movement costs such that travel along open coastal re - gions is much easier than over open ocean. - -The Costs for Flight - - Flight, naturally available to a number of army unit types, can - make pinning down a unit almost impossible. Their ability to - traverse blockades and fly over water make them swift scouts and - deadly strike forces. - - The movement costs while flying are greatly reduced from the nor - mal land movement, and are independent of the national race. The - costs, specified by vegetation and elevation, are: - - Elevation Level Cost Vegetation Type Cost - =================== ====== =================== ====== - Water 1 Volcano 4 - Valley 3 Desert 1 - Flat 1 Tundra 1 - Hill 1 Barren 0 - Mountain 2 Light Vegetation 0 - Peak 6 Good 0 - Wood 0 - Forest 0 - Jungle 1 - Swamp 0 - Ice 0 - None 0 - -Commands within movement-mode - - Once within movement-mode, there are a number of commands avail - able to the user. Most of these commands simply allow for the - motion of the unit, but some other commands are also available. - The full list of commands is: - - adjust-display (`d') -- This command is the same as the "adjust- - display" command within the normal conquer mode. - - conquer-options (`O') -- This command is also similar to the nor - mal "conquer-options" commands, but is available here to al - low the rebinding of movement-mode keys. - - customize-display (`D') -- Another display command to adjust the - viewing of the map. - - highlight-all (`=') -- Change all of the highlighting slots. - - highlight-current (`,') -- Change the highlight at the focus - slot. - - highlight-horizontal (`-') -- Change the highlight of the focus - and neighboring slot. - - highlight-upleft-lowright (`\') -- Change the highlight of the - upper left and lower right slots. - - highlight-upright-lowleft (`/') -- Change the highlight of the - upper right and lower left slots. - - highlight-vertical (`|') -- Change the highlight of the current - slot and the slot above or below. - - ignore-key (`5') -- Bind this to any key that you wish to be able - to hit, but not have do anything. - - move-east (`6',`l') -- Move your unit one sector to the east. - With a hexmap world, this function is useless. - - move-exit (` ',`q') -- Indicate that your movement is complete, - and have the unit placed in the current sector. - - move-help (`?') -- Display this list of functions. - - move-north (`8',`k') -- Move the unit one sector to the north. - - move-northeast (`9',`u') -- Move the unit one sector to the - northeast. - - move-northwest (`7',`y') -- Move the unit one sector to the - northwest. - - move-quit (ESC,`Q') -- Attempt to abort the current movement. - This is usually equivalent to the "move-exit" function, but - when movement people or teleporting a unit will abort the - operation. - - move-south (`2',`j') -- Move the unit one sector to the south. - - move-southeast (`3',`n') -- Move the unit one sector to the - southeast. - - move-southwest (`1',`b') -- Move the unit one sector to the - southwest. - - move-west (`4',`h') -- Move the unit one sector to the west. In - a hexmap world, this command has no use. - - recenter-map (`^R') -- Relocate the current sector to the center - of the screen. - - shift-focus (`+',`)') -- Shift the focus slot to the next posi - tion. - - shift-focus-back (`(') -- Shift the focus slot to the previous - position. - - redraw-screen (`^L') -- Clear and redraw the screen. - - toggle-infomode (`@') -- Switch into and out of the information - mode of the map display. - - troop-listing (TAB) -- Show any troops not controlled by your na - tion, which are visible in the current sector. diff --git a/original/Docs/Nations.doc b/original/Docs/Nations.doc deleted file mode 100644 index 57e2b11..0000000 --- a/original/Docs/Nations.doc +++ /dev/null @@ -1,183 +0,0 @@ - -The Races of Conquer - - There are four different races available to active nations and a - few additional races for the "monster" nations. The four cam - paign races are: Orc, Dwarf, Elf and Human. The monster races - are: Lizard, Savage, Nomad and Pirate. - - Orcish nations are known for there ferocity, uncleanliness and - fertility. Their high reproductive potential is greater than - that of any of the other races and if not for their slow growth - in military skills they would overrun the other races in time. - "Orc" power is granted to any Orcish nation. - - Dwarven nations are extremely skilled fighters whose greatest - weakness is a distain for things magical. Lower than average re - productive ability keeps Dwarven armies from growing large enough - to dominate. "Miner" power is inherent to Dwarven nations. - - Elvish nations are highly skilled in the realm of magic. Howev - er, their disdain of military activity and low reproductive abil - ity leads them to be isolationistic. The "Illusion" power helps - Elves to cloak their lands. - - Humans are the most adaptable of the four major races, and have - little limitation or strength in any aspect. Good reproductive - ability and average skill in magic, fighting and mining make them - able to function in various disciplines. The "Warrior" power is - an innate to a Human nation. - - The monster nations are computer controlled races that roam the - world, at war with all other races. Lizards live within forti - fied stockades, hording wealth. Savages and Nomads wander the - world, fighting whenever opposition is encountered. And Pirates - live in island fortresses from which their ship may harass naval - traffic. - -Nation Class - - The focus of a nation begins with the selection of the nation - class, which is the name for the governmental organization of the - nation. For each race, there are a number of various government - styles which are available. The nation class determine the type - of national leader, the number of national leaders, and possible - magical powers. - - The following is a complete list of nation classes: - - Kingdom -- A government run by a single hereditary ruler. [Lead - er: King, Baron; Races: All] - - Empire -- Much like a kingdom, but more control is given to sub - ordinate rulers. [Leader: Emperor, Prince; Races: All] - - Magocracry -- A nation whose rulers govern by through the use of - magic. [Leaders: Wizard, Mage; Races: Elf, Human; Powers: - Wyzard, Sorcerer] - - Theocracy -- A government based on an organized religion. [Lead - ers: Pope, Cardinal; Races: Dwarf, Human; Powers: Religion] - - Piracy -- A nation governed by the strength, skill and vicious - ness of a naval community. [Leaders: Admiral, Captain; - Races: Dwarf, Human, Orc; Powers: Sailor] - - Plutocracy -- A government controlled by wealth and the exploita - tion of the less fortunate. [Leaders: King, Baron; Races: - Dwarf, Elf, Human; Powers: Urban] - - Feudality -- A nation governed by a elite warrior class with a - strict governmental heirarchy. [Leaders: Warlord, Lord; - Races: All; Powers: Warrior, Captain, Warlord] - - Demonarchy -- A government led by the evil denizens of another - world. [Leaders: Demon, Devil; Races: Orc; Powers: Destroy - er] - - Dragocracy -- Government whose rulers are the intelligent descen - dents of winged beasts. [Leaders: Dragyn, Wyrm; Races: Orc; - Powers: Orc, Ogre, Dragon] - - Shadowland -- A nation controlled with an iron will by a hidden - magical ruler. [Leaders: Shadow, Nazgul; Races: Orc; Pow - ers: Vampire] - - Later documentation covers the strengths and traits of the vari - ous national leaders. [For more information, see Warfare] - A description of the magical powers gained with each nation - class or race are also covered elsewhere. [For more information, - see Powers] - -Nation Creation - - Before beginning play with conquer, a player must select the - starting attributes of a nation. This includes the race, nation - class and alignment (which is currently just for show). After - providing a name for both the nation and the national ruler, a - screen with various traits will be listed. - - A nation starts with a number of "building points". In selecting - a race, and nation class, some of these points are used up. The - remaining points may be spent on the following traits: - - population -- How many civilians live within the nation at the - start. - - treasury -- How many talons are kept within the government trea - sury. - - location -- How well situated will the nation be in the begin - ning. This includes checking for neighbors as well as hab - itable lands. - - soldiers -- How much military will the nation begin with. - - attack bonus -- The bonus given to national troops when they are - acting as agressors within a battle. - - defense bonus -- The bonus given to national troops when on the - defensive. - - reproduction -- The yearly reproduction rate of the national pop - ulation. - - movement -- A measurement of how well military units may be relo - cated. - - magic powers -- How many additional magic powers will the nation - start with. - - leaders -- The number of leader units a nation will start with. - The amount of starting spellcasters is also directly related - to this value. - - raw materials -- The amount of jewels, metals, food, and wood a - nation begins with. Important to have a base to carry the - economy until it starts operating fully. - - All of the prices for the items will be in "building points" and - are based on the chosen race. - -Diplomacy Statuses - - How nations interact is an important aspect of Conquer. The - diplomacy statuses are indicators of how one nation perceives an - other. The statuses range from permanent cooperation to eternal - warfare, and may only be changed a limited number of positions - per turn. - - The list of diplomacy statuses, and their meanings: - - Unmet -- This nation is unknown to the current nation. Entering - of lands owned by unmet nations is forbidden. - - Allied -- Permanent cooperation. Troops may garrison within for - tified positions of Allies and forces will be joined in any - battle against common foes. - - Treaty -- Nations are on very friendly terms and travel between - lands is possible. Armies from treatied nations are wel - come. - - Friendly -- Nation is well thought of but travel is rather re - stricted. - - Peaceful -- A non-committal but friendly stance towards another - nation. Scouts and non-grouped leaders are welcome. - - Neutral -- Neither favorable or disfavorable. Only caravans are - welcome within neutral lands. - - Hostile -- A leaning towards disfavor of a nation. - - Bellicose -- On the edge of war. Any troops from this nation en - countered by aggressive troops on owned land will be at - tacked. - - War -- Battles can take place anywhere troops of the nation are - encountered. National boundaries are no longer respected by - armed troops. - - Jihad -- A permanent declaration of war, which causes troops of - the nation to be favored as the focal point of destruction. diff --git a/original/Docs/Overview.doc b/original/Docs/Overview.doc deleted file mode 100644 index cee2453..0000000 --- a/original/Docs/Overview.doc +++ /dev/null @@ -1,405 +0,0 @@ - -Conquer General Description - - The basic play of Conquer is very similar to that of many board - war games: players make their moves for a turn, all of the moves - are summarized and conflicts resolved, and then counters are re - set for the next turn. Except, with Conquer, all of the moves - are entered using a full screen computer interface, and the com - puter is used to compute the results of combat and movement. A - nation is added using the "conqrun" program, specifying "conqrun - -a" in your shell. Once created, a nation is accessed using the - "conquer" program, where "conquer -n NAME" may be used to specify - a nation to log into. - - Conquer can best be summarized as a multi-player fantasy wargame. - The game is set on a world with the technological base approxi - mating that of the Roman civilization. Roman numerals and dates - are used to emphasize this feeling. But, in addition to normal - human troops and warfare, there is the element of magic. Spells - can be cast to heal troops or damage enemies. Magical beasts and - creatures roam the world wreaking havoc. And, nations made up of - Dwarves, Elves and Orcs compete with Humans for control of the - world. - - Each player controls a nation composed of civilians from one of - these races. Skill in the management of economic, magical, and - military factors is needed for the survival of the nation. The - economic base revolves around the cities, or supply centers, - within the nation. These supply centers must take in materials, - such as gold talons and food, from surrounding lands and redis - tribute them so that get where they are needed. Magical "powers" - are used to determine the development level of a nation. They - are used to determine things such as what army units are avail - able and how well a nation may survive in a certain type of vege - tation. Finally, the military army, navies and caravans can be - used to brutally conquer neighboring lands, providing growth - through conquest. - -Conquer Time - - To keep perspective focused on the Roman era upon which much of - Conquer's "feel" is based, a calendar was chosen using Roman nu - merals and months. - - Each turn in Conquer represents a month of game play. The calen - dar used by Conquer is a modified Julian calendar, which is re - lated to the modern calendar as on the chart below: - - Modern Western Conquer (Julian) Seasons - =============== ================= ========== - March Martius Spring - April Aprillis Spring - May Maius Spring - June Junius Summer - July Quintilis Summer - August Sextilis Summer - September Septembre Fall - October Octobre Fall - November Novembre Fall - December Decembre Winter - January * Januarius Winter - February * Februarius Winter - - * While on the real Julian calendar, the "months" of Januarius - and Februarius did not really exist [as far as the Empire tax - collectors were concerned], they have been added for complete - ness. Note that the year begins in the spring, and that produc - tion, consumption and other world happenings will vary on a sea - sonal basis. - -Sectors - - The world of Conquer is composed of individual pieces of land - called "sectors". A sector is defined by various traits: eleva - tion, vegetation, raw materials, designation, constructions, pop - ulation, and ownership. - - The elevation and vegetation of a sector will determine how much - food and wood potential a sector will possess. There are six - types of elevations: water, valley, flat, hill, mountain, and - peak. There are twelve types of vegetations: none, volcano, - desert, tundra, barren, light vegetation, good, wood, forest, - jungle, swamp, and ice. - - Raw materials in a sector determine possible specialized uses for - a sector. For example, only sectors with metallic ores can be - used as Metal Mines. - - This brings up the concept of "designations". When a sector is - given a designation, this indicates what the job of any civilians - within the sector will be, as well as what sort of raw materials - the sector will produce. The are sixteen designations in all: - None, Farm, Fertile, Fruitful, Metal Mine, Jewel Mine, Lumber - yard, Shrine, Bridge, Canal, Wall, Cache, Stockade, Town, City, - and Capital. - - A sector may also had additional traits, or "constructions" to - indicate its function or status. There are twelve "construc - tions": devastated, for sale, sieged, trading post, roads, black - smith, university, church, mill, granary, fortified, and harbor. - [For more information, see Sectors] - - Finally, a sector will be owned by a single nation. The raw ma - terials and defensive fortifications from the sector may be used - by that nation to support military troops or civilians in other - sectors. The number of civilians within a sector dictates the - amount of raw materials which a sector produces. [For more in - formation, see Economics] - -The Shape of the World - - The shape of the world is that of a cylinder. A good way to vi - sualize it is as a globe, where the poles are inaccessible. Con - tinuous motion towards the east or the west will result in re - turning to the point at which the journey began, while motion to - the south or the north will eventually be halted when the top or - bottom edge of the world is reached. - - The default sector numbering scheme is based on a relative cen - tral position for each nation. The numbers are [x,y], where x - indicates a general east-west direction and y indicates a north- - south direction. At the beginning of the game, the capital is - numbered as [0,0] and a sector directly north would be [0,1]. - This "relative coordinate system" may be replaced with a scheme - where [0,0] is the lower left corner of the map. - - The entire map is formed by joining multiple sectors together to - form a MxN rectangular surface. The sectors may be either - square, or hexagonal, depending on the choice made when the world - was created. The default hexagonal system, while more complex, - and somewhat harder to get used to, is much more realistic and is - the system which I recommend. [For more information, see Dis - play] - -Getting Details - - The skill most needed to master Conquer is that of efficient in - formation gathering. When you first begin playing Conquer, you - will see a screen filled with ASCII characters which, to many - people, will seem a purely random jumble. It will appear some - thing like this: - - __/ -\__ *Empr 1 x=110 p=0 - __/ v\__/ %\__ m:100 sp:= st:Dfd - __/ %\__/ -\__/ %\__ >Prnc 2 x=60 p=0 - __/ %\__/ -\__/ -\__/ %\ m:100 sp:= st:Dfd - / ^\__/ ^\__/ ^\__/ -\__/ >Prnc 3 x=59 p=0 - \__/ ^\__/ ^\__/ ^\__/ %\ m:100 sp:= st:Dfd - / %\__/ %\__/ %\__/~~\__/ >Prnc 4 x=63 p=0 - \__/ ^\__/ %\__/ %\~~/~~\ m:100 sp:= st:Dfd - / %\__/ %\F_/ %\F_/~~\~~/ >Prnc 5 x=56 p=0 - \__/ %\__/~~\C_/ %\~~/~~\ m:100 sp:= st:Dfd - /~~\__/ %\__/ ^\__/~~\~~/ --- more --- - \~~/~~\__/ %\F_/~~\~~/~~\ sector [0,0] - /~~\~~/~~\__/ %\__/~~\~~/ owner: Khazadum - \~~/~~\~~/ %\__/ ^\~~/ Capital Dwarf - \~~/~~\__/ -\__/~~\ Lt Veg Hill - \~~/ ^\__/ %\~~/ pop: 15000 move: 1 - \__/ ^\__/ food: 6 wood: 1 - \__/ item: law (c) - - -Conquer: Version 5.0 Turn CVIII nation...Khazadum - Type 'q' to save & exit treasury.1773523 - Type 'Q' to end turn There is Conquer News Februarius (Winter) - Type '?' for help Year IX - - What many people will think of as a blob of characters in the - middle of the screen is what I interpret as the visual represen - tation of a small Dwarven nation called Khazadum. This nation - has a central Capital surrounded by three Farming sectors. A - number of national leaders are within the Capital located at po - sition [0,0], where there are also 15,000 civilians, and the na - tion has a treasury of 1,773,523 talons. - - The map is hexagonal, and there are water sectors towards both - the southeast and southwest of the national capital. Most of the - land surrounding the capital is hills or mountains, but there is - a small strip of five flat sectors and a valley to the north. - The current "date" is Febrarius of the Year IX, and the current - turn is 108, as indicated by the Roman numeral CVIII. - - There are numerous commands available for displaying the informa - tion available to a player, and mastering those commands is very - important for a beginning player. [For more information, see - Display] - -Racial Distinctions - - When chosing what sort of nation you will control, you are asked - to choose from one of the four possible races: Orcish, Dwarven, - Elvish, or Human. Each of these races has different traits, some - of which are detrimental and some of which beneficial. Choosing - a race with abilities favorable to the tactics that will be used - is probably the best approach. Some distinctions include: repro - ductive ability, magical ability, general hardiness and initial - starting powers. - - Immediately after racial selection, a decision about nation - "class" will have to be made. A nation class determines what - style of government the nation will possess. The selection of - the class is even more important than the selection of the race, - as it directly controls the beginning powers and leader types - that a nation will possess. - - Interaction between nations and races will be varied based on the - these selections. Diplomatic relations between two nations of - the same race will be much easier to manage than with nations of - two distinct races. So, with diplomatic statuses ranging from - Allied to Jihad, it is important to know what races you may more - easily interact with. [For more information, see Nations] - -Economic Hardships - - As Conquer has developed, the importance of economic management - has grown. When Conquer first came out, nations would consist - almost entirely of armies and navies, with the winner being the - nation that could generate the most armies the fastest. Now, it - is still possible to control the world by purely military means, - but even the biggest military buff will have to keep an eye on - unit supplying and civilian food distribution. - - As of version 5.0 of Conquer, the economic basis has shifted from - a vague concept of a "National Resource Pool" to an economy where - the materials are stored within the cities and towns. Goods no - longer travel instantly from one end of a nation to the other; - they must be transported using navies and caravans or be relayed - between neighboring supply centers. - - There are five raw materials within Conquer: gold talons, jew - els, metals, food, and wood. Each of these materials is produced - in sectors of different designations, and each is used in per - forming different tasks. Most of the materials are consumed in - the building and maintainance of various items, such as bridges, - fortifications, farms, armies, caravans and navies. Being able - to distribute these materials from where they are produced to - where they are needed can be a tricky task. [For more informa - tion, see Economics] - -Getting from Here to There - - Getting from Sector A to Sector B is one of the most basic con - cepts of Conquer. It is often necessary to move your armies or - navies from one end of your nation to another, either to claim - land not owned by you, or to respond to encroaching enemy armies. - Transporting raw materials between supply centers via caravans - and navies, or using caravans or navies as remote supply centers - is also a crucial part of game play. - - Thus, the need to relocate units or even civilians is given care - ful attention in the documentation. In exploration, it is proba - bly best to move in straight lines or zig-zags, visually covering - more territory than otherwise. In going between already estab - lished points, it is best to find the quickest, least treacherous - path. [For more information, see Movement] - -Military Conflicts - - A major part of the game of Conquer revolves around conflict be - tween military units, usually armies. The army units, along with - supporting naval and caravan units, are used in the capturing of - sectors and in aggressive engagements with similar enemy forces. - - There are a large number of different army unit types, ranging - from individual leader units and spies to grouped monsters or - specially organized legionnaires. In all, there are over eighty - possible army types, each different from any of the others. This - variety will allow for selection of specialized units for specif - ic purposes. Just be sure to protect leader units, since they - act as rallying points for your troops and also enable various - forms of spell casting depending on their abilities. - - There are four different classes and three different sizes of - ships available within Conquer. The classes include warships, - galleys, merchants, and barges and the sizes include small, medi - um and large. A naval fleet may consist of any combination of - these vessels as long as no more than 31 of one specific type is - present. The size of the vessel determines the capacity for the - ship and the class determines what sort of cargo may be carried. - - Finally, there are caravans, which are weak in combat but are es - sential for transporting raw materials over land. - - When nations which are at war both have units a sector, it is - possible for a battle to take place. This battle will usually - result in the death of soldiers from the one, or the other, or - both units. And if other nations have troops within the sector, - it is possible for the battles to get even more complex as a gen - eral free for all may result. [For more information, see War - fare] - -Hocus Pocus - - Magic plays an important role within the world of Conquer. The - most important factor being that the "technological advancement" - of a nation is governed by how many "magic powers" a nation pos - sesses. - - There are three classes of magical powers: military, civilian, - and wizardry. Military powers determine what army unit types are - available to a nation, and also how much it costs to support - them. Civilian powers reflect the abilities of the civilians in - the nation, such as improved mineral mining better. Finally, - wizardry powers govern the spell casting abilities of the nation. - - There are a number of spells available to a nation, from healing - to weather manipulation. Leaders and specialized leaders, known - as spellcasters, must be used to cast these spells. Each spell - drains a certain amount of health and magical strength from a - caster and will not necessarily succeed every time. [For more - information, see Powers] - -Communicating with Others - - There are a few tools available to allow communication between - player nations, the most important of which is the electronic - mail (or email) system built within Conquer. This mechanism al - lows one nation to send messages to other nations and thereby to - engage in negotiations. - - The mail system is also used by the Conquer program itself to re - lay information to a nation during the updates. This information - will range from combat results to economic reports. Some of - these reports will prove invaluable in determining what unexpect - ed events have taken place in your nation over the update period. - [For more information, see Xchanges] - -To Start from the Beginning - - I realize that Conquer is a complex and somewhat daunting game - for beginners, but it is well worth learning. If you don't be - lieve me, just ask others who have tried! I still find Conquer a - fun and challenging game to play, and that is after I have been - working at it for many years now. - - So, I have a number of tips that I give to beginners to get them - started, from how to focus on economics to how to respond to ene - my attacks. I can't be sure that I have given information to - cover every circumstance, but I hope there is enough so that - players will not get bogged down when new situations develop. - - Anyway, just be sure to read through at least the Display and Be - ginners sections, so that you can understand all of the informa - tion which Conquer makes available to you. [For more informa - tion, see Beginnings] - -The Power of God - - In order to manage all that must go on in the world, there must - be one individual designated as a "god" for Conquer. This person - is responsible for creating worlds, and managing updates. If - anything goes wrong with a nation, it is possible for the god to - go in and fix it. And, it is even possible for a god to grant - boons or banes to any of the nations of the world. Of course, if - a god abuses the power of management, it will be hard for that - god to find enough mortals to continue playing, so be fair and - just, etc. ;-) - - Also, if a your site is so large (or addicted), that many cam - paigns are running at once, it would be in the best interests of - god to share the labor with others. To accomplish this, each - campaign may be assigned a demi-god, who may or may not have all - of the powers of god, but only for that one world. [For more in - formation, see God Powers] - -Tayloring Conquer to Your Tastes - - Even though I would like to think that the keybindings I selected - for Conquer are the best ones possible, I am sure there will be - others who will disagree with them. With this in mind, I have - assigned a name to each of the functions within Conquer. By as - signing a string of characters to a function, it is possible to - reallign the default keybindings. [For more information, see - Functions] - - In addition to setting keybindings, it is possible to customize - other aspects of Conquer. All of the display characters, repre - senting information such as designations or vegetations, may be - replaced with other characters. Also, there are a other options - which control how Conquer will behave in displaying information - and interacting with users. - - All of these options, including keybindings, may be set using a - special customization file. This file may be generated automati - cally by Conquer, or constructed from scratch using the list of - accepted configuration commands. [For more information, see Cus - tomize] - -Summarization - - Conquer is a complex and detailed game, which, once mastered, can - become rather addictive and very enjoyable. So, to make it easi - er for players to find information within the documentation, I - have created a series of tables and summaries which are near the - end of the documentation. These tables will make it easier to - determine what army units are best for what use, and should also - help you determine which magical powers are best to try for. - [For more information, see Quickies] - - Speaking of summaries, it would be hard for me to list all of the - people who have been involved in the development Conquer, since - there were so many and I am so forgetful. :-( But, I have made - some attempt at giving credit were credit is due, and this is re - flected in the Version information within the documentation. - [For more information, see Version] diff --git a/original/Docs/Powers.doc b/original/Docs/Powers.doc deleted file mode 100644 index 942fd65..0000000 --- a/original/Docs/Powers.doc +++ /dev/null @@ -1,548 +0,0 @@ - -The Magical World of Conquer - - There are many forms of power within Conquer: material wealth, - physical strength, and magic. This portion of the documentation - deals with the third and most complex of the three. What many - people call "magic" is simply some event or action which is be - yond their everyday experience. So, magical powers are often - just a matter of relative technology or ability. Within conquer, - these "magic" abilities are often manifested through traits or - abilities which a nation possesses that other nations do not. Of - course, "true" magic powers and abilities are possible as well. - - There are various forms of magic available to the nations of the - world. The most powerful, yet subtle "magics" are the national - powers. These "magical powers" indicate how well advanced your - nation is, both technologically and metaphysically. There are - three classes of such powers: Military, Civilian, and Wizardry. - Military powers control what army units are available to the na - tion, and how well that nation fights. Civilian powers govern - how the national population responds to events and also indicates - any special traits of the nation as a whole. And finally, the - Wizardry powers indicate the prowess of a nations leaders towards - the arcane arts: how well and what type of spells they can cast - as well as some other truly magical traits of the nation. - - There are a number of aspects to the truly magical powers: Wiz - ardry Powers, spell casting, and Monsters. The wizardry powers, - as mentioned before control what spells leaders are able to cast. - And, they also control what monsters are available to a nation - through the various spells such as summon and sending. - -The Military Powers - - The military strength of a nation is greatly dependent on the - skill of a nations' leaders and the training of its troops. The - military "powers" are a reflection of just such skills and train - ing. They also represent investments in new technology such as - advanced armorcraft or winged mounts. - - The complete list of the military powers is: - - Archery -- Archery indicates that a nation has discovered the use - of bows, and has invested time for training in their use. - This power allows the drafting of Archer units, which are - excellent deterrents against aerial assaults and prove most - efficient against a few other units such as knights. Gain - ing of this power also results in a five percent increase in - attack bonus and a ten percent increase in defensive combat - bonus. - - Armor -- Skill at the design and use of armor increases the de - fensive combat bonus of the nation by ten percent. A number - of different unit types are also dependent on the possession - of this power. - - Avian -- Time spent in the raising and training of various flying - animals provides the nation with aerial troops. The nation - al movement rate is increased by four when this power is - gained. - - Captain -- Better leadership and training leads to a ten percent - increase in combat bonuses and a reduction in drafting - costs. Warrior is a prerequisite for Captain power. - - Dragon -- Excellent ability at dealing with the creatures of the - world makes it possible for the most powerful monsters to - help out this nation. Orc and Ogre powers are prerequisites - to obtaining the Dragon power. - - Equine -- The breeding and raising of horses provides the nation - with a number of new unit types. The movement rate is in - creased by four when this power is gained. - - Ninja -- Elite training for scouting troops allows the use of - more skilled spies and scouts as well as the ability to en - list a few other troops for monitoring purposes. Due to the - study of advanced training techniques the overall national - attack bonus is increased by five. - - Ogre -- Similar to Dragon power, Ogre power indicates an in - creased affinity of a nation for the recruiting of monsters, - but not of the same strength as the Dragon power. Orc power - is a prerequisite. - - Orc -- The last and weakest of the monster powers, Orc power pro - vides an orcish nation with the ability to recruit some mon - sters during the spring months. - - Sapper -- Improved study of engineering and building structures - provides insight into a nations ability to produce siege en - gines and catapults. The national defense bonus is also - raised by ten through the use of such information within the - nations own defensive maneuvers. - - Warlord -- The strongest of the three warrior powers, excellent - leadership ability and the intense study of military tactics - increases combat bonuses by ten and decreases overall en - listment costs. - - Warrior -- The first of the warrior powers, this power adds ten - percent to the combat bonuses and decreases the enlistment - expenses. - -The Civilian Powers - - Civilian magical "powers" represent knowledge gained by and - shared among the populace to increase the productivity of their - lives. Such powers indicate a population's ability to survive - within adverse environments or a similiar trait which may enhance - their lives. - - The complete list of Civilian Powers is: - - Accountant -- The training of tax collectors in book keeping pre - vents the lose of much governmental resources. This results - in a 20% increase in the collected tax revenues. - - Amphibian -- Study of swampland and the acclimation of the popu - lation to such environments allows the use of swamp and jun - gle sectors. - - Architect -- The training of builders and the study of architec - ture decreases the material cost of building items by 20%. - - Botany -- The study of plant life increases the potential produc - tion for farms and lumberyards. Farming is a prerequisite - power. - - Breeder -- This power indicates a greater national focus on sexu - al education. This results in a 2% increase in the repro - duction rate of the population, and, for some strange rea - son, a distraction among the soldiers, leading to a five - percent reduction in combat ability. - - Democracy -- This power indicates that the population is able to - have a vote in the goings on of the government itself. - Greater communication between the soldiers and populous re - sults in a 2 point increase in the movement rate and a ten - percent increase in combat ability. A one percent increase - in the reproduction rate also results, but the greater voice - in things also leads to larger food consumption and more - chance of rebellion. - - Dervish -- Absorption of some non-aggressive nomads into the pop - ulation teaches the ability to survive within desert and ice - sectors. - - Farming -- The study of farming and agriculture leads to a 20% - increase in food production ability. - - Jeweler -- Better training at gem crafting results in higher - quality jewels. This means a 20% decrease in overall jewel - expenditures as a result of the higher quality. Miner is a - prerequisite. - - Marine -- An increased training in navigational and naval studies - results in more efficient fleets. The naval construction - expenses are decreased by 20% and the ship speeds are in - creased by 20%. The power of Sailor is a prerequisite. - - Metalcraft -- The study of metallurgy leads to production of bet - ter quality metals and thus decreases raw metal expenditures - by 20%. The power of Miner is required to gain this power. - - Miner -- The study of metals and jewels in general, as well as - with improved training in mineral recovery leads to an in - crease of jewel and metal production of 20%. - - Religion -- The support by the government of a national church - provides the nation with a greater focus. The population - reproduction rate increases by 2% and the likelihood of re - volts decreases. - - Roads -- Actual governmental focus on building roadways increases - the national communication rate and movement ability. - - Sailor -- Cultivation of a seafaring culture leads to a greater - prowess with naval fleets. The naval expenses are decreased - by 20% and the ships speeds are increased by 20%. - - Slaver -- The use of captured civilians as laborers increases the - amount of population taken during military occupation. Un - fortunately, the likelihood of rebellion is increased. - - Socialism -- Wealth is shared among the populous, giving them - more of a dependency on their government. The reproduction - rate is increased by 1% and socialization programs result in - 10% more in tax intact. - - Urban -- The cultivation of cities results in a greater attrac - tion of the population towards such sectors. The reproduc - tion rate increases by 2% and the population is more at - tracted to city sectors. - - Woodcraft -- The study of the various properties of wood and - methods of curing and pressing leads to more productive lum - ber use. This results in a 20% decrease in wood expendi - tures. The powers of Farming and Botany are prerequisites - to this power. - -The Wizardry Powers - - Of the three power classes, the only one which truly represents - "magical" powers is that of Wizardry. These powers are developed - through the study of forces which are beyond the realm of normal - men. A number of these powers can alter the composition of the - entire nation and its population, but most result in the realiza - tion of new spells and abilities. - - The complete list of Wizardry powers is: - - Alchemy -- Through the combination of wizardry and chemistry the - nation gains the ability to alter the molecular structure of - materials. This provides the nation with spells which allow - the conversion of one raw material into another. The disci - pline provided with Wyzard training is needed to obtain this - power. - - Air -- The intensive study of the element of Air provides insight - into new spells and creatures. The ability to cast Flight - is not the least of the abilities gained through this power. - - Destroyer -- Through a combination of magical mischance and luck - the nation gains all of the abilities of a Dervish nation. - The vegetation near the capital is also slowly altered to - provide an environment more suitable to such a nation. - - Druidism -- The study of the magical potential within trees leads - to a number of new spells, along with some other beneficial - results. Wood production within the nation is increased by - 20% due to new techniques in tree cultivation which are - learned. - - Earth -- Intense study of the element of Earth provides new in - sight into various aspect of soil and the earth itself. New - spells are gained and food production is increased by 10%. - - Fire -- Study of the element of Fire provides powerful spells for - use in combat. - - Hidden -- Increased study of deceptive magic leads to the ability - to mask the size of military units of the nation. The size - of armies will be totally unknown to most nations. Prior - work with Illusions is required to gain this power. - - Illusion -- The study of illusionary magic leads the nation to be - cloaked within a haze which makes armies and sectors harder - to examine and view. This, in effect, doubles the uncer - tainty involved in such observations. - - Know All -- This power provides the nation with the ability to - see all of sectors of the world. If the power is available - at all, the nation must first obtain the powers of Vision - and See All. - - See All -- Concentrated study on magic to allow the penetration - of illusions provides the nation with the ability to accu - rately view enemy troops and sectors, even if cloaked magi - cally. The power of Vision must first be learned before - this ability may be gained. - - Sending -- The ability to relocate an object from one place to - another can lead to many interesting spells. The level of - Wyzard and Sorcerer must first be obtained before this power - is possible. - - Sorcerer -- Superlative skill in the magical arts leads to a - greater understanding of much of the truly magical arts. - Increasing of spell casting ability is a direct benefit of - this power. The knowledge gained via the Wyzard power is a - must to achieve this wizardry power. - - Summon -- The study of magical portals and creatures of other - planes provides the nation with the ability to enlist mon - sters in order to help the nation. Only a nation possessing - Wyzard and Sorcerer may gain this knowledge. - - The Void -- Unsurpassed ability in illusion provides the nation - with the ability to move troops unseen around the map. The - sector potentials are also hidden to other nations, unless - they possess the power of See All. The power of Illusion - and Hidden must first have been obtained for this ability to - be possible. - - Vampire -- Delving into the realm of necromancy gains the nation - the ability to enlist undead troops into the military. - - Vision -- Magical clarity of vision provides the nation with the - ability to penetrate any Illusionary deceptions. Increased - accuracy in troop estimates is an added benefit of this wiz - ardry power. - - Water -- Study of the element of Water enhances national abili - ties regarding that element and provides some new magical - spells and defenses. The ship speeds are increased by 20% - and fleets are invulnerable to storms at sea. - - Weather -- Study of the weather provides the ability to exert - some influence on it. New spells are obtained and weather - events are less likely to damage the nation. The power of - Wyzard is necessary to gain this ability. - - Wyzard -- Focusing on magic for magic's sake increases the na - tional ability with the sorcerous arts. This power increas - es the spell casting potential and is a prerequisite for a - number of other powers. - -Obtaining Magical Powers - - Within conquer, jewels are the key to obtaining magical powers. - Their crystalline structure allows them to entrap magical ener - gies which may be unlocked through various arcane techniques. - Thus, to gain a magical power one must sacrifice jewels within - the capital. And, due to the nature of magic, a greater amount - must be sacrificed each time a new power is desired. - - The interface used to view the powers you possess and obtain new - ones is the "magic_info" command. This command will show the - list of magical powers your nation possess, separated into the - three different classes. Information on each power can be viewed - while within the interface and you can also determine which pow - ers your nation does not possess and what they are as well. - - Using the various movement keys, it is possible to move between - the listed classes and powers. The current classes and power - should be shown by highlighting, and the price in jewels for a - new power will be listed at the bottom of the display. - - The "magic-buy" command is used to obtain a new power. If there - are enough jewels to purchase a power within the current class, a - new power will be given to your nation. There are two ways in - which a power may be purchased: randomly or by selection. If you - are willing to invest three times the number of jewels, you are - able to purchase a power from the list of "Needed" powers. Sim - ply select the power you wish before using the "magic-buy" com - mand. Otherwise, if you are looking at the powers which you pos - sess, selection will be made randomly from the list of powers - which your nation has yet to obtain. - -The magic-info Mode Commands - - The complete list of commands available during the "magic-info" - display is listed below. The default bindings for each command - are listed in parenthesis following the command names. - - conquer-options (`O') -- This command is similar to the conquer- - options command within the main conquer display, but it al - lows the user to change bindings for the magic-info mode - keymap. - - ignore-key (` ') -- Simply pretend that a key press did not oc - cur. - - magic-buy (`b',`B') -- Attempt to purchase a new magical power - within the current class. If the list of needed powers is - being shown, that specific power will be purchased, other - wise a random power will be given. - - magic-delete (`d',`D') -- Give back the currently selected magi - cal power in exchange for half of the current purchase price - in jewels. - - magic-down (`j',`J') -- Move to the magic power immediately below - the currently selected one. - - magic-exit (`q',`Q') -- Leave the magic-info mode display. - - magic-help (`?') -- Provide the list of commands available within - the magic-info mode. - - magic-info (`i',`I') -- Provide information about the currently - selected magical power. - - magic-left (`h',`H') -- Move to the nearest magic power to the - left. - - magic-right (`l',`L') -- Move to towards the magic power to the - right. - - magic-switch (`TAB') -- Switch between the magical classes. - - magic-toggle (`t',`T') -- Toggle between viewing the powers cur - rently possessed by the nation and the powers which are - needed by the nation. - - magic-up (`k',`K') -- Move to the magic power directly above the - currently selected power. - - redraw-screen (`^R',`^L') -- Clear and then redraw the screen. - -Spell Casting - - The most dramatic form magic can take within conquer is that of - spell casting. Spell casting is when a national leader or other - spell casting unit takes some of the magical energy which has - been accumulated and uses it to alter reality. - - There are a number of different spells which are available to a - nation, depending on the Wizardry Powers the nation possesses. - There is also a cost for casting each spell, in both spell points - and the health of the leader unit. If the leader does not pos - sess enough of both, the spell may not be cast. - - Each nation has a certain spell point potential. That potential - is governed by the number of Wizardry Powers a nation possesses - and by the magical potential within the shrines which a nation - has set up. Minor leaders will be able to accumulate spell - points up to only a quarter of the potential magical power within - the nation, and rulers only half. Spellcasters will also possess - half of the national magic potential, and fully experienced - spellcasters will be able to utilize the full magical potential - of the nation. Regaining of spell points is at a pace of one per - month, but if a unit is resting within a shrine, the pace is dra - matically increased based on the magical power of the shrine. - - There are a number of different spells which are available, with - certain powers needed to gain their use. There are also a number - of different styles of spells. Some spells may be used for com - bat, some to magically adjust an army unit, and still others may - change the scope of the sector itself. - - So, in order to cast a spell, you select a leader who possesses - spell points (using the "pick-previous" and "pick-next" commands) - and then you use the "cast-spells" command. The next section - provides a list of the current spells and there costs. - -The List of Spells - - Currently, there are only a few spells available within conquer, - but that will change, very soon, as I implement new spells. The - descriptions for each of the spells is: - - Enhance -- This spell will enhance by 30% the combat bonus of any - selected military unit for any combat during the current - month. It takes 5% of health from the caster and costs 1 - spell point for every 300 men. There is 95% chance of suc - cess in casting. - - Flight -- Enable the ability of flight, for one turn, within any - army unit. The cost is 1 spell point per 100 men and costs - 10 health points to cast. The success rate is 80%. [Re - quirement: Air] - - Heal -- Increase the health / efficiency of an army unit of 100 - men by 25%. It costs 1 spell point and 3 health points. - - Quake -- Cause an earthquake to take place within the current - sector. This spell costs 25 points and 80 health has a suc - cess rate of 50%. [Requirements: Wyzard, Sorcerer, Earth] - - Sending -- Summon and send a monster against an enemy nation. - This spell takes 30 health points and a minimum of 2 spell - points. There is a 75% success rate. [Requirements: Sum - mon, Sending] - - Scare -- Attempt to frighten the civilians of a population from - the current sector. The spell costs 10 spell points and 10% - health and has a 85% success rate. [Requirements: Illu - sion] - - Summon -- Summon a monster from another plane to work with your - nation. The spell costs 20% health and a minimum of 1 spell - point. The success rate is 85%. [Requirements: Summon] - - Teleport -- Instantly transport an army unit from the current - sector into another sector. The cost is 1 spell point for - 20 men for every 1 sectors distance along with 50% health. - The spell has a 65% success rate. [Requirements: Sending] - - Transfer -- This spell is a very simple spell which shifts the - spell casting potential of one leader into another. The - costs is simply 10% health. This spell has a 99% success - rate. - -Shrines - - Shrines can become a great focal point for magical within a na - tion. This is due to the fact that magical power is concentrated - around shrines to such an extend that spell casting is often much - easier in their vicinity. - - If a unit capable of casting spells is within a shrine sector - during the update, the magical power of that unit will be re - gained at double the normal rate. If the shrine sector also con - tains a magical tradegood, the spell casting power of the unit - will increase an additional point per turn for every turn during - which they are within the shrine sector. Of course, the maximum - spell casting level for the unit will not be affected by the - shrine. - - Shrines will also provide additional power and support when - spells are cast within their sector. There is a 2 percent reduc - tion in spell point cost and a 4 percent reduction in health - draining for every magical point of the shrine sector. Even if - there are no magical tradegoods within the shrine, the 2% and 4% - base reductions will be granted. - - Thus, when the magic starts flying, shrines can become the focus - for all of the spell activity taking place. - -Monster Summoning - - Once a nation gains the Wizardry Power of Summon, they are able - to incorporate monsters into their nation. Monsters are much - different from normal army troops, because every monster is worth - much more than a single soldier. Also, the damage a monster re - ceives in combat will indicate the percent chance of the monster - receiving a fatal hit during the combat. If the monster does not - die, the monster is unaffected by the fighting. - - There are a few ways of obtaining monsters. They can be magical - ly summoned into your nation via the "Summon" spell, or they can - wander into your national service through the use of the Monster - Powers of Orc, Ogre and Dragon. Once a monster has joined your - nation, that monster will be much like normal army troops, except - that the monster requires jewels as supplies. - - In terms of summoning requirements, each monster has a certain - cost in spell points associated with it, along with a jewel cost - per turn. The types of monsters which are summonable is deter - mined by the various magical powers which a nation possesses. - Also, if you wish to Send a monster against another nation, the - spell point cost is double that of the summoning cost. - - The complete list of monsters and their traits is: - - Monster Size Summon Cost Jwl/Tn Traits Powers - =========== ==== =========== ====== ================= ================ - Spirit 50 1pt 1800J 1000 Flight --- - Assassin 50 2pt 1400J 1000 Spying ability Ninja - Efreet 50 2pt 1200J 800 Flight Air - Gargoyle 75 2pt 2000J 1150 Flight Orc - Wraith 75 3pt 2000J 1300 Undead Vampire, Void - Hero 100 3pt 1600J 800 --- Warrior - Centaur 75 3pt 1500J 800 1.5x move Equine - Giant 150 5pt 2500J 1800 Fort damage --- - SuperHero 150 5pt 2600J 1200 --- Warrior, Captain - Mummy 150 5pt 2300J 1600 Undead Vampire - Earthmentl 175 6pt 2500J 2000 1.5x move Earth - Minotaur 150 8pt 2500J 1800 --- Wyzard - Daemon 500 10pt 10000J 6000 --- Orc, Sorcerer - Balrog 500 12pt 12000J 6000 Flight, 1.5x move Ogre, Sorcerer, Fire - Dragon 1000 15pt 20000J 10000 Flight, 2x move Dragon, Sorcerer - - Additional information regarding monster units is available in - other sections of the documentation. [For more information, see - Warfare] [For more information, see Army Types] diff --git a/original/Docs/Quickies.doc b/original/Docs/Quickies.doc deleted file mode 100644 index 9ebf7c5..0000000 --- a/original/Docs/Quickies.doc +++ /dev/null @@ -1,11 +0,0 @@ - -Things to Come - - This section has yet to be written, but should appear in the next - patch. Please get back to me listing all of the things that you - feel should be listed in a "quick" summary of information. - - The things I currently plan: concise army listing, vegetations, - contours, navy information, caravan information, designations, - tradegoods, constructions, nation types, racial information, - function summaries for all of the keymaps. diff --git a/original/Docs/Sectors.doc b/original/Docs/Sectors.doc deleted file mode 100644 index 26b9012..0000000 --- a/original/Docs/Sectors.doc +++ /dev/null @@ -1,601 +0,0 @@ - -The Sector - - One of the most basic foundations of the world of Conquer, is the - concept of the "sector". A sector is the smallest unit of land - area upon which the conquer map is based. For reference, I sup - pose that a sector could be thought of a being, say 100 to 250 - square miles in area, and of regular dimensions. When troops are - moved, they must be moved from one sector to another, with there - never being any "in between"; thus a specific unit may be thought - of as residing within a specific sector. - - A sector is described as consisting of a certain type of terrain - (such as mountains or hills, etc.), and being covered by a cer - tain class of vegetation (such as wood, swamp, or light vegeta - tion). In addition to being characterized by the general geo - graphical and ecological layout, each sector may also possess - special characteristics (such as jewel or metal deposits) which - can make it more desirable to the nations in the world. - - As might be expected, nations will be vying for control and pos - session of the sectors within the world. Taking control of a - sector is accomplished by having troops within the sector, with - out any other nations claiming the sector or having their troops - there to block the claim to the land. Once a sector is under the - ownership of a nation, that nation may then build farms, cities, - or a variety of other "designations" to which the land can be put - to use. - -Vegetation - - The vegetation of a sector is the greatest indicator of how much - food and wood is capable of being raised within the sector, and - even indicates how easily a unit may move through the sector. - Also, each racial class will have a preference towards certain - vegetations, being better suited towards survival in such sec - tors. - - The complete list of the twelve vegetation types is given below. - The bracketed expression shows the default map character, food - production potential and wood production potential, respectively. - - barren [`b', 4, 0] -- Such land is barely habitable, without any - potential for wood and only a small portion of food can be - harvested from this sector. Elves actually find such sec - tors unsuitable for farming. - - desert [`.', 0, 0] -- A desert is a barren and inhospitable - place, and for most nations provides nothing of value. - - forest [`f', 4, 8] -- A forest sector provides only a minimal - supply of food for most nations due to the over abundance of - trees, which cover most of the available land of the sector. - - good [`g', 9, 2] -- A sector with good vegetation provides more - food producing potential than any other vegetation type, and - also provides a small amount of wood potential. - - ice [`i', 0, 0] -- This inhospitable and harsh vegetation is not - for most nations, and therefore provides no food or wood re - sources. - - jungle [`j', 0, 10] -- This harsh temperate vegetation is inhos - pitable to most nations, but has an abundant wood supply if - the nation can live within it to harvest it. - - light vegetation [`l', 6, 1] -- This vegetation indicates land - capable of supporting moderate food harvests and very light - wood harvests. - - none [`~', 0, 0] -- Only water sectors possess no vegetation. - - swamp [`"', 0, 2] -- A sector with the vegetation designation of - swamp is deemed uninhabitable and is therefore not useful to - most nations. - - tundra [`,', 0, 0] -- This harsh icy vegetation is uninhabitable - to all nations, and provides no food or wood resources what - soever. - - volcano [`!', 0, 0] -- A volcano is a magnificent display of the - power of nature... creating a sector which is inaccessible - to most everyone. - - wood [`w', 7, 4] -- A sector whose vegetation is moderately wood - ed. Wood sectors are suited for wood or food production, - since the land is both fertile and covered with a fair - amount of trees. - - Some of the uninhabitable vegetations may become usable once cer - tain magical powers are obtained. [For more information, see - Powers] - -Elevation - - The terrain of a sector can play a significant role in game play. - The difficulty of moving into a sector is a direct factor of the - terrain and vegetation of the sector. Also, the attractiveness - of the sector to the population is affected by the terrain of the - sector. And finally, and possibly most importantly, the defen - sive capabilities of a sector are largely a result of the ter - rain. - - The are only six elevation types, which range lowest to highest: - water, valley, clear, hill, mountain, peak. A more descriptive - list is given below, with the affect that terrain has upon both - food and wood production listed within brackets next to the de - fault map symbol. - - water [`~', 0, 0] -- The terrain in this sector is non-existent, - being covered by water from a sea or lake. This sector is - inaccessible to overland troops, but provides easy travel - for naval or flying units. - - valley [`v', +1, +1] -- The ruggedness of this terrain has caused - the contour of the land to be shaped such that passage must - take place through a valley area. This provides ideal land - for ambushes and fortified defenses. Movement is only - slightly hindered in such terrain. - - flat [`-', +1, 0] -- A sector with the elevation of flat may be - considered generally level, and easy to move through, with - little in the way of offensive or defensive enhancement. - - hill [`%', 0, 0] -- The terrain of a sector consisting of hills - would provide only minor adjustments to both attack and de - fense, but would be of good benefit to fortified defenses in - such a region. The movement is only slightly affected by - this terrain. - - mountain [`^', -1, -1] -- Mountainous terrain is considered very - beneficial to both fortified structures and defensive posi - tions. But, such sectors are more difficult to move - through. - - peak [`#', -2, -2] -- Sectors consisting of mountain peaks are - easily accessible only to flying troops, and then just for - passing through. It is unlikely that a flying unit could - survive landing upon such harsh terrain. - - Again, motion through sectors is governed by both vegetation and - elevation. [For more information, see Movement] - -Tradegoods - - Within many, if not most, of the sectors of the world, there ex - ists a single "special" trait of the sector which can make the - sector even more powerful to a productive nation. These - "traits", or tradegoods, provide the sector with a potential for - harvesting rare minerals, growing rare fruits, or even for the - finding of magical artifacts. - - There are a number of different classes of tradegoods, which each - class providing a different method of harvesting the tradegood, - as well as a different result for having such a tradegood har - vested. - - The various tradegood classes, and the method of using the trade - goods within the class are: - - None -- This class is an indication that no tradegoods are within - the sector. - - Popularity -- These goods are harvested by farms cultivating the - crops, or in some cases, by just having civilians in the - sector. Such materials increase the popularity of the na - tional government. - - Communications -- Building a supply center of at least the indi - cated level provides the nation with the ability to make use - of the communication method within the sector. Such methods - improve the communication range of both the supply center - and the nation. - - Fishing -- Building a fishing "Farm" within the sector gives the - nation the ability to harvest fish from nearby water sec - tors. Thus, fishing provides increased food production for - the sector. - - Farming -- The tools necessary to increase farming production are - available within the sector. They provide added food pro - duction potential and increase the farming ability of the - nation. - - Spoilrate -- Building a supply center within a sector with a - tradegood of this class decreases the rate at which food - will spoil within that sector. - - Lumber -- A sector with added wood potential may be harvested us - ing lumberyards. - - Knowledge -- Towns and Cities with such tradegoods add to the - wealth of knowledge in the nation. - - Eat Rate -- Farm sectors can be used to harvest such valuable ed - ibles. Increasing the energy value of the food intact de - creases the volume of food the nation needs to consume. - - Health -- Shrines and the priests within the shrines understand - how to make use of the herbs for the good of the nation. - Using such tradegoods increases the health of the nation - population. - - Terror -- Cities with such items increase the terror and fear the - populace feels towards their government. - - Magical -- Shrines built around such magical items increase the - spell casting ability of the nation. - - Metals -- Metal mines are used to gather such raw resources and - provide metal ore for the nation. - - Jewels -- Jewel mines dig the valuable minerals from the earth, - providing jewels for the nation. - - A minimum number of civilians must occupy a sector for the trade - good to be "harvested", and sometimes conditions must be met be - fore a tradegood is visible to a nation. The next section lists - the tradegoods grouped by type. [For more information, see Eco - nomics] - -The Individual Tradegoods - - Popularity: furs, wool, cloth, beer, wine, cannabis, poppy. - - Cummunications: mules, horses, pigeons, griffons. - - Fishing: pike, crayfish, crab, salmon, trout, shrip, lobster, flounder. - - Eat Rate: barley, peas, wheat, dairy, rice, corn, sugar, fruit, honey. - - Spoilrate: pottery, nails, salt, granite. - - Lumber: bamboo, pine, oak, redwood, mahogany. - - Knowledge: papyrus, drama, math, library, literature, law, philosophy. - - Farming: oxen, yeoman, mulch, irrigation, rotation, plows, manure. - - Health: sassafras, sulfa, poppy, foxglove, kannabis, bread mold, - parsley, sage, rosemary, thyme, wolfsbane. - - Terror: prison, curfews, torture, gallows, dungeon, pogrom. - - Magical: icons, scrolls, altars, potions, mirrors, scepter, tomes, - orbs, rings, staves, crystals. - - Metals: nickel, copper, lead, tin, bronze, iron, bauxite, steel, - titanium, mithral, iridium, adamantine. - - Jewels: quartz, jade, turquoise, marble, sapphires, garnet, emeralds, - corundum, silver, tourmaline, gold, opals, rubies, diamonds, platnum. - - An even more detail listing of the tradegood values, workers - needed, and rarity of the various tradegoods is available in the - online documentation. [For more information, see Tradegoods] - -What are designations? - - Once a nation owns a sector, that nation may use it to produce - various goods and resources, or to construct fortifications, - bridges, or even canals. The terrain and vegetation of a sector - would be a key factor in deciding how each sector should be put - to use. When a use for a sector has been determined, that sector - is given a "designation" which will then indicate what the people - in the sector are to do for a living. - - In order to make the most use of a sector, there are two classes - of designations: major and minor. The major designations may be - thought of as the "dedicated use" for the sector; the minor des - ignations may be thought of as the secondary constructions placed - within the sector to contribute to the major function of the sec - tor. Some examples of major designations are: farms, mines, and - cities. Some examples of minor designations are: roads, gra - naries, and churches. - - It should be noted that the civilians of a nation will move in or - out of a sector based on what the major or minor designations - are. [After all, would you want to work in an iron mine?] - -The Major Designations - - As noted before, major designations may be thought of as the - "use" to which the sector is put. Including "none", there are - sixteen major designations: - - farm [`F'] -- A farm sector is dedicated to growing food, but is - only in the beginning stages of crop production. Farm sec - tors become fertile only during the transition between - spring and summer. - - fertile [`F'] -- A fertile sector is a farm sector whose crops - are starting to be productive. A fertile sector will become - fruitful when the summer changes to fall. - - fruitful [`F'] -- A fruitful farm sector is one whose crops are - available for harvest. Only fertile can become fruitful. - Once fall turns to winter, fruitful sectors will revert to - farms. - - metal mine [`m'] -- Metals such as iron and bronze are dug from - the ground in metal mines. Only sectors containing discov - ered metal deposits may become metal mines. - - jewel mine [`$'] -- A jewel mine is much like a metal mine, but - the deposits to be mined are precious metals and gems, not - metals. - - lumberyard [`:'] -- The last production designation is the lum - beryard. This sector supplies wood to neighboring sectors. - - shrine [`@'] -- A shrine sector can be a focus for magical ener - gy. National spell casting powers will increase if shrines - posses magical tradegoods. Resting leaders in shrines in - creases recuperative powers and spell casting from within a - shrine is much easier than elsewhere. - - bridge [`['] -- A bridge sector is useful to get troops over a - water sector which is separating two land sectors. - - canal [`='] -- A canal sector is used to create a waterway be - tween two land separated water sectors. - - wall [`|'] -- Walls were one of the great achievements of the Ro - mans. Such sectors provide added defense and prevent move - ment of enemy troops unless they come through unimpeded. - - cache [`&'] -- A sector with this designation acts as nothing - more than a storage site for materials. Due to the nature - of the cache, it is not visible to other nations, acting as - a hidden depot. - - stockade [`s'] -- Stockades can hold various resources, as well - as increase the defense of troops garrisoned within. They - are, however, not among the most congenial of accommoda - tions, and are usually only placed in sectors which cannot - adequately support civilians. - - towns [`t'] -- A town sector makes a good living location for - both civilians and soldiers. While not quite possessing the - size or capabilities of a full city, it does provide for its - own defenses. - - cities [`c'] -- City sectors can become the backbone of your na - tion, distributing resources to many neighboring sectors. - Defensive potential is excellent. - - capital [`C'] -- A capital is the headquarters of a nation's gov - ernment. A nation without a designated capital can become - unfocused and may be susceptible to unrest. - - Economic stability depends upon good selection of designations. - [For more information, see Economics] - -The Cost of Designations - - In order to actually construct the designations for a sector, - each nation must spend a certain amount of raw materials depend - ing on which designation is being built and what constructions - are already within the sector. It is important to note that the - raw materials must be available in a nearby supply center. Oth - erwise, the materials must be carried into the sector via ships - or wagons. - - The base expenditures needed for each designation type is as fol - lows: - - Sector Designation wood metals talons - ---------------------- -------- -------- -------- - None 0 0 500 - Farm 0 0 1000 - Metal Mine 100 200 3000 - Jewel Mine 100 200 3000 - Lumberyard 50 200 2000 - Shrine + 150 500 5000 - Bridge 15000 3000 50000 - Canal 7500 4000 40000 - Wall 10000 5000 35000 - Cache * 1000 2000 2000 - Stockade * 10000 1000 10000 - Town * 10000 10000 10000 - City ** 5000 50000 20000 - Capital * 1000 5000 150000 - - * - this designation takes one month to construct - ** - this designation takes three months to construct - + - 1000 jewels are also needed to build a shrine - - Sectors may not be designated as Fertile or Fruitful, so - there is no listing for either of these sector types. - - It might be noted that with the construction of a city, most of - the construction costs deal with the building up of the fortifi - cations to more solid metal constructions, and the added expense - of increased city government. With the Capital, almost all of - the expenses are for the relocation of the national government. - -Designation Support Costs - - It would be nice if sectors, once built did not need any upkeep - in order to survive, but in life things are never so easy. So, - each turn, some raw materials will have to be allocated towards - upkeep. The amount of the needed upkeep is greatly affected by - the type of designation within the sector. - - The chart below indicates the cost per turn for each designation - type in metals, wood, and talons. Also listed is the construc - tion multiplier, which indicates how many times the normal price - a minor designation (see the next section) will cost for that - particular designation. - - Sector Designation wood metals talons Mult - ---------------------- -------- -------- -------- ------ - None 0 0 0 1 - Farm 0 0 20 1 - Fertile 0 0 20 1 - Fruitful 0 0 20 1 - Metal Mine 5 10 60 1 - Jewel Mine 5 10 60 1 - Lumberyard 5 8 30 1 - Shrine + 10 40 50 1 - Bridge 50 50 1000 3 - Canal 200 60 1500 2 - Wall 100 100 1000 2 - Cache 0 0 0 1 - Stockade 200 100 3000 3 - Town 200 20 1000 5 - City 200 50 3000 8 - Capital 220 60 3500 8 - - + = 10 jewels are also needed to support shrines - - In addition to all of the above support costs, there is also the - matter of food. For every person in a sector there must be at - approximately 1 food unit per person per turn, or starvation will - begin. Of course, as the food supply varies, the population will - tend to consume more or less than just 1 food unit per month - each, as indicated by the "eat rate" of the nation. - -Minor Designations - - As with the real world, there are often many traits to an area of - land which can be common even among land used for the most di - verse of purposes. Thus, I have made it possible for sectors to - have traits which are a property of the sector, but not a desig - nation. Since many of these traits actually were full fledged - designations in prior versions of conquer, I call them "minor - designations", or constructions. - - Most of the minor designations are able to be built by the nation - itself using the command "construct". But, some, such as "devas - tated", "sieged", and "for sale" are the results of battles tak - ing place, or other events causing the trait to be present within - that sector. The full list and description of the minor designa - tions are: - - devastated -- Damage to the land and buildings on the sector has - caused it to be greatly reduced in production ability and - use. A sector with such a trait has only a quarter of the - productivity of a normal sector of the same class. The - civilians also find it extremely less attractive to live in. - - for sale -- If the sector has been placed on the trading block, - it is indicated by the possession of this trait. - - sieged -- When enemy armies have encamped their armies around the - town or fortress within the sector, and they have success - fully implemented their blockade, this trait will be visi - ble. Troops are stuck within the fortifications, civilians - and materials will not be allowed to move either into or out - of the sector, and if the sector is a water sector, enemy - ships will be unable to enter the sector. - - trading post -- A site for the exchanging of materials, a trading - post is also conducive to business and productivity within - the sector. - - roads -- A sector with roads within it is much easier for mili - tary units to move through. As a matter of fact, the move - ment is twice as easy with roads as without. - - blacksmith -- In a society geared around the use of metals, a - town blacksmith can prove of great benefit. When a sector - possesses such an able body, metal production can be in - creased and actual consumption decreased. - - university -- The scholarly pursuits often lead to the enhance - ment of the knowledge in a nation. - - church -- The backbone of many cultures, religion serves to in - crease the productivity of the masses. - - mill -- A site for processing grain, a mill will increase the - productivity of farms and extend the usefulness of the grain - itself. - - granary -- Used to store grain to reduce spoilage and to provide - food for the winter months. - - fortified -- As much of the world revolves around the use of - force, protecting territory is often necessary for survival. - Even the scattered farms can have some form of rudimentary - protection in place to protect soldiers and citizens alike. - - harbor -- With naval power being of great interest to many coun - tries, having a harbor in a town or city will allow fleets - easier landing, as well as providing less of a hassle when - loading and unloading goods. - -The Costs of Construction - - While it would be nice if things were free in this world, there - is usually a price for everything. And, the minor designations - are no exception to the rule. The chart below shows the expenses - to build each minor designation. Note that this number is multi - plied by the "multiplier" of the major designation of the sector. - The added expense for the towns and cities is due to the size of - such constructions within the larger towns and cities. [Where a - farm might have only 1 or 2 blacksmiths, a city would have many - more.] - - Sector Designation wood metals talons - ---------------------- -------- -------- -------- - devastated 0 0 1000 - for sale 0 0 0 - sieged 0 0 0 - trading post 200 0 5000 - roads 1000 20 3000 - blacksmith 0 1000 2500 - university 300 0 2500 - church 200 10 3000 - mill 300 500 3000 - granary 100 50 2000 - fortified 1000 2000 5000 - harbor 1000 500 3000 - - And, of course, there are support expenses to worry about. Many - of these expenses are just administrative costs, but most are to - assure the upkeep of the facility. These expenses are also af - fected by the "multiplier". The list of minor designation sup - port costs is: - - Sector Designation wood metals talons - ---------------------- -------- -------- -------- - devastated 0 0 0 - for sale 0 0 0 - sieged 0 0 200 - trading post 1 1 1000 - roads 20 1 400 - blacksmith 0 200 400 - university 10 0 500 - church 10 0 300 - mill 50 25 200 - granary 10 3 200 - fortified 100 100 500 - harbor 100 25 100 - -The Use of Minor Designations - - The minor designations are generally of great benefit to a sec - tor, and the impact which the construction has is usually depen - dent on the major designation of the sector. To be most explic - it, if the sector is a supply center, the minor designations of - the sector will affect materials as they are stored in, or dis - tributed from the supply center. If the sector is not a supply - center, then the designation will affect materials as they are - produced. This distinction can prove crucial in helping to de - cide where and when to make constructions upon a sector. - - The two charts below give a description of what the minor desig - nations are useful for in each case: - - Construction Use within Non-Supply Centers - ---------------- ------------------------------------------------- - devastated productivity at 1/4, attractiveness at 1/8 normal - for sale no affect, a marker for a sale - sieged troops trapped, production down 80%, taxation down 20% - trading post productivity and taxability up by 5% - roads sector movement cost reduced by half - blacksmith increase metal production by 10% - university production and talon income up by 3% - church talon income down by 5%, production up by 10% - mill food production up by 10% - granary taxability up by 3%, food storage provides for winters - fortified provide a 10% combat bonus to garrisoned troops - harbor harbors should not be possible in non-supply centers - - Construction Use within Supply Centers - ---------------- ------------------------------------------------- - devastated productivity at 1/4, attractiveness at 1/8 normal - for sale a supply center should not be able to be sold - sieged troops trapped, no supplies go in or out - trading post provide a location for exchanging with other nations - roads decrease movement cost by 50% within sector - blacksmith decrease regional metal expenditures by 10% - university provide a site for the increase of knowledge - church provide a method of increasing population happiness - mill decrease regional food expenditures by 10% - granary decrease spoil rate of food within the supply center - fortified provide defensive cover for garrisoned troops - harbor provide site for construction and docking of navies diff --git a/original/Docs/Version.doc b/original/Docs/Version.doc deleted file mode 100644 index 913eb4a..0000000 --- a/original/Docs/Version.doc +++ /dev/null @@ -1,286 +0,0 @@ - -The History of Conquer - - Conquer was originally developed by Edward Barlow under the name - of "conquest". It was then renamed to "Conquer" to avoid a con - flict with a program which already used that name. - - Conquer has been posted to the USENET source group - "comp.sources.games" for a number of releases. With version 3 of - Conquer, Adam Bryant began pestering the author with bug fixes, - enhancements and other annoying questions. Ed felt it necessary - to show Adam how annoying people who send "bug fixes, enhance - ments, and questions" can be by asking him to take over the sup - port of Conquer with version 4.1. Adam, naive as he was, accept - ed. - - After releasing ten patches (or eleven depending on how you count - the last patch) for version 4, it was realized that a complete - rewrite would be needed to implement all of the features that - would be needed. So, version 5.x represents a complete, from - scratch, recoding of Conquer. A list of most of the enhancements - from version 4 to version 5 is provided at the end of this sec - tion as a reference for those familiar with the earlier version. - - The original work was done on an AT+T machine with attempts made - to keep it as portable as possible. Later releases and patches - were done on a BSD Unix Encore, and Suns, with the current - rewritten release being done almost entirely on Suns of various - shapes and sizes. Throughout the rewrite, effort was made to - conform to ANSI C standards while providing compatibility for as - many older compilers as possible. - -Giving Thanks - - Throughout the life of Conquer, there has always been a great - deal of help given by the members of the USENET community. With - out them, Conquer would probably have died a lonely death years - ago. Some people helped just by making marvelous suggestions - that no one had thought of before, and others have helped by - sending in patches and bug fixes based on their own hard work. - - While I would like to be able to thank every person who has ever - helped with Conquer, there are just too many who have played - parts to list them all. If I have missed someone whose work - should have deserved mention, and I am sure there are many, it is - only because of my poor memory and organizational skills. I hope - that anyone who is left out, will be please forgive me, and send - me a reminder to add them to the list. - - Just some of the people to whom Conquer is indebted: - - Jonathan Bayer Brian Bresnahan Dean Brooks Richard Caley - Andrew Collins Ken Dalka Paul Davison Robert Deroy - Bob Earl Don Fast Dave Flowers Martin Forrsen - Charles C. Fu Derick Hirasawa Richard Kennaway Ernest Kim - Tero Kivinen Kenneth Moyle Joe Nolet Joe E. Powell - Brian Rauchfuss Eugene Wang - - The players at all of the Conquer sites around the world. - - This list is very incomplete right now... please get in touch - with me if you think you should be added. - -List of Version 5.x Changes - - There are many adjustments which have been made to Conquer be - tween the release of Version 4.x and Version 5.x. In a way, Con - quer will be more difficult for those players familiar with the - earlier version, because they will expect to see the old Conquer - behavior. So, in order to allow people to become familiar with - the new version as quickly as possible, I am providing this sum - mary of changes and enhancements. - - == The world shape used by Conquer is no longer rectangular. It - is now that of a cylinder, where movement from left to right - is wrapped, while that from top to bottom is not. - - == During world creation, a hexagonal or a rectangular coordinate - system may be specified. - - == The numbering of the Y axis is reversed from version 4.x. So, - the value of Y now increases towards the north. - - == If the "relative coordinates" option is enabled, each nation - will have a central reference point (usually the national - Capital), upon which all other coordinate values will be - based. {Ex., the sector to the northeast of the reference - sector is [1][1] and that to the west is [-1][0].} - - == If the "check logins" option is enabled, only the owner of the - nation will be able to log into a nation, even if the pass - word is known. - - == The display system has been entirely reconfigured. Not only - can the display "zoom", but there are also four possible si - multaneous displays on the most detailed zoom setting, in - stead of the old method of having two display styles at all - times. - - == The world generator is greatly enhanced, producing worlds that - are much more realistic in land mass shaping. A new curses - interface has also been provided during world creation, - which contains many more global options. - - == The size of the world can be up to 256x256 in dimensions. If - desired, this limitation can be removed during compilation, - and a world of any size (within the scope of the platform on - which Conquer is running) can be specified. {Note that - changing this particular compilation option will make previ - ous world data structures incompatible}. - - == A new altitude of valley (v) has been added. - - == Sectors now contain major and minor designations. This means - that a sector has a specified main use, and the minor desig - nations indicate attributes of the sector. So, it is now - possible to have a town sector which has roads going through - it, and a blacksmith in residence. - - == A new raw material of "wood" has been added. This is used - mainly in the construction of ships and fortifications. - - == Raw materials are no longer gathered on a national basis. - They are now located in caches, stockades, towns, cities and - the Capital. This means that production and distribution of - resources will have to be handled on a city by city, region - by region basis. This also means that sieges will have a - greater effect, since a sector under siege will have to de - pend on the its own resources until the siege is broken. - - == Capturing of sectors now takes place only during updates. - This eliminates a number of "race conditions" which would - cause serious problems whenever two players tried to take - the same sector on the same turn. - - == The number of men needed to capture a sector is now determined - by the population of the sector being captured, not the pop - ulation of the nation doing the capturing. - - == Non-city sectors may now be captured if an overwhelming force - of troops is within the sector. For city sectors, all de - fenders must still be eliminated before a sector may be tak - en. - - == Caravans have been added. Caravans are used like navies, to - transport goods along the land. They are of minimal effec - tiveness in combat. - - == All of the data structures within Conquer are now dynamic in - nature. There is no limit on the number of armies, navies, - or caravans a nation may possess, but the cost for units now - includes a base surcharge for each unit. This means that - two army units of 75 men each are more expensive than one - army unit of the same type with 150 men. {This was done for - the sake of realism and out of a need to discourage an ex - cessive number of small units} - - == Monster units of the same type may now be grouped together. - Monsters still have a relative strength greater than that of - a normal soldier, but since that value is a constant, it - need not be stored in the strength data of every monster - unit. - - == Leader units now earn experience. The strength of a leader - will increase as time goes on, reflecting greater skill in - the leader. - - == Leaders may now be grouped under other leaders. - - == Scouting is no longer an accessible army status. Scouts and - spies must always be drafted. - - == Types of movement are now separate from statuses. The speed - of a unit may be any of Slow, Normal, March or Flight. - MARCH and FLIGHT have, therefore, been removed as statuses. - - == The status of AMBUSH has been added. - - == The magical enhancement of a troop is now separate from the - status of the unit. So, for example, a unit may now be in - magically enhanced garrison mode. - - == The status of a group leader indicates the status of the - group. This means that a group is no longer just an attack - force. - - == A unit Garrisoned in a wall sector may be moved to any neigh - boring wall sector once per turn. [This implements pa - trolling along a wall] - - == Navies (and caravans) now possess statuses. - - == There are now four ship types, each with a given purpose: - Barges (to carry carvans), Galleys (to carry civilians), - Warships (to carry army units), and Merchants (to carry raw - materials). - - == Combat between land and naval forces is now possible. - - == Extended commands (via the ESC-key in version 4.x) may now be - performed on navies and caravans as well as armies. - - == There are many more extended commands available. - - == The mail facility has been enhanced. - - == It is now possible to bind keys, including multiple key - strokes, to Conquer functions. - - == All of the display mode combinations may be reorganized by the - player. - - == The trading board has been removed; the new method of trading - requires the transportation of ships or caravans to the lo - cation of where trading takes place. [NOT IMPLEMENTED] - - == The production and budget screens have been rewritten and are - now geared around regional reports. - - == Spells are cast by the individual leader units, whose spell - casting ability is governed on an individual basis. == - There are specific leader types, known as spellcasters, - which should have most of the burden of the spell powers. - - == The new designation of "shrine" is used as a location for the - spell casting leaders to regain their magical strength for - spell casting. - - == The new designation of "wall" is used as a defensive position - to limit the movement of enemy troops. Patrols may move - along neighboring wall sectors, extending defensive lines. - - == Farms must now be cultivated in order to fully utilize the - production ability of the sector. A "farm" is designated - during the spring, becomes "fertile" during the summer, and - "fruitful" during the fall. An interruption of the cycle - causes less than optimal production during the summer and - fall seasons. {This means that sectors will have to be held - during the entire year, or captured unharmed, for the full - fall yield to be realized} - - == Army units may be upgraded to a better unit type for a reduced - cost. - - == Minor designations are used to determine the sector status. - The "devastated" minor designation indicates a sector has - been ruined, and its production will by 1/4 of normal. A - minor designation of "sieged" is used to indicate a sector - where enemy troops have successfully blockaded the sector - owner and allies. - - == Supply centers are able to give out and receive supplies from - sectors within a given range of sectors. This range is de - termined by the sector designation, seasonal conditionals, - national skills and other factors. Any sectors outside the - range of all supply centers must be supported using navies - or caravans or else the sector will be "unsupported", and - people will starve and the structures decay. - - == The new designation of "cache" has been added which provides a - place for storing items which is not visible to any nation - but the sector owner. - - == The main map display can be made to display more detailed in - formation about the current sector. Simply use the "toggle- - infomode" command to adjust how the display is used. - - == A full screen loading interface has been provided to allow - easier transfer of goods between supply centers, navies, and - caravans. - - == A configuration file, ".conqrc" has been provided to allow - easy customization of the Conquer environment. Customiza - tion commands are placed in this file and read in at start - up. Conquer can automatically generate a configuration file - for a player, through the use of the "store-settings" option - under the "conquer-options" command. - - == The Conquer god or demi-god may now disable user logins at - will. - - == Movement is now on a percentage scheme. All units start at - "100" and movement between sectors will deduct a certain - percentage of the movement ability from the unit. This - scheme is easier for most people to understand, and yet is - still basically the same as the other schemes. diff --git a/original/Docs/Warfare.doc b/original/Docs/Warfare.doc deleted file mode 100644 index 7fb85c6..0000000 --- a/original/Docs/Warfare.doc +++ /dev/null @@ -1,1127 +0,0 @@ - -Warfare in Conquer - - While the backbone of a nation in Conquer is its economy, the - survival and growth of the nation is even more dependent upon its - military. Because, sooner or later, a conflict involving the na - tion will develop and any losing side may be wiped out of exis - tence. Thus, it always comes down to the military skill of the - troops and leaders which will keep a nation alive. - - There are three basic military units within conquer: the armies, - the navies and the caravans. The navies and caravans provide - mostly a supporting role to the true military might of the - armies. The armies themselves are composed of many different - kinds of units, the three basic categories being: leaders, mon - sters, and normal units. - - Conflicts between units will occur when troops from two countries - are in the same sector (or neighboring sectors in some cases), - and the diplomatic status of one of the nations is aggressive - enough towards the other for any of its troops within the sector - to attack. - -Caravans - - Caravan units provide a land based method for relocating supplies - from one supply center to another. Much faster than a "chain" of - cities, caravans are able to visit a number of supply centers - each turn. - - A caravan consists of wagons grouped in sets of 10 with 3 men - acting as crew for each wagon, for a total of 30 men for a full - complement of wagons. The monthly supplies needed to support a - caravan consist of the food needed for the crew and a thousand - talons per each set of ten wagons. - - Each caravan can carry civilians and raw materials. Since all of - the items are grouped together on the same caravan, the amount of - space available for each item is governed by the items already - onboard as well as the size of the materials to be placed on the - caravans. For each set of wagons the storage capacity is: 50 - civilians, 50 thousand talons, 12.5 thousand jewels, 10 thousand - metals, 5 thousand food or 6.25 thousand wood. Each of these - maximums are obtainable if that material is the only item onboard - the caravan. - - The movement ability of the caravans is half of the movement po - tential of the nation as a whole (minimum value of 6), and can be - increased or decreased by the speed selection of the unit. - - The combat value of caravans is governed by the number of crew on - the caravan and the combat ability of the nation as a whole. Due - to the non-combat nature of caravans, they will usually have a - combat bonus penalty of 50. - -Naval Units - - Navies provide a method for relocating civilians, armies, cara - vans and materials over water sectors and through canals. A sup - ply network based on the use of navies can be the swiftest method - for getting materials to various portions of your nation. And - navies are just about the only method for getting military units - across larger bodies of water. - - Naval units (or fleets) are composed of four different classes of - ships: warships, galleys, merchants, and barges. Warships are - used to carry armies and to perform combat upon water sectors. - Galleys are used to transport civilians and also have some combat - ability. The merchant ships are designed mostly for carrying the - various raw materials across the water. Finally, the barges are - very weak combatwise, but are the only method available for car - rying caravan wagons over water sectors. - - Each ship class also comes in three different sizes: heavy, medi - um and light. The light ships possess one cargo hold, the medium - ships two and the heavy three. It is cheaper to construct the - larger ships, and they are better able to handle deeper ocean, - but their speed is not up to that other their smaller counter - parts. The speed of the entire fleet is that of the slowest mem - ber of the fleet. [For more information, see Movement] - - Each ship hold is supported by 100 men acting as crew. The sup - port cost for each ship hold is based on the ship type: Warships - need 1000 talons, Merchants need 1500 talons, Galleys need 1100 - talons and Barges need only 500 talons. In addition to this - funding, food will need to be provided for the crew. - - Each warship hold is able to carry 100 men; Each galley hold is - able to carry 100 people; Each barge hold is able to transport 20 - wagons; And, finally, each merchant hold is able to transport - twice the materials of 10 wagons: 100k talons, 25k jewels, 20k - metals, 10k food and 12.5k wood. - - Naval vessels are much better equipped for land combat than cara - vans, due to their fortified structure, but they are still vul - nerable to army units. On land, the default combat penalty for - navies is 25. On the ocean, however, most army troops are at - half effectiveness and thus can be susceptible to naval attack. - -Army Units - - The army unit forms the basis of military strength within Con - quer. They are the only units which may capture land and they - are also the only units which may prevent it from being captured. - There are three basic kinds of army units: leaders, monsters, - and normal soldiers. - - Leaders form the focus of national power. If a non-leader army - unit is out of communications range of all national leaders, that - unit will only possess half of its potential movement ability. - Other units are also able to "group" under leaders so that the - entire set of units might act as a whole. And finally, leaders - are the focal point for the nations magic abilities, as they are - the units through which spells are cast, with special spellcast - ing leaders being needed to use the most potent spells in the - game. [For more information, see Powers] - - Monsters are very powerful weapons because a single monster rep - resents many men in combat strength. Also, in combat, monsters - cannot be damaged but must be killed outright. The "damage" they - receive in combat merely indicates the percent chance of their - being killed. If they are not killed, they will be left totally - undamaged. When capturing land or being placed onboard a ship, - the "size" of the monster is used instead of the combat strength - to indicate their ability / volume. Monsters need to be paid in - jewels every month, or they will desert the nation, and possibly - turn and attack it in retaliation. - - Last, but not least, there is the normal soldier. They form the - backbone of the military, due to their land capturing ability and - variety of skills. There are soldier types ranging from Archers - to Zombies, including Catapults and Cavalry. Each type has dif - ferent strengths and weaknesses; some possess the ability of - flight and others are skilled at attacking enemy fortifications. - The support costs vary between the various types, but generally - each requires talons and food to be sustained. - - Anyway, the different army types are broken into a number of - classes, which organize similar types under the same category. - The next section describes these various army classes. - -Army Classes - - There are a number of different army classes. These classes in - dicate those troops which are considered to be similar in nature - and thus can sometimes be upgraded to better units within the - same class. The descriptions for all of the army classes is: - - Leaders -- Leaders are units who act as the guiding force for the - nation. They inspire their troops as well as guide them. - - Casters -- A special form of leader, these units serve a nation - through their magical abilities. - - Monsters -- Creatures whose allegiance is often based on greed, - such units are more deadly than many times their number in - normal soldiers. - - Normal -- Such soldiers are only distinguished by the skill of - their training and the quality of their weaponry. - - Scouts -- Soldiers whose sole purpose it is to roam beyond the - bounds of the national territory, such units increase the - amount of knowledge a nation possesses through their trav - els. - - Agents -- Civilians recruited from another nation's population to - provide information about that nation. To enlist such - units, you must attempt the enlistment in the supply centers - of a another nation. - - Mercs -- Soldiers for hire, these unit types have no allegiance - except towards money. Such units do not drain the metal or - recruit resources of a nation. The combat ability of these - troops is independent of the nation under which they serve. - - Cavalry -- Soldiers upon horseback, these unit types are the - swiftest land based units. Their horsebound nature makes - them less useful when attacking fortifications, but fright - ful when fighting in the open. - - Sailors -- Soldiers born and bread for the seas, these troops are - better suited to being aboard ships than any other. - - Orcish -- Orcish soldiers are trained in ways different from oth - er troops. Their inbred fear of their leaders and loathing - of their subordinates keeps them fighting among themselves - as well as against others. - - Archers -- Archers are troops trained in the use of the latest - technological advances: bows, arrows and possibly crossbows. - These troops are especially useful in garrisons and as de - fensive troops, but in some cases can make excellent attack - ing units. - - Unique -- There are some unit types which cannot be classified - with any other units. Most specialized troops belong to - this category. - -The Army Traits - - There are a number of skills which can be possessed by an army - unit, such as being able to fly or being among the undead. These - traits will usually indicate a special skill of the unit, and are - what really distinguish the various army types from each other. - The list of traits and descriptions of each is: - - Ruler -- This unit is not only a national leader, but the chief - among all of the leaders. Without a Ruler a nation will - lose focus and be unable to move most of their troops. - - Slippery -- Troops skilled in deception and observation, this - trait indicates that a unit of a small enough size will be - able to sneak by an enemy garrison without being stopped. - - Flight -- Some units are capable of self-generated flight. Such - units can travel over land and even water at a greater rate - than other units. - - Undead -- Undead units are frightful in combat, for they can take - the dead from the field and turn them into Zombies. Normal - undead soldiers can convert a single dead soldier per clash, - while undead monster units can convert as many as 1/7th of - their combat strength and undead leaders up to 1/5th of - their experience. - - Anti-Air -- Units with this trait are sometimes able to force en - emy aerial troops passing overhead down from the sky and on - to the ground. - - Ballistics -- Ballistic unit types are capable of launching pro - jectile weapons from their position towards their enemy, in - creasing their effectiveness in combat from fortified posi - tions. - - Beachhead -- Units with this trait are capable of disembarking - from naval craft without the guidance of a leader unit. - - Assault -- Only assault troops may disembark from a ship onto - territory owned by a non-Allied nation. - - Sight -- Skill at observation and intrigue enables units with - this trait to view more closely the sectors of another na - tion. - - Needmin -- Soldiers which must fight as a group will not have - their full combat effectiveness unless they possess the min - imum number of troops necessary to sustain their fighting - style. - - Damaging -- Some units are capable of inflicting damage upon ene - my fortifications while attacking them. If more than fifty - percent damage is inflicted upon the troops inside, the for - tifications might possibly be diminished. - - Arrowweak -- Some units are more susceptible to attack using bal - listic weapons than others. Such units will receive more - damage than normal if they face a substantial ballistic bar - rage. - - Payoff -- There are a number of units which must be paid when - they are discharged from service. Usually this is just - "hush money", but often it is the final payment for services - rendered. - - Coverbonus -- Specially designed units allow the increase of com - bat ability for the entire attacking or defending force. - For every 300 men in such a unit, 10-20% is added to the at - tack bonus of the units fighting by their side. - - Disb-Always -- This trait indicates a unit capable of being dis - banded in any sector, even one not owned by their nation. - - 1/2-Recruits -- A unit of this type is not a fully mobilized com - bat unit and as such can draw twice the number of volunteers - as a normal army type. Thus, they only use up half of the - recruiting pool available to the supply center. - - Trained -- This unit requires special training beyond the normal - combat training. This means that to upgrade a troop of sol - diers to this type of unit will cost more in training ex - penses. - - Fire -- A unit of type fire is impervious to fire attacks, and is - sometimes capable of making fire based attacks of its own. - - Water -- Borne of water, such a unit is capable of walking across - it without drowning. - - Earth -- A creature of the Earth, this being is capable of tun - neling through many earthen fortifications and even under - other constructions. - - Free-Support -- This trait indicates that a unit type is self- - sustaining and need not be given any supplies in order to - survive. - - Decays -- This trait indicates that the unit will slowly lose - combat effectiveness as time passes. - - Spellcaster -- This unit is capable of casting all of the spells - in a nations' magical arsenal. While normal leaders are on - ly able to use moral and healing spells. [For more informa - tion, see Powers] - - Fullcaster -- This unit is capable of weilding the full spell - casting might of a nation, otherwise a spellcasting unit - will achieve a maximum spell point level at half of the na - tional spell point value. [For more information, see Pow - ers] - - Remote-Enlist -- Some units may be drafted from the population of - enemy supply centers. To enlist them, a source of supplies - must be near enough to provide the bribery necessary to gain - the unit type. - - Sapper -- A sapper unit is a unit which is capable of increased - engineering skill, either in construction or destruction. - - Mapping -- Some units are able to record information onto the na - tional map, preserving a view of a sector, or perhaps making - notes about it. - - Nodraft -- Even if the unit becomes available to the nation - through magical requirments being met, it is still not pos - sible to draft the unit directly. Special circumstances - will be needed to bring the unit the realm of control of the - nation. - -Unit Information - - For every unit in the current sector, a description of the unit - will be shown. If there are multiple units within the sector, - you can page through them using the "pick-next" and "pick-previ - ous" commands. - - >army 205: 75 inf >Wzrd 1 x=251 p=10 - 2 m:45(>) st:Dfd m:0 sp:- st:Rsrv - - The above two descriptions are for army units. The one on the - left is for a normal infantry unit, while the one on the right - shows the national leader. The first line shows the unit id num - ber, the type of the unit, and the experience or strength of the - unit. Also, spellcasting units will have the number of spell - points left to the unit shown. The `>' will be replaced with an - other character if the unit is the currently selected unit. Usu - ally, a `*' will be used, but if a leader is a group leader a `+' - sign will be shown. The second line indicates the number of - months worth of supplies the unit possesses (if they need sup - plies), the percentage of unit movement ability left to the unit, - the speed of the unit, and the status of the unit. - - >navy 8 w4 m0 g0 b0 - 4 mv:90(<) st:Eng - - The above description is the similar entry for a naval unit. The - first line indicates the id number of the navy, and the number of - each ship class in the unit. The second line indicates the num - ber of months worth of supplies onboard, the movement potential - of the unit, the speed of the unit and the status of the unit. - As with the armies, a `*' or a `+' will replace the leading `>' - if it is the currently selected unit, with a `+' indicating that - the navy is carrying some cargo. - - >cvn 3 cw:30 wg:100 - 3 mv:50(<) st:Car - - Finally, an example description of a caravan unit is shown above. - The first line shows the id number of the caravan, the crew on - board the caravan and the number of wagons in the caravan. The - second line indicates the supplies, remaining movement potential, - speed and status of the unit. A `+' or `*' will also replace the - `>' if it is the currently selected unit, with a `+' indicating - that the caravan has cargo onboard. - - While using god mode, instead of a `+' or a `*' to indicate the - currently selected unit, the nation mark will be shown. This is - to distinguish the units belonging to different nations from each - other. - -Unit Efficiency - - The health, or efficiency, of every unit is taken into account as - an integral part of that unit. When spells are cast, the health - of the spellcaster is taken into account, both in figuring if the - unit may cast spells and if the unit has the strength to cast - specific spells. During combat, the combat bonus of the unit is - a direct reflection of the efficiency of the unit. And, after - the combat or due to starvation, the health of the unit will be - decreased due to the hardship involved. - - Thus, the "efficiency" of a unit, be it army, navy or caravan, is - a reflection of how healthy a unit is. For navies and caravans, - it is also an indication of how sturdy the physical materials of - the vessel are. This efficiency is shown under the military re - ports as part of the status of the unit and is indicated as a - percentage. - - For most units, the efficiency will range in value from 0% to - 100%, with 100% indicating a fully functional unit. Normal army - units, however, may have a variable maximum efficiency. This may - be lower than 100%, indicating inexperienced troops, or up to - 150%, indicating battle hardened veterans. The value of the max - imum efficiency of a unit, unlike the efficiency value, will not - be directly visible to your nation, since the "potential combat - efficiency" of a unit is an intangible thing. - -Unit Movement - - Each unit possess a certain amount of movement potential, gov - erned by the movement ability of the nation as a whole, as well - as the movement potential of the unit type involved. In addi - tion, the unit may adjust its speed in order to move at will. - When moving faster, you can move farther, but it is also more - dangerous to do so. - - There are four basic speeds available to a unit: not moving, - slow, medium, and fast. If the unit is not moving, the character - `-' is used to indicate the speed, while the characters `<', `=', - and `>' represent slow, medium, and fast, respectively. Units - garrisoned in wall sectors have the potential of relocating to - any adjacent wall sectors, so they have a speed indicator of `+' - if they are still able to move. - - Finally, there are a number of different methods for moving a - unit. Many units possess the ability of flight, which is indi - cated by a `F' character before the speed value, or by having the - speed enclosed in square brackets instead of parenthesis. Naval - units are able to move across water, but not on land and normal - caravans and armies just move between the land sectors, avoiding - water. Anyway, no matter what the method used in relocating the - unit between sectors, the command "move-unit" is used to begin - the relocation of the unit. [For more information, see Movement] - -Supplying Units - - As has been mentioned before, unless the campaign is configured - otherwise, each unit will need supplies in order to survive. If - the supplies run out, so do the troops. Most units (normal army - units, navies and caravans) will need talons and food, monster - units will need jewels and leader units (and some scouts) can ex - ist without supplies. - - During each update, all units will consume 1 month worth of sup - plies. If the unit is within range of supply centers and not un - der siege or within the water, the unit will automatically have - the consumed supplies replenished. Otherwise, the unit may only - receive replenishment from within the same sector. - - It is possible to manually supply a unit using the "region-com - mand" or "command-unit" functions. In order to increase sup - plies, the unit must be in land owned by your nation within range - of supply centers, or in a sector where supplies are kept. - - Currently, units are not able to live off of the land, so units - must be supplied, and supplies must come from their own nations - resources. [For more information, see Economics] - -Unit Statuses - - Each military unit may be assigned a task. This task can involve - guarding a fortified sector, attacking an enemy or even hiding in - ambush waiting for unwary enemy troops to approach. The status - of the unit indicates the task which it has been assigned, and - the list below shows all of the available statuses. An asterisk - (*) indicates a status where the unit is unable to move. - - Sortie* -- Launch a swift attack against enemy troops besieging a - sector. Only available to army units. - - Ambush* -- Hide out in the sector hoping to launch a surprise at - tack on enemy troops. Only available to army units. - - Attack -- The basic attacking mode. Not available to caravans. - - Engage* -- Keep your unit within a sector and attack any enemy - units approaching within one sector range. Not available to - caravans. - - Defend -- Have your unit patrol the terrain the sector but do not - initiate combat unless attacked. Only available to army - units. - - Garrison* -- Use a fortified position within the sector and gar - rison the sector. Only available to army units. - - Onboard* -- This status is given to a unit which is being carried - in the cargo hold of a navy. Not available to navy units. - - Siege* -- Lay siege to the fortified structure within the sector. - This would require odds of two to one or better against - troops within the fortification. Only available to army - units. - - Grouped -- Follow the actions of a given leader. The status of - the leader is used as the status of the unit. Only avail - able to army units. - - Sieged* -- This unit is trapped within the fortifications of the - sector by enemy besieging troops. - - Reserve* -- Keep troops back within the fortifications for later - use. Such troops may only be reached if any gaurding forti - fied troops receive 80% or more damage. Only available to - army units. - - Sweep -- Perform an attack against any enemy troops encountered, - but do not attempt to engage fortified troops. Only avail - able to army units. - - WorkCrew* -- A unit with this status is engaged in the building - of roads, bridges, canals or other constructions. Not - available to caravan units. - - Traded* -- A unit with this status has been placed up for sale by - its owner. - - Carry -- Any materials stored on the unit will not be available - for consumption by the national economy. Not available to - army units. - - Lure -- Do not attempt to avoid enemy attackers, thereby attempt - ing to draw off more of the attacking troops. Not available - to army units. - - Support -- Any materials stored on the unit will be made avail - able for distribution and comsumption in the national econo - my. The unit itself will only take from the goods for sup - plies if the supply level is at one month worth. Not avail - able to army units. - - Repair* -- The unit is undergoing repair and will not be able to - move until the next update. Not available to army units. - - Onbrd Sppt* -- This is equivalent to the Onboard status, but also - indicates that the caravan is on Support status. Only - available to caravan units. - - Self Sppt -- The unit is on Support status, and will also consume - what it is carrying when gathering its own supplies. This - is useful to maintain naval supply levels during long voy - ages. Not available to army units. - - OnbSelfSppt* -- This is equivalent to being Onboard while having - the Self Sppt status. - - Rover -- An army unit is assigned the task of looking for new - land to capture. If in an unowned sector, it will stay in - place, otherwise it will move to the sector with the great - est perceived potential within a one sector radius. This - status forms the backbone of NPC territorial acquisition and - is only available to army units. - -Capturing Sectors - - There are two ways to claim a sector for your nation: taking a - sector which no one one owns or taking a sector away from a na - tion who you are at war with. Only armies with the following - statuses may capture sectors: Attack, Engage, Siege, Sweep, or - Rover. Such army units can be made up of monsters, leaders or - normal soldiers, but the combined capturing ability of the units - must be at least 75 men for an attempt even to be made. - - The number of men needed to capture a sector is dependent upon - the number of opposing troops within the sector, as well as the - number of civilians within the sector. - - First, if the sector is fortified and there are any troops within - the fortifications, the sector cannot be captured. Thus, all of - the garrison of a sector must be eliminated before it may be cap - tured. - - Second, if there are any opposing troops within the sector, the - odds must be well in your favor (better than 7 to 1) for them not - to prevent the capturing of the land. Once these odds have been - reached, only a single soldier will be required to compensate for - every opposing soldier. - - Finally, you will need to subdue the population of the sector. - This will usually require about 10% of the population of the sec - tor in soldiers, depending on the sector designation and the race - of the troops. If the sector being captured is a capital, the - required percentage is tripled; if the sector is a city it is - doubled; for towns and stockades it is increased by 50% and other - fortified sectors have a 20% increase. A small racial adjustment - will then be made to the final percentage which will then be tak - en from the total of the capturing troops. - - So, if, after subduing the population and any opposing troops, - there are still 75 "men" leftover, the sector becomes yours. - -Results of Sector Capturing - - When a sector is taken from one nation by another, the civilians - within the sector are bound to suffer. Thus, if there is a popu - lation within the sector, a portion of those civilians will prob - ably be killed or captured. Also, the sector can be damaged just - by having the sector forcefully taken. - - Such damage will generally be reflected by farming sectors losing - their crops and the sector becoming devastated. In order to rec - tify such devastation, the "construct" command will have to be - used to "Undevastate" the sector. This will usually cost one - half of what it would take to build up the sector from scratch. - Alternatively, the designation may be changed to another type, - with the resulting conversion process removing any devastation. - -Combat - - Combat may take place when units from one nation encounter units - from another nation with whom they are at war. Only the statuses - of Sortie, Ambush, Attack or Sweep will cause a unit to initiate - combat. - - In combat, the troops of each nation are divided into up to five - separate forces of troops: Sweepers, Attackers, Defenders, For - tified and Protected. Combat is initiated by the Sweeping and - Attacking forces which advance through each successive wave of - the enemy forces until the attack is either repelled or has met - all of the enemy forces. The Sweeping forces will stop after en - countering any Defending forces, since they will avoid hurling - themselves against fortifications. - - Sweeping forces will attack opposing Sweeping, Attacking and De - fending forces in that order. If they are repelled by any of the - forces, they will not initiate attacks on of the other forces. - Attacking forces will attack Sweeping, Attacking, Defending, For - tified, and Protected forces, but must get through each in turn - and inflict at least 80% damage on Fortified troops before they - may reach the Protected troops. - - So, a conflict in a sector will be broken down into a number of - separate clashes. During each clash the number of soldiers per - side will be multiplied by average combat bonus of the soldiers - to determine the odds of the battle. A dice will be rolled - against each side to determine how much damage that side will - take, adjusted by the odds of the battle. - - For an even one-to-one battle, the dice roll, multiplied by twice - (once for each side) the "Average Combat Damage" and then divided - by 100 will give the actual combat damage which a side receives. - With uneven odds, the "Overmatch Adjustment" multiplied by the - odds will be added to the damage of the lesser side, and sub - tracted from the damage of the greater side. If any result is - less than the "Minimum Damage Limit", it will be limited to being - the roll multiplied by the "Minimum Damage Limit". All four of - these quantities may be configured by world dieties. [For more - information, see God Powers] - - A simplied summary of each clash is: Step 1) figure the odds. - Step 2) compute the damage based on even odds. Step 3) adjust the - damage for each side based on the odds. - -Figuring Combat Bonuses - - The key to determining the combat ability of a military unit is - its combat bonus, which is multiplied with the actual strength of - the unit to compute the military prowess of the unit. There are - a number of factors which come to play in figuring the combat - bonus of a unit: the terrain of the combat, the status of the - unit, the combat ability of the nation and the unit itself. - - Units begin with a base combat bonus of 100, and then have all of - the various adjustments added in. For navies on land, this usu - ally means a 25 point reduction. For caravans, a 50 point reduc - tion. The rest of the adjustments are then computed by adding in - the unit bonus, terrain bonus and national bonus. - - There are basically two situations for a unit in combat: a unit - is attacking, or it is not. If it is attacking, then it will - usually lose any bonuses associated with the terrain of the sec - tor, and all bonuses will be figured based on the offensive com - bat bonuses. Otherwise, it will receive the bonus associated - with the terrain of the sector, and all other bonuses will be - based on the defensive combat bonuses. If the unit is fortified, - it will also receive the bonuses associated with the fortifica - tions. - - The national combat bonus will also be added in. If the unit is - attacking the national attack bonus will be used, otherwise the - national defense bonus will be used. Of course, if the unit is a - mercenary unit, the mercenary combat bonuses will be used instead - of the national combat bonuses. - - Without a doubt, the most important factor for determining the - combat bonuses is the status and efficiency of the unit. The - status will determine if attacking or defending bonuses will be - used, if fortification bonuses are to be used, and it will also - determine any additional bonuses due to the status itself. The - efficiency of the unit comes into play once the combat bonus has - been completely calculated, acting as a multiplier. - - Any army unit which is grouped under a leader will receive a 10 - point increase due to moral improvements, and any army unit whose - leader is in the same sector sector, but not directly leading - them will receive a 5 point increase for the same reasons. - - The efficiency/health of the unit will be weighted against the - combat bonus; for every 2% of efficiency lost (or gained), 1% of - the combat bonus will be removed (or added). The sections which - follow will provide the exact numbers for each of the various - bonus calculations. - -Terrain Bonuses - - The actual terrain on which the battle takes place will have an - impact into the amount of bonus a defending unit receives in com - bat. So, the elevation and vegetation of the sector will deter - mine the defensive bonus for the sector. - - Any such bonuses associated with the elevations and vegetations - are: - - Mountain +40 Jungle +30 - Valley +30 Swamp +30 - Hill +20 Forest +20 - Wood +10 - - There are also magical bonuses for a sector, which will be gained - whether the unit is attacking or defending. The list of such - bonuses is: - - Amphibian +30 for Swamp or Jungle vegetation - Botany +5 for Forest vegetation or +2 for Wood - Dervish +20 for Desert or Ice vegetation - Destroyer +20 for Desert of Ice vegetation - Earth -10 for Water sectors, +20 for Mountains - Marines +20 for Water sectors - Sailor +10 for Water sectors - Druidism +20 for Forest vegetation or +10 for Wood - Water +5 for Swamp vegetation, +30 for Water sectors - -Status Bonuses - - The status of the unit is the greatest factor for determining the - combat bonus of that unit. First, it selects whether or not at - tack or defense bonuses will be used, and then it determines if - terrain and fortification bonuses are to be used. - - Thus, each status can have an enormous impact on the combat bonus - of the unit. The summary of status information is as follows: - - Status Bonus Notes about status... - ========= ======= ========================================== - Sortie +50 Attack; +50 bonus not against Sweepers. - Ambush +30 Attack; Gain terrain bonus if entrenched - Attack +20 Attack; Perform a normal attack - Engage +20 Attack; May attack others in 1 sector range - Defend +20 Defend, Terrain; - Garrison +30 Defend, Terrain, Fortification; - Onboard +30 Defend, Terrain; - Siege +20 Defend, Terrain; - Sieged -20 Defend, Terrain, Fortification; - Reserve +0 Defend, Terrain, Fortification, Protected; - Sweep +0 Attack; Avoid Fortifications - WorkCrew -40 Defend, Terrain; - Traded +0 Defend, Terrain, Fortification, Protected; - Carry +10 Defend, Terrain, Fortified, Protected; - Lure +20 Defend, Terrain, Fortified, Protected; Visible - Support +0 Defend, Terrain, Fortified, Protected; Supplying - Repair -30 Defend, Terrain, Fortified, Protected; Repairing - Onbrd Sppt +20 Defend, Terrain; Fortified, Protected; Supplying - Self Sppt +0 Defend, Terrain; Fortified, Protected; Supplying - OnbSelfSppt +20 Defend, Terrain; Fortified, Protected; Supplying - Rover +10 Attack; Automated Land Capture - - If naval units are in a land sector, they are considered to be on - defend, and protected by any fortifications if the sector is - owned or allied, and thus are classified as Protected. Caravan - units are treated much the same as naval units on land. They are - always on defend, and they are always treated as Protected. - -Inflicting the Damage - - When the damage for each side has been calculated, this damage - will then be inflicted upon all of the units in the sector. - Those units with a higher combat bonus than the average will re - ceive less damage, while those with a lower combat bonus will re - ceive more. This reflects the likelihood that better troops - would be less prone to damage than less capable ones. - - Once the damage appropriate for each unit has been determined, it - will be inflicted upon the unit. For normal soldiers, this indi - cates the number of percentage of soldiers in the unit which were - killed. With monsters and leaders, this indicates the percent - chance that a monster or leader will be killed; If it survives - that attempt, it will suffer no damage at all. - - For navies, the damage value indicates the chance for the ships - being destroyed and the crew onboard being killed. While, for - caravans, it indicates the percent of casualties in crew along - with the chance that the wagons will be destroyed. - - Anyway, the result of all this is that something or someone will - get hurt, it is just a matter of who and how badly. - -An Example Battle - - I will give a quick overview of an example battle, so that you - can better understand the results of your own fighting. - - balkar Attacking force meets lizard Defending force - Battle Odds = 2.1 to 1 - - Attacking balkar Army Merc_Hv_Cav 203; men=1500 (210%) [390 killed] - Attacking balkar Army Infantry 200; men=200 (120%) [92 killed] - Attacking balkar Hero 100; str=3x100 (120%) [2 killed] - balkar: Strength Level = 2000; Avg Bonus = 187.5% - balkar: Roll = 41; Avg Damage = 30%; Deaths = 484 - - Defending lizard Army Infantry 214; men=870 (200%) [522 killed] - lizard: Strength Level = 870; Avg Bonus = 200.0% - lizard: Roll = 49; Avg Damage = 60%; Deaths = 522 - - - balkar Attacking force meets lizard Fortified force - Battle Odds = 1 to 2.3 - - Attacking balkar Army Merc_Hv_Cav 203; men=1110 (210%) [765 killed] - Attacking balkar Army Infantry 200; men=108 (120%) [108 killed] - Attacking balkar Hero 100; str=1x100 (120%) [1 killed] - balkar: Strength Level = 1318; Avg Bonus = 195.8% - balkar: Roll = 62; Avg Damage = 75%; Deaths = 874 - - Fortified lizard Army Archers 215; men=1705 (350%) [664 killed] - lizard: Strength Level = 1705; Avg Bonus = 350.0% - lizard: Roll = 52; Avg Damage = 39%; Deaths = 664 - - In the above example, nation balkar has an Attacking force com - posed of 1500 Mercenary Heavy Cavalry, 500 Infantry and 3 Heroes - attacking a lizard fortification. The lizard forces consist of - 870 Infantry on defend and 1705 Archers on garrison. Notice how - the Mercenary troops have a much higher combat bonus than the - rest of the troops in the nation. This is mostly due to the fact - that balkar has lower combat bonuses than the Mercenary combat - bonuses. - - Even though the balkar Attacking force defeated the lizard De - fending force, balkar got unlucky and lost two Heroes when losing - only one was likely. It is important to note that in this clash, - even though the Attacking force had almost two and a half times - the troops, the odds were much less due to the lizards having a - higher average combat bonus. - - Finally, the attacking force was virtually destroyed when it ran - into the Fortified force within the lizard stockade. Not only - were the total number of troops greater, but the average combat - bonus was significantly higher. In this clash, the difference in - damage between the various components of the balkar force is - rather obvious, with the Infantry being totally decimated, and - the Mercs receiving only 69% damage. Overall, it looks as though - balkar should have avoided this conflict, given the greater - amount of damage which the forces of balkar took. It was defi - nitely tactical mistake to have the troops on attack instead of - sweep, since the fortified lizard troops would not have been en - countered otherwise. - -Recovering from Combat - - Often you will find your armies, navies or caravans limping - around damaged after a conflict or due to starvation. When this - happens you will have to take those units aside and heal or re - pair them. - - Armies may be repaired in two manners: they can be given lighter - Garrison or Reserve duty to slowly heal their wounds, or they can - be magically healed using the spellcasters of the nation. The - best form of physical rest is when a unit is on Reserve status in - a supply center, which amounts to a reduced garrison status. The - second best is that of Garrison. No matter what the unit status, - the season of the year, the sector vegetation and the sector ele - vation will affect the amount of healing a unit will receive. - - The magical healing will be a quick and immediate heal for the - unit, but the unit will not be able to receive the normal physi - cal recovery during the update. A unit may only be healed once - each month due to the magical strain. [For more information, see - Powers] - - Navies and caravans require that the ships and wagons composing - the units be repaired. It will take the same amount of materials - as needed in originally building the unit, multiplied with the - percent of damage which the unit has received. This rebuilding - will take a month worth of work, with the unit being immediately - set to Repair status and the not being able to move on the next - update. - -Laying Siege to a Sector - - When it is not possible to capture a sector swiftly and decisive - ly through an aggressive attack, it can be beneficial to cut that - sector off from any support it might receive from its owner and - allies. This can be done by placing the sector under siege using - your armed forces. - - To place a sector under siege, your besieging forces will need to - be double the number of forces which the owner of the sector has - within it. If this is not possible, then the sector will not be - under siege, and free motion and commerce will still be allowed - into and out of the sector. - - Once a sector is under siege, fortified troops within the sector - will be trapped inside the fortifications, and commerce with oth - er sectors will be halted. Any troops outside the sector will be - unable to retreat into the fortifications, and external troops - will be hard pressed to break the siege. Basically, access to - external help will be greatly diminished, and even Mercenary - units will be reluctant to help out. - -The command-unit Function - - The quickest method for setting unit statuses, speeds and sup - plies is to use the "command-unit" function. This function pro - vides access to a list of options which allows the manipulation - of the current army, navy or caravan unit. The list of possible - options will be displayed at the bottom of the screen, and all - valid options will be highlighted. To find out why an option is - unavailable, simply select it. - - These options, which may be thought of as "extended commands", - are usually composed of the lists of possible unit statuses, - speed selections, or unit manipulations. These extended commands - will be the most used method for assigning tasks to units, so - time should be spent learning all of them. - - The next few documentation sections will describe the various op - tions available for each of the army, navy and caravan types. - -The Army Unit Extended Commands - - The list of extended commands for armies is: - - (?) Info, (+) Combine, (M)erge, (-) Split, (/) Split 1/2, (U)ngroup, (G)roup, - (#) Renum, (<) Slow, (=) Norm, (>) Fast, (D)isband, (S)upply, (!) Adj Ldr, - (A)mbush, (a)ttack, (E)ngage, (d)efend, (g)arrison, (L)ay Siege, (R)eserve, - S(w)eep, Ro(v)er - - The first option, Info, will provide additional information about - the current unit. Things such as the unit strength, movement po - tential, efficiency and supply information will be shown in a - compact display at the bottom of the screen. Unit disbanding is - done through the Disband option, and the Supply option allows ad - justments to be made to the units supply level. If an individual - unit needs to be renumbered, the Renumber option may be used. To - renumber more than one unit at a time, the "auto-army-numbering" - function is available. - - There are options available to join two units of the same type - into a single unit. The Combine option will try to merge the - current unit and the unit following the current unit, while the - Merge option will ask for a unit to be joined to the current - unit. Separating units in two is done using the Split and Split - 1/2 options, with the first querying for number of troops to be - separated and the second assuming that an even division will be - made. - - Assigning or deassigning a unit to a group is possible using the - Group or Ungroup options. Once in a group, units will follow the - group leader and use the orders of the leader as their own. In - combat, grouped units will gain combat bonuses from the grouping, - so being grouped can have added advantages. While not grouped, - the commander of a unit may be selected using the Adjust Leader - option. This will come into play in a combat situation, where a - small bonus is given if the leader of a unit is within the same - sector. - - The remaining options show any assignable statuses. If the op - tion is highlighted, it is available to the current unit. Be - careful when launching a Sortie, though, since once started, the - unit cannot turn back from it. - -The Navy Unit Extended Commands - - The list of extended commands for navies is: - - (?) Info, (+) Combine, (M)erge, (-) Split Navy, (/) Separate Types, - (#) Renumber, (<) Slow, (=) Norm, (>) Fast, (D)isband, (S)upply, - (R)epair, (T)fer Cargo, (a)ttack, (E)ngage, (C)arry, (L)ure, Su(p)port, - Sel(f)Sppt - - As with the army extended commands, the Info option provides de - tailed status information about the current unit. The Combine - and Merge selections are exactly like those for the army extended - commands, as are the Disband, Supply, Renumber and various speed - selector options. The Split Navy option allows the separation of - unit, with selections made for each ship type and size. The Sep - arate Types option is available to quickly break fleets into the - various ship types, which is very convenient for when you need to - get the most speed out of your warships, galleys, or merchants - when they might be grouped with a slower type. - - The other options all pertain to the status of the fleet, and - deal with either support of units using supplies stored on the - fleet, or with the attack and defend status of the unit. Refer - to the list of unit statuses previously discussed in this section - of the documentation for more information. - -The Caravan Unit Extended Commands - - The list of extended commands for caravans is: - - (?) Info, (+) Combine, (M)erge, (-) Split Caravan, (/) Divide in Two, - (#) Renumber, (<) Slow, (=) Norm, (>) Fast, (D)isband, (S)upply, - (R)epair, (T)fer Cargo, (C)arry, (L)ure, Su(p)port, Sel(f)Sppt - - Once again, the Info, Combine, Merge, Renumber, Disband, Supply - and speed selection options are much like those in the army and - navy extended command sets. Simply select the option to perform - the desired command. The Split Caravan and Divide in Two options - behave much like the division options in the army extended com - mand list, but the caravans may only be separated into sets of 10 - wagons, somewhat limiting the flexibility of unit resizing. - - The remaining status options most closely resemble those avail - able for the navy extended commands. Simply select a new status - to have the caravan follow new orders. - -The Complete List of Army Types: - - Army Type Class Values Atk Dfd Move Traits Enlist Supply Rqrmnts - =========== ======= ======== === === ==== ======== ========== ====== ========= - King Leader 100 +30 +30 2.0x FR -- -- -- - Baron Leader 50 +20 +20 2.0x F -- -- -- - Emperor Leader 100 +30 +30 2.0x FR -- -- -- - Prince Leader 50 +20 +20 2.0x F -- -- -- - Wizard Leader 250 +30 +30 2.0x FFcRSc -- -- -- - Mage Leader 50 +20 +20 2.0x FSc -- -- -- - Pope Leader 100 +30 +30 2.0x RF -- -- -- - Cardinal Leader 50 +20 +20 2.0x F -- -- -- - Admiral Leader 100 +30 +30 2.0x FR -- -- -- - Captain Leader 50 +20 +20 2.0x F -- -- -- - Warlord Leader 250 +35 +35 2.0x FR -- -- -- - Lord Leader 125 +30 +30 2.0x F -- -- -- - Demon Leader 250 +50 +50 2.0x FR -- -- -- - Devil Leader 75 +20 +20 2.0x F -- -- -- - Dragyn Leader 500 +50 +50 2.0x FR -- -- -- - Wyrm Leader 100 +40 +40 2.0x F -- -- -- - Shadow Leader 250 +50 +50 2.0x FRU -- -- -- - Nazgul Leader 125 +40 +40 2.0x FU -- -- -- - Sorcerer Caster 100 +10 +10 1.0x FFcSc -- -- -- - Magician Caster 50 +0 +0 1.0x Sc -- -- -- - Spirit Monster 50/15 +0 +0 1.0x Fl 1800J,1p 1000J - Assassin Monster 50/25 +20 +20 1.0x SiSl 1400J,2p 1000J Ninja - Efreet Monster 50/20 +10 +10 1.5x Fl 1200J,2p 800J Air - Gargoyle Monster 75/17 +10 +10 1.0x Fl 2000J,2p 1150J Orc - Wraith Monster 75/25 +10 +10 1.0x U 2000J,3p 1300J VampVoid - Hero Monster 100/30 +0 +0 1.0x 1600J,3p 800J Warrior - Centaur Monster 75/25 +10 +10 1.5x 1700J,3p 800J Equine - Lich Monster 100/30 +0 +0 1.0x FcNoScU -- 1200J Vampire - Giant Monster 150/50 +0 +0 1.0x D 2500J,5p 2100J - SuperHero Monster 150/50 +15 +15 1.0x 2600J,5p 1200J Captain+ - Mummy Monster 150/40 +15 +15 1.0x U 2300J,5p 1600J Vampire - Earthmental Monster 175/60 +5 +5 1.5x DE 2500J,6p 2000J Earth - Minotaur Monster 150/50 +20 +20 1.0x 2500J,8p 1800J Wyzard - Daemon Monster 500/130 +50 +50 1.0x 10000J,10p 6000J OrcSorc+ - Balrog Monster 500/150 +40 +40 1.5x FlFi 12000J,12p 6000J OgrFirSrc - Dragon Monster 1000/300 +50 +50 2.0x DFlFiSc 20000J,15p 10000J DrgSrc+ - Militia Normal 0.5 -40 -25 0.0x H 50T 20T - Goblins Orcish 0.8 -15 -15 1.0x 70T,80M 20T Orc - Orcs Orcish 1.0 +0 +0 1.0x 85T,80M 50T Orc - Infantry Normal 1.0 +0 +0 1.0x 100T,100M 50T - Sailors Sailors 1.0 +0 +0 0.0x B 100T,100M 50T - Marines Sailors 1.1 +5 +0 0.0x AB 100T,100M 50T Sailor - Assault Sailors 1.2 +10 +5 0.5x AB 125T,120M 60T Marine+ - Archers Archers 1.1 +0 +10 1.0x AaBa 100T,100M 50T Archery - Uruk-Hai Orcish 1.0 +5 +5 1.0x 125T,150M 50T Ogre+ - Ninjas Normal 1.0 +20 +0 1.0x SiSlT 125T,150M 50T Ninja - Longbowmen Archers 1.1 +5 +15 1.0x AaBa 150T,150M 65T ArchWarr - Phalanx Normal 500|1.1 +10 +10 1.0x N 150T,150M 60T Captain+ - Bow_Phalanx Archers 500|1.1 +20 +20 1.0x AaBaN 170T,160M 80T ArchCapt+ - Olog-Hai Orcish 1.1 +15 +15 1.0x 180T,150M 75T DrgBreed+ - Legionaries Normal 1000|1.1 +20 +20 1.0x N 180T,150M 80T Warlord+ - Dragoons Cavalry 1.1 +10 +10 1.5x 200T,100M 150T ArchWrld+ - Full_Bowmen Archers 1000|1.2 +30 +30 1.0x AaBaN 200T,160M 110T ArchWrld+ - Crossbows Archers 1.2 +40 +0 1.0x AaBa 200T,200M 130T - Mercenaries Merc 1.0 +0 +0 1.0x DaP 225T 100T - Merc_Arch Merc 1.0 +0 +10 1.0x AaBaDaP 250T 110T - Merc_Asslt Merc 1.0 +10 +5 0.5x ABDaP 275T 120T - Merc_Drag Merc 1.1 +10 +10 1.5x DaP 300T 160T - Merc_Lt_Cav Merc 1.1 +20 +20 2.0x DaP 350T 200T - Merc_Hv_Cav Merc 1.2 +30 +30 1.8x DaP 500T 275T - Merc_Rocs Merc 1.2 +20 +30 1.0x AwDaFlP 750T 400T - Trolls Unique 1.3 +25 +15 1.0x 225T,200M 100T DrgnWyzd+ - Elite Normal 1.3 +20 +20 1.3x 225T,200M 100T Armor - Hvy_Bowmen Archers 2000|1.3 +40 +30 1.0x AaBaN 240T,225M 120T ArcArmWd+ - Lt_Cavalry Cavalry 1.3 +20 +20 2.0x 300T,100M 175T EqneWarr - Hv_Cavalry Cavalry 1.4 +30 +30 1.8x 450T,300M 225T EqneCapt+ - Catapults Unique (500)1.6 -20 -20 0.5x BaCD 600T,800M 250T - Siege_Engs Unique (400)1.8 -20 -20 0.5x CD 600T,800M 250T - Rocs Unique 1.3 +20 +30 1.0x AwFl 600T,300M 250T AvianWarr - Knights Cavalry 1.5 +40 +40 2.0x Aw 600T,600M 250T EqArmCpt+ - Griffons Unique 1.5 +40 +50 1.5x AwFl 800T,400M 250T AvnWlord+ - Elephants Unique 2.0 +50 +50 0.5x D 600T,600M 250T Dervish - Ghosts Unique 0.2 -55 -55 0.5x DaFNoU -- -- Vampire - Skeletons Unique 0.6 -35 -35 0.5x DaDyFNoU -- -- Vampire - Zombies Unique 0.8 -25 -25 0.5x DaDyFU 100T,100M -- Vampire - Scout Scout 0 -30 -30 1.0x DaFSl 100T,100M -- - Spy Scout 0 -30 -30 1.0x DaSiSlT 10000T 2000T - Cvlry Scout Scout 0 -15 -15 2.0x DaFSl 1000T,150M -- Equine - Wingd Scout Scout 0 +0 +0 2.0x DaFFlSl 1500T,200M -- Avian - Mounted Spy Scout 0 -20 -20 2.0x DaSiSlT 15000T 3000T Equine - Winged Spy Scout 0 -10 -10 2.0x DaFlSiSlT 20000T 4000T Avian - Informant Agent 0 -30 -30 0.5x DaPReSl 6000T 2000T - Agent Agent 0 -30 -30 0.5x DaPReSiSlT 60000T 30000T - Surveyor Scout 75 -30 -30 0.4x MSiSlT 10000T 5000T - - Unless noted below, the Value represents how much a single soldier - of the given unit is worth when capturing a sector. - - Leader and Caster class units have starting experience values shown - and are only worth 1 man each when capturing a sector. - - A/B ::: Combat value A and capture value B of monster units. - - A|B ::: For Needmin units, A indicates men required before a - the appropriate combat bonus is given to the unit. - - (A)B ::: A indicates the men needed to obtain a +20 combat bonus - to any allied troops within the combat. - - The list of traits is: Assault=A, Anti-Air=Aa, Arrowweak=Aw, - Beachhead=B, Ballistics=Ba, Coverbonus=C, Damaging=D, - Disband-Anywhere=Da, Decay=Dy, Earth=E, Free-Supplies=F, - Fullcaster=Fc, Fire=Fi, Flight=Fl, Half-Recruits=H, - Mapping=M, Needmin=N, Nodraft=No, Payoff=P, Ruler=R, - Remote-Enlist=Re, Sapper=Sa, Spellcaster=Sc, Sight=Si, - Slippery=Sl, Ruler=R, Training=T, Undead=U. diff --git a/original/Docs/Xchanges.doc b/original/Docs/Xchanges.doc deleted file mode 100644 index 197b023..0000000 --- a/original/Docs/Xchanges.doc +++ /dev/null @@ -1,313 +0,0 @@ - -Mail Messages - - Discussions and negotiations play a crucial role in the develop - ment of national diplomacy. Often, it is communication between - players that forms or dismantles treaties and alliances. Double - dealing and straight forward honesty must be carefully balanced - when dealing with other players, or they will be able to deter - mine exactly what you are up to. - - To enable communication between players, there is the electronic - mail system. Using this system, nations will receive mail mes - sages reporting concerning economic statuses, combat reports, and - communications from other countries. There are two commands pro - viding direct access to the mail system. The "read-mail" func - tion is used to read and respond to any mail which you have re - ceived, and the "mail-nation" function is available to send mail - to other nations. - - To help your nation determine when any new mail has arrived, a - small message saying "You have Conquer Mail" will be displayed if - Conquer detects that there is any mail which has not yet been - read. A similar message will be displayed if the newspaper has - not yet been read or, on some machines, if there is some real - electronic mail waiting to be read. It is possible to control - the behavior of the last operation using the "mail-check" setting - in the "conquer-options" function. [For more information, see - Functions] - -Reading Mail - - The mail reader provided with Conquer is similar to that found in - normal Unix mail systems. There is a summary listing, as well as - a full screen display of the current mail message. It is possi - ble to select which of these two modes are used upon startup by - setting the "header-mode" option within the "conquer-options" - function. [For more information, see Functions] - - The mail reader has its own set of keybindings and functions: - - conquer-options (`O') -- Adjust the Conquer environment by - changing various options. Use this function to adjust key - bindings for the mode. [For more information, see Func - tions] - - reader-backward (`b') -- Scroll the current message backward one - page. - - reader-bottom (`>') -- Shift the view to the bottom of the cur - rent message. This can be especially useful for viewing the - summary at the bottom of the economic reports. - - reader-delete (`D') -- Mark the current mail message for dele - tion. The deletion will not actually take place until the - "reader-purge" or the "reader-exit" functions have been - used. - - reader-delete-all (`C') -- Mark all messages for deletion. Actu - al deletion will take place when either the "reader-purge" - or the "reader-exit" function has been used. - - reader-delete-and-next (`d') -- Mark the current message for - deletion and go to the next undeleted message. The message - will then be removed whenever the "reader-exit" or "reader- - purge" functions are used. - - reader-delete-and-previous (`^D') -- Mark the current message for - deletion and find the closest previous undeleted message. - Permanent deletion will only take place when a purge is - done. - - reader-delete-read-mail (`c') -- Mark all previously read mail - for deletion. The messages will only be removed after the - "reader-purge" or the "reader-exit" functions have been - used. - - reader-down-one (`^J',`^M') -- Move the current message forward - one line. - - reader-exit (`q') -- Purge any mail marked for deletion, and exit - the mail reader. - - reader-forward (`b') -- Scroll the current mail message forward - one page. - - reader-goto (`G',`g') -- Go to a specified mail message. - - reader-help (`?') -- Display the list of mail reader functions - and keybindings. - - reader-mail (`M',`m') -- Send a mail message to another nation. - This is equivalent to using the "mail-nation" function de - scribed later. - - reader-mail-forward (`f') -- Send a copy of, or "forward", the - current message to another nation. This will enter the - mail-editor with the mail message already written as part of - the message. - - reader-mail-reply (`r') -- Send a reply to the nation who sent - the current mail message. The subject line and address will - already be properly formatted. - - reader-next (`^N',DOWN-ARROW,`J',`N') -- Move to the next mail - message, regardless of the status of the next message. - - reader-next-undeleted (`j',`n') -- Move to the next undeleted - mail message. - - reader-previous (`^P',UP-ARROW,`K',`P') -- Move to the previous - mail message, regardless of the status of the previous mes - sage. - - reader-previous-undeleted (`k',`p') -- Move to the previous un - deleted mail message. - - reader-purge (`x') -- Permanently remove any mail messages which - are marked for deletion. - - reader-quit (`Q') -- Exit the mail reader, leaving any mail - marked for deletion intact. - - reader-quoted-forward (`F') -- Forward the current message, quot - ed, to another nation. Quoting means that the mail message - will have each line preceded by a sequence of characters in - dicating that it has been forwarded. This function is very - useful for composing a message based on mail which was re - ceived from another nation. - - reader-quoted-reply (`R') -- Send a reply to the sender of the - current mail message and include the original message text - within the mail message. - - reader-toggle (`H',`h') -- Toggle between header, or summary - mode, and the full screen message mode. - - reader-top (`<') -- Shift the view of the current mail message to - the top of the current mail message. - - reader-undelete (`u') -- Remove a deletion marker from the cur - rent message, or the nearest previous mail message marked - for deletion. - - reader-unread (`U') -- Remove the indicator which shows that a - mail message has already been read. If the current mail - message has no such marker, the nearest previous mail mes - sage with one will have it removed. - - reader-up-one (`^H',DEL) -- Move the current message backward one - line. - - redraw-screen (`^L',`^R') -- Clear the screen and redisplay the - information. - - ignore-key (`^B',`^F',LEFT-ARROW,RIGHT-ARROW) -- Ignore these - keys when used. - -Sending Mail - - Getting into the mail editor is done through using either the - "mail-nation" function, or through the reply, mail or forward op - tions within the mail reader. Once the mail editor has been en - tered, there are a number of commands and options available to - help compose a mail message. - - The editor screen will look something like: - -To: -Subject: - - - - Conquer Version 5.0: Mail Editor Hit "ESC-?" for Bindings -------------------------------------------------------------------------------- -Enter a nation, "god" (to mail deity), or "news" (to send a personal) - - The first line will contain the list of nations to which the mail - message is being sent. Typing in a nation name on that line will - add it to the list of nations who will receive the message. It - is not possible for two messages to be sent to the same nation at - the same time, so you might receive an error message indicating - that some other nation is already sending mail to that nation. - If you should, waiting a few minutes for the other player to fin - ish will take care of the problem. - - The second line is called the subject line, and is used to indi - cate a summary or topic for the mail message. A subject may only - be one line long, so a short phrase is best. If no subject is - provided, the string "[none]" will be inserted when the message - is sent. - - The area below the subject line should be used to enter in the - text of the message. The text can consist of anything, but send - ing useless mail to other nations might not be looked on favor - ably. For those familiar with "emacs" keybindings, the Conquer - mail editor shouldn't pose much of a problem. In the future, - support for a "vi" mode will also be available. Regardless of - how you feel about the mail editor, it is possible to use your - own editor of choice to compose the message, using the "mail- - spawn-editor" function. - - Once the mail message is complete, you may deliver it using the - "mail-exit" or "mail-send" functions. If you should decide to - abort the mail editor and discard everything, simply use the - "mail-quit" function. The next section describes the full list - of mail editor commands, along with their default key bindings. - -List of mail mode functions - - The full list of functions and default keybindings available - within the mail editor is: - - conquer-options (`^O') -- Adjust the Conquer environment by - changing various options, including keybindings for the mail - editor. - - ignore-key (`^C') -- Just pretend this key press didn't really - happen. - - mail-backward (`^B',LEFT-ARROW) -- Move the cursor one character - to the left. - - mail-beginning-of-line (`^A') -- Move the cursor to the beginning - of the current line. - - mail-delete-backward (`^H',DEL) -- Remove the character directly - to the left of the cursor. - - mail-delete-forward (`^D') -- Delete the character under the - cursor. - - mail-downline (`^N',DOWN-ARROW) -- Move cursor down one line. - - mail-end-of-line (`^E') -- Move the cursor to the end of the cur - rent line. - - mail-exit (`^X') -- Deliver the mail message and then exit the - mail editor. - - mail-forward (`^F',RIGHT-ARROW) -- Move the cursor one character - to the right. - - mail-help ("ESC-?") -- List the current functions and keybindings - for the mail editor. - - mail-kill-to-beginning (`^U') -- Delete all characters from the - left of the cursor to the beginning of the current line. - - mail-kill-line (`^K') -- Delete all characters from the cursor - until the end of the current line. - - mail-newline (`^J',`^M') -- Break the current line at the cursor - and create a new line of text. - - mail-quit (`^G') -- Leave the mail editor after discarding the - mail message. - - mail-send (`^W') -- Send the mail message to all of the recipi - ents, and remain in the mail editor. - - mail-spawn-editor ("ESC-$") -- Use whatever editor, as determined - by the EDITOR environment variable, to edit the current mes - sage. - - mail-toggle (`^T') -- Toggle between overwrite and insert mode in - the editor. - - mail-upline (`^P',UP-ARROW) -- Move the cursor up one line. - - redraw-screen (`^L',`^R') -- Redraw the screen display. - -News Postings - - The newspaper is available to all users and contains a summary of - events taking place during recent months. A limited number of - newspapers will be kept in storage, so reading them frequently is - recommended. If the latest newspaper has not been read or if - something has been added to it, a message stating that "There is - Conquer News" will be displayed at the bottom of the main map - screen. Using the "read-paper" command will display the list of - currently available newspapers, by date, with the most recent - editions being listed first. - - Newspaper are divided into five sections: headlines, economics, - real estate, warfare and personals. The headlines section will - contain any important information such as declarations of war and - peace, leader and monster recruitment and notifications when two - nations meet. The economics report lists any famines or deser - tions which have taken place in the world, giving an idea of how - well nations are being managed. The real estate listings show - who took what land, and from whom. The warfare section gives a - run down of who was involved in the battles around the world. - Finally, the personals section is where any mail messages sent to - "news" will appear, so that they may be read by all of the play - ers. - -Economic Reports - - During each update, mail will be sent from the updating program - describing events taking place within the nation. Some of the - mail messages will describe the economic conditions within the - nation and others will contain reports about battles. [For more - information, see Warfare] - - The economic reports come in two different forms: production re - ports and consumption reports. The production reports will pro - vide a detailed summary of how much of what materials each region - produced. If you see that some towns and cities are not generat - ing enough of their own raw materials, you might need to add more - farms, mines, or lumberyards within the region to improve the - situation. The consumption report gives a summary of how much - was consumed on a nationwide basis. [For more information, see - Economics] diff --git a/original/Docs/indocs b/original/Docs/indocs deleted file mode 100644 index e69de29..0000000 diff --git a/original/Include/Makefile b/original/Include/Makefile deleted file mode 100644 index 1fc2ae6..0000000 --- a/original/Include/Makefile +++ /dev/null @@ -1,108 +0,0 @@ -# conquer: Copyright (c) 1991 by Edward M Barlow and Adam Bryant -# All Rights Reserved -# -# This Makefile should not need changing. -# -# Please report any problems that you encounter with any of the -# Makefiles. If any problems develop while compiling, or if any -# files but the Makefiles and header.h files need editing, -# please send me mail. -# adb@cs.bu.edu -# adb@bucsf.bu.edu -# adb@bu.edu -# - -# All of the default settings -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir -SHELL = /bin/sh -CD = cd -CC = gcc -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch -CHOWN = echo ... ignore -CHMOD = chmod -LIBS = -lcurses -ltermcap -lcrypt -SYSFLG = -DBSD -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -TOPDIR = /home/brand1/kevin/foo/conquer -DATADIR = /usr/local/games/lib/conquer -BINDIR = /usr/local/games/bin -INCDIR = /home/brand1/kevin/foo/conquer/Include -SRCDIR = /home/brand1/kevin/foo/conquer/Src -AUXDIR = /home/brand1/kevin/foo/conquer/Auxil -DOCDIR = /home/brand1/kevin/foo/conquer/Docs -CQUER = conquer -CQRUN = conqrun -CQSORT = conqsort -CXTRACT = cextract -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c updateA.c -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c -GOJBS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o keybindG.o magicG.o mailG.o miscG.o moveG.o navyG.o ntninfoG.o pagerG.o regionG.o sectorG.o selectG.o xferG.o time_ckG.o -AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o updateA.o -XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o - -# -# Building and Installation Procedures -# -all: - @${ECHO} "Use one of:" - @${ECHO} " make build -- build everything" - @${ECHO} " make install -- install everything" - @${ECHO} " make clean -- clean up some files" - @${ECHO} " make clobber -- clean up all files" - -# -build: proto - @${ECHO} Build complete in Include directory - -# -install: - @${ECHO} Install complete in Include directory - -# Cleaning things up -clean: - ${RM} *.o *~ *.bak \#* ${NULL} - -# Really clean things up -clobber: clean - -# -# Variables unique to this Makefile -# - -# Options for cextract program -CXTFLG = -S +CcPFaZ - -# Actual command to get cextract... -CXTCMD = ${CXTRACT} - -# preprocessor definitions -CPPFLGS = ${SYSFLG} -I${INCDIR} - -# -# Rules and dependencies unique to this Makefile -# - -# build all the prototype files -proto: prota protg protx - -# build the joint prototypes -protx: - (${CD} ${SRCDIR}; ${CXTCMD} ${CPPFLGS} ${CXTFLG} -o ${INCDIR}/fileX.h ${XFILS} jointA.c) - -# build the conqrun prototypes -prota: - (${CD} ${SRCDIR}; ${CXTCMD} ${CPPFLGS} ${CXTFLG} -o ${INCDIR}/fileA.h ${AFILS}) - -# build the conquer prototypes -protg: - (${CD} ${SRCDIR}; ${CXTCMD} ${CPPFLGS} ${CXTFLG} -o ${INCDIR}/fileG.h ${GFILS}) -# diff --git a/original/Makefile b/original/Makefile deleted file mode 100644 index 1c245c7..0000000 --- a/original/Makefile +++ /dev/null @@ -1,403 +0,0 @@ -# conquer: Copyright (c) 1991 by Edward M Barlow and Adam Bryant -# All Rights Reserved -# -# The latest release and patches for conquer are available -# via anonymous ftp at cs.bu.edu (128.197.2.1) in the -# directory "conquer". Beta code is contained in the -# sub-directory "beta". -# -# BY CHANGING THIS FILE, YOU AGREE TO ABIDE BY THE -# LIMITATIONS STATED IN THE LIMITED USE CONTRACT -# CONTAINED IN THE FILE "header.h". -# -# Make sure to set your desired configuration by editing -# the file "header.h", within the Include directory. -# -# To configure all of the Makefiles, first copy this file to -# Makefile and then type "make Makefiles". -# -# Make sure to also check the Makefiles within each of the -# subdirectories to be sure that everything is properly -# configured. -# -# The following variables are all passed on from this Makefile -# by the above command: -# -# MAKE - the make command -# MKDPND - the make depend command -# MKDIR - the command to create a new directory -# SHELL - the shell used when running the make -# CD - command to change to a different directory -# CC - the compiler -# RM - the program to remove files -# CP - command to copy files -# MV - command to relocate files -# ECHO - simple command to print arguments literally -# STRIP - "strip" command used to remove symbol table -# TOUCH - command to create empty file or update file time -# NULL - place to send useless error messages -# CHOWN - command to adjust file ownership -# CHMOD - command to adjust file permissions -# LIBS - various libraries used when compiling conquer -# SYSFLG - *important* flags used for system definition -# CFLAGS - the list of compiler options -# CKFLAGS - special flags for the checkX.o compilation -# TOPDIR - full path to this directory -# DATADIR - full path of the default data directory -# BINDIR - full path where executables will be placed -# INCDIR - the name of the include directory -# SRCDIR - the name of the src directory -# AUXDIR - the name of the auxilary directory -# DOCDIR - the name of the documentation directory -# CQUER - name for the user interface program -# CQRUN - name for the administrative program -# CQSORT - name for the sorting program -# CXTRACT - name for the prototype extractor -# NROFF - command to create online documentation -# TROFF - command to create hardcopy documentation -# -# These are also passed on, but should not be changed: -# -# GFILS - source code for "conquer" files -# AFILS - source code for "conqrun" files -# XFILS - source code for both programs -# GOBJS - object files for "conquer" compilation -# AOBJS - object files for "conqrun" compilation -# XOBJS - object files for both programs -# -# Please report any problems that you encounter with any of the -# Makefiles. If any problems develop while compiling, or if any -# files but the Makefiles and header.h files need editing, -# please send me mail. -# adb@cs.bu.edu -# adb@bucsf.bu.edu -# adb@bu.edu -# -# Conquer news mailing list: conquer-news@cs.bu.edu. -# Deletion/Additon requests to: conquer-news-request@cs.bu.edu -# -# Version 5.0 Beta Bug Reports to: conquer-bugs@cs.bu.edu -# To Join the Beta Mailing List: conquer-news-request@cs.bu.edu -# or: conquer-beta-request@cs.bu.edu -# or: adb@cs.bu.edu -# -# This should be installed by whomever you want to own the game. -# I recommend "games" or "root". - -# The various making things -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir - -# This bourne shell should work fine but the csh would -# probably work if you set the NULL to >&/dev/null -SHELL = /bin/sh - -# Other standard things, such as the compiler -CD = cd -CC = gcc -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch - -# *Very important* This indicates the kind of machine -# you are working on. The current list of options is: -# -# SYSV3 - for system V R3 derivatives {?} -# SYSV4 - for system V R4 derivatives -# BSD - for normal BSD derivatives -# SUN41 - for Sun OS 4.1 > -# MACHOS - for NeXT machines running Mach {?} -# AIX - for IBM Unix systems -# AIX370 - for IBM 370 systems running AIX -# ULTRIX - for DEC's Unix systems -# HPUX - for Hewlett Packards Unix systems -# VAXC - for the DEC VMS VAXC compiler -# VMS - for DEC's VMS operating systems -# -# for normal System V derivatives, use one of these (AT+T, etc) -#SYSFLG = -DSYSV4 -#SYSFLG = -DSYSV3 -# -# for normal BSD derivatives (UMax 4.[23], SunOS 3.x, 4.0(?)) -SYSFLG = -DBSD -# -# for Sun OS 4.1 this is the right entry -#SYSFLG = -DSUN41 -# -# for the NeXT Mach systems {?} -#SYSFLG = -DMACHOS -# -# for AIX systems -#SYSFLG = -DAIX -# -# for AIX 370 systems -#SYSFLG = -DAIX370 -# -# for DEC Ultrix systems -#SYSFLG = -DULTRIX -# -# for HPUNIX systems, just use the HPUX definition -#SYSFLG = -DHPUX -# -# for Xenix machines, choose whichever base derivitive fits -#SYSFLG = -DSYSV4 -DXENIX -#SYSFLG = -DBSD -DXENIX -# -# for DEC's Vax VMS systems, the following definitions should work -#SYSFLG = -DVMS -DVAXC - -# Ownership changing command -# : use this when installing as root -#CHOWN = chown scores -# : use this for normal user installation -CHOWN = echo ... ignore - -# Permission changing command -# : use this for setuid installation (recommended) -CHMOD = chmod -# : use this for non-setuid installation (non-UNIX?) -#CHMOD = echo ... ignore also - -# uncomment the next line if you dont have getopt in your library -# (eg you are on a pc, or a non unix system). getopt.c is a -# public domain software, and has not been tested by the authors -# of conquer. -#GETOPT = getopt.c -#GETOBJ = getopt.o - -# for VMS systems without the mvprintw command in the curses -# library, use the vms.c file. -#VMSFILE = vms.c -#VMSOBJ = vms.o - -# -# libraries for BSD systems: -LIBS = -lcurses -ltermcap -lcrypt -# -# libraries for SYSV systems: -#LIBS = -lcurses -# -# libraries for Xenix systems: -#LIBS = -ltermlib -ltcap -lcrypt -# -# (To gain regular expression use, add your Reg Exp -# library here, and use a -DREGEX in CFLAGS) -# libraries for HPUX systems (varies with systems): -#LIBS = -lcurses -# -# libraries for SCO SysV systems: -#LIBS = -lcurses -lcrypt_i -# -# (?) libraries for SCO Xenix systems: -#LIBS = -ltermlib -ltcap -lcrypt_i - -# Various Compiler Options -# -# WARNING: AIX370 System, do not use the '-O' with -# your CFLAGS definitions below. -# -# Note: with gcc name conflicts in header files can be avoided by -# increasing the -Wid-clash-# value. -# -# Options flag used for non-debugging purposes (normal C compiler) -#CFLAGS = -O -# Options flag used when not debugging (GNU C compiler) -#CFLAGS = -O -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -# Options flag used when debugging with normal C compiler. -#CFLAGS = -g -DDEBUG -# Options flag used when debugging with the GNU C Compiler -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -# - -# With GCC on SUN 4 (SPARC) Machines, the optimizer cannot -# be used when compiling checkX.c. Switch comments as needed. -#CKFLAGS = -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -CKFLAGS = ${CFLAGS} - -# TOPDIR is this directory. It is important to provide a full -# (from root) path to this directory. NOTE: some make programs -# do not support the ${PWD} construct. -TOPDIR = ${PWD} - -# DATADIR is the directory where the main (or default) campaign -# will be located. It is also the location for all of the -# global data files, such as the help files. -DATADIR = /usr/local/games/lib/conquer - -# BINDIR is the directory where the binaries will be placed -# upon the installation. -BINDIR = /usr/local/games/bin - -# The various subdirectories for the source code -# and support files. -INCDIR = Include -SRCDIR = Src -AUXDIR = Auxil -DOCDIR = Docs - -# CQUER is the name for the user interface portion -CQUER = conquer - -# CQRUN is the name for the administrative portion -CQRUN = conqrun - -# CQSORT is the name for the program to perform the sorting -CQSORT = conqsort - -# CXTRACT is the name of the prototype extractor -CXTRACT = cextract - -# NROFF is the roff processing command which is used -# to create online versions of documenation. -NROFF = nroff - -# TROFF is the roff processing command which is used -# to create the hardcopy (postscript) version of the -# documentation. Be sure to specify the flag to send the -# output to the standard output and not to the printer. -TROFF = psroff -t - -# -# === Adjust below here at your own risk === -# - -# GFILS are files only needed for the user interface. -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c \ -emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c \ -keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c \ -pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c - -# AFILS are files only needed for the adminstration program. -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c \ -economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c \ -updateA.c - -# XFILS are files used in both programs. -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c \ -customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c \ -memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c ${GETOPT} ${VMSFILE} - -# List of object files -GOBJS = ${GFILS:.c=.o} -AOBJS = ${AFILS:.c=.o} -XOBJS = ${XFILS:.c=.o} ${GETOBJ} ${VMSOBJ} - -# === BROKEN MAKE === -# Comment the above and uncomment these for bad make versions. -# [I highly recommend you upgrade your make if this is needed] -#GOBJS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o \ -#emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o \ -#keybindG.o mailG.o moveG.o miscG.o navyG.o ntninfoG.o pagerG.o \ -#regionG.o sectorG.o selectG.o magicG.o xferG.o time_ckG.o -#AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o \ -#economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o \ -#updateA.o -#XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o \ -#customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o \ -#memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o ${GETOBJ} ${VMSOBJ} - -all: - @echo "Use one of:" - @echo " make build -- build everything" - @echo " make install -- install everything" - @echo " make clean -- clean up some files" - @echo " make clobber -- clean up all files" - @echo " make Makefiles -- configure all Makefiles properly" - @echo " make mkfiles -- same as above" - -# -# Build within each directory -build: -# (${CD} ${INCDIR}; ${MAKE} build) ## this need only be done by adb - (${CD} ${SRCDIR}; ${MAKE} build) - (${CD} ${AUXDIR}; ${MAKE} build) - (${CD} ${DOCDIR}; ${MAKE} build) - -# -# Install within each directory -install: - (${CD} ${SRCDIR}; ${MAKE} install) - (${CD} ${AUXDIR}; ${MAKE} install) - (${CD} ${DOCDIR}; ${MAKE} install) - @echo Installation complete... - @echo You may now build the world with \"conqrun -m\". - -# -# Clean up within each directory -clean: - -(${CD} ${INCDIR}; ${MAKE} clean) - -(${CD} ${SRCDIR}; ${MAKE} clean) - -(${CD} ${AUXDIR}; ${MAKE} clean) - -(${CD} ${DOCDIR}; ${MAKE} clean) - ${RM} *.o *~ \#* *.bak ${NULL} - -# -# Really clean up within each directory -clobber: - -(${CD} ${INCDIR}; ${MAKE} clobber) - -(${CD} ${SRCDIR}; ${MAKE} clobber) - -(${CD} ${AUXDIR}; ${MAKE} clobber) - -(${CD} ${DOCDIR}; ${MAKE} clobber) - -${RM} ${INCDIR}/Makefile ${SRCDIR}/Makefile ${NULL} - -${RM} ${AUXDIR}/Makefile ${DOCDIR}/Makefile ${NULL} - -${RM} ${INCDIR}/header.h ${NULL} - -# -# Build all of the Makefiles -mkfiles: - echo 's:%%MAKE%%:${MAKE}:g' > sed.out - echo 's:%%MKDPND%%:${MKDPND}:g' >> sed.out - echo 's:%%MKDIR%%:${MKDIR}:g' >> sed.out - echo 's:%%CD%%:${CD}:g' >> sed.out - echo 's:%%CC%%:${CC}:g' >> sed.out - echo 's:%%RM%%:${RM}:g' >> sed.out - echo 's:%%CP%%:${CP}:g' >> sed.out - echo 's:%%MV%%:${MV}:g' >> sed.out - echo 's:%%ECHO%%:${ECHO}:g' >> sed.out - echo 's:%%SHELL%%:${SHELL}:g' >> sed.out - echo 's:%%STRIP%%:${STRIP}:g' >> sed.out - echo 's:%%NULL%%:${NULL}:g' >> sed.out - echo 's:%%TOUCH%%:${TOUCH}:g' >> sed.out - echo 's:%%CHOWN%%:${CHOWN}:g' >> sed.out - echo 's:%%CHMOD%%:${CHMOD}:g' >> sed.out - echo 's:%%LIBS%%:${LIBS}:g' >> sed.out - echo 's:%%SYSFLG%%:${SYSFLG}:g' >> sed.out - echo 's:%%CFLAGS%%:${CFLAGS}:g' >> sed.out - echo 's:%%CKFLAGS%%:${CKFLAGS}:g' >> sed.out - echo 's:%%TOPDIR%%:${TOPDIR}:g' >> sed.out - echo 's:%%DATADIR%%:${DATADIR}:g' >> sed.out - echo 's:%%BINDIR%%:${BINDIR}:g' >> sed.out - echo 's:%%INCDIR%%:${INCDIR}:g' >> sed.out - echo 's:%%SRCDIR%%:${SRCDIR}:g' >> sed.out - echo 's:%%AUXDIR%%:${AUXDIR}:g' >> sed.out - echo 's:%%DOCDIR%%:${DOCDIR}:g' >> sed.out - echo 's:%%CQUER%%:${CQUER}:g' >> sed.out - echo 's:%%CQRUN%%:${CQRUN}:g' >> sed.out - echo 's:%%CQSORT%%:${CQSORT}:g' >> sed.out - echo 's:%%CXTRACT%%:${CXTRACT}:g' >> sed.out - echo 's:%%NROFF%%:${NROFF}:g' >> sed.out - echo 's:%%TROFF%%:${TROFF}:g' >> sed.out - echo 's:%%GFILS%%:${GFILS}:g' >> sed.out - echo 's:%%AFILS%%:${AFILS}:g' >> sed.out - echo 's:%%XFILS%%:${XFILS}:g' >> sed.out - echo 's:%%GOBJS%%:${GOBJS}:g' >> sed.out - echo 's:%%AOBJS%%:${AOBJS}:g' >> sed.out - echo 's:%%XOBJS%%:${XOBJS}:g' >> sed.out - -sed -f sed.out ${INCDIR}/Makefile.inc > ${INCDIR}/Makefile - -sed -f sed.out ${SRCDIR}/Makefile.src > ${SRCDIR}/Makefile - -sed -f sed.out ${DOCDIR}/Makefile.dcm > ${DOCDIR}/Makefile - -sed -f sed.out ${AUXDIR}/Makefile.aux > ${AUXDIR}/Makefile - ${RM} sed.out ${NULL} - -# just in case -makefiles: mkfiles - -# -Makefiles: mkfiles - -# diff --git a/original/Src/Makefile b/original/Src/Makefile deleted file mode 100644 index f6b644a..0000000 --- a/original/Src/Makefile +++ /dev/null @@ -1,812 +0,0 @@ -# conquer: Copyright 1991 by Edward M Barlow and Adam Bryant -# All Rights Reserved -# -# This Makefile should not need changing. -# -# Please report any problems that you encounter with any of the -# Makefiles. If any problems develop while compiling, or if any -# files but Makefile.top and header.h files need editing, -# please send me mail. -# adb@cs.bu.edu -# adb@bucsf.bu.edu -# adb@bu.edu -# - -# All of the default settings -MAKE = /usr/bin/make -MKDPND = makedepend -MKDIR = mkdir -SHELL = /bin/sh -CC = gcc -CD = cd -RM = /bin/rm -f -CP = cp -MV = mv -ECHO = echo -STRIP = strip -NULL = 2>/dev/null -TOUCH = touch -CHOWN = echo ... ignore -CHMOD = chmod -LIBS = -lcurses -ltermcap -lcrypt -SYSFLG = -DBSD -CFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -CKFLAGS = -O -g -Wall -Wshadow -Wpointer-arith -Wcast-qual -Wid-clash-12 -ansi -DDEBUG -TOPDIR = /home/brand1/kevin/foo/conquer -DATADIR = /usr/local/games/lib/conquer -BINDIR = /usr/local/games/bin -INCDIR = /home/brand1/kevin/foo/conquer/Include -SRCDIR = /home/brand1/kevin/foo/conquer/Src -AUXDIR = /home/brand1/kevin/foo/conquer/Auxil -DOCDIR = /home/brand1/kevin/foo/conquer/Docs -CQUER = conquer -CQRUN = conqrun -CQSORT = conqsort -CXTRACT = cextract -GFILS = mainG.c armyG.c caravanG.c customG.c dataG.c displayG.c emailG.c enlistG.c hexmapG.c ieditG.c infoG.c ioG.c iodataG.c keybindG.c magicG.c mailG.c miscG.c moveG.c navyG.c ntninfoG.c pagerG.c regionG.c sectorG.c selectG.c xferG.c time_ckG.c -AFILS = mainA.c adduserA.c combatA.c configA.c createA.c dataA.c economyA.c magicA.c mailA.c miscA.c monsterA.c moveA.c npcA.c sectorA.c updateA.c -XFILS = dataX.c datamagX.c datamilX.c checkX.c computeX.c convertX.c customX.c executeX.c hexmapX.c ioX.c iodataX.c magicX.c mailX.c memoryX.c miscX.c moveX.c sectorX.c selectX.c unitsX.c - -# lists of object files -AOBJS = mainA.o adduserA.o combatA.o configA.o createA.o dataA.o economyA.o magicA.o mailA.o miscA.o monsterA.o moveA.o npcA.o sectorA.o updateA.o jointA.o -GOBJS = mainG.o armyG.o caravanG.o customG.o dataG.o displayG.o emailG.o enlistG.o hexmapG.o ieditG.o infoG.o ioG.o iodataG.o keybindG.o magicG.o mailG.o miscG.o moveG.o navyG.o ntninfoG.o pagerG.o regionG.o sectorG.o selectG.o xferG.o time_ckG.o jointG.o -XOBJS = dataX.o datamagX.o datamilX.o checkX.o computeX.o convertX.o customX.o executeX.o hexmapX.o ioX.o iodataX.o magicX.o mailX.o memoryX.o miscX.o moveX.o sectorX.o selectX.o unitsX.o - -# -# Makefile specific variables -# - -# preprocessor definitions -CPPFLGS = -I${INCDIR} ${SYSFLG} - -# list of support files to be installed -SUPPORT = nations - -# -# Building and Installation Procedures -# -all: - @${ECHO} "Use one of:" - @${ECHO} " make build -- build everything" - @${ECHO} " make install -- install everything" - @${ECHO} " make clean -- clean up everything" - @${ECHO} " make clobber -- really do some cleanup" - -# -build: ${CQUER} ${CQRUN} - @${ECHO} Done with build in Src - -# -install: in${CQUER} in${CQRUN} insupport - @${ECHO} Done with install in Src - -# -# installation of support files -insupport: ${SUPPORT} - -${MKDIR} ${DATADIR} - ${CHOWN} ${DATADIR} - ${CHMOD} 700 ${DATADIR} - ${CP} ${SUPPORT} ${DATADIR} - ${CHOWN} ${DATADIR}/* - ${TOUCH} insupport - -# -# Makefile specific dependencies and rules - -# User interface -${CQUER}: ${GOBJS} ${XOBJS} - @${ECHO} ${CQUER} object files done... - @${ECHO} === Compiling User Interface - ${CC} ${CFLAGS} -o ${CQUER} ${GOBJS} ${XOBJS} ${LIBS} - -# Administrative program -${CQRUN}: ${AOBJS} ${XOBJS} - @${ECHO} ${CQRUN} object files done... - @${ECHO} === Compiling Administrative Program - ${CC} ${CFLAGS} -o ${CQRUN} ${AOBJS} ${XOBJS} ${LIBS} - -# Installation of user interface -in${CQUER}: ${CQUER} - @${ECHO} Installing ${CQUER}... - ${STRIP} ${CQUER} - -${RM} ${BINDIR}/${CQUER} ${NULL} - -${MKDIR} ${BINDIR} - ${MV} ${CQUER} ${BINDIR} - ${CHOWN} ${BINDIR}/${CQUER} - ${CHMOD} 4751 ${BINDIR}/${CQUER} - ${TOUCH} ${CQUER} - ${TOUCH} in${CQUER} - -# Installation of administrative program -in${CQRUN}: ${CQRUN} - @${ECHO} Installing ${CQRUN}... - ${STRIP} ${CQRUN} - -${RM} ${BINDIR}/${CQRUN} ${NULL} - -${MKDIR} ${BINDIR} - ${MV} ${CQRUN} ${BINDIR} - ${CHOWN} ${BINDIR}/${CQRUN} - ${CHMOD} 4751 ${BINDIR}/${CQRUN} - ${TOUCH} ${CQRUN} - ${TOUCH} in${CQRUN} -# -checkX.o: checkX.c - ${CC} ${CKFLAGS} ${CPPFLGS} -c $*.c - -# -miscA.o: miscA.c Makefile - ${CC} ${CFLAGS} -DCONQ_SORT=\"${CQSORT}\" ${CPPFLGS} -c $*.c - -# -customX.o: customX.c Makefile - ${CC} ${CFLAGS} -DDEFAULTDIR=\"${DATADIR}\" -DEXEDIR=\"${BINDIR}\" ${CPPFLGS} -c $*.c - -# Creating object files -.c.o: $< - ${CC} ${CFLAGS} ${CPPFLGS} -c $*.c - -# Generate the dependencies -depend: - @${ECHO} Building the dependencies - -${MKDPND} -- ${CPPFLGS} -- ${AFILS} ${GFILS} ${XFILS} jointA.c jointG.c - @${ECHO} Dependency building done - -# Cleaning things up -clean: - ${RM} *.o *~ *.bak *.orig \#* ${NULL} - -# Really clean things up -clobber: clean - ${RM} ${CQUER} ${CQRUN} in${CQUER} in${CQRUN} insupport ${NULL} - -# Stuff for Saber C v3.0 -saber_${CQRUN}: saber_xobj saber_aobj - #load ${LIBS} - -saber_un${CQRUN}: saber_unx saber_una - #unload ${LIBS} - -saber_${CQUER}: saber_xobj saber_gobj - #load ${LIBS} - -saber_un${CQUER}: saber_unx saber_ung - #unload ${LIBS} - -saber_xobj: ${XOBJS} - #load ${CFLAGS} \'${CPPFLGS}\' ${XOBJS} - -saber_aobj: ${AOBJS} - #load ${CFLAGS} \'${CPPFLGS}\' ${AOBJS} - -saber_gobj: ${GOBJS} - #load ${CFLAGS} \'${CPPFLGS}\' ${GOBJS} - -saber_unx: - #unload ${XOBJS} - -saber_una: - #unload ${AOBJS} - -saber_ung: - #unload ${GOBJS} - -# Add to the suffixes list for Saber C loading -.SUFFIXES: .src .obj - -# Lines to load just one source or object file into Saber -.c.src: - #load ${CFLAGS} ${CPPFLGS} $< - -.o.obj: - #load ${CFLAGS} \'${CPPFLGS}\' $< - -# -# DO NOT DELETE THIS LINE -- make depend depends on it. - -# all of these dependencies are the default values, for those systems -# that do not have the makedepend command. - -# -# The global dependencies -# -${AOBJS}: ${INCDIR}/dataA.h -${AOBJS}: ${INCDIR}/dataX.h -${AOBJS}: ${INCDIR}/header.h -${AOBJS}: ${INCDIR}/paramX.h -${AOBJS}: ${INCDIR}/sysconf.h -${AOBJS}: ${INCDIR}/fileX.h -${AOBJS}: ${INCDIR}/fileA.h - -${GOBJS}: ${INCDIR}/dataG.h -${GOBJS}: ${INCDIR}/dataX.h -${GOBJS}: ${INCDIR}/header.h -${GOBJS}: ${INCDIR}/paramX.h -${GOBJS}: ${INCDIR}/sysconf.h -${GOBJS}: ${INCDIR}/fileX.h -${GOBJS}: ${INCDIR}/fileG.h -${GOBJS}: ${INCDIR}/keybindG.h - -${XOBJS}: ${INCDIR}/dataX.h -${XOBJS}: ${INCDIR}/header.h -${XOBJS}: ${INCDIR}/paramX.h -${XOBJS}: ${INCDIR}/sysconf.h -${XOBJS}: ${INCDIR}/fileX.h - -# -# Individual object file dependencies -# -mainA.o: ${INCDIR}/worldX.h - -adduserA.o: ${INCDIR}/armyX.h -adduserA.o: ${INCDIR}/cityX.h -adduserA.o: ${INCDIR}/calenX.h -adduserA.o: ${INCDIR}/magicX.h -adduserA.o: ${INCDIR}/buildA.h -adduserA.o: ${INCDIR}/desigX.h -adduserA.o: ${INCDIR}/mtrlsX.h -adduserA.o: ${INCDIR}/racesX.h -adduserA.o: ${INCDIR}/worldX.h -adduserA.o: ${INCDIR}/activeX.h -adduserA.o: ${INCDIR}/elevegX.h -adduserA.o: ${INCDIR}/nclassX.h -adduserA.o: ${INCDIR}/stringX.h -adduserA.o: ${INCDIR}/tgoodsX.h -adduserA.o: ${INCDIR}/statusX.h -adduserA.o: ${INCDIR}/adduserA.h -adduserA.o: ${INCDIR}/keyvalsX.h - -combatA.o: ${INCDIR}/armyX.h -combatA.o: ${INCDIR}/cityX.h -combatA.o: ${INCDIR}/navyX.h -combatA.o: ${INCDIR}/butesX.h -combatA.o: ${INCDIR}/desigX.h -combatA.o: ${INCDIR}/magicX.h -combatA.o: ${INCDIR}/worldX.h -combatA.o: ${INCDIR}/activeX.h -combatA.o: ${INCDIR}/combatA.h -combatA.o: ${INCDIR}/elevegX.h -combatA.o: ${INCDIR}/statusX.h -combatA.o: ${INCDIR}/caravanX.h -combatA.o: ${INCDIR}/dstatusX.h - -configA.o: ${INCDIR}/buildA.h -configA.o: ${INCDIR}/calenX.h -configA.o: ${INCDIR}/worldX.h -configA.o: ${INCDIR}/activeX.h -configA.o: ${INCDIR}/stringX.h -configA.o: ${INCDIR}/keyvalsX.h - -createA.o: ${INCDIR}/armyX.h -createA.o: ${INCDIR}/cityX.h -createA.o: ${INCDIR}/navyX.h -createA.o: ${INCDIR}/buildA.h -createA.o: ${INCDIR}/desigX.h -createA.o: ${INCDIR}/magicX.h -createA.o: ${INCDIR}/racesX.h -createA.o: ${INCDIR}/mtrlsX.h -createA.o: ${INCDIR}/worldX.h -createA.o: ${INCDIR}/activeX.h -createA.o: ${INCDIR}/elevegX.h -createA.o: ${INCDIR}/statusX.h -createA.o: ${INCDIR}/tgoodsX.h - -dataA.o: ${INCDIR}/magicX.h -dataA.o: ${INCDIR}/adduserA.h - -economyA.o: ${INCDIR}/armyX.h -economyA.o: ${INCDIR}/cityX.h -economyA.o: ${INCDIR}/itemX.h -economyA.o: ${INCDIR}/navyX.h -economyA.o: ${INCDIR}/butesX.h -economyA.o: ${INCDIR}/calenX.h -economyA.o: ${INCDIR}/desigX.h -economyA.o: ${INCDIR}/racesX.h -economyA.o: ${INCDIR}/magicX.h -economyA.o: ${INCDIR}/mtrlsX.h -economyA.o: ${INCDIR}/worldX.h -economyA.o: ${INCDIR}/activeX.h -economyA.o: ${INCDIR}/elevegX.h -economyA.o: ${INCDIR}/statusX.h -economyA.o: ${INCDIR}/caravanX.h -economyA.o: ${INCDIR}/dstatusX.h - -mailA.o: ${INCDIR}/activeX.h - -miscA.o: ${INCDIR}/armyX.h -miscA.o: ${INCDIR}/cityX.h -miscA.o: ${INCDIR}/itemX.h -miscA.o: ${INCDIR}/navyX.h -miscA.o: ${INCDIR}/butesX.h -miscA.o: ${INCDIR}/worldX.h -miscA.o: ${INCDIR}/hlightX.h -miscA.o: ${INCDIR}/caravanX.h - -monsterA.o: ${INCDIR}/armyX.h -monsterA.o: ${INCDIR}/cityX.h -monsterA.o: ${INCDIR}/navyX.h -monsterA.o: ${INCDIR}/desigX.h -monsterA.o: ${INCDIR}/mtrlsX.h -monsterA.o: ${INCDIR}/worldX.h -monsterA.o: ${INCDIR}/elevegX.h -monsterA.o: ${INCDIR}/statusX.h - -moveA.o: ${INCDIR}/armyX.h -moveA.o: ${INCDIR}/moveX.h - -npcA.o: ${INCDIR}/activeX.h - -sectorA.o: ${INCDIR}/armyX.h -sectorA.o: ${INCDIR}/cityX.h -sectorA.o: ${INCDIR}/magicX.h -sectorA.o: ${INCDIR}/racesX.h -sectorA.o: ${INCDIR}/desigX.h -sectorA.o: ${INCDIR}/activeX.h -sectorA.o: ${INCDIR}/statusX.h -sectorA.o: ${INCDIR}/dstatusX.h - -updateA.o: ${INCDIR}/armyX.h -updateA.o: ${INCDIR}/navyX.h -updateA.o: ${INCDIR}/butesX.h -updateA.o: ${INCDIR}/calenX.h -updateA.o: ${INCDIR}/desigX.h -updateA.o: ${INCDIR}/magicX.h -updateA.o: ${INCDIR}/mtrlsX.h -updateA.o: ${INCDIR}/racesX.h -updateA.o: ${INCDIR}/worldX.h -updateA.o: ${INCDIR}/activeX.h -updateA.o: ${INCDIR}/hlightX.h -updateA.o: ${INCDIR}/statusX.h -updateA.o: ${INCDIR}/tgoodsX.h -updateA.o: ${INCDIR}/caravanX.h -updateA.o: ${INCDIR}/dstatusX.h - -mainG.o: ${INCDIR}/moveX.h -mainG.o: ${INCDIR}/worldX.h -mainG.o: ${INCDIR}/activeX.h -mainG.o: ${INCDIR}/hlightX.h -mainG.o: ${INCDIR}/displayG.h -mainG.o: ${INCDIR}/displayX.h -mainG.o: ${INCDIR}/patchlevel.h - -armyG.o: ${INCDIR}/armyX.h -armyG.o: ${INCDIR}/cityX.h -armyG.o: ${INCDIR}/navyX.h -armyG.o: ${INCDIR}/desigX.h -armyG.o: ${INCDIR}/mtrlsX.h -armyG.o: ${INCDIR}/worldX.h -armyG.o: ${INCDIR}/statusX.h -armyG.o: ${INCDIR}/dstatusX.h -armyG.o: ${INCDIR}/keyvalsX.h - -caravanG.o: ${INCDIR}/cityX.h -caravanG.o: ${INCDIR}/navyX.h -caravanG.o: ${INCDIR}/mtrlsX.h -caravanG.o: ${INCDIR}/worldX.h -caravanG.o: ${INCDIR}/elevegX.h -caravanG.o: ${INCDIR}/statusX.h -caravanG.o: ${INCDIR}/caravanX.h - -customG.o: ${INCDIR}/armyX.h -customG.o: ${INCDIR}/desigX.h -customG.o: ${INCDIR}/worldX.h -customG.o: ${INCDIR}/elevegX.h -customG.o: ${INCDIR}/tgoodsX.h -customG.o: ${INCDIR}/displayG.h -customG.o: ${INCDIR}/displayX.h -customG.o: ${INCDIR}/optionsX.h -customG.o: ${INCDIR}/patchlevel.h - -dataG.o: ${INCDIR}/infoG.h -dataG.o: ${INCDIR}/displayG.h -dataG.o: ${INCDIR}/displayX.h - -displayG.o: ${INCDIR}/armyX.h -displayG.o: ${INCDIR}/cityX.h -displayG.o: ${INCDIR}/navyX.h -displayG.o: ${INCDIR}/moveX.h -displayG.o: ${INCDIR}/calenX.h -displayG.o: ${INCDIR}/desigX.h -displayG.o: ${INCDIR}/magicX.h -displayG.o: ${INCDIR}/mtrlsX.h -displayG.o: ${INCDIR}/racesX.h -displayG.o: ${INCDIR}/worldX.h -displayG.o: ${INCDIR}/activeX.h -displayG.o: ${INCDIR}/elevegX.h -displayG.o: ${INCDIR}/hlightX.h -displayG.o: ${INCDIR}/statusX.h -displayG.o: ${INCDIR}/stringX.h -displayG.o: ${INCDIR}/tgoodsX.h -displayG.o: ${INCDIR}/displayG.h -displayG.o: ${INCDIR}/displayX.h -displayG.o: ${INCDIR}/caravanX.h -displayG.o: ${INCDIR}/patchlevel.h - -emailG.o: ${INCDIR}/rmailX.h -emailG.o: ${INCDIR}/keyvalsX.h - -enlistG.o: ${INCDIR}/armyX.h -enlistG.o: ${INCDIR}/cityX.h -enlistG.o: ${INCDIR}/itemX.h -enlistG.o: ${INCDIR}/navyX.h -enlistG.o: ${INCDIR}/desigX.h -enlistG.o: ${INCDIR}/magicX.h -enlistG.o: ${INCDIR}/mtrlsX.h -enlistG.o: ${INCDIR}/worldX.h -enlistG.o: ${INCDIR}/elevegX.h -enlistG.o: ${INCDIR}/activeX.h -enlistG.o: ${INCDIR}/hlightX.h -enlistG.o: ${INCDIR}/statusX.h -enlistG.o: ${INCDIR}/caravanX.h - -hexmapG.o: ${INCDIR}/armyX.h -hexmapG.o: ${INCDIR}/cityX.h -hexmapG.o: ${INCDIR}/moveX.h -hexmapG.o: ${INCDIR}/navyX.h -hexmapG.o: ${INCDIR}/desigX.h -hexmapG.o: ${INCDIR}/magicX.h -hexmapG.o: ${INCDIR}/racesX.h -hexmapG.o: ${INCDIR}/activeX.h -hexmapG.o: ${INCDIR}/elevegX.h -hexmapG.o: ${INCDIR}/hlightX.h -hexmapG.o: ${INCDIR}/statusX.h -hexmapG.o: ${INCDIR}/tgoodsX.h -hexmapG.o: ${INCDIR}/dstatusX.h -hexmapG.o: ${INCDIR}/caravanX.h -hexmapG.o: ${INCDIR}/displayG.h -hexmapG.o: ${INCDIR}/displayX.h -hexmapG.o: ${INCDIR}/worldX.h - -ieditG.o: ${INCDIR}/armyX.h -ieditG.o: ${INCDIR}/cityX.h -ieditG.o: ${INCDIR}/infoG.h -ieditG.o: ${INCDIR}/navyX.h -ieditG.o: ${INCDIR}/mtrlsX.h -ieditG.o: ${INCDIR}/worldX.h -ieditG.o: ${INCDIR}/activeX.h -ieditG.o: ${INCDIR}/statusX.h -ieditG.o: ${INCDIR}/stringX.h -ieditG.o: ${INCDIR}/caravanX.h -ieditG.o: ${INCDIR}/dstatusX.h - -infoG.o: ${INCDIR}/armyX.h -infoG.o: ${INCDIR}/cityX.h -infoG.o: ${INCDIR}/infoG.h -infoG.o: ${INCDIR}/itemX.h -infoG.o: ${INCDIR}/navyX.h -infoG.o: ${INCDIR}/desigX.h -infoG.o: ${INCDIR}/mtrlsX.h -infoG.o: ${INCDIR}/racesX.h -infoG.o: ${INCDIR}/worldX.h -infoG.o: ${INCDIR}/activeX.h -infoG.o: ${INCDIR}/nclassX.h -infoG.o: ${INCDIR}/statusX.h -infoG.o: ${INCDIR}/stringX.h -infoG.o: ${INCDIR}/caravanX.h -infoG.o: ${INCDIR}/dstatusX.h -infoG.o: ${INCDIR}/keyvalsX.h - -ioG.o: ${INCDIR}/armyX.h -ioG.o: ${INCDIR}/cityX.h -ioG.o: ${INCDIR}/itemX.h -ioG.o: ${INCDIR}/navyX.h -ioG.o: ${INCDIR}/butesX.h -ioG.o: ${INCDIR}/calenX.h -ioG.o: ${INCDIR}/desigX.h -ioG.o: ${INCDIR}/mtrlsX.h -ioG.o: ${INCDIR}/racesX.h -ioG.o: ${INCDIR}/worldX.h -ioG.o: ${INCDIR}/activeX.h -ioG.o: ${INCDIR}/elevegX.h -ioG.o: ${INCDIR}/nclassX.h -ioG.o: ${INCDIR}/spellsX.h -ioG.o: ${INCDIR}/statusX.h -ioG.o: ${INCDIR}/stringX.h -ioG.o: ${INCDIR}/tgoodsX.h -ioG.o: ${INCDIR}/caravanX.h -ioG.o: ${INCDIR}/dstatusX.h -ioG.o: ${INCDIR}/patchlevel.h - -iodataG.o: ${INCDIR}/mtrlsX.h -iodataG.o: ${INCDIR}/activeX.h -iodataG.o: ${INCDIR}/cityX.h -iodataG.o: ${INCDIR}/worldX.h - -keybindG.o: ${INCDIR}/keyvalsX.h - -magicG.o: ${INCDIR}/armyX.h -magicG.o: ${INCDIR}/cityX.h -magicG.o: ${INCDIR}/moveX.h -magicG.o: ${INCDIR}/navyX.h -magicG.o: ${INCDIR}/butesX.h -magicG.o: ${INCDIR}/desigX.h -magicG.o: ${INCDIR}/mtrlsX.h -magicG.o: ${INCDIR}/magicX.h -magicG.o: ${INCDIR}/racesX.h -magicG.o: ${INCDIR}/worldX.h -magicG.o: ${INCDIR}/activeX.h -magicG.o: ${INCDIR}/spellsX.h -magicG.o: ${INCDIR}/statusX.h -magicG.o: ${INCDIR}/caravanX.h -magicG.o: ${INCDIR}/dstatusX.h -magicG.o: ${INCDIR}/keyvalsX.h - -mailG.o: ${INCDIR}/rmailX.h -mailG.o: ${INCDIR}/keyvalsX.h - -miscG.o: ${INCDIR}/armyX.h -miscG.o: ${INCDIR}/infoG.h -miscG.o: ${INCDIR}/itemX.h -miscG.o: ${INCDIR}/moveX.h -miscG.o: ${INCDIR}/butesX.h -miscG.o: ${INCDIR}/calenX.h -miscG.o: ${INCDIR}/desigX.h -miscG.o: ${INCDIR}/magicX.h -miscG.o: ${INCDIR}/mtrlsX.h -miscG.o: ${INCDIR}/activeX.h -miscG.o: ${INCDIR}/hlightX.h -miscG.o: ${INCDIR}/stringX.h -miscG.o: ${INCDIR}/tgoodsX.h -miscG.o: ${INCDIR}/optionsX.h -miscG.o: ${INCDIR}/cityX.h -miscG.o: ${INCDIR}/worldX.h - -moveG.o: ${INCDIR}/armyX.h -moveG.o: ${INCDIR}/itemX.h -moveG.o: ${INCDIR}/moveX.h -moveG.o: ${INCDIR}/navyX.h -moveG.o: ${INCDIR}/calenX.h -moveG.o: ${INCDIR}/desigX.h -moveG.o: ${INCDIR}/statusX.h -moveG.o: ${INCDIR}/caravanX.h -moveG.o: ${INCDIR}/dstatusX.h -moveG.o: ${INCDIR}/keyvalsX.h - -navyG.o: ${INCDIR}/armyX.h -navyG.o: ${INCDIR}/cityX.h -navyG.o: ${INCDIR}/navyX.h -navyG.o: ${INCDIR}/desigX.h -navyG.o: ${INCDIR}/mtrlsX.h -navyG.o: ${INCDIR}/worldX.h -navyG.o: ${INCDIR}/elevegX.h -navyG.o: ${INCDIR}/statusX.h -navyG.o: ${INCDIR}/caravanX.h - -ntninfoG.o: ${INCDIR}/butesX.h -ntninfoG.o: ${INCDIR}/mtrlsX.h -ntninfoG.o: ${INCDIR}/racesX.h -ntninfoG.o: ${INCDIR}/worldX.h -ntninfoG.o: ${INCDIR}/activeX.h -ntninfoG.o: ${INCDIR}/nclassX.h -ntninfoG.o: ${INCDIR}/stringX.h -ntninfoG.o: ${INCDIR}/ntninfoG.h -ntninfoG.o: ${INCDIR}/keyvalsX.h - -pagerG.o: ${INCDIR}/stringX.h -pagerG.o: ${INCDIR}/keyvalsX.h - -regionG.o: ${INCDIR}/armyX.h -regionG.o: ${INCDIR}/cityX.h -regionG.o: ${INCDIR}/navyX.h -regionG.o: ${INCDIR}/butesX.h -regionG.o: ${INCDIR}/desigX.h -regionG.o: ${INCDIR}/mtrlsX.h -regionG.o: ${INCDIR}/worldX.h -regionG.o: ${INCDIR}/stringX.h -regionG.o: ${INCDIR}/caravanX.h -sectorG.o: ${INCDIR}/cityX.h -sectorG.o: ${INCDIR}/worldX.h -sectorG.o: ${INCDIR}/magicX.h -sectorG.o: ${INCDIR}/mtrlsX.h -sectorG.o: ${INCDIR}/desigX.h -sectorG.o: ${INCDIR}/elevegX.h -sectorG.o: ${INCDIR}/hlightX.h -sectorG.o: ${INCDIR}/stringX.h -sectorG.o: ${INCDIR}/tgoodsX.h -sectorG.o: ${INCDIR}/displayG.h -sectorG.o: ${INCDIR}/displayX.h -selectG.o: ${INCDIR}/moveX.h -selectG.o: ${INCDIR}/displayG.h -selectG.o: ${INCDIR}/displayX.h -selectG.o: ${INCDIR}/keyvalsX.h - -xferG.o: ${INCDIR}/xferG.h -xferG.o: ${INCDIR}/desigX.h -xferG.o: ${INCDIR}/mtrlsX.h -xferG.o: ${INCDIR}/statusX.h -xferG.o: ${INCDIR}/keyvalsX.h -xferG.o: ${INCDIR}/armyX.h -xferG.o: ${INCDIR}/cityX.h -xferG.o: ${INCDIR}/navyX.h -xferG.o: ${INCDIR}/worldX.h -xferG.o: ${INCDIR}/caravanX.h -xferG.o: ${INCDIR}/dstatusX.h - -time_ckG.o: ${INCDIR}/keyvalsX.h - -dataX.o: ${INCDIR}/butesX.h -dataX.o: ${INCDIR}/desigX.h -dataX.o: ${INCDIR}/magicX.h -dataX.o: ${INCDIR}/mtrlsX.h -dataX.o: ${INCDIR}/racesX.h -dataX.o: ${INCDIR}/elevegX.h -dataX.o: ${INCDIR}/nclassX.h -dataX.o: ${INCDIR}/tgoodsX.h -dataX.o: ${INCDIR}/displayX.h -dataX.o: ${INCDIR}/optionsX.h - -datamagX.o: ${INCDIR}/butesX.h -datamagX.o: ${INCDIR}/magicX.h -datamagX.o: ${INCDIR}/spellsX.h - -datamilX.o: ${INCDIR}/armyX.h -datamilX.o: ${INCDIR}/navyX.h -datamilX.o: ${INCDIR}/magicX.h -datamilX.o: ${INCDIR}/statusX.h - -checkX.o: ${INCDIR}/armyX.h -checkX.o: ${INCDIR}/cityX.h -checkX.o: ${INCDIR}/itemX.h -checkX.o: ${INCDIR}/navyX.h -checkX.o: ${INCDIR}/calenX.h -checkX.o: ${INCDIR}/desigX.h -checkX.o: ${INCDIR}/mtrlsX.h -checkX.o: ${INCDIR}/racesX.h -checkX.o: ${INCDIR}/activeX.h -checkX.o: ${INCDIR}/elevegX.h -checkX.o: ${INCDIR}/nclassX.h -checkX.o: ${INCDIR}/statusX.h -checkX.o: ${INCDIR}/tgoodsX.h -checkX.o: ${INCDIR}/caravanX.h -checkX.o: ${INCDIR}/dstatusX.h - -computeX.o: ${INCDIR}/armyX.h -computeX.o: ${INCDIR}/cityX.h -computeX.o: ${INCDIR}/itemX.h -computeX.o: ${INCDIR}/navyX.h -computeX.o: ${INCDIR}/butesX.h -computeX.o: ${INCDIR}/calenX.h -computeX.o: ${INCDIR}/desigX.h -computeX.o: ${INCDIR}/magicX.h -computeX.o: ${INCDIR}/mtrlsX.h -computeX.o: ${INCDIR}/worldX.h -computeX.o: ${INCDIR}/activeX.h -computeX.o: ${INCDIR}/elevegX.h -computeX.o: ${INCDIR}/statusX.h -computeX.o: ${INCDIR}/tgoodsX.h -computeX.o: ${INCDIR}/weightX.h -computeX.o: ${INCDIR}/caravanX.h - -convertX.o: ${INCDIR}/magicX.h -convertX.o: ${INCDIR}/keyvalsX.h - -customX.o: ${INCDIR}/desigX.h -customX.o: ${INCDIR}/elevegX.h -customX.o: ${INCDIR}/optionsX.h - -executeX.o: ${INCDIR}/armyX.h -executeX.o: ${INCDIR}/cityX.h -executeX.o: ${INCDIR}/itemX.h -executeX.o: ${INCDIR}/navyX.h -executeX.o: ${INCDIR}/butesX.h -executeX.o: ${INCDIR}/magicX.h -executeX.o: ${INCDIR}/mtrlsX.h -executeX.o: ${INCDIR}/worldX.h -executeX.o: ${INCDIR}/activeX.h -executeX.o: ${INCDIR}/elevegX.h -executeX.o: ${INCDIR}/nclassX.h -executeX.o: ${INCDIR}/statusX.h -executeX.o: ${INCDIR}/caravanX.h -executeX.o: ${INCDIR}/dstatusX.h - -ioX.o: ${INCDIR}/armyX.h -ioX.o: ${INCDIR}/cityX.h -ioX.o: ${INCDIR}/navyX.h -ioX.o: ${INCDIR}/itemX.h -ioX.o: ${INCDIR}/calenX.h -ioX.o: ${INCDIR}/desigX.h -ioX.o: ${INCDIR}/magicX.h -ioX.o: ${INCDIR}/statusX.h -ioX.o: ${INCDIR}/stringX.h -ioX.o: ${INCDIR}/elevegX.h -ioX.o: ${INCDIR}/spellsX.h -ioX.o: ${INCDIR}/tgoodsX.h -ioX.o: ${INCDIR}/optionsX.h -ioX.o: ${INCDIR}/keyvalsX.h -ioX.o: ${INCDIR}/caravanX.h -ioX.o: ${INCDIR}/patchlevel.h - -iodataX.o: ${INCDIR}/armyX.h -iodataX.o: ${INCDIR}/cityX.h -iodataX.o: ${INCDIR}/navyX.h -iodataX.o: ${INCDIR}/itemX.h -iodataX.o: ${INCDIR}/butesX.h -iodataX.o: ${INCDIR}/activeX.h -iodataX.o: ${INCDIR}/statusX.h -iodataX.o: ${INCDIR}/dataioX.h -iodataX.o: ${INCDIR}/caravanX.h -iodataX.o: ${INCDIR}/olddataX.h -iodataX.o: ${INCDIR}/patchlevel.h - -magicX.o: ${INCDIR}/magicX.h -magicX.o: ${INCDIR}/racesX.h -magicX.o: ${INCDIR}/elevegX.h - -mailX.o: ${INCDIR}/calenX.h -mailX.o: ${INCDIR}/rmailX.h - -memoryX.o: ${INCDIR}/armyX.h -memoryX.o: ${INCDIR}/cityX.h -memoryX.o: ${INCDIR}/itemX.h -memoryX.o: ${INCDIR}/navyX.h -memoryX.o: ${INCDIR}/butesX.h -memoryX.o: ${INCDIR}/desigX.h -memoryX.o: ${INCDIR}/racesX.h -memoryX.o: ${INCDIR}/activeX.h -memoryX.o: ${INCDIR}/statusX.h -memoryX.o: ${INCDIR}/caravanX.h -memoryX.o: ${INCDIR}/displayX.h -memoryX.o: ${INCDIR}/dstatusX.h - -miscX.o: ${INCDIR}/armyX.h -miscX.o: ${INCDIR}/desigX.h -miscX.o: ${INCDIR}/racesX.h -miscX.o: ${INCDIR}/elevegX.h -miscX.o: ${INCDIR}/nclassX.h -miscX.o: ${INCDIR}/tgoodsX.h -miscX.o: ${INCDIR}/displayX.h - -moveX.o: ${INCDIR}/armyX.h -moveX.o: ${INCDIR}/moveX.h -moveX.o: ${INCDIR}/navyX.h -moveX.o: ${INCDIR}/desigX.h -moveX.o: ${INCDIR}/magicX.h -moveX.o: ${INCDIR}/elevegX.h -moveX.o: ${INCDIR}/hlightX.h -moveX.o: ${INCDIR}/statusX.h -moveX.o: ${INCDIR}/caravanX.h -moveX.o: ${INCDIR}/dstatusX.h - -sectorX.o: ${INCDIR}/cityX.h -sectorX.o: ${INCDIR}/itemX.h -sectorX.o: ${INCDIR}/butesX.h -sectorX.o: ${INCDIR}/calenX.h -sectorX.o: ${INCDIR}/desigX.h -sectorX.o: ${INCDIR}/magicX.h -sectorX.o: ${INCDIR}/mtrlsX.h -sectorX.o: ${INCDIR}/racesX.h -sectorX.o: ${INCDIR}/worldX.h -sectorX.o: ${INCDIR}/elevegX.h -sectorX.o: ${INCDIR}/hlightX.h -sectorX.o: ${INCDIR}/statusX.h -sectorX.o: ${INCDIR}/tgoodsX.h - -selectX.o: ${INCDIR}/armyX.h - -unitsX.o: ${INCDIR}/armyX.h -unitsX.o: ${INCDIR}/cityX.h -unitsX.o: ${INCDIR}/itemX.h -unitsX.o: ${INCDIR}/navyX.h -unitsX.o: ${INCDIR}/butesX.h -unitsX.o: ${INCDIR}/calenX.h -unitsX.o: ${INCDIR}/desigX.h -unitsX.o: ${INCDIR}/magicX.h -unitsX.o: ${INCDIR}/mtrlsX.h -unitsX.o: ${INCDIR}/racesX.h -unitsX.o: ${INCDIR}/worldX.h -unitsX.o: ${INCDIR}/activeX.h -unitsX.o: ${INCDIR}/elevegX.h -unitsX.o: ${INCDIR}/statusX.h -unitsX.o: ${INCDIR}/nclassX.h -unitsX.o: ${INCDIR}/caravanX.h -unitsX.o: ${INCDIR}/dstatusX.h - -jointA.o: ${INCDIR}/magicX.h - -jointG.o: ${INCDIR}/armyX.h -jointG.o: ${INCDIR}/moveX.h -jointG.o: ${INCDIR}/desigX.h -jointG.o: ${INCDIR}/magicX.h -jointG.o: ${INCDIR}/spellsX.h -jointG.o: ${INCDIR}/tgoodsX.h -jointG.o: ${INCDIR}/displayX.h -jointG.o: ${INCDIR}/optionsX.h -# diff --git a/original/Src/inconqrun b/original/Src/inconqrun deleted file mode 100644 index e69de29..0000000 diff --git a/original/Src/inconquer b/original/Src/inconquer deleted file mode 100644 index e69de29..0000000 diff --git a/original/Src/insupport b/original/Src/insupport deleted file mode 100644 index e69de29..0000000 diff --git a/packaging/debian/control/changelog b/packaging/debian/control/changelog new file mode 100644 index 0000000..8859726 --- /dev/null +++ b/packaging/debian/control/changelog @@ -0,0 +1,11 @@ +conquerv5 (5.0-1) unstable; urgency=medium + + * Initial ConquerV5 packaging + * Modernized from original conquer with new build system + * Cross-platform Makefile generation system + * Automatic platform detection (Linux, macOS, BSD) + * Modern compiler support (GCC, Clang) + * Proper system installation paths + * Template-based Makefile generation + + -- Vejeta Mon, 23 Sep 2024 12:00:00 +0000 diff --git a/packaging/debian/control/conquerv5.postint b/packaging/debian/control/conquerv5.postint new file mode 100644 index 0000000..8a07c5d --- /dev/null +++ b/packaging/debian/control/conquerv5.postint @@ -0,0 +1,52 @@ +#!/bin/bash + +set -e + +case "$1" in + configure) + # Ensure game directory has correct permissions + if [ -d /usr/share/conquerv5 ]; then + chmod 755 /usr/share/conquerv5 + chmod 644 /usr/share/conquerv5/* 2>/dev/null || true + fi + + # Ensure executables are properly executable + if [ -f /usr/bin/conquer ]; then + chmod 755 /usr/bin/conquer + fi + if [ -f /usr/bin/conqrun ]; then + chmod 755 /usr/bin/conqrun + fi + + echo "ConquerV5 game installed successfully!" + echo "" + echo "🎮 ConquerV5 - Modernized Classic Strategy Game" + echo "================================================" + echo "" + echo "🚀 Quick Start:" + echo " conquer # Start the game" + echo " conqrun -h # Administrative options" + echo "" + echo "📖 Features:" + echo " • Cross-platform modernized build system" + echo " • Classic 1987-1992 gameplay preserved" + echo " • Full ncurses terminal interface" + echo " • Multiplayer fantasy war scenarios" + echo " • Magical powers and tactical combat" + echo "" + echo "📁 Game data: /usr/share/conquerv5/" + echo "📚 Documentation: /usr/share/doc/conquerv5/" + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +#DEBHELPER# + +exit 0 diff --git a/packaging/debian/control/control b/packaging/debian/control/control new file mode 100644 index 0000000..58f9124 --- /dev/null +++ b/packaging/debian/control/control @@ -0,0 +1,60 @@ +Source: conquerv5 +Section: games +Priority: optional +Maintainer: Vejeta +Build-Depends: debhelper-compat (= 13), + libncurses-dev, + pkg-config, + gcc, + libc6-dev, + make, + sed, + coreutils, + gawk, + groff, + bash +Standards-Version: 4.6.2 +Homepage: https://github.com/vejeta/conquerv5 +Vcs-Git: https://github.com/vejeta/conquerv5.git +Vcs-Browser: https://github.com/vejeta/conquerv5 + +Package: conquerv5 +Architecture: any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libncurses6, + bash +Description: Modernized classic ncurses multiplayer fantasy war game + ConquerV5 is the modernized version of the classic multiplayer fantasy war game + originally created by Ed Barlow and Adam Bryant between 1987-1992. This version + features a completely rewritten build system with cross-platform support while + preserving the authentic 1980s Unix gaming experience. + . + This modernized version includes: + * Cross-platform build system with automatic platform detection + * Support for modern compilers (GCC, Clang, MSVC) + * Improved dependency handling and error diagnostics + * Enhanced installation paths and configuration + * Proper package management integration + * All original gameplay features preserved + . + Terminal-based gaming features: + * Full ncurses terminal user interface + * Multiplayer gameplay with multiple administrators + * Multiple fantasy war scenarios with different maps + * Magical powers and comprehensive spell system + * Large variety of unit types and tactical options + * Support for maps larger than the original 256x256 grid + * Screen-based real-time display and interaction + . + The modernized build system automatically detects your platform (Linux, macOS, + FreeBSD, OpenBSD, NetBSD) and configures appropriate compiler flags and + dependencies. It generates optimized Makefiles for your specific system while + maintaining compatibility with the original game mechanics. + . + Perfect for terminal enthusiasts, retro gaming fans, and developers interested + in classic Unix game architecture. This package brings the authentic 1980s + Unix gaming experience to modern Debian and Ubuntu systems with contemporary + build tools and package management. + . + Run 'conquer' to start playing, or 'conqrun -h' for server administration. diff --git a/packaging/debian/control/rules b/packaging/debian/control/rules new file mode 100644 index 0000000..0cb2bd0 --- /dev/null +++ b/packaging/debian/control/rules @@ -0,0 +1,74 @@ +#!/usr/bin/make -f + +# Export environment variables for legacy C code compatibility +export LEGACY_CFLAGS = -std=gnu99 -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -Wno-implicit-function-declaration -Wno-incompatible-pointer-types -Wno-implicit-int -Wno-return-type -Wno-old-style-definition -Wno-unused-variable -Wno-unused-function -Wno-format -Wno-deprecated-declarations -fcommon +export DEB_CFLAGS_APPEND = $(LEGACY_CFLAGS) + +# ConquerV5 build configuration +export LOGIN = games +export PREFIX = /usr +export DATADIR = /usr/share/conquerv5 +export BINDIR = /usr/bin +export BUILD = release + +%: + dh $@ + +override_dh_auto_configure: + cp Makefile.top Makefile + # Override ALL variables - escape the colon in CHOWN to avoid sed errors + $(MAKE) Makefiles \ + NULL="" \ + SHELL="/bin/sh" \ + CC="gcc" \ + LOGIN="games" \ + PREFIX="/usr" \ + DATADIR="/usr/share/conquerv5" \ + BINDIR="/usr/bin" \ + CHOWN="chown games.games" \ + CHMOD="chmod" \ + STRIP="strip" \ + RM="rm -f" \ + CP="cp" \ + MV="mv" \ + ECHO="echo" \ + TOUCH="touch" \ + CD="cd" \ + MKDIR="mkdir -p" \ + MKDPND="makedepend" \ + MAKE="make" \ + CFLAGS="-O2 -DNDEBUG -DBSD -DPLATFORM_LINUX -DPLATFORM_UNIX -std=gnu99 -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -fcommon -Wno-implicit-function-declaration" \ + CKFLAGS="-O2 -DNDEBUG -DBSD -DPLATFORM_LINUX -DPLATFORM_UNIX -std=gnu99 -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -fcommon -Wno-implicit-function-declaration" + # Compile ezconv + gcc -o Docs/ezconv Docs/ezconv.c + +override_dh_auto_build: + # Build everything using the top-level Makefile + $(MAKE) build \ + CC="gcc" \ + BUILD="$(BUILD)" \ + LOGIN="$(LOGIN)" \ + PREFIX="$(PREFIX)" \ + DATADIR="$(DATADIR)" \ + BINDIR="$(BINDIR)" \ + CFLAGS="-O2 -DNDEBUG -DBSD -DPLATFORM_LINUX -DPLATFORM_UNIX -std=gnu99 -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -fcommon -Wno-implicit-function-declaration" \ + CKFLAGS="-O2 -DNDEBUG -DBSD -DPLATFORM_LINUX -DPLATFORM_UNIX -std=gnu99 -D_GNU_SOURCE -D_DEFAULT_SOURCE -D_POSIX_C_SOURCE=200112L -fcommon -Wno-implicit-function-declaration" + +override_dh_auto_install: + # Since the Makefiles don't respect DESTDIR, we need to override the paths + $(MAKE) install \ + LOGIN="$(LOGIN)" \ + PREFIX="$(CURDIR)/debian/conquerv5$(PREFIX)" \ + DATADIR="$(CURDIR)/debian/conquerv5$(DATADIR)" \ + BINDIR="$(CURDIR)/debian/conquerv5$(BINDIR)" \ + CHOWN="true" \ + CHMOD="chmod" + +override_dh_auto_clean: + # Clean build artifacts + -$(MAKE) clean + -$(MAKE) clobber + dh_auto_clean + +override_dh_strip: + dh_strip diff --git a/packaging/debian/docker/Dockerfile b/packaging/debian/docker/Dockerfile new file mode 100644 index 0000000..bfbc6ea --- /dev/null +++ b/packaging/debian/docker/Dockerfile @@ -0,0 +1,33 @@ +FROM debian:trixie + +# Install build dependencies +RUN apt-get update && apt-get install -y \ + build-essential \ + devscripts \ + debhelper \ + dh-make \ + fakeroot \ + lintian \ + git \ + libncurses-dev \ + pkg-config \ + sed \ + coreutils \ + gcc \ + libc6-dev \ + make \ + binutils \ + gawk \ + groff \ + bash \ + && rm -rf /var/lib/apt/lists/* + +# Set up build environment +RUN useradd -m -s /bin/bash builder + +# Copy and set permissions for build script (as root) +COPY build.sh /home/builder/build.sh +RUN chmod +x /home/builder/build.sh && \ + chown builder:builder /home/builder/build.sh + +WORKDIR /home/builder diff --git a/packaging/debian/docker/build.sh b/packaging/debian/docker/build.sh new file mode 100755 index 0000000..199828a --- /dev/null +++ b/packaging/debian/docker/build.sh @@ -0,0 +1,58 @@ +#!/bin/bash +# ConquerV5 Debian package build script + +set -e + +WORK_DIR="/work" +BUILD_DIR="/home/builder/build" +OUTPUT_DIR="/work/packages/debian" + +echo "=== Starting ConquerV5 Debian package build ===" + +# Create build directory +mkdir -p "$BUILD_DIR" +cd "$BUILD_DIR" + +# Create build directory and copy source +mkdir -p "$BUILD_DIR" +cd "$BUILD_DIR" + +# Copy the local repository instead of cloning +echo "Copying ConquerV5 source..." +cp -r "$WORK_DIR" conquerv5-5.0 +cd conquerv5-5.0/gpl-release + +# Copy Debian packaging files +echo "Setting up Debian packaging..." +mkdir -p debian +cp -r "$WORK_DIR/packaging/debian/control/"* debian/ +chmod +x debian/rules + +# Skip build testing - let debuild handle it +echo "=== Skipping build test - debuild will handle the building ===" + +# Build the package +echo "=== Building Debian package ===" +export LEGACY_CFLAGS="-std=gnu99 -D_GNU_SOURCE -Wno-implicit-function-declaration -Wno-incompatible-pointer-types -Wno-implicit-int -Wno-return-type -Wno-old-style-definition -Wno-unused-variable -Wno-unused-function -Wno-format" +export DEB_CFLAGS_APPEND="$LEGACY_CFLAGS" + +debuild -us -uc -b + +# Create output directory and copy packages +mkdir -p "$OUTPUT_DIR" +cp ../*.deb "$OUTPUT_DIR/" +cp ../*.changes "$OUTPUT_DIR/" || true + +echo "=== Package build complete ===" +ls -la "$OUTPUT_DIR/" + +# Verify package contents +DEB_FILE=$(find "$OUTPUT_DIR" -name "*.deb" | head -1) +if [ -n "$DEB_FILE" ]; then + echo "=== Package verification ===" + echo "Package: $DEB_FILE" + dpkg-deb --info "$DEB_FILE" + echo "" + echo "Contents (first 20 files):" + dpkg-deb --contents "$DEB_FILE" | head -20 +fi diff --git a/packaging/melange/melange.yaml b/packaging/melange/melange.yaml new file mode 100644 index 0000000..b2e99b6 --- /dev/null +++ b/packaging/melange/melange.yaml @@ -0,0 +1,170 @@ +package: + name: conquerv5 + version: 5.0 + epoch: 0 + description: "Modernized classic ncurses multiplayer fantasy war game. ConquerV5 brings the 1980s Unix gaming experience to modern systems with cross-platform support." + url: https://github.com/vejeta/conquerv5 + copyright: + - license: GPL-3.0-or-later + paths: + - "*" + dependencies: + runtime: + - ncurses + - ncurses-terminfo-base + - bash + +environment: + contents: + repositories: + - https://dl-cdn.alpinelinux.org/alpine/edge/main + - https://dl-cdn.alpinelinux.org/alpine/edge/community + packages: + - alpine-baselayout-data + - busybox + - build-base + - ncurses-dev + - make + - sed + - coreutils + - pkgconfig + - gcc + - libc-dev + - bash + - gawk + - groff + - groff-doc + - ghostscript # For PostScript processing + - ghostscript-fonts # This provides the standard PostScript fonts # + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/vejeta/conquerv5 + branch: packaging # TODO. Remove when finished development + destination: /home/build/conquerv5 + + - name: "Configure and build ConquerV5" + runs: | + cd /home/build/conquerv5/gpl-release + echo "=== ConquerV5 Build Process (in gpl-release/) ===" + + # Debug Alpine detection + echo "=== Debugging Alpine detection ===" + test -f /etc/alpine-release && echo "Alpine detected!" || echo "Alpine NOT detected" + echo "Contents of /etc/alpine-release (if exists):" + cat /etc/alpine-release 2>/dev/null || echo "File doesn't exist" + + # Set system login for package installation + export PATH="/usr/bin:$PATH" + export MAKE=make + export LOGIN="games" + export PREFIX="/usr" + export DATADIR="/usr/share/conquerv5" + export BINDIR="/usr/bin" + + # Step 1: Set up main Makefile + echo "Step 1: Setting up main Makefile..." + cp Makefile.top Makefile + + # Step 1.5: Debug header.h generation + echo "=== Debugging header.h generation ===" + echo "LOGIN variable: $LOGIN" + ls -la Include/header.h* || echo "No header files found" + + if [ -f Include/header.h.dist ]; then + echo "Contents of header.h.dist:" + cat Include/header.h.dist | grep -A2 -B2 LOGIN + fi + + # Before running make Makefiles + echo "=== Debugging LOGIN variable ===" + echo "Environment LOGIN: $LOGIN" + echo "whoami: $(whoami)" + echo "USER: $USER" + + echo "=== Pre-make environment ===" + echo "Shell LOGIN: $LOGIN" + echo "Shell USER: $USER" + echo "Container whoami: $(whoami)" + + echo "=== What make sees ===" + make -f Makefile --eval='$(info LOGIN=$(LOGIN))' --eval='$(info CURRENT_USER=$(CURRENT_USER))' --eval='$(info USER=$(USER))' all 2>&1 | head -5 + + # Test what make sees + make -f Makefile -n info | grep LOGIN || echo "No LOGIN info" + + # Force LOGIN explicitly + /usr/bin/make Makefiles LOGIN="games" PREFIX="$PREFIX" DATADIR="$DATADIR" BINDIR="$BINDIR" MAKE="/usr/bin/make" + + # Verify after generation + grep LOGIN Include/header.h + + # Step 2: Generate all sub-Makefiles + echo "Step 2: Generating Makefiles..." + /usr/bin/make Makefiles LOGIN="$LOGIN" PREFIX="$PREFIX" DATADIR="$DATADIR" BINDIR="$BINDIR" MAKE="/usr/bin/make" + + # Step 2.5: Debug what's in the Makefiles + echo "=== Debugging Makefile contents ===" + echo "CFLAGS line in Src/Makefile:" + grep -n "CFLAGS.*=" Src/Makefile + echo "SYSFLG pattern in Src/Makefile:" + grep -n "PLATFORM_LINUX" Src/Makefile + + # Try multiple sed approaches + echo "=== Trying different sed replacements ===" + + # Approach 1: Replace the entire CFLAGS line + find . -name "Makefile" -exec sed -i '/^CFLAGS.*=.*DPLATFORM_LINUX/s/$/ -D_DEFAULT_SOURCE -D_BSD_SOURCE/' {} \; + + # Verify the change + echo "After sed replacement:" + grep -n "CFLAGS.*=" Src/Makefile + + # After Step 2, add: + echo "=== Checking header.h generation ===" + ls -la Include/header.h || echo "header.h not found" + grep -n LOGIN Include/header.h || echo "No LOGIN definition found" + + # Step 3: Build the project + echo "Step 3: Building project..." + /usr/bin/make build BUILD=release LOGIN="$LOGIN" PREFIX="$PREFIX" DATADIR="$DATADIR" BINDIR="$BINDIR" MAKE="/usr/bin/make" + + echo "=== Build completed successfully ===" + + # Verify build results + echo "=== Verifying build results ===" + find . -name "conquer" -o -name "conqrun" -type f -exec ls -la {} \; + + - name: "Install ConquerV5" + runs: | + cd /home/build/conquerv5/gpl-release + + # Set installation variables + export LOGIN="games" + export PREFIX="/usr" + export DATADIR="/usr/share/conquerv5" + export BINDIR="/usr/bin" + export DESTDIR="${{targets.destdir}}" + + # Create directories + mkdir -p ${{targets.destdir}}/usr/bin + mkdir -p ${{targets.destdir}}/usr/share/conquerv5 + + # Manual install since make install ignores DESTDIR + echo "=== Manual installation to respect DESTDIR ===" + find . -name "conquer" -type f -executable -exec cp {} ${{targets.destdir}}/usr/bin/ \; + find . -name "conqrun" -type f -executable -exec cp {} ${{targets.destdir}}/usr/bin/ \; + find . -name "conqsort" -type f -executable -exec cp {} ${{targets.destdir}}/usr/bin/ \; + + # Install data files + cp Src/nations ${{targets.destdir}}/usr/share/conquerv5/ || true + cp Docs/*.doc ${{targets.destdir}}/usr/share/conquerv5/ || true + + # Set permissions + chmod 755 ${{targets.destdir}}/usr/bin/conq* + + echo "=== Verifying installation ===" + ls -la ${{targets.destdir}}/usr/bin/conq* + + - uses: strip diff --git a/scripts/build-debian.sh b/scripts/build-debian.sh new file mode 100755 index 0000000..2725dc6 --- /dev/null +++ b/scripts/build-debian.sh @@ -0,0 +1,24 @@ +#!/bin/bash +# ConquerV5 Debian package build script (works for both local development and CI) + +set -e + +# Change to repo root directory +cd "$(dirname "$0")/.." + +# Build the Docker image if it doesn't exist +if ! docker images | grep -q conquerv5-debian-builder; then + echo "Building ConquerV5 Debian packaging Docker image..." + docker build -t conquerv5-debian-builder packaging/debian/docker/ +fi + +# Build the Debian package using local repository +echo "Building ConquerV5 Debian package..." +docker run --privileged --rm \ + -v "$PWD":/work \ + -w /work \ + conquerv5-debian-builder \ + /work/packaging/debian/docker/build.sh + +echo "ConquerV5 Debian package built successfully!" +echo "Package location: packages/debian/" diff --git a/scripts/build-melange.sh b/scripts/build-melange.sh new file mode 100755 index 0000000..2c2ad60 --- /dev/null +++ b/scripts/build-melange.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# ConquerV5 Melange package build script + +set -e + +# Change to repo root directory +cd "$(dirname "$0")/.." + +# Ensure we have the melange configuration +if [ ! -f "packaging/melange/melange.yaml" ]; then + echo "Error: melange.yaml not found in packaging/melange/" + exit 1 +fi + +# Create packages directory +mkdir -p packages/alpine + +echo "=== Building ConquerV5 APK package with Melange ===" + +# Install melange if not available +if ! command -v melange &> /dev/null; then + echo "Installing melange..." + # Using Docker with melange + docker run --privileged --rm \ + -v "$PWD":/work \ + -w /work \ + cgr.dev/chainguard/melange build \ + --arch=x86_64 \ + --out-dir=/work/packages/alpine \ + packaging/melange/melange.yaml +else + # Use local melange installation + melange build \ + --arch=x86_64 \ + --out-dir=packages/alpine \ + packaging/melange/melange.yaml +fi + +echo "=== APK package built successfully! ===" +echo "Package location: packages/alpine/" +ls -la packages/alpine/ + +# Verify the package was created +APK_COUNT=$(find packages/alpine/ -name "*.apk" | wc -l) +if [ "$APK_COUNT" -eq 0 ]; then + echo "ERROR: No APK packages were created!" + exit 1 +fi + +echo "✅ Found $APK_COUNT APK package(s)" +find packages/alpine/ -name "*.apk" -exec ls -lh {} \; diff --git a/scripts/test-alpine.sh b/scripts/test-alpine.sh new file mode 100755 index 0000000..e67e207 --- /dev/null +++ b/scripts/test-alpine.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# Find the APK file automatically +APK_PATH=$(find . .. ../.. -name "conquerv5-*.apk" -type f 2>/dev/null | head -1) + +if [ -z "$APK_PATH" ]; then + echo "ERROR: Could not find conquerv5 APK file" + echo "Searched in current directory and parent directories" + exit 1 +fi + +echo "Found APK: $APK_PATH" + +# Get the directory containing the APK to mount +MOUNT_DIR=$(dirname "$APK_PATH") +APK_BASENAME=$(basename "$APK_PATH") + +# Convert relative path to absolute for Docker mount +ABSOLUTE_MOUNT_DIR=$(cd "$MOUNT_DIR" && pwd) + +echo "Mounting: $ABSOLUTE_MOUNT_DIR" +echo "Installing: /work/$APK_BASENAME" + +# Start Alpine container with automatic APK detection +docker run --rm -it --platform=linux/amd64 \ + -v "$ABSOLUTE_MOUNT_DIR":/work \ + alpine:latest sh -c " + # Install dependencies and the game + apk add --no-cache ncurses-terminfo-base ncurses + apk add --allow-untrusted /work/$APK_BASENAME + + # Debug what got installed + echo '=== Checking installation ===' + find /usr -name 'conq*' -type f 2>/dev/null || echo 'No conquer binaries found' + ls -la /usr/bin/conq* 2>/dev/null || echo 'No binaries in /usr/bin' + apk info conquerv5 || echo 'Package info not available' + + # Set up environment + export TERM=xterm + export HOME=/tmp/conquer-test + mkdir -p \$HOME + + # Show what's available + echo '=== Game installed! Available commands: ===' + echo 'conquer -h # Game help' + echo 'conqrun -h # Admin help' + echo 'conquer # Start the game' + echo 'conqrun -m # Create a world (admin)' + echo '' + + # Drop into interactive shell + /bin/sh +" diff --git a/scripts/test-debian.sh b/scripts/test-debian.sh new file mode 100755 index 0000000..2b2bacb --- /dev/null +++ b/scripts/test-debian.sh @@ -0,0 +1,78 @@ +#!/bin/bash +# Equivalent to your test-alpine.sh but for Debian + +set -e + +# Change to repo root directory +SCRIPT_DIR="$(dirname "$0")" +REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" +cd "$REPO_ROOT" + +echo "Debug: Script location: $SCRIPT_DIR" +echo "Debug: Repo root: $REPO_ROOT" +echo "Debug: Current PWD: $PWD" + +# Check if packages exist +PACKAGE_DIR="$REPO_ROOT/packages/debian" +echo "Debug: Looking for packages in: $PACKAGE_DIR" + +if [ ! -d "$PACKAGE_DIR" ]; then + echo "Error: Package directory $PACKAGE_DIR not found" + echo "Please run scripts/build-debian.sh first" + echo "" + echo "Debug: Contents of packages directory:" + ls -la "$REPO_ROOT/packages/" 2>/dev/null || echo "packages/ directory doesn't exist" + exit 1 +fi + +# Find the .deb package (architecture-agnostic) +DEB_FILE=$(find "$PACKAGE_DIR" -name "conquerv5_*.deb" | head -1) +if [ -z "$DEB_FILE" ]; then + echo "Error: No .deb package found in $PACKAGE_DIR" + echo "Available files:" + ls -la "$PACKAGE_DIR" 2>/dev/null || echo "Directory is empty" + exit 1 +fi + +echo "Found package: $DEB_FILE" + +# Get the container path (relative to /work mount point) +REL_PATH="${DEB_FILE#$REPO_ROOT/}" +CONTAINER_DEB_PATH="/work/$REL_PATH" + +echo "Debug: Relative path: $REL_PATH" +echo "Debug: Container path: $CONTAINER_DEB_PATH" + +# Start Debian container with the DEB available +docker run --rm -it -v "$REPO_ROOT":/work debian:trixie bash -c " + # Update package list and install dependencies + apt-get update + apt-get install -y libncurses6 ncurses-base + + # Install the game package (using the container path) + echo 'Installing package: $CONTAINER_DEB_PATH' + dpkg -i '$CONTAINER_DEB_PATH' || true + apt-get install -f -y # Fix any dependency issues + + # Set up environment + export TERM=xterm + export HOME=/tmp/conquer-test + mkdir -p \$HOME + + # Show what's available + echo '=== Game installed! Available commands: ===' + echo 'conquer -h # Game help' + echo 'conqrun -h # Admin help' + echo 'conquer # Start the game' + echo 'conqrun -m # Create a world (admin)' + echo '' + echo 'Package info:' + dpkg -l | grep conquerv5 + echo '' + echo 'Installed files:' + dpkg -L conquerv5 | head -10 + echo '' + + # Drop into interactive shell + /bin/bash +"