home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / games / volume6 / conquer4 / patch11b < prev    next >
Internet Message Format  |  1992-08-31  |  53KB

  1. Path: uunet!uunet!zephyr.ens.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v14i002:  conquer4 - middle earth multi-player game (V4), Patch11b
  5. Message-ID: <3290@master.CNA.TEK.COM>
  6. Date: 3 Aug 92 18:35:38 GMT
  7. Sender: news@master.CNA.TEK.COM
  8. Lines: 1744
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: adb@cs.bu.edu
  12. Posting-number: Volume 14, Issue 2
  13. Archive-name: conquer4/Patch11b
  14. Patch-To: conquer4: Volume 6, Issue 83-96
  15. Environment: 
  16.  
  17.  
  18. #!/bin/sh
  19. # this is Part.02 (part 2 of a multipart archive)
  20. # do not concatenate these parts, unpack them in order with /bin/sh
  21. # file patches11 continued
  22. #
  23. if test ! -r _shar_seq_.tmp; then
  24.     echo 'Please unpack part 1 first!'
  25.     exit 1
  26. fi
  27. (read Scheck
  28.  if test "$Scheck" != 2; then
  29.     echo Please unpack part "$Scheck" next!
  30.     exit 1
  31.  else
  32.     exit 0
  33.  fi
  34. ) < _shar_seq_.tmp || exit 1
  35. if test -f _shar_wnt_.tmp; then
  36. sed 's/^X//' << 'SHAR_EOF' >> 'patches11' &&
  37. X      int choice, direct;
  38. X      int valid=TRUE;  /*valid==FALSE means continue loop*/
  39. X      int temp,ypos,xpos;
  40. --- 343,354 ----
  41. X  }
  42. X  
  43. X  void
  44. ! newlogin(realuser)
  45. !   int realuser;
  46. X  {
  47. X      /* use points to create empire, add if late starter*/
  48. X      int points, clr;
  49. +     int pccount;
  50. X      int choice, direct;
  51. X      int valid=TRUE;  /*valid==FALSE means continue loop*/
  52. X      int temp,ypos,xpos;
  53. ***************
  54. *** 360,377 ****
  55. X  
  56. X      /*find valid nation number type*/
  57. X      country=0;
  58. !     for(i=1;i<NTOTAL;i++) if(ntn[i].active==INACTIVE) {
  59. !         country=i;
  60. !         curntn = &ntn[country];
  61. !         break;
  62. !     }
  63. X  
  64. X      while(more==TRUE) {
  65. X          clear();
  66. X  
  67. X          sprintf(tempc,"Country #%d", country);
  68. X          errorbar("Nation Builder",tempc);
  69. !         if(country==0) {
  70. X              newerror("No more nations available");
  71. X              newreset();
  72. X              return;
  73. --- 363,399 ----
  74. X  
  75. X      /*find valid nation number type*/
  76. X      country=0;
  77. !         pccount=0;
  78. !     for(i=1;i<NTOTAL;i++) 
  79. !         if(ntn[i].active==INACTIVE) 
  80. !         {
  81. !             country=i;
  82. !             curntn = &ntn[country];
  83. !             break;
  84. !         }
  85. !         else
  86. !         {
  87. ! #ifdef CHECKUSER
  88. !             if ((ntn[i].uid == realuser) &&
  89. !                 (ntn[0].uid != realuser))
  90. !             {
  91. !                newerror ("You may only have one nation in this world.");
  92. !                newreset();
  93. !                return;
  94. !             }
  95. ! #endif
  96. !             pccount++;
  97. !         }
  98. X  
  99. + #ifdef MONSTER
  100. +     pccount = pccount + 4;    /* space taken by monster nations */
  101. + #endif
  102. X      while(more==TRUE) {
  103. X          clear();
  104. X  
  105. X          sprintf(tempc,"Country #%d", country);
  106. X          errorbar("Nation Builder",tempc);
  107. !         if((country==0)||(pccount+1>=NTOTAL-REVSPACE)) {
  108. X              newerror("No more nations available");
  109. X              newreset();
  110. X              return;
  111. ***************
  112. *** 862,873 ****
  113. --- 884,900 ----
  114. X              place(-1,-1);
  115. X              newerror("Ok, Your Nation has been Added to the World");
  116. X              att_setup(country);    /* setup values ntn attributes */
  117. + #ifdef CHECKUSER
  118. +             curntn->uid = realuser;
  119. + #endif
  120. X              fclose(fexe);
  121. +             pccount++;
  122. X              sprintf(tempc,"NOTICE: Nation %s added to world on turn %d\n",curntn->name,TURN);
  123. X              mailtopc(tempc);
  124. X              /* cannot clear until after placement and initializing */
  125. X              curntn->powers=0;
  126. X          }
  127. + #ifndef CHECKUSER
  128. X          country=0;
  129. X          for(i=1;i<NTOTAL;i++) if (ntn[i].active==INACTIVE) {
  130. X              country = i;
  131. ***************
  132. *** 874,880 ****
  133. X              curntn = &ntn[country];
  134. X              break;
  135. X          }
  136. !         if (country!=0) {
  137. X              newmsg("Do you wish to Add another Nation? [ny]");
  138. X              if (getch()!='y') more = FALSE;
  139. X              else more = TRUE;
  140. --- 901,907 ----
  141. X              curntn = &ntn[country];
  142. X              break;
  143. X          }
  144. !         if ((country!=0)&&(pccount+1>=NTOTAL-REVSPACE)) {
  145. X              newmsg("Do you wish to Add another Nation? [ny]");
  146. X              if (getch()!='y') more = FALSE;
  147. X              else more = TRUE;
  148. ***************
  149. *** 882,887 ****
  150. --- 909,917 ----
  151. X              more = FALSE;
  152. X              newerror("No More Available Nations");
  153. X          }
  154. + #else
  155. +         more = FALSE;
  156. + #endif
  157. X      }
  158. X      newreset();
  159. X      att_base();    /* calculate base nation attributes */
  160. diff -cr ../oldconq4/notes.v4 ./notes.v4
  161. *** ../oldconq4/notes.v4    Thu Jul  9 19:29:32 1992
  162. --- ./notes.v4    Thu Jul  9 18:38:45 1992
  163. ***************
  164. *** 391,396 ****
  165. --- 391,422 ----
  166. X  324. put a 500 men cap on the amount needed to capture a sector.
  167. X  325. added in a query as to how much purchase should be made from God trades.
  168. X  326. made sure to close the commerce file before removing it.
  169. + ===4.0 patch number ten released => 4.11 ==(spide)====================
  170. + WARNING:  This patch may require re-creation of any worlds from scratch
  171. +           (not compatible with worlds created under 4.10 if CHECKUSER set)
  172. +     -spide (mcy1580@ultb.isc.rit.edu)
  173. + 327. added LASTADD 
  174. +     o the last turn that players may add w/o the god password
  175. + 328. added CHECKUSER to enable uid locking on nations
  176. +     o checks the uid of the player against the one who 
  177. +       created the nation - to prevent a player from creating
  178. +       two nations and using one to take over another.
  179. + 329. added USERLOG to turn on logging of game/nation usage
  180. +     o sorta useful info - creates a .userlog file
  181. + 330. added MASK/umask in admin.c to allow group read/write as well
  182. +     o so people in same group (games) could look at files
  183. + 331. added REVSPACE to be able to leave room in nation list for revolts
  184. +     o allow space in nation list for revolts - to discourage
  185. +       players from setting take rate to 20% when no room for 
  186. +       revolts - leaves room at the beginning of game for them.
  187. + 332. modified spell sector effect to be 1 pt / 1000 people as documented
  188. +     o something we wanted
  189. + 333. added -l (-ngod) option so god can list owners of nations (CHECKUSER)
  190. +      added -u (-nNATION) option so god can modify owner of nations (CHECKUSER)
  191. +     o necesary tools to go w/ CHECKUSER
  192. +     o requires/uses god password
  193. + 334. made the CHECKUSER option change data structure only if enabled.
  194. + 335. changed all "#endif FOO" statements to "#endif /* FOO */".
  195. X  
  196. X  -------------------------------------------------------------------------
  197. X  | 2.0 POSSIBLE SHORT-TERM ENHANCEMENTS/FIXES FOR CONQUER V5             |
  198. ***************
  199. *** 1209,1212 ****
  200. X  415) cleaned up location adding in newlogin.c  
  201. X  416) can now go to war with peasants.
  202. X  417) added revolt percent chance to change screen
  203. --- 1235,1237 ----
  204. diff -cr ../oldconq4/npc.c ./npc.c
  205. *** ../oldconq4/npc.c    Thu Jul  9 19:26:29 1992
  206. --- ./npc.c    Thu Jul  9 18:21:21 1992
  207. ***************
  208. *** 86,92 ****
  209. X          }
  210. X          printf("\n");
  211. X      }
  212. ! #endif DEBUG
  213. X  }
  214. X  
  215. X  /*newdip() diplomacy if unmet - ntn 1 is nation you are updating*/
  216. --- 86,92 ----
  217. X          }
  218. X          printf("\n");
  219. X      }
  220. ! #endif /* DEBUG */
  221. X  }
  222. X  
  223. X  /*newdip() diplomacy if unmet - ntn 1 is nation you are updating*/
  224. ***************
  225. *** 170,176 ****
  226. X      
  227. X  #ifdef DEBUG
  228. X      printf("monsters: need %d have %d\n",neededtroops,actualtroops);
  229. ! #endif DEBUG
  230. X  
  231. X      neededtroops= neededtroops-actualtroops;
  232. X  
  233. --- 170,176 ----
  234. X      
  235. X  #ifdef DEBUG
  236. X      printf("monsters: need %d have %d\n",neededtroops,actualtroops);
  237. ! #endif /* DEBUG */
  238. X  
  239. X      neededtroops= neededtroops-actualtroops;
  240. X  
  241. ***************
  242. *** 178,184 ****
  243. X          {
  244. X  #ifdef DEBUG
  245. X          printf("\t need %d monster troops\n",neededtroops);
  246. ! #endif 
  247. X          if ( (rand()%8)<5 && nomad_space)
  248. X          {
  249. X          while(!is_habitable((x=(rand()%(MAPX-8))+4),
  250. --- 178,184 ----
  251. X          {
  252. X  #ifdef DEBUG
  253. X          printf("\t need %d monster troops\n",neededtroops);
  254. ! #endif /*  */
  255. X          if ( (rand()%8)<5 && nomad_space)
  256. X          {
  257. X          while(!is_habitable((x=(rand()%(MAPX-8))+4),
  258. ***************
  259. *** 272,278 ****
  260. X                  P_ASOLD=0;
  261. X                  break;
  262. X              }
  263. !             /* nomads cant stay in the same spot */
  264. X              if(( x==P_AXLOC && y==P_AYLOC )
  265. X              ||(!ONMAP(x,y)
  266. X              ||(!is_habitable(x,y))) 
  267. --- 272,278 ----
  268. X                  P_ASOLD=0;
  269. X                  break;
  270. X              }
  271. !             /* nomads cannot stay in the same spot */
  272. X              if(( x==P_AXLOC && y==P_AYLOC )
  273. X              ||(!ONMAP(x,y)
  274. X              ||(!is_habitable(x,y))) 
  275. ***************
  276. *** 384,390 ****
  277. X  #endif /* MORE_MONST */
  278. X      }
  279. X  }
  280. ! #endif MONSTER
  281. X  
  282. X  #ifdef NPC
  283. X  void
  284. --- 384,390 ----
  285. X  #endif /* MORE_MONST */
  286. X      }
  287. X  }
  288. ! #endif /* MONSTER */
  289. X  
  290. X  #ifdef NPC
  291. X  void
  292. ***************
  293. *** 507,513 ****
  294. X              ||(sct[P_AXLOC][P_AYLOC].owner!=country)){
  295. X  #ifdef DEBUG
  296. X                  printf("\teliminating %s army %d as %d %d is des:%c alt:%c own:%d\n",unittype[P_ATYPE],armynum,P_AXLOC,P_AYLOC,sct[P_AXLOC][P_AYLOC].designation,sct[P_AXLOC][P_AYLOC].altitude,sct[P_AXLOC][P_AYLOC].owner);
  297. ! #endif DEBUG
  298. X                  if(sct[P_AXLOC][P_AYLOC].owner == country)
  299. X                      sct[P_AXLOC][P_AYLOC].people+=P_ASOLD;
  300. X                  else sct[curntn->capx][curntn->capy].people+=P_ASOLD;
  301. --- 507,513 ----
  302. X              ||(sct[P_AXLOC][P_AYLOC].owner!=country)){
  303. X  #ifdef DEBUG
  304. X                  printf("\teliminating %s army %d as %d %d is des:%c alt:%c own:%d\n",unittype[P_ATYPE],armynum,P_AXLOC,P_AYLOC,sct[P_AXLOC][P_AYLOC].designation,sct[P_AXLOC][P_AYLOC].altitude,sct[P_AXLOC][P_AYLOC].owner);
  305. ! #endif /* DEBUG */
  306. X                  if(sct[P_AXLOC][P_AYLOC].owner == country)
  307. X                      sct[P_AXLOC][P_AYLOC].people+=P_ASOLD;
  308. X                  else sct[curntn->capx][curntn->capy].people+=P_ASOLD;
  309. ***************
  310. *** 552,558 ****
  311. X      else if(peace==12)
  312. X          printf("\t%s IS AT WAR - garrison in cap is %d, ideal is %ld\n",curntn->name,P_ASOLD,ideal);
  313. X      else printf("error - incap is %d ideal is %ld\n",P_ASOLD,ideal);
  314. ! #endif DEBUG
  315. X  
  316. X      /*MILRATIO ratio mil:civ for non player countries*/
  317. X      /*MILINCAP ratio (mil in cap):mil for NPCs*/
  318. --- 552,558 ----
  319. X      else if(peace==12)
  320. X          printf("\t%s IS AT WAR - garrison in cap is %d, ideal is %ld\n",curntn->name,P_ASOLD,ideal);
  321. X      else printf("error - incap is %d ideal is %ld\n",P_ASOLD,ideal);
  322. ! #endif /* DEBUG */
  323. X  
  324. X      /*MILRATIO ratio mil:civ for non player countries*/
  325. X      /*MILINCAP ratio (mil in cap):mil for NPCs*/
  326. ***************
  327. *** 572,578 ****
  328. X  
  329. X  #ifdef DEBUG
  330. X      printf("\tadding %d men to garrison (too few men on garrison)\n",diff);
  331. ! #endif DEBUG
  332. X  
  333. X      sct[curntn->capx][curntn->capy].people-=diff;
  334. X      P_ASOLD+=diff;
  335. --- 572,578 ----
  336. X  
  337. X  #ifdef DEBUG
  338. X      printf("\tadding %d men to garrison (too few men on garrison)\n",diff);
  339. ! #endif /* DEBUG */
  340. X  
  341. X      sct[curntn->capx][curntn->capy].people-=diff;
  342. X      P_ASOLD+=diff;
  343. ***************
  344. *** 584,590 ****
  345. X      curntn->metals-=(diff* *(u_enmetal + (P_ATYPE%UTYPE)));
  346. X  #ifdef DEBUG
  347. X      if(P_ASOLD < 0L) printf("error 2... P_ASOLD=%d <0\n",P_ASOLD);
  348. ! #endif DEBUG
  349. X      }
  350. X      /*else split garrison army if 1.25* needed number*/
  351. X      else if(P_ASOLD *4L > 5L*ideal){
  352. --- 584,590 ----
  353. X      curntn->metals-=(diff* *(u_enmetal + (P_ATYPE%UTYPE)));
  354. X  #ifdef DEBUG
  355. X      if(P_ASOLD < 0L) printf("error 2... P_ASOLD=%d <0\n",P_ASOLD);
  356. ! #endif /* DEBUG */
  357. X      }
  358. X      /*else split garrison army if 1.25* needed number*/
  359. X      else if(P_ASOLD *4L > 5L*ideal){
  360. ***************
  361. *** 592,603 ****
  362. X          diff=((4L*P_ASOLD)-(5L*ideal))/4L;
  363. X  #ifdef DEBUG
  364. X          printf("\tsplit garrison of %d men\n",diff);
  365. ! #endif DEBUG
  366. X          free=FALSE;
  367. X          P_ASOLD-=diff;
  368. X  #ifdef DEBUG
  369. X          if(P_ASOLD < 0) printf("error... subtracting %d from %d\n",diff,P_ASOLD);
  370. ! #endif DEBUG
  371. X          curntn->tmil-=diff;
  372. X          curntn->tciv+=diff;
  373. X          sct[curntn->capx][curntn->capy].people+=diff;
  374. --- 592,603 ----
  375. X          diff=((4L*P_ASOLD)-(5L*ideal))/4L;
  376. X  #ifdef DEBUG
  377. X          printf("\tsplit garrison of %d men\n",diff);
  378. ! #endif /* DEBUG */
  379. X          free=FALSE;
  380. X          P_ASOLD-=diff;
  381. X  #ifdef DEBUG
  382. X          if(P_ASOLD < 0) printf("error... subtracting %d from %d\n",diff,P_ASOLD);
  383. ! #endif /* DEBUG */
  384. X          curntn->tmil-=diff;
  385. X          curntn->tciv+=diff;
  386. X          sct[curntn->capx][curntn->capy].people+=diff;
  387. ***************
  388. *** 610,616 ****
  389. X  #ifdef DEBUG
  390. X      else printf("\tno action - P_ASOLD (%d) ~= ideal (%d)\n",P_ASOLD,ideal);
  391. X      printf("\tFinal Garrison Army %d (%s) type is %s men is %d\n",armynum,curntn->name,*(unittype+(P_ATYPE)),P_ASOLD);
  392. ! #endif DEBUG
  393. X  
  394. X      /*build ships and/or armies*/
  395. X      done=FALSE;
  396. --- 610,616 ----
  397. X  #ifdef DEBUG
  398. X      else printf("\tno action - P_ASOLD (%d) ~= ideal (%d)\n",P_ASOLD,ideal);
  399. X      printf("\tFinal Garrison Army %d (%s) type is %s men is %d\n",armynum,curntn->name,*(unittype+(P_ATYPE)),P_ASOLD);
  400. ! #endif /* DEBUG */
  401. X  
  402. X      /*build ships and/or armies*/
  403. X      done=FALSE;
  404. ***************
  405. *** 618,624 ****
  406. X      if(curntn->tgold<0) { ideal*=4; ideal/=5; }
  407. X  #ifdef DEBUG
  408. X      printf("\t%s total military is %d -> ideal is %d\n",curntn->name,curntn->tmil,ideal);
  409. ! #endif DEBUG
  410. X      check();
  411. X  
  412. X      /* find leader and place on RULE in capitol */
  413. --- 618,624 ----
  414. X      if(curntn->tgold<0) { ideal*=4; ideal/=5; }
  415. X  #ifdef DEBUG
  416. X      printf("\t%s total military is %d -> ideal is %d\n",curntn->name,curntn->tmil,ideal);
  417. ! #endif /* DEBUG */
  418. X      check();
  419. X  
  420. X      /* find leader and place on RULE in capitol */
  421. ***************
  422. *** 642,648 ****
  423. X      &&( sct[P_AXLOC][P_AYLOC].owner == country )) {
  424. X  #ifdef DEBUG
  425. X          printf("\tadding %d men to weakened army %d\n",TAKESECTOR+20-P_ASOLD,armynum);
  426. ! #endif DEBUG
  427. X          if(magic(country,WARRIOR)==TRUE) /* WARRIOR power */
  428. X          curntn->tgold-=((TAKESECTOR+20-P_ASOLD)*
  429. X              *(u_encost + (P_ATYPE%UTYPE))) / 2;
  430. --- 642,648 ----
  431. X      &&( sct[P_AXLOC][P_AYLOC].owner == country )) {
  432. X  #ifdef DEBUG
  433. X          printf("\tadding %d men to weakened army %d\n",TAKESECTOR+20-P_ASOLD,armynum);
  434. ! #endif /* DEBUG */
  435. X          if(magic(country,WARRIOR)==TRUE) /* WARRIOR power */
  436. X          curntn->tgold-=((TAKESECTOR+20-P_ASOLD)*
  437. X              *(u_encost + (P_ATYPE%UTYPE))) / 2;
  438. ***************
  439. *** 666,672 ****
  440. X              if(P_ASOLD>0){
  441. X  #ifdef DEBUG
  442. X                  printf("\tnot enough soldiers - build new army %d with %d men\n",armynum,P_ASOLD);
  443. ! #endif DEBUG
  444. X                  curntn->metals-=(P_ASOLD* *(u_enmetal + (P_ATYPE%UTYPE)));
  445. X                  P_AXLOC= curntn->capx;
  446. X                  P_AYLOC= curntn->capy;
  447. --- 666,672 ----
  448. X              if(P_ASOLD>0){
  449. X  #ifdef DEBUG
  450. X                  printf("\tnot enough soldiers - build new army %d with %d men\n",armynum,P_ASOLD);
  451. ! #endif /* DEBUG */
  452. X                  curntn->metals-=(P_ASOLD* *(u_enmetal + (P_ATYPE%UTYPE)));
  453. X                  P_AXLOC= curntn->capx;
  454. X                  P_AYLOC= curntn->capy;
  455. ***************
  456. *** 701,707 ****
  457. X                ||(ISCITY(sct[P_AXLOC][P_AYLOC].designation)))){
  458. X  #ifdef DEBUG
  459. X                  printf("\ttoo many soldiers eliminate army %d (%d men)\n",armynum,P_ASOLD);
  460. ! #endif DEBUG
  461. X                  diff-=P_ASOLD;
  462. X                  sct[P_AXLOC][P_AYLOC].people+=P_ASOLD;
  463. X                  curntn->tmil -= P_ASOLD;
  464. --- 701,707 ----
  465. X                ||(ISCITY(sct[P_AXLOC][P_AYLOC].designation)))){
  466. X  #ifdef DEBUG
  467. X                  printf("\ttoo many soldiers eliminate army %d (%d men)\n",armynum,P_ASOLD);
  468. ! #endif /* DEBUG */
  469. X                  diff-=P_ASOLD;
  470. X                  sct[P_AXLOC][P_AYLOC].people+=P_ASOLD;
  471. X                  curntn->tmil -= P_ASOLD;
  472. ***************
  473. *** 714,720 ****
  474. X      check();
  475. X  #ifdef DEBUG
  476. X      printf("\twhew... new tmil is %d\n",curntn->tmil);
  477. ! #endif DEBUG
  478. X  
  479. X      /*resize armies */
  480. X      for(armynum=1;armynum<MAXARM;armynum++) if(P_ATYPE < MINLEADER) {
  481. --- 714,720 ----
  482. X      check();
  483. X  #ifdef DEBUG
  484. X      printf("\twhew... new tmil is %d\n",curntn->tmil);
  485. ! #endif /* DEBUG */
  486. X  
  487. X      /*resize armies */
  488. X      for(armynum=1;armynum<MAXARM;armynum++) if(P_ATYPE < MINLEADER) {
  489. ***************
  490. *** 730,736 ****
  491. X  #ifdef DEBUG
  492. X      printf("\tSplitting %ld troops from army %d forming %s army %d \n"
  493. X          ,P_ASOLD,armynum,unittype[P_ATYPE],i);
  494. ! #endif DEBUG
  495. X                      curntn->arm[i].sold  = P_ASOLD;
  496. X                      curntn->arm[i].unittyp = P_ATYPE;
  497. X                      curntn->arm[i].smove = P_AMOVE;
  498. --- 730,736 ----
  499. X  #ifdef DEBUG
  500. X      printf("\tSplitting %ld troops from army %d forming %s army %d \n"
  501. X          ,P_ASOLD,armynum,unittype[P_ATYPE],i);
  502. ! #endif /* DEBUG */
  503. X                      curntn->arm[i].sold  = P_ASOLD;
  504. X                      curntn->arm[i].unittyp = P_ATYPE;
  505. X                      curntn->arm[i].smove = P_AMOVE;
  506. ***************
  507. *** 758,764 ****
  508. X  #ifdef DEBUG
  509. X      printf("\tMerge %ld men from army %d to make %ld troops in %s army %d \n"
  510. X          ,P_ASOLD,armynum,curntn->arm[i].sold,unittype[P_ATYPE],i);
  511. ! #endif DEBUG
  512. X                      P_ASOLD=0;
  513. X                  }
  514. X  
  515. --- 758,764 ----
  516. X  #ifdef DEBUG
  517. X      printf("\tMerge %ld men from army %d to make %ld troops in %s army %d \n"
  518. X          ,P_ASOLD,armynum,curntn->arm[i].sold,unittype[P_ATYPE],i);
  519. ! #endif /* DEBUG */
  520. X                      P_ASOLD=0;
  521. X                  }
  522. X  
  523. ***************
  524. *** 809,815 ****
  525. X  #ifdef DEBUG
  526. X          printf("\tnow in sector %d,%d\n",x,y);
  527. X          printf("\tadding %ld troops to %s army %d (now %ld men - populace %ld)\n",ideal-P_ASOLD,unittype[P_ATYPE%UTYPE],armynum,ideal,sct[x][y].people);
  528. ! #endif DEBUG
  529. X              P_ASOLD=ideal;
  530. X              P_ASTAT=MILITIA;
  531. X          }
  532. --- 809,815 ----
  533. X  #ifdef DEBUG
  534. X          printf("\tnow in sector %d,%d\n",x,y);
  535. X          printf("\tadding %ld troops to %s army %d (now %ld men - populace %ld)\n",ideal-P_ASOLD,unittype[P_ATYPE%UTYPE],armynum,ideal,sct[x][y].people);
  536. ! #endif /* DEBUG */
  537. X              P_ASOLD=ideal;
  538. X              P_ASTAT=MILITIA;
  539. X          }
  540. ***************
  541. *** 1086,1092 ****
  542. X              }
  543. X          }
  544. X      }
  545. ! #endif SPEW
  546. X      /*move units */
  547. X      /*are they at war with any normal countries*/
  548. X      peace=0;
  549. --- 1086,1092 ----
  550. X              }
  551. X          }
  552. X      }
  553. ! #endif /* SPEW */
  554. X      /*move units */
  555. X      /*are they at war with any normal countries*/
  556. X      peace=0;
  557. ***************
  558. *** 1182,1188 ****
  559. X      for(loop=1;loop<5;loop++) {
  560. X  #ifdef DEBUG
  561. X          printf("\tnpcredes(): country %s gold=%d metal=%d, city=%d hunger=%f\n",curntn->name,goldthresh,metalthresh,citythresh,hunger);
  562. ! #endif DEBUG
  563. X  
  564. X          useful=FALSE;
  565. X          for(x=stx;x<endx;x++) for(y=sty;y<endy;y++)
  566. --- 1182,1188 ----
  567. X      for(loop=1;loop<5;loop++) {
  568. X  #ifdef DEBUG
  569. X          printf("\tnpcredes(): country %s gold=%d metal=%d, city=%d hunger=%f\n",curntn->name,goldthresh,metalthresh,citythresh,hunger);
  570. ! #endif /* DEBUG */
  571. X  
  572. X          useful=FALSE;
  573. X          for(x=stx;x<endx;x++) for(y=sty;y<endy;y++)
  574. ***************
  575. *** 1649,1655 ****
  576. X  
  577. X  #ifdef DEBUG
  578. X      printf("atkattr()\n");
  579. ! #endif DEBUG
  580. X  
  581. X      n_unowned();
  582. X  
  583. --- 1649,1655 ----
  584. X  
  585. X  #ifdef DEBUG
  586. X      printf("atkattr()\n");
  587. ! #endif /* DEBUG */
  588. X  
  589. X      n_unowned();
  590. X  
  591. ***************
  592. *** 1672,1678 ****
  593. X      int nation;
  594. X  #ifdef DEBUG
  595. X      printf("atkattr()\n");
  596. ! #endif DEBUG
  597. X  
  598. X      n_unowned();
  599. X  
  600. --- 1672,1678 ----
  601. X      int nation;
  602. X  #ifdef DEBUG
  603. X      printf("atkattr()\n");
  604. ! #endif /* DEBUG */
  605. X  
  606. X      n_unowned();
  607. X  
  608. ***************
  609. *** 1705,1711 ****
  610. X  {
  611. X  #ifdef DEBUG
  612. X      printf("pceattr()\n");
  613. ! #endif DEBUG
  614. X      n_unowned();
  615. X      n_unowned();
  616. X      n_unowned();
  617. --- 1705,1711 ----
  618. X  {
  619. X  #ifdef DEBUG
  620. X      printf("pceattr()\n");
  621. ! #endif /* DEBUG */
  622. X      n_unowned();
  623. X      n_unowned();
  624. X      n_unowned();
  625. ***************
  626. *** 1713,1716 ****
  627. X      n_toofar();
  628. X      n_survive();
  629. X  }
  630. ! #endif NPC
  631. --- 1713,1716 ----
  632. X      n_toofar();
  633. X      n_survive();
  634. X  }
  635. ! #endif /* NPC */
  636. diff -cr ../oldconq4/oMakefile ./oMakefile
  637. *** ../oldconq4/oMakefile    Thu Jul  9 19:10:44 1992
  638. --- ./oMakefile    Sat Aug 11 13:04:14 1990
  639. ***************
  640. *** 1,11 ****
  641. ! #    conquer: Copyright (c) 1988 by Edward M Barlow
  642. X  #
  643. X  #    BY CHANGING THIS FILE, YOU AGREE TO ABIDE BY THE LIMITATIONS STATED IN
  644. X  #    THE LIMITED USE CONTRACT CONTAINED IN THE FILE "header.h"
  645. X  #
  646. X  MAKE    = /bin/make
  647. X  CC    = /bin/cc
  648. ! RM    = /bin/rm -f
  649. X  
  650. X  #    LN must be "ln -s" if source, data, and default span disks
  651. X  LN    = ln
  652. --- 1,20 ----
  653. ! #    conquer: Copyright (c) 1989 by Edward M Barlow
  654. X  #
  655. X  #    BY CHANGING THIS FILE, YOU AGREE TO ABIDE BY THE LIMITATIONS STATED IN
  656. X  #    THE LIMITED USE CONTRACT CONTAINED IN THE FILE "header.h"
  657. X  #
  658. + #       This makefile has been modified to allow compilation using
  659. + #       a parallelized make program.  It has been used successfully
  660. + #       on an Encore Multimax parallel computer with both 4 and
  661. + #       6 cpus.
  662. + #
  663. + #       It should pose no problems for non parallel makes.
  664. + #
  665. + #       Please report any problems to adb@bucsf.bu.edu
  666. + #
  667. X  MAKE    = /bin/make
  668. X  CC    = /bin/cc
  669. ! RM      = /bin/rm -f
  670. X  
  671. X  #    LN must be "ln -s" if source, data, and default span disks
  672. X  LN    = ln
  673. ***************
  674. *** 12,227 ****
  675. X  CP    = cp
  676. X  NULL    = 2>/dev/null
  677. X  
  678. X  #    This should be installed by whomever you want to own the game.
  679. X  #    I recommend "games" or "root".
  680. X  
  681. X  #if the final link does not compile change to the line below
  682. ! #LIBRARIES = -lcurses -ltermcap
  683. ! LIBRARIES = -lcurses
  684. X  
  685. X  #    this is the name of the user executable
  686. ! #    the user executable contains commands for the games players
  687. ! GAME = conquer
  688. X  #    this is the name of the administrative executable
  689. ! #    the administrative executable contains commands for the game super user
  690. X  ADMIN = conqrun
  691. X  
  692. ! #    This directory is where the executables will be stored
  693. ! #    This would be the equivalent of /usr/games
  694. ! EXEDIR = /c28/smile/game/runv
  695. ! #    GAME IDENTIFICATION
  696. ! #    GAMEID is the game identifier
  697. ! #    DATA is the directory where an individual Conquer game data will be
  698. ! #    stored.  It is the directory you use in the -d option of the game.
  699. ! #    "make new_game" will build a world in that directory.  The current
  700. ! #    game will be automatically executed upon login (no need for -d)
  701. ! #    but if other games are compiled, you need to use -d (ie. the
  702. ! #    game automatically looks at the DATA directory it was compiled with.
  703. X  GAMEID = 1
  704. ! DATA = $(EXEDIR)/lib$(GAMEID)
  705. X  
  706. ! #    The following CFLAGS should be set by a normal user
  707. ! CFLAGS  = -DDEFAULTDIR=\"$(DATA)\" -O -s -DEXEDIR=\"$(EXEDIR)\"
  708. ! #    The following CFLAGS should be used if you wish to debug the game
  709. ! #CFLAGS  = -DDEFAULTDIR=\"$(DATA)\" -DDEBUG -g -DEXEDIR=\"$(EXEDIR)\"
  710. X  
  711. X  # AFILS are files needed for game updating...
  712. ! AFILS = combat.c cexecute.c io.c admin.c makeworl.c  navy.c spew.c \
  713. X  newlogin.c update.c magic.c npc.c misc.c randeven.c data.c trade.c check.c
  714. ! AOBJS = combat.o cexecuteA.o ioA.o admin.o makeworl.o  navyA.o \
  715. X  newlogin.o update.o magicA.o npc.o miscA.o randeven.o dataA.o \
  716. ! tradeA.o check.o $(GETOPT) spew.o
  717. X  
  718. X  # GFILS are files needed to run a normal interactive game
  719. X  GFILS = commands.c cexecute.c forms.c io.c main.c move.c navy.c \
  720. X  magic.c misc.c reports.c data.c display.c extcmds.c trade.c check.c
  721. ! GOBJS = commands.o cexecute.o forms.o io.o main.o move.o navy.o \
  722. ! magic.o misc.o reports.o data.o display.o extcmds.o trade.o check.o $(GETOPT)
  723. X  
  724. ! #txt[0-5] are input help files.  help[0-5] are output
  725. ! HELP0=txt0
  726. ! HELP1=txt1
  727. ! HELP2=txt2
  728. ! HELP3=txt3
  729. ! HELP4=txt4
  730. ! HELP5=txt5
  731. X  HELPOUT=help
  732. X  
  733. X  HEADERS=header.h data.h newlogin.h patchlevel.h
  734. ! HELPFILES= $(HELP0) $(HELP1) $(HELP2) $(HELP3) $(HELP4) $(HELP5)
  735. ! ALLFILS=$(HEADERS) $(AFILS) commands.c forms.c main.c move.c \
  736. ! reports.c display.c extcmds.c $(HELPFILES) nations Makefile README \
  737. ! run man.pag notes.v4 rules sort.c newhelp.c
  738. X  
  739. ! all:    $(ADMIN) $(GAME) helpfile conqsort
  740. X      @echo YAY! make new_game to set up permissions, zero appropriate
  741. !     @echo initial files, move $(GAME) and $(ADMIN) to
  742. X      @echo $(EXEDIR), and set up the world.
  743. !     @echo If a game is in progress, make install will just move $(GAME)
  744. X      @echo and $(ADMIN) to $(EXEDIR).
  745. X      @echo
  746. X  
  747. X  $(ADMIN):    $(AOBJS)
  748. X      @echo phew...
  749. !     @echo if the next command does not compile, you might also need -ltermcap
  750. X      @echo === compiling administrative functions
  751. !     $(CC) -p -o $(ADMIN) $(AOBJS) $(LIBRARIES)
  752. X  
  753. X  $(GAME):    $(GOBJS)
  754. !     @echo phew...
  755. !     @echo if the next command does not compile, you might also need -ltermcap
  756. X      @echo === compiling user interface
  757. !     $(CC) -O -o $(GAME) $(GOBJS) $(LIBRARIES)
  758. X  
  759. ! conqsort:
  760. !     $(CC) -O -oconqsort sort.c
  761. X  
  762. X  clobber:
  763. !     $(RM) *.o core newhelp sed.1 sed.2 lint* \
  764. !         conquer.doc $(GAME) $(ADMIN) $(HELPOUT)[0-5] 2>/dev/null
  765. X  
  766. X  clean:
  767. !     $(RM) *.o core conquer.doc sed.1 sed.2 newhelp $(HELPOUT)[0-5] 2>/dev/null
  768. X  
  769. ! install:  all
  770. !     -$(LN) $(GAME) $(EXEDIR)/$(GAME) $(NULL)
  771. !     -$(LN) $(ADMIN) $(EXEDIR)/$(ADMIN) $(NULL)
  772. !     -$(LN) conqsort $(EXEDIR)/conqsort $(NULL)
  773. !     chmod 4755 $(EXEDIR)/$(GAME)
  774. !     chmod 4750 $(EXEDIR)/$(ADMIN)
  775. !     $(CP) conqsort nations rules $(HELPOUT)? $(DATA) $(NULL)
  776. X  
  777. ! new_game:  all
  778. !     @echo Installing new game in $(EXEDIR)
  779. !     -mkdir $(EXEDIR) 2>/dev/null
  780. X      chmod 755 $(EXEDIR)
  781. !     -$(LN) $(GAME) $(EXEDIR)/$(GAME) $(NULL)
  782. !     -$(LN) $(ADMIN) $(EXEDIR)/$(ADMIN) $(NULL)
  783. !     chmod 4755 $(EXEDIR)/$(GAME)
  784. !     chmod 4750 $(EXEDIR)/$(ADMIN)
  785. !     chmod 0700 run
  786. !     @echo Copying data to library $(DATA)
  787. !     -mkdir $(DATA) 2>/dev/null
  788. !     chmod 751 $(DATA)
  789. X      chmod 0600 nations
  790. !     $(CP) nations rules $(HELPOUT)? $(DATA) $(NULL)
  791. X      @echo now making the world
  792. X      $(EXEDIR)/$(ADMIN) -d$(DATA) -m
  793. X      $(EXEDIR)/$(ADMIN) -d$(DATA) -a
  794. X  
  795. ! helpfile:    $(HELPOUT)0
  796. X      @echo Helpfiles built
  797. X  
  798. ! $(HELPOUT)0:    newhelp $(HELPFILES)
  799. !     @echo Building the help files
  800. X      newhelp
  801. -     cat $(HELP0) | sed -f sed.1 > $(HELPOUT)0
  802. -     cat $(HELP1) | sed -f sed.1 | sed -f sed.2 > $(HELPOUT)1
  803. -     cat $(HELP2) | sed -f sed.1 > $(HELPOUT)2
  804. -     cat $(HELP3) | sed -f sed.1 | sed -f sed.2 > $(HELPOUT)3
  805. -     cat $(HELP4) | sed -f sed.1 > $(HELPOUT)4
  806. -     cat $(HELP5) | sed -f sed.1 > $(HELPOUT)5
  807. -     chmod 0644 $(HELPOUT)[0-5]
  808. -     -$(RM) sed.1 sed.2
  809. X  
  810. X  lint:
  811. !     lint -DDEFAULTDIR=\"$(DATA)\" -DEXEDIR=\"$(EXEDIR)\" -DCONQUER $(GFILS) $(LIBRARIES)> lintg
  812. !     lint -DDEFAULTDIR=\"$(DATA)\" -DEXEDIR=\"$(EXEDIR)\" -DADMIN $(AFILS) $(LIBRARIES) > linta
  813. X  
  814. ! docs:    helpfile conquer.doc
  815. X  
  816. X  conquer.doc:    $(HELPOUT)0 $(HELPOUT)1 $(HELPOUT)2 $(HELPOUT)3 $(HELPOUT)4 $(HELPOUT)5
  817. !     cat $(HELPOUT)?|sed -e "s/^DONE/ /g"|sed -e "s/^END//g" > conquer.doc
  818. X  
  819. ! shar:
  820. X      echo " lines   words chars   FILENAME" > MANIFEST
  821. X      wc $(ALLFILS) >> MANIFEST
  822. !     $(HOME)/src/xshar/xshar -D -c -l64 -oshar -v $(ALLFILS)
  823. X  
  824. ! combat.o:    data.h header.h combat.c
  825. !     $(CC) $(CFLAGS) -DADMIN -c combat.c
  826. ! cexecute.o:    data.h header.h cexecute.c
  827. !     $(CC) $(CFLAGS) -DCONQUER -c cexecute.c
  828. ! io.o:    data.h header.h  io.c
  829. !     $(CC) $(CFLAGS) -DCONQUER -c io.c
  830. ! cexecuteA.o:    data.h header.h cexecute.c
  831. !     $(CC) $(CFLAGS) -DADMIN -c cexecute.c
  832. !     mv cexecute.o cexecuteA.o
  833. ! ioA.o:    data.h header.h  io.c
  834. !     $(CC) $(CFLAGS) -DADMIN -c io.c
  835. !     mv io.o ioA.o
  836. ! admin.o:    data.h header.h admin.c
  837. !     $(CC) $(CFLAGS) -DADMIN -c admin.c
  838. ! makeworl.o:    data.h header.h makeworl.c
  839. !     $(CC) $(CFLAGS) -DADMIN -c makeworl.c
  840. ! newlogin.o:    data.h header.h newlogin.h newlogin.c
  841. !     $(CC) $(CFLAGS) -DADMIN -c newlogin.c
  842. ! update.o:    data.h header.h update.c
  843. !     $(CC) $(CFLAGS) -DADMIN -c update.c
  844. ! magic.o:    data.h header.h magic.c
  845. !     $(CC) $(CFLAGS) -DCONQUER -c magic.c
  846. ! magicA.o:    data.h header.h magic.c
  847. !     $(CC) $(CFLAGS) -DADMIN -c magic.c
  848. !     mv magic.o magicA.o
  849. ! npc.o:    data.h header.h npc.c
  850. !     $(CC) $(CFLAGS) -DADMIN -c npc.c
  851. ! misc.o:    data.h header.h misc.c
  852. !     $(CC) $(CFLAGS) -DCONQUER -c misc.c
  853. ! miscA.o:    data.h header.h misc.c
  854. !     $(CC) $(CFLAGS) -DADMIN -c misc.c
  855. !     mv misc.o miscA.o
  856. ! randeven.o:    data.h header.h randeven.c
  857. !     $(CC) $(CFLAGS) -DADMIN -c randeven.c
  858. ! data.o:    data.h header.h data.c
  859. !     $(CC) $(CFLAGS) -DCONQUER -c data.c
  860. ! dataA.o:    data.h header.h data.c
  861. !     $(CC) $(CFLAGS) -DADMIN -c data.c
  862. !     mv data.o dataA.o
  863. ! display.o:    data.h header.h display.c
  864. !     $(CC) $(CFLAGS) -DCONQUER -c display.c
  865. ! reports.o:    data.h header.h reports.c
  866. !     $(CC) $(CFLAGS) -DCONQUER -c reports.c
  867. ! move.o:    data.h header.h move.c
  868. !     $(CC) $(CFLAGS) -DCONQUER -c move.c
  869. ! main.o:    data.h header.h main.c
  870. !     $(CC) $(CFLAGS) -DCONQUER -c main.c
  871. ! forms.o:    data.h header.h forms.c
  872. !     $(CC) $(CFLAGS) -DCONQUER -c forms.c
  873. ! commands.o:    data.h header.h commands.c
  874. !     $(CC) $(CFLAGS) -DCONQUER -c commands.c
  875. ! check.o:    data.h header.h check.c
  876. !     $(CC) $(CFLAGS) -c check.c
  877. ! trade.o:    data.h header.h trade.c
  878. !     $(CC) $(CFLAGS) -DCONQUER -c trade.c
  879. ! tradeA.o:    data.h header.h trade.c
  880. !     $(CC) $(CFLAGS) -DADMIN -c trade.c
  881. !     mv trade.o tradeA.o
  882. ! navyA.o:    data.h header.h navy.c
  883. !     $(CC) $(CFLAGS) -DADMIN -c navy.c
  884. !     mv navy.o navyA.o
  885. ! navy.o:    data.h header.h trade.c
  886. !     $(CC) $(CFLAGS) -DCONQUER -c navy.c
  887. ! newhelp:    data.o header.h data.h newhelp.c
  888. !     @echo Compiling the help program
  889. !     $(CC) $(CFLAGS) newhelp.c data.o -o newhelp
  890. --- 21,275 ----
  891. X  CP    = cp
  892. X  NULL    = 2>/dev/null
  893. X  
  894. + #    Flags to lint
  895. + LTFLG   = -h -lcurses
  896. + #    Options for shar program, SHARLIM is limit of each shar
  897. + #    file created in kilobytes and SHARNAM is the prefix for
  898. + #    SHARFILE name.
  899. + #    [This is for a public domain shar from USENET, I can send
  900. + #    copies if you wish - adb@bu-cs.bu.edu]
  901. + SHAR    = xshar
  902. + SHARLIM    = 50
  903. + SHARNAM    = shar.
  904. + SHARFLG = -D -c -l$(SHARLIM) -o$(SHARNAM)
  905. X  #    This should be installed by whomever you want to own the game.
  906. X  #    I recommend "games" or "root".
  907. X  
  908. + #    uncomment the next line if you dont have getopt in your library
  909. + #    (eg you are on a pc, or a non unix system).  getopt.c is a
  910. + #    public domain software, and has not been tested by the authors
  911. + #    of conquer.
  912. + #GETOPT    = getopt.o
  913. X  #if the final link does not compile change to the line below
  914. ! LIBRARIES = -lcurses -ltermcap
  915. ! #LIBRARIES = -lcurses
  916. X  
  917. + #    DEFAULT is the directory where default nations & help files will be 
  918. + #    stored.     It is also the default directory = where players will play 
  919. + #    if they do not use the -d option.
  920. + DEFAULT = /usr4/acm/stud/adb/games/conqlib
  921. + #    This directory is where the executables will be stored
  922. + EXEDIR = /usr4/acm/stud/adb/games
  923. + #    Definitions used for compiling conquer
  924. + CDEFS  = -DDEFAULTDIR=\"$(DEFAULT)\" -DEXEDIR=\"$(EXEDIR)\"
  925. + #    Options flag used for non-debugging purposes
  926. + OPTFLG  = -O
  927. + #    Options flag used for debugging purposes
  928. + #    [make sure to comment out 'strip' commands in install section]
  929. + #OPTFLG  = -DDEBUG -g
  930. X  #    this is the name of the user executable
  931. ! #       the user executable contains commands for the games players
  932. ! GAME  = conquer
  933. X  #    this is the name of the administrative executable
  934. ! #       the administrative executable contains commands for the game super user
  935. X  ADMIN = conqrun
  936. + #    this is the name of the sorting program which conquer uses
  937. + SORT  = conqsort
  938. X  
  939. ! #       GAME IDENTIFICATION
  940. ! #    this is the game identifier.  See the DATA variable below
  941. X  GAMEID = 1
  942. ! #    This directory is where individual Conquer game data will be stored.
  943. ! #    As multiple simultaneous games are supported, each game must have its 
  944. ! #    own directory.
  945. ! DATA  = $(DEFAULT)/$(GAMEID)
  946. X  
  947. ! #    Suffixes for conquer files.
  948. ! .SUFFIXES:    A.o G.o
  949. X  
  950. X  # AFILS are files needed for game updating...
  951. ! AFILS = combat.c cexecute.c io.c admin.c makeworl.c navy.c spew.c \
  952. X  newlogin.c update.c magic.c npc.c misc.c randeven.c data.c trade.c check.c
  953. ! AOBJS = combat.o cexecuteA.o ioA.o admin.o makeworl.o navyA.o spew.o \
  954. X  newlogin.o update.o magicA.o npc.o miscA.o randeven.o dataA.o \
  955. ! tradeA.o $(GETOPT) check.o
  956. X  
  957. X  # GFILS are files needed to run a normal interactive game
  958. X  GFILS = commands.c cexecute.c forms.c io.c main.c move.c navy.c \
  959. X  magic.c misc.c reports.c data.c display.c extcmds.c trade.c check.c
  960. ! GOBJS = commands.o cexecuteG.o forms.o ioG.o main.o move.o navyG.o \
  961. ! magicG.o miscG.o reports.o dataG.o display.o extcmds.o tradeG.o \
  962. ! $(GETOPT) check.o
  963. X  
  964. ! #txt[0-4] are input help files.  help[0-4] are output. HELPSCR is sed script.
  965. ! HELP=txt
  966. X  HELPOUT=help
  967. + HELPSCR=sed
  968. X  
  969. X  HEADERS=header.h data.h newlogin.h patchlevel.h
  970. ! SUPT1=nations Makefile $(HELP)[0-5] README run man.page rules
  971. ! SUPT2=execute messages news commerce
  972. ! ALLFILS=$(SUPT1) $(HEADERS) $(AFILS) commands.c forms.c main.c move.c \
  973. ! reports.c display.c extcmds.c newhelp.c sort.c getopt.c
  974. X  
  975. ! all:    $(ADMIN) $(GAME) $(SORT) helpfile
  976. X      @echo YAY! make new_game to set up permissions, zero appropriate
  977. !     @echo initial files, move $(GAME) and $(ADMIN) to 
  978. X      @echo $(EXEDIR), and set up the world.
  979. !     @echo If a game is in progress, make install will just move $(GAME) 
  980. X      @echo and $(ADMIN) to $(EXEDIR).
  981. X      @echo
  982. X  
  983. X  $(ADMIN):    $(AOBJS)
  984. X      @echo phew...
  985. !     @echo if the next command does not work you might also need -ltermcap
  986. X      @echo === compiling administrative functions
  987. !     $(CC) $(OPTFLG) -o $(ADMIN) $(AOBJS) $(LIBRARIES)
  988. ! #    comment out the next line during debugging    
  989. !     strip $(ADMIN)
  990. X  
  991. X  $(GAME):    $(GOBJS)
  992. !     @echo phew... 
  993. !     @echo if the next command does not work you might also need -ltermcap
  994. X      @echo === compiling user interface
  995. !     $(CC) $(OPTFLG) -o $(GAME) $(GOBJS) $(LIBRARIES)
  996. ! #    comment out the next line during debugging
  997. !     strip $(GAME)
  998. X  
  999. ! $(SORT):    sort.c
  1000. !     $(CC) $(OPTFLG) -o $(SORT) sort.c
  1001. ! #    comment out the next line if debugging
  1002. !     strip $(SORT)
  1003. X  
  1004. X  clobber:
  1005. !     $(RM) *.o $(HELPOUT)[0-5] $(SORT) newhelp in$(GAME) in$(SORT) in$(ADMIN) $(HELPSCR).[12] lint[aghs] conquer.doc $(GAME) $(ADMIN) $(NULL)
  1006. X  
  1007. X  clean:
  1008. !     $(RM) *.o lint[aghs] conquer.doc $(NULL)
  1009. X  
  1010. ! in$(GAME):    $(GAME)
  1011. !     -$(RM) $(EXEDIR)/$(GAME)
  1012. !     $(CP) $(GAME) $(EXEDIR)
  1013. !     chmod 4751 $(EXEDIR)/$(GAME)
  1014. !     touch in$(GAME)
  1015. X  
  1016. ! in$(ADMIN):    $(ADMIN)
  1017. !     -$(RM) $(EXEDIR)/$(ADMIN)
  1018. !     $(CP) $(ADMIN) $(EXEDIR)
  1019. !     chmod 4751 $(EXEDIR)/$(ADMIN)
  1020. !     touch in$(ADMIN)
  1021. ! in$(SORT):    $(SORT)
  1022. !     -$(RM) $(EXEDIR)/$(SORT)
  1023. !     $(CP) $(SORT) $(EXEDIR)
  1024. !     chmod 751 $(EXEDIR)/$(SORT)
  1025. !     touch in$(SORT)
  1026. ! install:    in$(GAME) in$(ADMIN) in$(SORT) helpfile
  1027. !     @echo ""
  1028. !     @echo "Installation complete"
  1029. ! new_game:    all
  1030. !     @echo Installing new game
  1031. !     -mkdir $(EXEDIR) $(NULL)
  1032. !     -mkdir $(DATA) $(NULL)
  1033. !     -mkdir $(DEFAULT)  $(NULL)
  1034. X      chmod 755 $(EXEDIR)
  1035. !     chmod 750 $(DATA) $(DEFAULT)
  1036. !     $(CP) $(GAME) $(ADMIN) $(SORT) $(EXEDIR)
  1037. !     chmod 4755 $(EXEDIR)/$(GAME) $(EXEDIR)/$(ADMIN)
  1038. !     chmod 0755 $(EXEDIR)/$(SORT)
  1039. X      chmod 0600 nations
  1040. !     chmod 0700 run
  1041. !     $(CP) nations rules $(DATA)
  1042. !     $(CP) nations rules $(DEFAULT)
  1043. X      @echo now making the world
  1044. X      $(EXEDIR)/$(ADMIN) -d$(DATA) -m
  1045. X      $(EXEDIR)/$(ADMIN) -d$(DATA) -a
  1046. X  
  1047. ! helpfile:    $(HELPOUT)0 $(HELPOUT)1 $(HELPOUT)2 $(HELPOUT)3 $(HELPOUT)4 $(HELPOUT)5
  1048. X      @echo Helpfiles built
  1049. +     touch helpfile
  1050. X  
  1051. ! $(HELPOUT)0:    $(HELP)0 $(HELPSCR).1 $(HELPSCR).2
  1052. !     @echo building $(HELPOUT)0
  1053. !     cat $(HELP)0 | sed -f $(HELPSCR).1 | sed -f $(HELPSCR).2 > $(HELPOUT)0
  1054. !     -$(RM) $(DEFAULT)/$(HELPOUT)0
  1055. !     -$(LN) $(HELPOUT)0 $(DEFAULT)/$(HELPOUT)0
  1056. ! $(HELPOUT)1:    $(HELP)1 $(HELPSCR).1 $(HELPSCR).2
  1057. !     @echo building $(HELPOUT)1
  1058. !     cat $(HELP)1 | sed -f $(HELPSCR).1 | sed -f $(HELPSCR).2 > $(HELPOUT)1
  1059. !     -$(RM) $(DEFAULT)/$(HELPOUT)1
  1060. !     -$(LN) $(HELPOUT)1 $(DEFAULT)/$(HELPOUT)1
  1061. ! $(HELPOUT)2:    $(HELP)2 $(HELPSCR).1 $(HELPSCR).2
  1062. !     @echo building $(HELPOUT)2
  1063. !     cat $(HELP)2 | sed -f $(HELPSCR).1 | sed -f $(HELPSCR).2 > $(HELPOUT)2
  1064. !     -$(RM) $(DEFAULT)/$(HELPOUT)2
  1065. !     -$(LN) $(HELPOUT)2 $(DEFAULT)/$(HELPOUT)2
  1066. ! $(HELPOUT)3:    $(HELP)3 $(HELPSCR).1 $(HELPSCR).2
  1067. !     @echo building $(HELPOUT)3
  1068. !     cat $(HELP)3 | sed -f $(HELPSCR).1 | sed -f $(HELPSCR).2 > $(HELPOUT)3
  1069. !     -$(RM) $(DEFAULT)/$(HELPOUT)3
  1070. !     -$(LN) $(HELPOUT)3 $(DEFAULT)/$(HELPOUT)3
  1071. ! $(HELPOUT)4:    $(HELP)4 $(HELPSCR).1 $(HELPSCR).2
  1072. !     @echo building $(HELPOUT)4
  1073. !     cat $(HELP)4 | sed -f $(HELPSCR).1 | sed -f $(HELPSCR).2 > $(HELPOUT)4
  1074. !     -$(RM) $(DEFAULT)/$(HELPOUT)4
  1075. !     -$(LN) $(HELPOUT)4 $(DEFAULT)/$(HELPOUT)4
  1076. ! $(HELPOUT)5:    $(HELP)5 $(HELPSCR).1 $(HELPSCR).2
  1077. !     @echo building $(HELPOUT)5
  1078. !     cat $(HELP)5 | sed -f $(HELPSCR).1 | sed -f $(HELPSCR).2 > $(HELPOUT)5
  1079. !     -$(RM) $(DEFAULT)/$(HELPOUT)5
  1080. !     -$(LN) $(HELPOUT)5 $(DEFAULT)/$(HELPOUT)5
  1081. ! $(HELPSCR).1:    newhelp
  1082. X      newhelp
  1083. X  
  1084. + $(HELPSCR).2:    newhelp
  1085. +     newhelp
  1086. + newhelp:    dataG.o    newhelp.o
  1087. +     $(CC) dataG.o newhelp.o -o newhelp
  1088. X  lint:
  1089. !     lint $(LTFLG) $(CDEFS) -DCONQUER $(GFILS) > lintg
  1090. !     lint $(LTFLG) $(CDEFS) -DADMIN $(AFILS) > linta
  1091. X  
  1092. ! docs:    conquer.doc
  1093. X  
  1094. X  conquer.doc:    $(HELPOUT)0 $(HELPOUT)1 $(HELPOUT)2 $(HELPOUT)3 $(HELPOUT)4 $(HELPOUT)5
  1095. !     cat $(HELPOUT)? |sed -e "s/^DONE/ /g"|sed -e "s/^END//g" >conquer.doc
  1096. X  
  1097. ! cpio:
  1098. !     -$(RM) core
  1099. !     find . -name '*[CrpsEech]' -print | cpio -ocBv > cpiosv
  1100. ! shar:    
  1101. X      echo " lines   words chars   FILENAME" > MANIFEST
  1102. X      wc $(ALLFILS) >> MANIFEST
  1103. !     $(SHAR) $(SHARFLG) $(ALLFILS)
  1104. X  
  1105. ! .cA.o:    $<
  1106. !     ( trap "" 0 1 2 3 4 ; $(LN) $*.c $*A.c ;\
  1107. !     $(CC) $(OPTFLG) $(CDEFS) -DADMIN -c $*A.c ;\
  1108. !     $(RM) $*A.c )
  1109. ! .cG.o:    $<
  1110. !     ( trap "" 0 1 2 3 4 ; $(LN) $*.c $*G.c ;\
  1111. !     $(CC) $(OPTFLG) $(CDEFS) -DCONQUER -c $*G.c ;\
  1112. !     $(RM) $*G.c )
  1113. ! .c.o:    $<
  1114. ! #    compiles using both defines since they
  1115. ! #    are needed for the data.h definitions for
  1116. ! #    each file... but should not be needed for
  1117. ! #    the actual C source file being compiled
  1118. !     $(CC) $(OPTFLG) $(CDEFS) -DADMIN -DCONQUER -c $*.c
  1119. ! $(GOBJS):    data.h header.h
  1120. ! $(AOBJS):    data.h header.h
  1121. diff -cr ../oldconq4/patchlevel.h ./patchlevel.h
  1122. *** ../oldconq4/patchlevel.h    Thu Jul  9 19:29:32 1992
  1123. --- ./patchlevel.h    Thu Jul  9 17:45:34 1992
  1124. ***************
  1125. *** 1 ****
  1126. ! #define PATCHLEVEL    10
  1127. --- 1 ----
  1128. ! #define PATCHLEVEL    11
  1129. diff -cr ../oldconq4/randeven.c ./randeven.c
  1130. *** ../oldconq4/randeven.c    Thu Jul  9 19:26:25 1992
  1131. --- ./randeven.c    Thu Jul  9 18:12:14 1992
  1132. ***************
  1133. *** 1,5 ****
  1134. --- 1,6 ----
  1135. X  /* Conquer: Copyright (c) 1988 by Edward M Barlow */
  1136. X  #include    <stdio.h>
  1137. + #include     <pwd.h>
  1138. X  #include    <ctype.h>
  1139. X  #include    "header.h"
  1140. X  #include    "data.h"
  1141. ***************
  1142. *** 173,181 ****
  1143. X      sprintf(eventstr,"new nation %s created",ntn[new].name);
  1144. X  #else
  1145. X      sprintf(eventstr,"new nation %s created at %d,%d",ntn[new].name,realx,realy);
  1146. ! #endif HIDELOC
  1147. X      printf("TMP new nation %s created at %d,%d",ntn[new].name,realx,realy);
  1148. X      sct[realx][realy].owner=new;
  1149. X      ntn[new].capx=realx;
  1150. X      ntn[new].capy=realy;
  1151. X      sct[realx][realy].designation=DCAPITOL;
  1152. --- 174,185 ----
  1153. X      sprintf(eventstr,"new nation %s created",ntn[new].name);
  1154. X  #else
  1155. X      sprintf(eventstr,"new nation %s created at %d,%d",ntn[new].name,realx,realy);
  1156. ! #endif /* HIDELOC */
  1157. X      printf("TMP new nation %s created at %d,%d",ntn[new].name,realx,realy);
  1158. X      sct[realx][realy].owner=new;
  1159. + #ifdef CHECKUSER
  1160. +     ntn[new].uid = getpwnam(LOGIN)->pw_uid;
  1161. + #endif /* CHECKUSER */
  1162. X      ntn[new].capx=realx;
  1163. X      ntn[new].capy=realy;
  1164. X      sct[realx][realy].designation=DCAPITOL;
  1165. ***************
  1166. *** 330,336 ****
  1167. X  printf("TEMP: %s chance of peasant revolt is %d (tax=%d pop=%d terror=%d)\n",
  1168. X          curntn->name, x, curntn->tax_rate, curntn->popularity,
  1169. X          curntn->terror );
  1170. ! #endif DEBUG
  1171. X  
  1172. X          if((rand()%100)<x) {
  1173. X              if(rand()%100<PREVOLT){
  1174. --- 334,340 ----
  1175. X  printf("TEMP: %s chance of peasant revolt is %d (tax=%d pop=%d terror=%d)\n",
  1176. X          curntn->name, x, curntn->tax_rate, curntn->popularity,
  1177. X          curntn->terror );
  1178. ! #endif /* DEBUG */
  1179. X  
  1180. X          if((rand()%100)<x) {
  1181. X              if(rand()%100<PREVOLT){
  1182. ***************
  1183. *** 346,352 ****
  1184. X  #ifdef DEBUG
  1185. X  printf("TEMP: %s chance of revolt is %d (tax=%d prest=%d)\n",
  1186. X          curntn->name, x, curntn->tax_rate, curntn->prestige );
  1187. ! #endif DEBUG
  1188. X  
  1189. X          if(( rand()%100)< x ){
  1190. X              if(rand()%100<PREVOLT){
  1191. --- 350,356 ----
  1192. X  #ifdef DEBUG
  1193. X  printf("TEMP: %s chance of revolt is %d (tax=%d prest=%d)\n",
  1194. X          curntn->name, x, curntn->tax_rate, curntn->prestige );
  1195. ! #endif /* DEBUG */
  1196. X  
  1197. X          if(( rand()%100)< x ){
  1198. X              if(rand()%100<PREVOLT){
  1199. ***************
  1200. *** 434,440 ****
  1201. X  #ifdef HIDELOC
  1202. X              /* hide nation of eruption if HIDELOC */
  1203. X              done = FALSE;
  1204. ! #endif HIDELOC
  1205. X              break;
  1206. X          case 14:
  1207. X              /*royal wedding (absorb neighbor nation)*/
  1208. --- 438,444 ----
  1209. X  #ifdef HIDELOC
  1210. X              /* hide nation of eruption if HIDELOC */
  1211. X              done = FALSE;
  1212. ! #endif /* HIDELOC */
  1213. X              break;
  1214. X          case 14:
  1215. X              /*royal wedding (absorb neighbor nation)*/
  1216. ***************
  1217. *** 599,605 ****
  1218. X              }
  1219. X              done=TRUE;
  1220. X              break;
  1221. ! #endif MONSTER
  1222. X          case 26:
  1223. X              /*town burns -- reduce fort and redesignate*/
  1224. X              holdval=0;
  1225. --- 603,609 ----
  1226. X              }
  1227. X              done=TRUE;
  1228. X              break;
  1229. ! #endif /* MONSTER */
  1230. X          case 26:
  1231. X              /*town burns -- reduce fort and redesignate*/
  1232. X              holdval=0;
  1233. ***************
  1234. *** 936,947 ****
  1235. X  #ifdef HIDELOC
  1236. X          /* make sure that volcano locations are not revealed */
  1237. X          if(strcmp(eventstr,"all flee, 30%% die in 1 sector range")!=0)
  1238. ! #endif HIDELOC
  1239. X          fprintf(fnews,"1. \tevent in %s -->%s\n",ntn[cntry].name,eventstr);
  1240. X  #ifndef HIDELOC
  1241. X          if(xloc != -1)
  1242. X          fprintf(fnews,"1. \tevent in %s -->centered around location %d, %d.\n",ntn[cntry].name,xloc,yloc);
  1243. ! #endif HIDELOC
  1244. X          printf("\t\t->%s\n",eventstr);
  1245. X          if(ispc(ntn[cntry].active))
  1246. X              fprintf(fm,"\t%s\n",eventstr);
  1247. --- 940,951 ----
  1248. X  #ifdef HIDELOC
  1249. X          /* make sure that volcano locations are not revealed */
  1250. X          if(strcmp(eventstr,"all flee, 30%% die in 1 sector range")!=0)
  1251. ! #endif /* HIDELOC */
  1252. X          fprintf(fnews,"1. \tevent in %s -->%s\n",ntn[cntry].name,eventstr);
  1253. X  #ifndef HIDELOC
  1254. X          if(xloc != -1)
  1255. X          fprintf(fnews,"1. \tevent in %s -->centered around location %d, %d.\n",ntn[cntry].name,xloc,yloc);
  1256. ! #endif /* HIDELOC */
  1257. X          printf("\t\t->%s\n",eventstr);
  1258. X          if(ispc(ntn[cntry].active))
  1259. X              fprintf(fm,"\t%s\n",eventstr);
  1260. ***************
  1261. *** 1048,1054 ****
  1262. X          if (volhold == 0) blowup(i,j);
  1263. X      }
  1264. X  }
  1265. ! #endif VULCANIZE
  1266. X  
  1267. X  /* blowup a volcano in sector i,j */
  1268. X  void
  1269. --- 1052,1058 ----
  1270. X          if (volhold == 0) blowup(i,j);
  1271. X      }
  1272. X  }
  1273. ! #endif /* VULCANIZE */
  1274. X  
  1275. X  /* blowup a volcano in sector i,j */
  1276. X  void
  1277. ***************
  1278. *** 1125,1128 ****
  1279. X  weather()
  1280. X  {
  1281. X  }
  1282. ! #endif RANEVENT
  1283. --- 1129,1132 ----
  1284. X  weather()
  1285. X  {
  1286. X  }
  1287. ! #endif /* RANEVENT */
  1288. diff -cr ../oldconq4/reports.c ./reports.c
  1289. *** ../oldconq4/reports.c    Thu Jul  9 19:26:26 1992
  1290. --- ./reports.c    Thu Jul  9 18:22:24 1992
  1291. ***************
  1292. *** 147,153 ****
  1293. X                  errormsg("May not change traded army");
  1294. X                  continue;
  1295. X              }
  1296. ! #endif TRADE
  1297. X              mvaddstr(ypos,0,"OPTIONS: 1) COMMAND 2) DISBAND 3) CHANGE GROUP");
  1298. X              if(P_ATYPE<MINLEADER)
  1299. X              mvaddstr(ypos,47,"4) MERGE 5) SPLIT ARMY");
  1300. --- 147,153 ----
  1301. X                  errormsg("May not change traded army");
  1302. X                  continue;
  1303. X              }
  1304. ! #endif /* TRADE */
  1305. X              mvaddstr(ypos,0,"OPTIONS: 1) COMMAND 2) DISBAND 3) CHANGE GROUP");
  1306. X              if(P_ATYPE<MINLEADER)
  1307. X              mvaddstr(ypos,47,"4) MERGE 5) SPLIT ARMY");
  1308. ***************
  1309. *** 156,162 ****
  1310. X  #ifdef OGOD
  1311. X              if(isgod==TRUE) mvaddstr(ypos++,0,"GOD OPTIONS: 6) LOCATION 7) SOLDIERS 8) MOVE 9) UNITTYPE 0) STATUS ");
  1312. X              clrtoeol();
  1313. ! #endif OGOD
  1314. X              ypos++;
  1315. X              refresh();
  1316. X              switch(getch()){
  1317. --- 156,162 ----
  1318. X  #ifdef OGOD
  1319. X              if(isgod==TRUE) mvaddstr(ypos++,0,"GOD OPTIONS: 6) LOCATION 7) SOLDIERS 8) MOVE 9) UNITTYPE 0) STATUS ");
  1320. X              clrtoeol();
  1321. ! #endif /* OGOD */
  1322. X              ypos++;
  1323. X              refresh();
  1324. X              switch(getch()){
  1325. ***************
  1326. *** 323,329 ****
  1327. X                      P_ASTAT = men;
  1328. X                  }
  1329. X                  break;
  1330. ! #endif OGOD
  1331. X              default:
  1332. X                  errormsg("Invalid Input");
  1333. X              }
  1334. --- 323,329 ----
  1335. X                      P_ASTAT = men;
  1336. X                  }
  1337. X                  break;
  1338. ! #endif /* OGOD */
  1339. X              default:
  1340. X                  errormsg("Invalid Input");
  1341. X              }
  1342. ***************
  1343. *** 636,642 ****
  1344. X                  errormsg("Sorry - That Navy is up for trade");
  1345. X                  continue;
  1346. X              }
  1347. ! #endif TRADE
  1348. X              if((nvynum<0)||(nvynum>=MAXNAVY)) {
  1349. X                  errormsg("Invalid Naval unit");
  1350. X                  continue;
  1351. --- 636,642 ----
  1352. X                  errormsg("Sorry - That Navy is up for trade");
  1353. X                  continue;
  1354. X              }
  1355. ! #endif /* TRADE */
  1356. X              if((nvynum<0)||(nvynum>=MAXNAVY)) {
  1357. X                  errormsg("Invalid Naval unit");
  1358. X                  continue;
  1359. ***************
  1360. *** 647,653 ****
  1361. X              if(isgod==TRUE) mvaddstr(ypos++,0,"GOD OPTIONS:  4) ADJUST SHIPS, 5) LOCATION, 6) CREW 7) MOVE");
  1362. X              ypos++;
  1363. X              clrtoeol();
  1364. ! #endif OGOD
  1365. X              refresh();
  1366. X              switch(getch()){
  1367. X              case '1':
  1368. --- 647,653 ----
  1369. X              if(isgod==TRUE) mvaddstr(ypos++,0,"GOD OPTIONS:  4) ADJUST SHIPS, 5) LOCATION, 6) CREW 7) MOVE");
  1370. X              ypos++;
  1371. X              clrtoeol();
  1372. ! #endif /* OGOD */
  1373. X              refresh();
  1374. X              switch(getch()){
  1375. X              case '1':
  1376. ***************
  1377. *** 666,672 ****
  1378. X                  if (curntn->nvy[newnavy].commodity==TRADED) {
  1379. X                      errormsg("Sorry - That Navy is up for trade");
  1380. X                  } else
  1381. ! #endif TRADE
  1382. X                  if(nvynum==newnavy) {
  1383. X                      errormsg("Sorry -- That is the same Navy");
  1384. X                  }
  1385. --- 666,672 ----
  1386. X                  if (curntn->nvy[newnavy].commodity==TRADED) {
  1387. X                      errormsg("Sorry - That Navy is up for trade");
  1388. X                  } else
  1389. ! #endif /* TRADE */
  1390. X                  if(nvynum==newnavy) {
  1391. X                      errormsg("Sorry -- That is the same Navy");
  1392. X                  }
  1393. ***************
  1394. *** 949,955 ****
  1395. X                      }
  1396. X                  }
  1397. X                  break;
  1398. ! #endif OGOD
  1399. X              default:
  1400. X                  errormsg("Invalid Input");
  1401. X              }
  1402. --- 949,955 ----
  1403. X                      }
  1404. X                  }
  1405. X                  break;
  1406. ! #endif /* OGOD */
  1407. X              default:
  1408. X                  errormsg("Invalid Input");
  1409. X              }
  1410. diff -cr ../oldconq4/spew.c ./spew.c
  1411. *** ../oldconq4/spew.c    Thu Jul  9 19:26:30 1992
  1412. --- ./spew.c    Thu Jul  9 18:22:34 1992
  1413. ***************
  1414. *** 498,501 ****
  1415. X      fprintf(stderr,"Bad file format\n");
  1416. X      exit(1);
  1417. X  }
  1418. ! #endif SPEW
  1419. --- 498,501 ----
  1420. X      fprintf(stderr,"Bad file format\n");
  1421. X      exit(1);
  1422. X  }
  1423. ! #endif /* SPEW */
  1424. Only in .: spewout.c
  1425. diff -cr ../oldconq4/trade.c ./trade.c
  1426. *** ../oldconq4/trade.c    Thu Jul  9 19:29:36 1992
  1427. --- ./trade.c    Thu Jul  9 18:22:47 1992
  1428. ***************
  1429. *** 53,59 ****
  1430. X      "lack of metal", "lack of jewels", "land not owned",
  1431. X      "unavailable or destroyed armies",
  1432. X      "unavailable or destoryed navies"};
  1433. ! #endif ADMIN
  1434. X  #ifdef CONQUER
  1435. X  /* Use this when you wish to bid something */
  1436. X  char *buylist[NUMPRODUCTS] = { "Bid how much gold? ", "Bid how much food? ",
  1437. --- 53,59 ----
  1438. X      "lack of metal", "lack of jewels", "land not owned",
  1439. X      "unavailable or destroyed armies",
  1440. X      "unavailable or destoryed navies"};
  1441. ! #endif /* ADMIN */
  1442. X  #ifdef CONQUER
  1443. X  /* Use this when you wish to bid something */
  1444. X  char *buylist[NUMPRODUCTS] = { "Bid how much gold? ", "Bid how much food? ",
  1445. ***************
  1446. *** 474,480 ****
  1447. X              if (country!=0 && country!=natn[holdint]) 
  1448. X  #else 
  1449. X              if (country != natn[holdint]) 
  1450. ! #endif OGOD
  1451. X              {
  1452. X                  tradeerr("That is not your item");
  1453. X                  return;
  1454. --- 474,480 ----
  1455. X              if (country!=0 && country!=natn[holdint]) 
  1456. X  #else 
  1457. X              if (country != natn[holdint]) 
  1458. ! #endif /* OGOD */
  1459. X              {
  1460. X                  tradeerr("That is not your item");
  1461. X                  return;
  1462. ***************
  1463. *** 622,628 ****
  1464. X      }
  1465. X      return(hold);
  1466. X  }
  1467. ! #endif CONQUER
  1468. X  
  1469. X  /* set aside things that are up for bid */
  1470. X  void
  1471. --- 622,628 ----
  1472. X      }
  1473. X      return(hold);
  1474. X  }
  1475. ! #endif /* CONQUER */
  1476. X  
  1477. X  /* set aside things that are up for bid */
  1478. X  void
  1479. ***************
  1480. *** 863,869 ****
  1481. X          fclose(fp[count]);
  1482. X      }
  1483. X  }
  1484. ! #endif ADMIN
  1485. X  
  1486. X  #ifdef CONQUER
  1487. X  /* routine to determine whether or not an army type is tradable */
  1488. --- 863,869 ----
  1489. X          fclose(fp[count]);
  1490. X      }
  1491. X  }
  1492. ! #endif /* ADMIN */
  1493. X  
  1494. X  #ifdef CONQUER
  1495. X  /* routine to determine whether or not an army type is tradable */
  1496. ***************
  1497. *** 879,885 ****
  1498. X      country=oldcntry;
  1499. X      return(returnval);
  1500. X  }
  1501. ! #endif CONQUER
  1502. X  
  1503. X  /* routine to determine commercial value of army */
  1504. X  long armyvalue(cntry,unit)
  1505. --- 879,885 ----
  1506. X      country=oldcntry;
  1507. X      return(returnval);
  1508. X  }
  1509. ! #endif /* CONQUER */
  1510. X  
  1511. X  /* routine to determine commercial value of army */
  1512. X  long armyvalue(cntry,unit)
  1513. ***************
  1514. *** 1108,1112 ****
  1515. X  
  1516. X      } /* loop through commodities */
  1517. X  }
  1518. ! #endif ADMIN
  1519. ! #endif TRADE
  1520. --- 1108,1112 ----
  1521. X  
  1522. X      } /* loop through commodities */
  1523. X  }
  1524. ! #endif /* ADMIN */
  1525. ! #endif /* TRADE */
  1526. diff -cr ../oldconq4/update.c ./update.c
  1527. *** ../oldconq4/update.c    Thu Jul  9 19:29:34 1992
  1528. --- ./update.c    Thu Jul  9 18:23:06 1992
  1529. ***************
  1530. *** 74,80 ****
  1531. X  
  1532. X  #ifdef RANEVENT
  1533. X      randomevent();    /*run random events after setting movements */
  1534. ! #endif RANEVENT
  1535. X  
  1536. X      updsectors();    /* for whole map, update one sector at a time*/
  1537. X      updcomodities();/* commodities & food, metal, jewels */
  1538. --- 74,80 ----
  1539. X  
  1540. X  #ifdef RANEVENT
  1541. X      randomevent();    /*run random events after setting movements */
  1542. ! #endif /* RANEVENT */
  1543. X  
  1544. X      updsectors();    /* for whole map, update one sector at a time*/
  1545. X      updcomodities();/* commodities & food, metal, jewels */
  1546. ***************
  1547. *** 94,100 ****
  1548. X  
  1549. X  #ifdef CHEAT
  1550. X      cheat();
  1551. ! #endif CHEAT
  1552. X  
  1553. X      score();    /* score all nations */
  1554. X  
  1555. --- 94,100 ----
  1556. X  
  1557. X  #ifdef CHEAT
  1558. X      cheat();
  1559. ! #endif /* CHEAT */
  1560. X  
  1561. X      score();    /* score all nations */
  1562. X  
  1563. ***************
  1564. *** 523,529 ****
  1565. X                  }
  1566. X              }
  1567. X  }
  1568. ! #endif CHEAT
  1569. X  
  1570. X  
  1571. X  /****************************************************************/
  1572. --- 523,529 ----
  1573. X                  }
  1574. X              }
  1575. X  }
  1576. ! #endif /* CHEAT */
  1577. X  
  1578. X  
  1579. X  /****************************************************************/
  1580. ***************
  1581. *** 580,586 ****
  1582. X          disarray=FALSE;
  1583. X  #ifdef TRADE
  1584. X          if(isntn(curntn->active)) checktrade();
  1585. ! #endif TRADE
  1586. X  
  1587. X          /*if execute is 0 and PC nation then they did not move*/
  1588. X          if((execute(TRUE)==0)&&(ispc(curntn->active))){
  1589. --- 580,586 ----
  1590. X          disarray=FALSE;
  1591. X  #ifdef TRADE
  1592. X          if(isntn(curntn->active)) checktrade();
  1593. ! #endif /* TRADE */
  1594. X  
  1595. X          /*if execute is 0 and PC nation then they did not move*/
  1596. X          if((execute(TRUE)==0)&&(ispc(curntn->active))){
  1597. ***************
  1598. *** 616,622 ****
  1599. X                  if((x=takeover(1,0))==1)
  1600. X                  printf("SUCCESSFUL TAKEOVER OF %d by %s",x,curntn->name);
  1601. X              }
  1602. ! #endif ORCTAKE
  1603. X  #endif /*NPC*/
  1604. X          }
  1605. X  
  1606. --- 616,622 ----
  1607. X                  if((x=takeover(1,0))==1)
  1608. X                  printf("SUCCESSFUL TAKEOVER OF %d by %s",x,curntn->name);
  1609. X              }
  1610. ! #endif /* ORCTAKE */
  1611. X  #endif /*NPC*/
  1612. X          }
  1613. X  
  1614. ***************
  1615. *** 630,636 ****
  1616. X          }
  1617. X  #ifdef DEBUG
  1618. X  printf("checking for leader in nation %s: armynum=%d\n",curntn->name,armynum);
  1619. ! #endif DEBUG
  1620. X  
  1621. X          if(disarray == TRUE) {
  1622. X              if(rand()%100 < 30) {    /* new leader takes over */
  1623. --- 630,636 ----
  1624. X          }
  1625. X  #ifdef DEBUG
  1626. X  printf("checking for leader in nation %s: armynum=%d\n",curntn->name,armynum);
  1627. ! #endif /* DEBUG */
  1628. X  
  1629. X          if(disarray == TRUE) {
  1630. X              if(rand()%100 < 30) {    /* new leader takes over */
  1631. ***************
  1632. *** 782,788 ****
  1633. X          if((P_ASOLD>0)&&(sct[P_AXLOC][P_AYLOC].altitude==WATER))
  1634. X              printf("ERROR line %d... %s army %d in water (army %d: x: %d y: %d)\n",__LINE__,ntn[country].name,armynum,armynum-1, ntn[country].arm[armynum-1].xloc, ntn[country].arm[armynum-1].yloc);
  1635. X      }
  1636. ! #endif DEBUG
  1637. X  }
  1638. X  
  1639. X  /****************************************************************/
  1640. --- 782,788 ----
  1641. X          if((P_ASOLD>0)&&(sct[P_AXLOC][P_AYLOC].altitude==WATER))
  1642. X              printf("ERROR line %d... %s army %d in water (army %d: x: %d y: %d)\n",__LINE__,ntn[country].name,armynum,armynum-1, ntn[country].arm[armynum-1].xloc, ntn[country].arm[armynum-1].yloc);
  1643. X      }
  1644. ! #endif /* DEBUG */
  1645. X  }
  1646. X  
  1647. X  /****************************************************************/
  1648. ***************
  1649. *** 836,842 ****
  1650. X                          fprintf(fnews,"3.\tarea captured by %s from %s\n",curntn->name,ntn[sptr->owner].name);
  1651. X  #else
  1652. X                          fprintf(fnews,"3.\tarea %d,%d captured by %s from %s\n",P_AXLOC,P_AYLOC,curntn->name,ntn[sptr->owner].name);
  1653. ! #endif HIDELOC
  1654. X                      }
  1655. X                      sptr->owner=country;
  1656. X                      curntn->popularity++;
  1657. --- 836,842 ----
  1658. X                          fprintf(fnews,"3.\tarea captured by %s from %s\n",curntn->name,ntn[sptr->owner].name);
  1659. X  #else
  1660. X                          fprintf(fnews,"3.\tarea %d,%d captured by %s from %s\n",P_AXLOC,P_AYLOC,curntn->name,ntn[sptr->owner].name);
  1661. ! #endif /* HIDELOC */
  1662. X                      }
  1663. X                      sptr->owner=country;
  1664. X                      curntn->popularity++;
  1665. ***************
  1666. *** 1288,1294 ****
  1667. X                      fprintf(fnews,"3.\tstorm sinks %s fleet at sea\n",curntn->name);
  1668. X  #else
  1669. X                      fprintf(fnews,"3.\tstorm sinks %s fleet in %d,%d\n",curntn->name,P_NXLOC,P_NYLOC);
  1670. ! #endif HIDELOC
  1671. X                      P_NWSHP=0;
  1672. X                      P_NMSHP=0;
  1673. X                      P_NGSHP=0;
  1674. --- 1288,1294 ----
  1675. X                      fprintf(fnews,"3.\tstorm sinks %s fleet at sea\n",curntn->name);
  1676. X  #else
  1677. X                      fprintf(fnews,"3.\tstorm sinks %s fleet in %d,%d\n",curntn->name,P_NXLOC,P_NYLOC);
  1678. ! #endif /* HIDELOC */
  1679. X                      P_NWSHP=0;
  1680. X                      P_NMSHP=0;
  1681. X                      P_NGSHP=0;
  1682. ***************
  1683. *** 1339,1345 ****
  1684. X  #else
  1685. X          fprintf(fnews,"2.\tNation %s under siege in sector %d,%d\n",
  1686. X              curntn->name,siegex[army2],siegey[army2]);
  1687. ! #endif HIDELOC
  1688. X          if(ispc(curntn->active)) {
  1689. X              if (mailopen( country )!=(-1)) {
  1690. X                  fprintf(fm, "Message to %s from Conquer\n\n",ntn[nation].name);
  1691. --- 1339,1345 ----
  1692. X  #else
  1693. X          fprintf(fnews,"2.\tNation %s under siege in sector %d,%d\n",
  1694. X              curntn->name,siegex[army2],siegey[army2]);
  1695. ! #endif /* HIDELOC */
  1696. X          if(ispc(curntn->active)) {
  1697. X              if (mailopen( country )!=(-1)) {
  1698. X                  fprintf(fm, "Message to %s from Conquer\n\n",ntn[nation].name);
  1699. ***************
  1700. *** 1404,1410 ****
  1701. X                  fprintf(fnews,"2.\tfamine hits town in %s.\n",curntn->name);
  1702. X  #else
  1703. X                  fprintf(fnews,"2.\tfamine hits town at %d,%d in %s.\n",x,y,curntn->name);
  1704. ! #endif HIDELOC
  1705. X                  printf("famine hits town at %d,%d in %s.\n",x,y,curntn->name);
  1706. X                  if(ispc(curntn->active)){
  1707. X                  if (mailopen( country )!=(-1)) {
  1708. --- 1404,1410 ----
  1709. X                  fprintf(fnews,"2.\tfamine hits town in %s.\n",curntn->name);
  1710. X  #else
  1711. X                  fprintf(fnews,"2.\tfamine hits town at %d,%d in %s.\n",x,y,curntn->name);
  1712. ! #endif /* HIDELOC */
  1713. X                  printf("famine hits town at %d,%d in %s.\n",x,y,curntn->name);
  1714. X                  if(ispc(curntn->active)){
  1715. X                  if (mailopen( country )!=(-1)) {
  1716. Common subdirectories: ../oldconq4/utilities and ./utilities
  1717. SHAR_EOF
  1718. chmod 0644 patches11 ||
  1719. echo 'restore of patches11 failed'
  1720. Wc_c="`wc -c < 'patches11'`"
  1721. test 103096 -eq "$Wc_c" ||
  1722.     echo 'patches11: original size 103096, current size' "$Wc_c"
  1723. rm -f _shar_wnt_.tmp
  1724. fi
  1725. rm -f _shar_seq_.tmp
  1726. echo You have unpacked the last part
  1727. exit 0
  1728.