home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!master!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v13i064: dominion - a multi-player world simulation game, Part28/28
- Message-ID: <2467@masterCNA.TEK.COM>
- Date: 11 Feb 92 18:28:24 GMT
- Sender: news@masterCNA.TEK.COM
- Lines: 542
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: rosalia@dirac.physics.sunysb.edu (Mark Galassi)
- Posting-number: Volume 13, Issue 64
- Archive-name: dominion/Part28
- Environment: Unix, curses
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 28 (of 28)."
- # Contents: army_types dominion.6 help.c init.c mag_Avian mag_Inferno
- # mag_Time
- # Wrapped by billr@saab on Tue Feb 11 10:14:59 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'army_types' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'army_types'\"
- else
- echo shar: Extracting \"'army_types'\" \(2209 characters\)
- sed "s/^X//" >'army_types' <<'END_OF_FILE'
- X# format of file (similar to races file):
- X# number of army types defined
- X# name:char:move_factor:bonus:money_draft:met_draft:jewel_draft:spellpt_draft:money_maint:metal_maint:jewel_maint:spellpt_maint:flags
- X# Note that the spellpt_maint is per 1,000,000 soldiers
- X#
- X# see the file "army.h" for the meaning of the flags
- X#
- X33
- XCavemen : * :0.5:-60: 60: 0: 0: 10: 0: 0: 0:Cc
- XSpearmen : / :0.8:-10: 80: 20: 0: 10: 0: 0: 0:Cc
- XInfantry : i :1.0: 0: 100: 30: 0: 10: 0: 0: 0:Cc
- XCaravan : C :1.0: 0:1000:1000: 0:200: 40: 0: 4096:Cc
- XArchers : ) :1.0: 5: 100: 40: 0: 10: 0: 0: 16:Cc
- XSwimmers : o :1.0:-60:150: 50: 0: 15: 5: 0: 96:Cc
- XWalkers : # :1.0:-60:150: 50: 0: 15: 5: 0:16384:Cc
- XPhalanx : p :1.0:20: 150: 50: 0: 12: 0: 0: 0:Cc
- XSailors : ~ :0.0:-10:150: 50: 0: 15: 0: 0: 64:Cc
- XChariots : 0 :1.5:10: 180: 60: 0: 14: 5: 0: 0:Cc
- XCanoes : u :2.0:-80:1000:2000:0:200:100: 0:36864:Cc
- XLegion : l :1.0:40: 200: 70: 0: 16: 0: 0: 0:Cc
- XCavalry : c :2.0:20: 200: 80: 0: 20: 0: 0: 0:Cc
- XElite : e :1.3:10: 0: 100: 0: 0: 25: 0: 0:Cc
- XSailboats : } :2.5:-50:1500:3000:0:300:150: 0:36864:Cc
- XMarines : m :1.0:60: 300: 200: 0: 25: 0: 0: 64:Cc
- XWar_carts : w :1.0:10: 500: 200: 0:200: 20: 0: 256:Cc
- XGalleys : g :3.5:-20:2000:4000:0:400:200: 0:36864:Cc
- XBerzerkers : b :1.0:50: 30: 0: 0: 5: 0: 0: 128:Cc
- XMerc : M :1.2:60: 200: 0: 0:200: 0: 0: 0:Cc
- XCatapults : @ :0.5:20: 800: 400: 0:300: 30: 0: 256:Cc
- XQuadriremes : q :4.5: 0:3000:5000: 0:500:250: 0:36864:Cc
- XScuba_divers : S :1.2:-30:300:200: 0: 25: 25: 0:32832:Cc
- XKamikaze : k :1.5:200: 50: 25: 0: 50: 0: 0: 128:Cc
- XWagons : W :1.5: 0:1500:1500: 0:300: 60: 0: 4096:Cc
- XCrossbowmen : ] :1.0: 5: 50: 60: 0: 5: 5: 0: 16:Cc
- XNinja : N :3.0:75:2000: 0:2000:500: 0:500: 2:Cc
- XMage : ! :2.0: 0: 0: 0:5000: 0:0:1000: 1024:Cc+
- X#
- XHunters : h :1.5:-10: 50: 0: 0: 10: 0: 0: 0:Ccf
- XOrcs : O :1.0: 0: 60: 30: 0: 10: 0: 0: 0:Cc
- XHarpies : y :1.0:10: 100: 30: 0: 10: 0: 0: 1:Cc
- XHobbits : H :1.0: 0: 100: 30: 0: 10: 0: 0: 2:Ccf
- XOgres : G :1.0:50: 100: 30: 0: 10: 0: 0: 0:Cc
- END_OF_FILE
- if test 2209 -ne `wc -c <'army_types'`; then
- echo shar: \"'army_types'\" unpacked with wrong size!
- fi
- # end of 'army_types'
- fi
- if test -f 'dominion.6' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'dominion.6'\"
- else
- echo shar: Extracting \"'dominion.6'\" \(3104 characters\)
- sed "s/^X//" >'dominion.6' <<'END_OF_FILE'
- X.TH DOMINION 6 "18 OCT 1991"
- X.SH NAME
- Xdominion \- a multi-user game of world simulation and conquest
- X.SH SYNOPSIS
- X\fBdominion\fP [-n nation_name] [-d dir_path] [-h] [-p] [-c]
- X.IP
- X\fBdom_make\fP [-d dir_path]
- X.IP
- X\fBdom_add\fP [-m] [-d dir_path] [-f npcs_file]
- X.IP
- X\fBdom_update\fP [-b] [-a] [-d dir_path] [-p passwd]
- X.IP
- X\fBdom_print\fP [-a] [-d dir_path] [-W] [-b]
- X.SH WARNING
- XThis man page is an extract of the documentation of Dominion and is
- Xlimited to the overview and the meaning of the options. It is updated
- Xonly occasionally, because the GNU project does not use nroff. For
- Xcomplete, current documentation, refer to the Info file Dominion or
- Xthe DVI file dominion.dvi which are made from the LaTeXinfo source
- Xfile dominion.texinfo.
- X.SH OVERVIEW
- X\fBDominion\fP is an empire-style multi-player world simulation game.
- XEach player is the leader of a nation, and makes decisions for that
- Xnation. The decisions are political, military, diplomatic and economic
- Xand all these are extremely important for the well-being of a nation.
- XSome nations can be played by the computer. These nations are called
- XNPCs (Non Player Countries). They play a challenging game, and are
- Xquite useful if few human players are available.
- X.PP
- XDominion has features from both fantasy role-playing games, educational
- Xgames, and war games: a user needs to develop a character as leader of
- Xa nation, keep a healty economy, and can then develop a strong
- Xmilitary force using magic or technology.
- X.PP
- XMost of the moves you make are not resolved until the end of a turn,
- Xwhen the \fIupdate\fP is run. This update will incorporate your
- Xchanges into the world data base, then it will update your economy,
- Xhandle migration of people, resolve battles and conquest of land,
- Xfreshen up your armies (restore move points), and a few other things.
- X.PP
- XThe rhythm of the game is set by how much money you have spent, and
- Xhow much you have moved your armies. If you have spent all your
- Xmoney, you will need to wait until your revenue comes in (after the
- Xupdate) before you can spend more. Similarly, if you have already
- Xmoved all your armies, and they are overcome by fatigue, then you will
- Xhave to wait until they have recovered. This will happen in the
- Xupdate. The time elapsed between updates is called a \fIthon\fP.
- X.SH OPTIONS
- X.IP
- X-n nation_name play as nation_name instead of promping for the name
- X.IP
- X-d dir_path play the game from the directory dir_path instead of the
- Xdefault directory
- X.IP
- X-h invoke the cinfo documentaion browser
- X.IP
- X-p print a list of all participating nations
- X.IP
- X-c print the last update time
- X.SH BUGS
- XDominion is an extremely large piece of software. There are certainly
- Xmany bugs.
- X.SH AUTHORS
- XThere are many authors. Refer to the complete manual to see the
- Xcontribution of each one. They appear in the order in which they
- Xwrote their first contribution:
- X.IP
- XMark Galassi
- X.br
- XMichael Fischer
- X.br
- XDoug Novellano
- X.br
- XKeith Messing
- X.br
- XAlan Saporta
- X.br
- XJoanne Rosenshein
- X.br
- XStephen Bae
- X.br
- XChris Coligado
- X.br
- XC. Titus Brown
- X.br
- XCharles Ofria
- X.br
- XStephen Underwood
- X.br
- XPaolo Montrasio
- X.br
- XKevin Hart
- END_OF_FILE
- if test 3104 -ne `wc -c <'dominion.6'`; then
- echo shar: \"'dominion.6'\" unpacked with wrong size!
- fi
- # end of 'dominion.6'
- fi
- if test -f 'help.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'help.c'\"
- else
- echo shar: Extracting \"'help.c'\" \(3133 characters\)
- sed "s/^X//" >'help.c' <<'END_OF_FILE'
- X /* help.c -- help system (for now quite primitive) */
- X
- X/*
- X * Copyright (C) 1990 Free Software Foundation, Inc.
- X * Written by the dominion project.
- X *
- X * This file is part of dominion.
- X *
- X * dominion is free software; you can redistribute it and/or
- X * modify it under the terms of the GNU General Public License as published
- X * by the Free Software Foundation; either version 1, or (at your option)
- X * any later version.
- X *
- X * This software is distributed in the hope that it will be useful,
- X * but WITHOUT ANY WARRANTY; without even the implied warranty of
- X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- X * GNU General Public License for more details.
- X *
- X * You should have received a copy of the GNU General Public License
- X * along with this software; see the file COPYING. If not, write to
- X * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- X */
- X
- X#include "dominion.h"
- X#include "cur_stuff.h"
- X#include <stdio.h>
- X
- Xextern Suser user;
- Xextern char help_tag[];
- XWINDOW *helpw;
- Xint help_win_len;
- X
- Xstart_help_win()
- X{
- X helpw = newwin(LINES-2, COLS, 0, 0);
- X wrefresh(helpw);
- X help_win_len = LINES-2;
- X}
- X
- Xshow_help()
- X{
- X char filename[100];
- X int done = 0;
- X
- X statline2("[r]eference card, [l]ong help, or [i]nfo? ", "help");
- X switch (getchar()) {
- X case 'r':
- X show_file(REF_CARD_FILE);
- X break;
- X case 'l':
- X show_file(INFO_FILE);
- X break;
- X case 'i': /* info browsing */
- X strcpy(help_tag, "Top");
- X online_info();
- X break;
- X default:
- X break;
- X }
- X statline2("", "");
- X}
- X
- Xend_help_win()
- X{
- X delwin(helpw);
- X touchwin(stdscr);
- X/* touch_all_wins(); */
- X}
- X
- X /* a simple pager */
- Xshow_file(name)
- X char name[];
- X{
- X FILE *fp, *fopen();
- X int lines, i;
- X char helpline[200], menu_item[80];
- X long pos = 0, old_pos = 0;
- X
- X start_help_win(); /* initialize the window we use here */
- X statline2("", "");
- X if ((fp = fopen(name, "r")) == NULL) {
- X statline2("file was", name);
- X statline("type spece to return", "cannot open file");
- X get_space();
- X return;
- X }
- X wclear(helpw);
- X lines = 0;
- X while (fgets(helpline, 180, fp) != NULL) {
- X helpline[78] = '\0';
- X mvwaddstr(helpw, lines, 0, helpline);
- X wclrtoeol(helpw);
- X wrefresh(helpw);
- X ++lines;
- X if (lines % (help_win_len) == 0) { /* next page? */
- X wclrtobot(helpw);
- X wrefresh(helpw);
- X lines = 0;
- X statline("type SPACE to continue, [q] to leave this file", name);
- X /* while (((c = getch()) != ' ') && (c != 'q'))
- X {}*/
- X switch (getch()) {
- X case 'q': /* done with this file */
- X fclose(fp);
- X return;
- X break;
- X case 'f': /* skip some lines */
- X for (i = 0; i < 44 && fgets(helpline, 180, fp); ++i) {
- X }
- X break;
- X case ' ':
- X break;
- X default:
- X break;
- X }
- X wmove(helpw, 0, 0);
- X }
- X }
- X/* statline("type space to continue", name);
- X get_space();
- X*/
- X/* wclrtobot(helpw);
- X end_help_win();*/ /* close up the window */
- X fclose(fp);
- X}
- X
- X /* runs the online curses info browser,
- X using the global variable help_tag
- X */
- Xonline_info()
- X{
- X cinfo(INFO_FILE, help_tag);
- X user.just_moved = 1;
- X touchwin(stdscr);
- X user.just_moved = 1;
- X}
- END_OF_FILE
- if test 3133 -ne `wc -c <'help.c'`; then
- echo shar: \"'help.c'\" unpacked with wrong size!
- fi
- # end of 'help.c'
- fi
- if test -f 'init.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'init.c'\"
- else
- echo shar: Extracting \"'init.c'\" \(2618 characters\)
- sed "s/^X//" >'init.c' <<'END_OF_FILE'
- X /* init.c -- initialize the keymap */
- X
- X/*
- X * Copyright (C) 1990 Free Software Foundation, Inc.
- X * Written by the dominion project.
- X *
- X * This file is part of dominion.
- X *
- X * dominion is free software; you can redistribute it and/or
- X * modify it under the terms of the GNU General Public License as published
- X * by the Free Software Foundation; either version 1, or (at your option)
- X * any later version.
- X *
- X * This software is distributed in the hope that it will be useful,
- X * but WITHOUT ANY WARRANTY; without even the implied warranty of
- X * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- X * GNU General Public License for more details.
- X *
- X * You should have received a copy of the GNU General Public License
- X * along with this software; see the file COPYING. If not, write to
- X * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- X */
- X
- X#include "dominion.h"
- X
- Xextern Suser user;
- Xextern int (*keymap[128])();
- X
- Xinit_keymap() /* assign keys to default functions */
- X{
- X int i;
- X /* now list all commands in keymap */
- X int null_key(), bad_key(), quit(), up(), down(), right(), left(),
- X upright(), upleft(),jhome(),jpos(),
- X downright(), downleft(), jup(), jdown(), jright(), jleft(),
- X help(), redraw(), windows(), display_menu(), mail(),
- X report_menu(), army_menu(), zoom_sector(), trade_menu(),
- X wizardry_menu(), dump_map(), news(), construct(),
- X transport(), root_change_passwd(), root_edit(), options();
- X
- X for (i = 0; i < 128; ++i) {
- X keymap[i] = bad_key;
- X }
- X if (user.id == 0) {
- X keymap['E'] = root_edit;
- X }
- X keymap[' '] = keymap['\n'] = keymap['\r'] = null_key;
- X keymap['q'] = keymap['Q'] = quit;
- X keymap['?'] = help;
- X keymap[''] = redraw;
- X keymap['h'] = keymap['4'] = left;
- X keymap['l'] = keymap['6'] = right;
- X keymap['k'] = keymap['8'] = up;
- X keymap['j'] = keymap['2'] = down;
- X keymap['u'] = keymap['9'] = upright;
- X keymap['y'] = keymap['7'] = upleft;
- X keymap['n'] = keymap['3'] = downright;
- X keymap['b'] = keymap['1'] = downleft;
- X keymap['H'] = jleft;
- X keymap['J'] = jdown;
- X keymap['K'] = jup;
- X keymap['L'] = jright;
- X keymap['w'] = windows;
- X keymap['d'] = display_menu;
- X keymap['r'] = report_menu;
- X keymap['a'] = army_menu;
- X keymap['Z'] = zoom_sector;
- X keymap['m'] = mail;
- X#ifdef TRADE_BOARD
- X keymap['T'] = trade_menu;
- X#endif TRADE_BOARD
- X keymap['W'] = wizardry_menu;
- X keymap['F'] = dump_map;
- X keymap['N'] = news;
- X keymap['C'] = construct;
- X keymap['t'] = transport;
- X keymap['O'] = options;
- X keymap['P'] = jhome;
- X keymap['p'] = jpos;
- X}
- END_OF_FILE
- if test 2618 -ne `wc -c <'init.c'`; then
- echo shar: \"'init.c'\" unpacked with wrong size!
- fi
- # end of 'init.c'
- fi
- if test -f 'mag_Avian' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mag_Avian'\"
- else
- echo shar: Extracting \"'mag_Avian'\" \(601 characters\)
- sed "s/^X//" >'mag_Avian' <<'END_OF_FILE'
- X# this file describes magic powers available to magical order of Avian,
- X# which is concerned mostly with flying.
- X#
- X# the format is:
- X# name level cost
- X# begin
- X# series of exec lines
- X# end
- X#
- X# where `level' is the magical skill level at which you get the power,
- X# and `cost' is the cost in spell points to use the power.
- X#
- Xsummon_flying_carpet 40 1
- Xsummon_roc 50 1
- Xsummon_eagle 90 2
- Xsummon_cloud_giant 150 3
- Xsummon_wyvern 400 4
- Xsummon_areal_serpent 800 7
- Xsummon_air_elemental 2000 15
- Xsummon_tempest 3000 18
- X#
- Xhide_army 200 1 2
- Xfly_army 200 1 3
- Xhide_sector 250 2 8
- Xmag_bonus 300 1 2
- Xhaste_army 600 3 2
- END_OF_FILE
- if test 601 -ne `wc -c <'mag_Avian'`; then
- echo shar: \"'mag_Avian'\" unpacked with wrong size!
- fi
- # end of 'mag_Avian'
- fi
- if test -f 'mag_Inferno' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mag_Inferno'\"
- else
- echo shar: Extracting \"'mag_Inferno'\" \(672 characters\)
- sed "s/^X//" >'mag_Inferno' <<'END_OF_FILE'
- X# this file describes magic powers available to magical order of Inferno,
- X# which is concerned mostly with fire.
- X#
- X# the format for spirits is:
- X# name level cost
- X# and for spells:
- X# name level cost duration
- X#
- X# where `level' is the magical skill level at which you get the power,
- X# and `cost' is the cost in spell points to use the power. `duration'
- X# tells how long a spell will last.
- X#
- Xsummon_efreet 50 2
- Xsummon_phoenix 90 3
- Xsummon_fire_giant 400 4
- Xsummon_fire_drake 800 6
- Xsummon_lava_beast 1000 10
- Xsummon_fire_elemental 2000 15
- Xsummon_conflagration 3000 18
- X#
- Xhide_army 200 1 2
- Xhide_sector 250 2 8
- Xmag_bonus 300 1 2
- Xfly_army 400 2 2
- Xfireburst 500 2 4
- X#
- Xinferno 600 4 4
- END_OF_FILE
- if test 672 -ne `wc -c <'mag_Inferno'`; then
- echo shar: \"'mag_Inferno'\" unpacked with wrong size!
- fi
- # end of 'mag_Inferno'
- fi
- if test -f 'mag_Time' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'mag_Time'\"
- else
- echo shar: Extracting \"'mag_Time'\" \(627 characters\)
- sed "s/^X//" >'mag_Time' <<'END_OF_FILE'
- X# this file describes magic powers available to magical order of Time,
- X# which is concerned mostly with the past.
- X#
- X# the format is:
- X# name level cost
- X# begin
- X# series of exec lines
- X# end
- X#
- X# where `level' is the magical skill level at which you get the power,
- X# and `cost' is the cost in spell points to use the power.
- X#
- Xsummon_diplodocus 50 1
- Xsummon_brontosaurus 80 2
- Xsummon_pleisiosaurus 90 2
- Xsummon_pterodactyl 150 4
- Xsummon_stegosaurus 400 4
- Xsummon_triceratops 800 6
- Xsummon_tyrannosaurus 2000 12
- Xsummon_brachiosaurus 3000 18
- X#
- Xhide_army 200 1 2
- Xhaste_army 220 1 2
- Xhide_sector 250 2 8
- Xmag_bonus 300 1 2
- Xwater_walk 400 2 2
- END_OF_FILE
- if test 627 -ne `wc -c <'mag_Time'`; then
- echo shar: \"'mag_Time'\" unpacked with wrong size!
- fi
- # end of 'mag_Time'
- fi
- echo shar: End of archive 28 \(of 28\).
- cp /dev/null ark28isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 28 archives.
- echo "Now execute ./do_cat.sh to build doc files"
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-