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")