smile@homxc.UUCP (E.BARLOW) (06/17/88)
Hi again... Conquer version 3 was just posted to the world. Have a small patch below that I decided to post now as it requires recompiliation of the whole code. Lots of new features in the new code (magical monsters, new magic powers...). Hope you have fun with it. As with previous versions, I dont know where discussion of the game should go, so I am cross posting to rec.games.empire (after all, conquer is kind of like empire). Hope the empire purists dont get too annoyed. If you want to be on a mailing list, send your email address to {ihnp4,mtune}!homxc!smile. Enjoy The Ed XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX *** oldcexecute.c Fri Jun 17 09:40:20 1988 --- cexecute.c Fri Jun 17 09:40:39 1988 *************** *** 83,88 ntn[country].nvy[armynum].xloc=x; ntn[country].nvy[armynum].yloc=y; break; case XNASHP: /*nadjshp*/ ntn[country].nvy[armynum].merchant=x; ntn[country].nvy[armynum].warships=y; --- 83,92 ----- ntn[country].nvy[armynum].xloc=x; ntn[country].nvy[armynum].yloc=y; break; + case XNACREW: + ntn[country].nvy[armynum].crew=x; + ntn[country].nvy[armynum].armynum=y; + break; case XNASHP: /*nadjshp*/ ntn[country].nvy[armynum].merchant=x; ntn[country].nvy[armynum].warships=y; *** oldcommands.c Fri Jun 17 09:40:09 1988 --- commands.c Fri Jun 17 09:40:41 1988 *************** *** 345,351 return; } ! if( sct[XREAL][YREAL].people < (wnumber+mnumber) * mnumber ){ errormsg("NOT ENOUGH CIVILIANS IN SECTOR"); if(isgod==TRUE) country=0; return; --- 345,351 ----- return; } ! if( sct[XREAL][YREAL].people < (wnumber+mnumber) * SHIPCREW ){ errormsg("NOT ENOUGH CIVILIANS IN SECTOR"); if(isgod==TRUE) country=0; return; *************** *** 353,360 if((nvynum>=0)&&(nvynum<MAXNAVY)) { clear_bottom(0); - mvprintw(LINES-4,0,"constructing %hd warships and %hd merchant",wnumber,mnumber); - NCREW += (wnumber+mnumber) * SHIPCREW; sct[XREAL][YREAL].people -= (wnumber+mnumber)*SHIPCREW; --- 353,358 ----- if((nvynum>=0)&&(nvynum<MAXNAVY)) { clear_bottom(0); NCREW += (wnumber+mnumber) * SHIPCREW; mvprintw(LINES-4,0,"constructing %hd warships and %hd merchants (crew now %d)",wnumber,mnumber,NCREW); *************** *** 356,361 mvprintw(LINES-4,0,"constructing %hd warships and %hd merchant",wnumber,mnumber); NCREW += (wnumber+mnumber) * SHIPCREW; sct[XREAL][YREAL].people -= (wnumber+mnumber)*SHIPCREW; ntn[country].tgold -= cost; --- 354,361 ----- if((nvynum>=0)&&(nvynum<MAXNAVY)) { clear_bottom(0); NCREW += (wnumber+mnumber) * SHIPCREW; + mvprintw(LINES-4,0,"constructing %hd warships and %hd merchants (crew now %d)",wnumber,mnumber,NCREW); + sct[XREAL][YREAL].people -= (wnumber+mnumber)*SHIPCREW; ntn[country].tgold -= cost; *************** *** 365,370 NWAR+=wnumber; NMER+=mnumber; NMOVE=0; NADJSHP; NADJLOC; NADJMOV; --- 365,372 ----- NWAR+=wnumber; NMER+=mnumber; NMOVE=0; + SADJCIV; + NADJCRW; NADJSHP; NADJLOC; NADJMOV; *** oldmain.c Fri Jun 17 09:40:18 1988 --- main.c Fri Jun 17 09:41:05 1988 *************** *** 679,686 /*print a navy*/ mvaddch((nfound%5)*2,COLS-21,'>'); if(selector==(nfound%5)*2) standout(); ! mvprintw((nfound%5)*2,COLS-20,"navy %d: move %d",nvynum,NMOVE); ! mvprintw((nfound%5)*2+1,COLS-20," war:%d mer:%d",NWAR,NMER); standend(); } nfound++; --- 679,686 ----- /*print a navy*/ mvaddch((nfound%5)*2,COLS-21,'>'); if(selector==(nfound%5)*2) standout(); ! mvprintw((nfound%5)*2,COLS-20,"nvy %d: war:%d mv:%d",nvynum,NWAR,NMOVE); ! mvprintw((nfound%5)*2+1,COLS-20," mer %d crew %d",NMER,NCREW); standend(); } nfound++; *** oldnpc.c Fri Jun 17 09:40:08 1988 --- npc.c Fri Jun 17 09:41:05 1988 *************** *** 254,259 } ntn[country].tmil -= militia; /*make sure enough men in army 0 -- garrison duty in capitol*/ armynum=0; ASTAT=GARRISON; --- 254,262 ----- } ntn[country].tmil -= militia; + for(armynum=1;armynum<MAXARM;armynum++) + if((ASOLD>0)&&(ATYPE==A_INFANTRY)) ASTAT = DEFEND; + /*make sure enough men in army 0 -- garrison duty in capitol*/ armynum=0; ASTAT=GARRISON; *************** *** 441,447 &&(i!=armynum)&&(free==0)){ free=1; ntn[country].arm[i].sold += ASOLD; - ntn[country].arm[i].unittyp=A_INFANTRY; ASOLD=0; } } --- 444,449 ----- &&(i!=armynum)&&(free==0)){ free=1; ntn[country].arm[i].sold += ASOLD; ASOLD=0; } } *************** *** 485,491 } if(free==FALSE) { /* draft a new militia army */ for(armynum=0;armynum<MAXARM;armynum++) if(ASOLD==0){ - ATYPE=A_MILITIA; AXLOC=x; AYLOC=y; free=TRUE; --- 487,492 ----- } if(free==FALSE) { /* draft a new militia army */ for(armynum=0;armynum<MAXARM;armynum++) if(ASOLD==0){ AXLOC=x; AYLOC=y; free=TRUE; *************** *** 506,511 } } ASOLD+=ideal; ASTAT=GARRISON; #ifdef DEBUG if(ATYPE!=A_MILITIA) printf("ERROR - NOT MILITIA\n"); --- 507,513 ----- } } ASOLD+=ideal; + ATYPE=A_MILITIA; ASTAT=GARRISON; #ifdef DEBUG printf("\tadding %d troops to %s army %d (now %d men - populace %d)\n",ideal,unittype[ATYPE],armynum,ASOLD,sct[x][y].people); *************** *** 508,514 ASOLD+=ideal; ASTAT=GARRISON; #ifdef DEBUG - if(ATYPE!=A_MILITIA) printf("ERROR - NOT MILITIA\n"); printf("\tadding %d troops to %s army %d (now %d men - populace %d)\n",ideal,unittype[ATYPE],armynum,ASOLD,sct[x][y].people); #endif DEBUG } --- 510,515 ----- ATYPE=A_MILITIA; ASTAT=GARRISON; #ifdef DEBUG printf("\tadding %d troops to %s army %d (now %d men - populace %d)\n",ideal,unittype[ATYPE],armynum,ASOLD,sct[x][y].people); #endif DEBUG } *** olddata.h Fri Jun 17 09:40:13 1988 --- data.h Fri Jun 17 09:41:05 1988 *************** *** 252,257 #define XALOC 4 #define XNLOC 5 #define XNASHP 6 #define XECNAME 8 #define XECPAS 9 #define EDSPL 10 --- 252,258 ----- #define XALOC 4 #define XNLOC 5 #define XNASHP 6 + #define XNACREW 7 #define XECNAME 8 #define XECPAS 9 #define EDSPL 10 *************** *** 276,281 #define I_DPLUS fprintf(fexe,"INC_DPLUS \t%d \t%hd \t0 \t0 \t0 \t%s\n",INCDPLUS,country,"null") #define AADJSTAT fprintf(fexe,"A_STAT \t%d \t%hd \t%d \t%d \t0 \t%s\n",XASTAT,country,armynum,ntn[country].arm[armynum].stat,"null") #define AADJMEN fprintf(fexe,"L_ADJMEN \t%d \t%hd \t%d \t%d \t%d \t%s\n",XAMEN ,country,armynum,ASOLD,ATYPE,"null") #define NADJSHP fprintf(fexe,"N_ASHP \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNASHP ,country,nvynum,ntn[country].nvy[nvynum].merchant,ntn[country].nvy[nvynum].warships,"null" ) #define AADJLOC fprintf(fexe,"A_LOC \t%d \t%hd \t%d \t%d \t%d \t%s\n",XALOC ,country,armynum,ntn[country].arm[armynum].xloc,ntn[country].arm[armynum].yloc,"null") #define NADJLOC fprintf(fexe,"N_LOC \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNLOC ,country,nvynum,ntn[country].nvy[nvynum].xloc,ntn[country].nvy[nvynum].yloc ,"null") --- 277,283 ----- #define I_DPLUS fprintf(fexe,"INC_DPLUS \t%d \t%hd \t0 \t0 \t0 \t%s\n",INCDPLUS,country,"null") #define AADJSTAT fprintf(fexe,"A_STAT \t%d \t%hd \t%d \t%d \t0 \t%s\n",XASTAT,country,armynum,ntn[country].arm[armynum].stat,"null") #define AADJMEN fprintf(fexe,"L_ADJMEN \t%d \t%hd \t%d \t%d \t%d \t%s\n",XAMEN ,country,armynum,ASOLD,ATYPE,"null") + #define NADJCRW fprintf(fexe,"N_ASHP \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNACREW,country,nvynum,ntn[country].nvy[nvynum].crew,ntn[country].nvy[nvynum].armynum,"null" ) #define NADJSHP fprintf(fexe,"N_ASHP \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNASHP ,country,nvynum,ntn[country].nvy[nvynum].merchant,ntn[country].nvy[nvynum].warships,"null" ) #define AADJLOC fprintf(fexe,"A_LOC \t%d \t%hd \t%d \t%d \t%d \t%s\n",XALOC ,country,armynum,ntn[country].arm[armynum].xloc,ntn[country].arm[armynum].yloc,"null") #define NADJLOC fprintf(fexe,"N_LOC \t%d \t%hd \t%d \t%d \t%d \t%s\n",XNLOC ,country,nvynum,ntn[country].nvy[nvynum].xloc,ntn[country].nvy[nvynum].yloc ,"null")