smile@homxc.UUCP (E.BARLOW) (07/13/88)
Patch 3. The final patch for a while (i hope). I have fixed much with navies, but the code still needs work. Fixed lots of other stuff as well. Enjoy The Ed *** oldnewlogin.c Wed Jul 13 09:55:53 1988 --- newlogin.c Wed Jul 13 09:56:16 1988 *************** *** 223,229 } } ! ntn[country].mark = toupper(*ntn[country].name); printf("\ntesting first letter of name (%c) for nation mark...",ntn[country].mark); valid=TRUE; while(valid==TRUE) { --- 223,231 ----- } } ! ntn[country].mark= (*ntn[country].name); ! if (islower(ntn[country].mark)!=FALSE) ! ntn[country].mark= toupper(ntn[country].mark); printf("\ntesting first letter of name (%c) for nation mark...",ntn[country].mark); valid=TRUE; while(valid==TRUE) { *************** *** 252,257 printf("\n'*' is invalid character"); valid=TRUE; } if(valid==TRUE){ printf("\nplease reenter new national mark for maps:"); printf("\n (this can be any uppercase character)"); --- 254,263 ----- printf("\n'*' is invalid character"); valid=TRUE; } + if(valid==FALSE) if(!isupper(ntn[country].mark)) { + printf("\nNot an uppercase character"); + valid=TRUE; + } if(valid==TRUE){ printf("\nplease reenter new national mark for maps:"); printf("\n (this can be any uppercase character)"); *************** *** 977,982 return(2); case 9: printf("\ndragons have the magical MAJOR MONSTER power automatically"); ntn[country].powers|=AV_MONST; x=AV_MONST; CHGMGK; --- 983,991 ----- return(2); case 9: printf("\ndragons have the magical MAJOR MONSTER power automatically"); + ntn[country].powers|=MI_MONST; + x=MI_MONST; + CHGMGK; ntn[country].powers|=AV_MONST; x=AV_MONST; CHGMGK; *** olddisplay.c Wed Jul 13 09:55:53 1988 --- display.c Wed Jul 13 09:56:16 1988 *** oldmain.c Wed Jul 13 09:56:05 1988 --- main.c Wed Jul 13 09:56:16 1988 *************** *** 207,212 exit(FAIL); } execute(); if(ntn[country].capx>15) { xcurs=15; xoffset= (ntn[country].capx-15); --- 207,215 ----- exit(FAIL); } execute(); + #ifdef TRADE + uptrade(); + #endif TRADE if(ntn[country].capx>15) { xcurs=15; xoffset= (ntn[country].capx-15); *************** *** 469,474 diploscrn(); redraw=TRUE; break; case '9': case 'u': /*move north-east*/ pager=0; --- 472,483 ----- diploscrn(); redraw=TRUE; break; + #ifdef TRADE + case 'T': /*go to commerce section*/ + trade(); + redraw=TRUE; + break; + #endif TRADE case '9': case 'u': /*move north-east*/ pager=0; *************** *** 673,679 found=1; } ! if(nfound<4+(pager*5)) for(nvynum=0;nvynum<MAXNAVY;nvynum++){ if(((NWAR+NMER)!=0)&&(NXLOC==XREAL)&&(NYLOC==YREAL)) { if((nfound>=pager*5)&&(nfound<=4+(pager*5))) { /*print a navy*/ --- 682,688 ----- found=1; } ! if(nfound<=4+(pager*5)) for(nvynum=0;nvynum<MAXNAVY;nvynum++){ if(((NWAR+NMER)!=0)&&(NXLOC==XREAL)&&(NYLOC==YREAL)) { if((nfound>=pager*5)&&(nfound<=4+(pager*5))) { /*print a navy*/ *** oldnpc.c Wed Jul 13 09:56:05 1988 --- npc.c Wed Jul 13 09:56:16 1988 *************** *** 730,737 if(ntn[country].jewels > getmgkcost(M_MIL,country)) { ntn[country].jewels-=getmgkcost(M_MIL,country); if((zz=getmagic(M_MIL))!=0){ ! fprintf(fnews,"1.\tnation %s gets combat power number %d\n",ntn[country].name,zz); ! printf("\tnation %s gets combat power number %d\n",ntn[country].name,zz); exenewmgk(zz); } else if((zz=getmagic(M_MIL))!=0){ fprintf(fnews,"1.\tnation %s gets combat power number %d\n",ntn[country].name,zz); --- 730,737 ----- if(ntn[country].jewels > getmgkcost(M_MIL,country)) { ntn[country].jewels-=getmgkcost(M_MIL,country); if((zz=getmagic(M_MIL))!=0){ ! fprintf(fnews,"1.\tnation %s gets combat power number %ld\n",ntn[country].name,zz); ! printf("\tnation %s gets combat power number %ld\n",ntn[country].name,zz); exenewmgk(zz); } else if((zz=getmagic(M_MIL))!=0){ fprintf(fnews,"1.\tnation %s gets combat power number %ld\n",ntn[country].name,zz); *************** *** 734,741 printf("\tnation %s gets combat power number %d\n",ntn[country].name,zz); exenewmgk(zz); } else if((zz=getmagic(M_MIL))!=0){ ! fprintf(fnews,"1.\tnation %s gets combat power number %d\n",ntn[country].name,zz); ! printf("\tnation %s gets combat power number %d\n",ntn[country].name,zz); exenewmgk(zz); } else ntn[country].jewels+=getmgkcost(M_MIL,country); --- 734,741 ----- printf("\tnation %s gets combat power number %ld\n",ntn[country].name,zz); exenewmgk(zz); } else if((zz=getmagic(M_MIL))!=0){ ! fprintf(fnews,"1.\tnation %s gets combat power number %ld\n",ntn[country].name,zz); ! printf("\tnation %s gets combat power number %ld\n",ntn[country].name,zz); exenewmgk(zz); } else ntn[country].jewels+=getmgkcost(M_MIL,country); *************** *** 744,751 if(ntn[country].jewels > getmgkcost(M_CIV,country)) { ntn[country].jewels-=getmgkcost(M_CIV,country); if((zz=getmagic(M_CIV))!=0){ ! fprintf(fnews,"1.\tnation %s gets civilian power number %d\n",ntn[country].name,zz); ! printf("\tnation %s gets civilian power number %d\n",ntn[country].name,zz); exenewmgk(zz); } else if((zz=getmagic(M_CIV))!=0){ --- 744,751 ----- if(ntn[country].jewels > getmgkcost(M_CIV,country)) { ntn[country].jewels-=getmgkcost(M_CIV,country); if((zz=getmagic(M_CIV))!=0){ ! fprintf(fnews,"1.\tnation %s gets civilian power number %ld\n",ntn[country].name,zz); ! printf("\tnation %s gets civilian power number %ld\n",ntn[country].name,zz); exenewmgk(zz); } else if((zz=getmagic(M_CIV))!=0){ *************** *** 749,756 exenewmgk(zz); } else if((zz=getmagic(M_CIV))!=0){ ! fprintf(fnews,"1.\tnation %s gets civilian power number %d\n",ntn[country].name,zz); ! printf("\tnation %s gets civilian power number %d\n",ntn[country].name,zz); exenewmgk(zz); } else ntn[country].jewels+=getmgkcost(M_CIV,country); --- 749,756 ----- exenewmgk(zz); } else if((zz=getmagic(M_CIV))!=0){ ! fprintf(fnews,"1.\tnation %s gets civilian power number %ld\n",ntn[country].name,zz); ! printf("\tnation %s gets civilian power number %ld\n",ntn[country].name,zz); exenewmgk(zz); } else ntn[country].jewels+=getmgkcost(M_CIV,country); *************** *** 796,802 for(y=0;y<MAPY;y++) if(ONMAP) attr[x][y]=1; for(y=ntn[country].capy+NPCTOOFAR;y<MAPY;y++) ! for(x=0;x<MAPY;x++) if(ONMAP) attr[x][y]=1; for(x=0;x<ntn[country].capx-NPCTOOFAR;x++) for(y=0;y<MAPY;y++) if(ONMAP) --- 796,802 ----- for(y=0;y<MAPY;y++) if(ONMAP) attr[x][y]=1; for(y=ntn[country].capy+NPCTOOFAR;y<MAPY;y++) ! for(x=0;x<MAPX;x++) if(ONMAP) attr[x][y]=1; for(x=0;x<ntn[country].capx-NPCTOOFAR;x++) for(y=0;y<MAPY;y++) if(ONMAP) *************** *** 802,808 for(y=0;y<MAPY;y++) if(ONMAP) attr[x][y]=1; for(y=0;y<ntn[country].capy-NPCTOOFAR;y++) ! for(x=0;x<MAPY;x++) if(ONMAP) attr[x][y]=1; } --- 802,808 ----- for(y=0;y<MAPY;y++) if(ONMAP) attr[x][y]=1; for(y=0;y<ntn[country].capy-NPCTOOFAR;y++) ! for(x=0;x<MAPX;x++) if(ONMAP) attr[x][y]=1; } *************** *** 1042,1048 int line; { int armynum; ! for(armynum=0;armynum<MAXARM;armynum++) if(ASOLD<0) { printf("ERROR: line %d army %d nation %s soldier %d\n",line,armynum,ntn[country].name,ASOLD); ASOLD=0; --- 1042,1048 ----- int line; { int armynum; ! for(armynum=0;armynum<MAXARM;armynum++){ if(ASOLD<0) { printf("ERROR: line %d army %d nation %s soldier %d\n",line,armynum,ntn[country].name,ASOLD); ASOLD=0; *************** *** 1049,1054 } if((AXLOC>MAPX)||(AYLOC>MAPY)){ printf("CHECK ERROR: line %d army %d nation %s loc %d %d\n",line,armynum,ntn[country].name,AXLOC,AYLOC); } if(ntn[country].tiron < 0L) printf("ERROR: line %d nation %s iron is %ld\n",line,ntn[country].name,ntn[country].tiron); --- 1049,1056 ----- } if((AXLOC>MAPX)||(AYLOC>MAPY)){ printf("CHECK ERROR: line %d army %d nation %s loc %d %d\n",line,armynum,ntn[country].name,AXLOC,AYLOC); + AXLOC = ntn[country].capx; + AYLOC = ntn[country].capy; } } if(ntn[country].tiron < 0L){ *************** *** 1050,1056 if((AXLOC>MAPX)||(AYLOC>MAPY)){ printf("CHECK ERROR: line %d army %d nation %s loc %d %d\n",line,armynum,ntn[country].name,AXLOC,AYLOC); } ! if(ntn[country].tiron < 0L) printf("ERROR: line %d nation %s iron is %ld\n",line,ntn[country].name,ntn[country].tiron); if(ntn[country].tfood < 0L) printf("ERROR: line %d nation %s food is %ld\n",line,ntn[country].name,ntn[country].tfood); --- 1052,1059 ----- AXLOC = ntn[country].capx; AYLOC = ntn[country].capy; } ! } ! if(ntn[country].tiron < 0L){ printf("ERROR: line %d nation %s iron is %ld\n",line,ntn[country].name,ntn[country].tiron); ntn[country].tiron = 0; } *************** *** 1052,1058 } if(ntn[country].tiron < 0L) printf("ERROR: line %d nation %s iron is %ld\n",line,ntn[country].name,ntn[country].tiron); ! if(ntn[country].tfood < 0L) printf("ERROR: line %d nation %s food is %ld\n",line,ntn[country].name,ntn[country].tfood); if(ntn[country].jewels < 0L) printf("ERROR: line %d nation %s jewels is %ld\n",line,ntn[country].name,ntn[country].jewels); --- 1055,1063 ----- } if(ntn[country].tiron < 0L){ printf("ERROR: line %d nation %s iron is %ld\n",line,ntn[country].name,ntn[country].tiron); ! ntn[country].tiron = 0; ! } ! if(ntn[country].tfood < 0L){ printf("ERROR: line %d nation %s food is %ld\n",line,ntn[country].name,ntn[country].tfood); ntn[country].tfood = 0; } *************** *** 1054,1060 printf("ERROR: line %d nation %s iron is %ld\n",line,ntn[country].name,ntn[country].tiron); if(ntn[country].tfood < 0L) printf("ERROR: line %d nation %s food is %ld\n",line,ntn[country].name,ntn[country].tfood); ! if(ntn[country].jewels < 0L) printf("ERROR: line %d nation %s jewels is %ld\n",line,ntn[country].name,ntn[country].jewels); } #endif DEBUG --- 1059,1067 ----- } if(ntn[country].tfood < 0L){ printf("ERROR: line %d nation %s food is %ld\n",line,ntn[country].name,ntn[country].tfood); ! ntn[country].tfood = 0; ! } ! if(ntn[country].jewels < 0L){ printf("ERROR: line %d nation %s jewels is %ld\n",line,ntn[country].name,ntn[country].jewels); ntn[country].jewels = 0; } *************** *** 1056,1060 printf("ERROR: line %d nation %s food is %ld\n",line,ntn[country].name,ntn[country].tfood); if(ntn[country].jewels < 0L) printf("ERROR: line %d nation %s jewels is %ld\n",line,ntn[country].name,ntn[country].jewels); } #endif DEBUG --- 1063,1069 ----- } if(ntn[country].jewels < 0L){ printf("ERROR: line %d nation %s jewels is %ld\n",line,ntn[country].name,ntn[country].jewels); + ntn[country].jewels = 0; + } } #endif DEBUG *** oldheader.h Wed Jul 13 09:55:58 1988 --- header.h Wed Jul 13 09:56:16 1988 *************** *** 49,54 #define MAXNAVY 16 /*maximum number of fleets per nation*/ /*THE FOLLOWING SHOULD BE COMMENTED OUT IF YOU DO NOT WANT THE FUNCTION*/ /*#define HIDELOC /*defined if news is not to report sectors*/ #define OGOD /*defined if you wish to enhance god mode*/ /* this gives features like god passwords... */ --- 49,55 ----- #define MAXNAVY 16 /*maximum number of fleets per nation*/ /*THE FOLLOWING SHOULD BE COMMENTED OUT IF YOU DO NOT WANT THE FUNCTION*/ + #define TRADE /*defined to allow commerce between nations*/ /*#define HIDELOC /*defined if news is not to report sectors*/ #define OGOD /*defined if you wish to enhance god mode*/ /* this gives features like god passwords... */ *************** *** 59,65 #define STORMS /* have storms strike fleets */ #define VULCANIZE /* add in volcano eruptions.... */ #define PVULCAN 20 /* % chance of eruption each round (see above)*/ ! /* #define ORCTAKE /* define if want orcs to takeover orc NPCS */ #define TAKEPRICE 500000L /* price for orc takeover (see above) in jewels */ #define PMOUNT 20 /* % of land that is mountains */ #define PSTORM 3 /* % chance that a storm will strike a fleet */ --- 60,66 ----- #define STORMS /* have storms strike fleets */ #define VULCANIZE /* add in volcano eruptions.... */ #define PVULCAN 20 /* % chance of eruption each round (see above)*/ ! #define ORCTAKE /* define if want orcs to takeover orc NPCS */ #define TAKEPRICE 500000L /* price for orc takeover (see above) in jewels */ #define PMOUNT 20 /* % of land that is mountains */ #define PSTORM 3 /* % chance that a storm will strike a fleet */ *************** *** 84,90 #define TAXFOOD 40L #define TAXIRON 60L #define TAXGOLD 70L ! /*City and Capitol tax rates based on people only (no multipleier)*/ #define TAXCAP 1000L #define TAXCITY 750L --- 85,91 ----- #define TAXFOOD 40L #define TAXIRON 60L #define TAXGOLD 70L ! /*Town and Capitol tax rates based on people only (no multiplyer)*/ #define TAXCAP 1000L #define TAXCITY 750L *** olddata.h Wed Jul 13 09:56:08 1988 --- data.h Wed Jul 13 09:56:16 1988 *************** *** 93,99 #define SCOUT 2 /*Scouting--will not engage enemy if possible*/ #define ATTACK 3 /*Attack anybody (Hostile+) within 2 sectors*/ #define DEFEND 4 /*Defend */ ! #define GARRISON 5 /*Garrison--for a city or Capitol */ struct s_sector { --- 93,100 ----- #define SCOUT 2 /*Scouting--will not engage enemy if possible*/ #define ATTACK 3 /*Attack anybody (Hostile+) within 2 sectors*/ #define DEFEND 4 /*Defend */ ! #define GARRISON 5 /*Garrison--for a town or Capitol */ ! #define TRADED 6 /*Indicates an army that has been traded*/ struct s_sector { *************** *** 400,405 extern char *helpfile; extern char *newsfile; extern char *isonfile; #define abrt() { \ fprintf(stderr,"\nSerious Error (File %s, Line %d) - Aborting\n",__FILE__,__LINE__); \ --- 401,409 ----- extern char *helpfile; extern char *newsfile; extern char *isonfile; + #ifdef TRADE + extern char *tradefile; + #endif TRADE #define abrt() { \ fprintf(stderr,"\nSerious Error (File %s, Line %d) - Aborting\n",__FILE__,__LINE__); \ *************** *** 421,426 extern void readdata(),redesignate(),redomil(),reduce(),rmessage(),score(); extern void see(),showscore(),update(),updmove(),verifydata(),verify_ntn(); extern void verify_sct(),wmessage(),writedata(),getdstatus(),exit(); extern char *crypt(),*strcpy(),*strncpy(),*strcat(),*strncat(); --- 425,433 ----- extern void readdata(),redesignate(),redomil(),reduce(),rmessage(),score(); extern void see(),showscore(),update(),updmove(),verifydata(),verify_ntn(); extern void verify_sct(),wmessage(),writedata(),getdstatus(),exit(); + #ifdef TRADE + extern void trade(),uptrade(); + #endif TRADE extern char *crypt(),*strcpy(),*strncpy(),*strcat(),*strncat(); *** oldnewlogin.h Wed Jul 13 09:55:59 1988 --- newlogin.h Wed Jul 13 09:56:17 1988 *************** *** 63,67 #define NLREPRO 1 #define NLREPCOST 2 #define NLMOVE 3 ! #define NLDBLCOST 2 #define NLMAGIC 2 --- 63,67 ----- #define NLREPRO 1 #define NLREPCOST 2 #define NLMOVE 3 ! #define NLDBLCOST 1 #define NLMAGIC 2 *** oldnations Wed Jul 13 09:55:56 1988 --- nations Wed Jul 13 09:56:17 1988 *************** *** 41,47 ######################################################################### anorian elfwizard E A F 30 40 8 70000 1500 8500 8 2 bobland dragon O B F 20 0 6 12000 1500 8000 10 9 - cordoba wizard H C R 10 10 2 30000 1500 8000 8 4 darboth balrog O D R 0 0 7 70000 1500 9500 8 9 edland dragon O E R 20 0 8 12000 1500 8500 10 9 fung elfking E F F 10 40 8 50000 1000 9500 8 2 --- 41,46 ----- ######################################################################### anorian elfwizard E A F 30 40 8 70000 1500 8500 8 2 bobland dragon O B F 20 0 6 12000 1500 8000 10 9 darboth balrog O D R 0 0 7 70000 1500 9500 8 9 edland dragon O E R 20 0 8 12000 1500 8500 10 9 fung elfking E F F 10 40 8 50000 1000 9500 8 2 *************** *** 47,52 fung elfking E F F 10 40 8 50000 1000 9500 8 2 gotho warking H G R 10 10 9 50000 1000 6150 8 4 hargo king H H R 10 10 9 30000 1500 11000 7 4 lint elfwizard E L F 20 30 8 50000 1500 7900 10 2 medal elfpriest E M R 20 0 6 16000 2000 6500 10 9 noria dwarfduke D N R 10 30 6 50000 1000 10000 8 4 --- 46,52 ----- fung elfking E F F 10 40 8 50000 1000 9500 8 2 gotho warking H G R 10 10 9 50000 1000 6150 8 4 hargo king H H R 10 10 9 30000 1500 11000 7 4 + jordoba wizard H J R 10 10 2 30000 1500 8000 8 4 lint elfwizard E L F 20 30 8 50000 1500 7900 10 2 medal elfpriest E M R 20 0 6 16000 2000 6500 10 9 noria dwarfduke D N R 10 30 6 50000 1000 10000 8 4 *** oldMakefile Wed Jul 13 09:55:55 1988 --- Makefile Wed Jul 13 09:56:17 1988 *************** *** 24,30 # if they do not use the -d option. DEFAULT = /c28/smile/game/default ! CFLAGS = -DDEFAULTDIR=\"$(DEFAULT)\" -O # The following CFLAGS should be used if you wish to debug the game #CFLAGS = -DDEFAULTDIR=\"$(DEFAULT)\" -DDEBUG -g --- 24,30 ----- # if they do not use the -d option. DEFAULT = /c28/smile/game/default ! #CFLAGS = -DDEFAULTDIR=\"$(DEFAULT)\" -O # The following CFLAGS should be used if you wish to debug the game CFLAGS = -DDEFAULTDIR=\"$(DEFAULT)\" -DDEBUG -g *************** *** 26,32 CFLAGS = -DDEFAULTDIR=\"$(DEFAULT)\" -O # The following CFLAGS should be used if you wish to debug the game ! #CFLAGS = -DDEFAULTDIR=\"$(DEFAULT)\" -DDEBUG -g # this is the name of the user executable # the user executable contains commands for the games players --- 26,32 ----- #CFLAGS = -DDEFAULTDIR=\"$(DEFAULT)\" -O # The following CFLAGS should be used if you wish to debug the game ! CFLAGS = -DDEFAULTDIR=\"$(DEFAULT)\" -DDEBUG -g # this is the name of the user executable # the user executable contains commands for the games players *************** *** 33,39 GAME = conquer # this is the name of the administrative executable # the administrative executable contains commands for the game super user ! ADMIN = admin # This directory is where the executables will be stored EXEDIR = /c28/smile/game/runv --- 33,39 ----- GAME = conquer # this is the name of the administrative executable # the administrative executable contains commands for the game super user ! ADMIN = cadmin # This directory is where the executables will be stored EXEDIR = /c28/smile/game/runv *************** *** 48,54 # AFILS are files needed for game updating... AFILS = combat.c cexecute.c io.c admin.c makeworld.c \ ! newlogin.c update.c magic.c npc.c misc.c randevent.c data.c AOBJS = combat.o cexecuteA.o ioA.o admin.o makeworld.o \ newlogin.o update.o magicA.o npc.o miscA.o randevent.o dataA.o $(GETOPT) --- 48,54 ----- # AFILS are files needed for game updating... AFILS = combat.c cexecute.c io.c admin.c makeworld.c \ ! newlogin.c update.c magic.c npc.c misc.c randevent.c data.c trade.c AOBJS = combat.o cexecuteA.o ioA.o admin.o makeworld.o \ newlogin.o update.o magicA.o npc.o miscA.o randevent.o dataA.o \ tradeA.o $(GETOPT) *************** *** 50,56 AFILS = combat.c cexecute.c io.c admin.c makeworld.c \ newlogin.c update.c magic.c npc.c misc.c randevent.c data.c AOBJS = combat.o cexecuteA.o ioA.o admin.o makeworld.o \ ! newlogin.o update.o magicA.o npc.o miscA.o randevent.o dataA.o $(GETOPT) # GFILS are files needed to run a normal interactive game GFILS = commands.c cexecute.c forms.c io.c main.c move.c \ --- 50,57 ----- AFILS = combat.c cexecute.c io.c admin.c makeworld.c \ newlogin.c update.c magic.c npc.c misc.c randevent.c data.c trade.c AOBJS = combat.o cexecuteA.o ioA.o admin.o makeworld.o \ ! newlogin.o update.o magicA.o npc.o miscA.o randevent.o dataA.o \ ! tradeA.o $(GETOPT) # GFILS are files needed to run a normal interactive game GFILS = commands.c cexecute.c forms.c io.c main.c move.c \ *************** *** 54,60 # GFILS are files needed to run a normal interactive game GFILS = commands.c cexecute.c forms.c io.c main.c move.c \ ! magic.c misc.c reports.c data.c display.c extcmds.c GOBJS = commands.o cexecute.o forms.o io.o main.o move.o \ magic.o misc.o reports.o data.o display.o extcmds.o $(GETOPT) --- 55,61 ----- # GFILS are files needed to run a normal interactive game GFILS = commands.c cexecute.c forms.c io.c main.c move.c \ ! magic.c misc.c reports.c data.c display.c extcmds.c trade.c GOBJS = commands.o cexecute.o forms.o io.o main.o move.o \ magic.o misc.o reports.o data.o display.o extcmds.o trade.o $(GETOPT) *************** *** 56,62 GFILS = commands.c cexecute.c forms.c io.c main.c move.c \ magic.c misc.c reports.c data.c display.c extcmds.c GOBJS = commands.o cexecute.o forms.o io.o main.o move.o \ ! magic.o misc.o reports.o data.o display.o extcmds.o $(GETOPT) HEADERS=header.h data.h newlogin.h HELPFILE=help.txt --- 57,63 ----- GFILS = commands.c cexecute.c forms.c io.c main.c move.c \ magic.c misc.c reports.c data.c display.c extcmds.c trade.c GOBJS = commands.o cexecute.o forms.o io.o main.o move.o \ ! magic.o misc.o reports.o data.o display.o extcmds.o trade.o $(GETOPT) HEADERS=header.h data.h newlogin.h HELPFILE=help.txt *************** *** 125,130 newhelp cat $(HELPFILE) | sed -f helpscript > $(HELPOUT) $(RM) helpscript cp $(HELPOUT) $(DEFAULT) lint: --- 126,132 ----- newhelp cat $(HELPFILE) | sed -f helpscript > $(HELPOUT) $(RM) helpscript + -mkdir $(DEFAULT) 2>/dev/null cp $(HELPOUT) $(DEFAULT) lint: *************** *** 209,211 $(CC) $(CFLAGS) -DCONQUER -c forms.c commands.o: data.h header.h commands.c $(CC) $(CFLAGS) -DCONQUER -c commands.c --- 211,218 ----- $(CC) $(CFLAGS) -DCONQUER -c forms.c commands.o: data.h header.h commands.c $(CC) $(CFLAGS) -DCONQUER -c commands.c + trade.o: data.h header.h trade.h trade.c + $(CC) $(CFLAGS) -DCONQUER -c trade.c + tradeA.o: data.h header.h trade.h trade.c + $(CC) $(CFLAGS) -DADMIN -c trade.c + mv trade.o tradeA.o *** oldhelp.txt Wed Jul 13 09:55:54 1988 --- help.txt Wed Jul 13 09:56:17 1988 *************** *** 11,17 'b': move south west 'S': diplomacy status 'N': read newspaper 'J': scroll south 'Q': quit (saves changes) 'W': write message 'K': scroll north 'M': magic 'R': read messages ! 'L': scroll east 'C': construct 'H': scroll west 'D': draft 'ESC [1-5]': chg status 'G': go to next army 'ESC +': combine 2 armies 'F': go to next fleet 'ESC -': split army --- 11,17 ----- 'b': move south west 'S': diplomacy status 'N': read newspaper 'J': scroll south 'Q': quit (saves changes) 'W': write message 'K': scroll north 'M': magic 'R': read messages ! 'L': scroll east 'C': construct 'T': trade 'H': scroll west 'D': draft 'ESC [1-5]': chg status 'G': go to next army 'ESC +': combine 2 armies 'F': go to next fleet 'ESC -': split army *************** *** 19,34 END Welcome to Conquer XVERSION ! CONQUER is a multi player computer game designed to run under the UNIX ! operating system. In CONQUER, each player is the leader of a nation, ! composed of people (humans, orcs, elves, dwarves), resources, and land. ! Rulers customize their nation at creation by chosing their race and by giving ! their nation special powers (magic, combat factor, location, speed...) ! and resources (civilians, troops, iron, gold...). Play involves building, ! moving, and controlling armies and navies, diplomacy with other players, ! and adjusting economic activity, which is primarily geared to the production ! of gold for your treasury. Iron is needed, however to build ships & armies, ! and food is needed to prevent revolts and keep people alive. Command line format: conquer [-maxhps -nNAT -dDIR] -h print this help text -n NTN run as nation NTN --- 19,33 ----- END Welcome to Conquer XVERSION ! CONQUER is a multi player computer game designed to run under the UNIX OS. ! In CONQUER, each player is the leader of a nation, composed of people ! (humans, orcs, elves, dwarves), resources, and land. Rulers customize their ! nation at creation by chosing their race and by giving their nation special ! powers (magic, combat factor, location, speed...) and resources (civilians, ! troops, iron, gold...). Play involves building, moving, and controlling ! armies and navies, diplomacy with other players, and economics, which is ! geared to raising of gold for your treasury, iron for ships & armies, jewels, ! and food to prevent revolts and keep people alive. Command line format: conquer [-hs -nNAT -dDIR] -h print this help text *************** *** 30,43 of gold for your treasury. Iron is needed, however to build ships & armies, and food is needed to prevent revolts and keep people alive. ! Command line format: conquer [-maxhps -nNAT -dDIR] ! -h print this help text -n NTN run as nation NTN ! -d DIR run on data in directory DIR -s print out scores ! Command line format: admin [-maxdp] ! -a add new player -m make a world ! -p print a map -x execute program ! -d DIR run on data in directory DIR ! It is suggested that each player set up a shell alias for their game & nation END THE WORLD --- 29,42 ----- geared to raising of gold for your treasury, iron for ships & armies, jewels, and food to prevent revolts and keep people alive. ! Command line format: conquer [-hs -nNAT -dDIR] ! -h print this help text ! -s print out scores ! -n NTN run as nation NTN ! -d DIR run on data in directory DIR ! ! Each player should set up a shell alias to run their nation. The Game ! Administrator should read other documentation on using the admin command. END THE WORLD *************** *** 136,141 'N': newspaper: Briefs you on world happenings. Note: News has 4 pages. 'P': production: ESTIMATE your nations production statistics 'S': diplomacy: Allow you to see and alter your diplomatic status. 'Q': quit: Save your move and quit the game. Note there is no means supported to quit without saving your moves. 'R': read mail: Read mail messages --- 135,141 ----- 'N': newspaper: Briefs you on world happenings. Note: News has 4 pages. 'P': production: ESTIMATE your nations production statistics 'S': diplomacy: Allow you to see and alter your diplomatic status. + 'T': commerce: Allow you to trade with other nations. 'Q': quit: Save your move and quit the game. Note there is no means supported to quit without saving your moves. 'R': read mail: Read mail messages *************** *** 315,322 SHIPS AND SHIP COSTS crew build cost maintain cost capacity ! Warship 50 XWARSHPCOST XSHIPMAINT 0 ! Merchant 50 XMERSHPCOST XSHIPMAINT XSHIPCP Ships will now have crews - which, in addition to being drafted upon construction, represent the ships current level of damage and are replaced, --- 315,322 ----- SHIPS AND SHIP COSTS crew build cost maintain cost capacity ! Warship XSHIPCREW XWARSHPCOST XSHIPMAINT 0 ! Merchant XSHIPCREW XMERSHPCOST XSHIPMAINT XSHIPCP Ships will now have crews - which, in addition to being drafted upon construction, represent the ships current level of damage and are replaced, *************** *** 332,337 10 and all their remaining points points for non harbor coastlands. Naval combat has not been adequately play tested, and Sailor units dont work. END MAGIC POWERS Magic powers differentiate your nation from all the other nations in the world. There are three types of powers - truely MAGICAL powers, which --- 332,355 ----- 10 and all their remaining points points for non harbor coastlands. Naval combat has not been adequately play tested, and Sailor units dont work. END + COMMERCE AND TRADING + + Trading makes it be possible to exchange items between nations. + + There are seven types of items available for trade: gold, food, iron, + jewels, land, soldiers, and ships. To place an item up for trade, + the player need only select the sell option on the commerce board. The + player will then enter the type and amount of his product followed by the + type and minimum amount of what he wants in return. The product will + remain on the commerce board until it is purchased or removed by the + owner of the product. To purchase an item, a player can just select the + item number to purchase and then enter a bid amount. You may only trade + mercenary, seige engine, catapult, (summoned) monster, or elephant units. + + During every update, bids will be resolved and the highest bid for a + product will receive the product. There is a 20% administration fee + for a trade (i.e. 20% of the traded goods on each side disappear) + END MAGIC POWERS Magic powers differentiate your nation from all the other nations in the world. There are three types of powers - truely MAGICAL powers, which *************** *** 454,459 THE NEXT PAGE IS THE COMBAT RESULTS TABLE basically the attacker wants a high roll and the defender wants low. END 6-1 5-1 4-1 3-1 2-1 3-2 5-4 1-1 4-5 2-3 1-2 1-3 1-4 1-5 1-6 <--010 20% 40% 50% 60% 70% 80% 90% 100%100%100%110%120%120%130%130% --- 472,481 ----- THE NEXT PAGE IS THE COMBAT RESULTS TABLE basically the attacker wants a high roll and the defender wants low. + The table is based on a roll between 0 and 200 (it does NOT use true + percentages). The number given is the percent loss, which is modified + by the armies attack or defensive bonus. Retreats are based on the + relative losses taken by a given side. END 6-1 5-1 4-1 3-1 2-1 3-2 5-4 1-1 4-5 2-3 1-2 1-3 1-4 1-5 1-6 <--010 20% 40% 50% 60% 70% 80% 90% 100%100%100%110%120%120%130%130% *************** *** 526,532 Storms XSTORMS Volcanos XVULCANIZE Npc Nations XNPC PC Automove XCMOVE Random Events XRANEVENT Orc Takeovers XORCTAKE ! Super God XOGOD END ADDITIONAL OPTIONS --- 548,555 ----- Storms XSTORMS Volcanos XVULCANIZE Npc Nations XNPC PC Automove XCMOVE Random Events XRANEVENT Orc Takeovers XORCTAKE ! Super God XOGOD Hidden News XHIDELOC ! Trading XTRADE END ADDITIONAL OPTIONS *** oldREADME Wed Jul 13 09:55:50 1988 --- README Wed Jul 13 09:56:17 1988 *** oldrun Wed Jul 13 09:56:00 1988 --- run Wed Jul 13 09:56:17 1988
jfh@rpp386.UUCP (John F. Haugh II) (07/15/88)
posting patches to the bugs newgroup is a fantastic idea on the shortterm side. however, in order to insure the patches are archived for future reference, it is best to send them in to the moderator. the c.s.games moderator does a fantastic job of keeping things organized and if you will help him out by sending him the patches i'm sure future generations will be able to find what they need as easily as we can. - john. -- John F. Haugh II +--------- Cute Chocolate Quote --------- HASA, "S" Division | "USENET should not be confused with UUCP: killer!rpp386!jfh | something that matters, like CHOCOLATE" DOMAIN: jfh@rpp386.uucp | -- with my apologizes