265 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			265 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| /*
 | |
|   Initialization of adventure play variables
 | |
| */
 | |
| #include	<string.h>
 | |
| #include	<stdio.h>
 | |
| #include	"advent.h"		/* #define preprocessor equates	 */
 | |
| #define EXTERN				/* define, not declare, in advdec.h */
 | |
| #include	"advdec.h"
 | |
| 
 | |
| int plac[MAXOBJ] = {
 | |
|       0,   0,   3,   8,  10,  11,   0,  14,   0, 148,	/*   0 -   9 */
 | |
|      96,  19,  17, 101, 103,   0, 106,   0,   0, 238,	/*  10 -  19 */
 | |
|     238, 117, 190, 109,  25,  23, 111,  35,   0,  97,	/*  20 -  29 */
 | |
|       0, 119,   0, 117,   0, 130,   0, 126, 140,   0,	/*  30 -  39 */
 | |
|      96,  94, 158, 160, 188,   0, 155, 174, 166, 228,	/*  40 -  49 */
 | |
|      18, 204,  27,  29,  30,   0,  92, 168,  97, 100,	/*  50 -  59 */
 | |
|     101,   0, 119, 127, 130, 141, 144, 205,  28, 182,	/*  60 -  69 */
 | |
|     225, 230,   0, 147, 241, 248,   0,   0,   0,   0,	/*  70 -  79 */
 | |
|       0,   0,   0,   0,   0,   0,   0, 193, 102,   0,	/*  80 -  89 */
 | |
|     159, 141, 172, 188, 189,   0,   0, 193, 227, 174,	/*  90 -  99 */
 | |
|       0,  13, 238, 217, 171,   0, 146, 159,   3,   0,	/* 100 - 109 */
 | |
|       0,   0,   0,   3, 180,  39,   5,   0, 110, 169,	/* 110 - 119 */
 | |
|     200
 | |
| };
 | |
| 
 | |
| int fixd[MAXOBJ] = {
 | |
|       0,   0,   0,   9,   0,   0,   0,  15,   0,   0,	/*   0 -   9 */
 | |
|       0,  -1,  27,  -1,   0,   0,   0,  -1,   0,   0,	/*  10 -  19 */
 | |
|       0, 122, 235,  -1,  -1,  67,  -1, 110,   0,  -1,	/*  20 -  29 */
 | |
|      -1, 121,   0, 122,   0,  -1,  -1,  -1,  -1,   0,	/*  30 -  39 */
 | |
|      -1,  -1, 166, 167, 189,   0,   0,  -1,   0, 229,	/*  40 -  49 */
 | |
|       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,	/*  50 -  59 */
 | |
|       0,   0, 121,   0,  -1,   0,   0,   0,   0,   0,	/*  60 -  69 */
 | |
|       0,   0,   0,   0,   0,   0,   0,   0,   0,   0,	/*  70 -  79 */
 | |
|       0,   0,   0,   0,   0,   0,   0,  -1, 194,  -1,	/*  80 -  89 */
 | |
|       0,  -1, 174,  -1,  -1,   0,   0,  -1,  -1,  -1,	/*  90 -  99 */
 | |
|       0,   0,   0,  -1,  -1,  -1,   0,   0,   0,   0,	/* 100 - 109 */
 | |
|       0,   0,  -1,   0,   0,  -1,  -1,   0,   0,   0,	/* 110 - 119 */
 | |
|       0
 | |
| };
 | |
| 
 | |
| struct playinfo g = {
 | |
|     0,							/* turns */
 | |
|     1,							/* loc */
 | |
|     1,							/* oldloc */
 | |
|     1,							/* oldloc2 */
 | |
|     1,							/* newloc */
 | |
|     {							/* loc_attrib[MAXLOC] */
 | |
| 	  0,   73,   65,   73,   73,			/*   0 -   4 */
 | |
| 	 65,   65,   73, 1601,   33,			/*   5 -   9 */
 | |
| 	 32,   32,   32, 1824,   32,			/*  10 -  14 */
 | |
| 	  0,    2,    0,    0, 2816,			/*  15 -  19 */
 | |
| 	  2,    2,    2,    0,   10,			/*  20 -  24 */
 | |
| 	  0,    2,    0,    0,    0,			/*  25 -  29 */
 | |
| 	  0,    2,    2,    8,    0,			/*  30 -  34 */
 | |
| 	  0,    0,    0,    8,    0,			/*  35 -  39 */
 | |
| 	  2,    0,  256,  256,  256,			/*  40 -  44 */
 | |
| 	256,  272,  272,  272,  256,			/*  45 -  49 */
 | |
| 	256,    0,  256,  256,  272,			/*  50 -  54 */
 | |
| 	256,  272,    0,   16,    2,			/*  55 -  59 */
 | |
| 	  0,    0,    0,    0,    0,			/*  60 -  64 */
 | |
| 	  0,    0,    0,    0,    0,			/*  65 -  69 */
 | |
| 	  0,    0,    0,    0,    0,			/*  70 -  74 */
 | |
| 	  0,    0,    0,    0,    2,			/*  75 -  79 */
 | |
| 	256,  256,  272,    0,    0,			/*  80 -  84 */
 | |
| 	 16,  272,    0,    0,    2,			/*  85 -  89 */
 | |
| 	  2,    0,    0,    0,    0,			/*  90 -  94 */
 | |
| 	  8,    0,    0, 1280,  513,			/*  95 -  99 */
 | |
| 	513,  512,    0,    0,    0,			/*  00 -  04 */
 | |
| 	  0,    0,    0,  768,    0,			/* 105 - 109 */
 | |
| 	  0,    0,    0,    8,    0,			/* 110 - 114 */
 | |
| 	  1,    1,    0,    0,    0,			/* 115 - 119 */
 | |
| 	  0,    0,   16,   16,   16,			/* 120 - 124 */
 | |
| 	 16,   17,   16,   16,   16,			/* 125 - 129 */
 | |
| 	 16,    0,    0,    0,    0,			/* 130 - 134 */
 | |
| 	  0,    0,    0,    0,    0,			/* 135 - 139 */
 | |
| 	  0, 1040,   16,    0,    0,			/* 140 - 144 */
 | |
| 	  2,   65,   65,   65,   65,			/* 145 - 149 */
 | |
| 	 65,   65,   65,   65,   65,			/* 150 - 154 */
 | |
| 	 65,    3, 2625, 2113,   65,			/* 155 - 159 */
 | |
| 	 65,    3,    3,    3,    3,			/* 160 - 164 */
 | |
| 	  3,   41,   41,    9,    9,			/* 165 - 169 */
 | |
| 	  0,    0,    0,    0,    0,			/* 170 - 174 */
 | |
| 	  0,    0,    0,    2,    0,			/* 175 - 179 */
 | |
| 	  0,    2,    0,    0,    0,			/* 180 - 184 */
 | |
| 	  0,    0,    0,    0,   16,			/* 185 - 189 */
 | |
| 	  0,    0,    9,    0,    0,			/* 190 - 194 */
 | |
| 	  0,    0,    0,    9,    2,			/* 195 - 199 */
 | |
| 	  1,    1, 2304,    0,    0,			/* 200 - 204 */
 | |
| 	  0,    8,    8,    8,    0,			/* 205 - 209 */
 | |
| 	  0,    0,    1,    0,    9,			/* 210 - 214 */
 | |
| 	  0,    0,   12,    0,    0,			/* 215 - 219 */
 | |
| 	  0,    0,    0,    0,    0,			/* 220 - 224 */
 | |
| 	  0,    2, 2625,   73,   73,			/* 225 - 229 */
 | |
| 	  0,    2,    2,    2,    2,			/* 230 - 234 */
 | |
| 	  0,    0,    2,   65, 3137,			/* 235 - 239 */
 | |
| 	 65,   65,   65,   65,   65,			/* 240 - 244 */
 | |
| 	 65,   65,   65,   65	  			/* 245 - 249 */
 | |
|     },							/* loc_attrib[MAXLOC] */
 | |
|     {0 },						/* place[MAXOBJ] */
 | |
|     {0 },						/* fixed[MAXOBJ] */
 | |
|     {							/* weight[MAXOBJ] */
 | |
| 	0, 0, 1, 0, 1, 2, 2, 0, 0, 2,			/*   0 -   9 */
 | |
| 	1, 0, 0, 0, 7, 7, 1, 0, 0, 2,			/*  10 -  19 */
 | |
| 	1, 0, 0, 0, 0, 0, 0, 0, 3, 0,			/*  20 -  29 */
 | |
| 	0, 0, 0, 0, 0, 0, 0, 0, 0, 3,			/*  30 -  39 */
 | |
| 	0, 0, 0, 0, 0, 0, 1, 1, 0, 0,			/*  40 -  49 */
 | |
| 	6, 1, 2, 2, 3, 5, 4, 3, 2, 3,			/*  50 -  59 */
 | |
| 	4, 1, 3, 1, 3, 2, 1, 1, 2, 2,			/*  60 -  69 */
 | |
| 	2, 3, 1, 1, 3, 1, 0, 0, 0, 0,			/*  70 -  79 */
 | |
| 	0, 2, 2, 2, 2, 2, 2, 0, 0, 0,			/*  70 -  79 */
 | |
| 	1, 0, 0, 0, 0, 3, 2, 0, 0, 0,			/*  80 -  89 */
 | |
| 	0, 2, 1, 0, 0, 0, 1, 1, 2, 0,			/* 100 - 109 */
 | |
| 	3, 3, 0, 1, 1, 0, 0, 0, 3, 1,			/* 110 - 119 */
 | |
| 	2, 0, 0						/* 120 - 129 */
 | |
|     },							/* weight[MAXOBJ] */
 | |
|     {0 },						/* atloc[MAXLOC] */
 | |
|     {0 },						/* link[MAXOBJ * 2] */
 | |
|     {0 },						/* holder[MAXOBJ] */
 | |
|     {0 },						/* hlink[MAXOBJ] */
 | |
|     {0 },						/* visited[MAXLOC] */
 | |
|     {0 },						/* prop[MAXOBJ] */
 | |
|     {							/* obj_state[MAXOBJ] */
 | |
| 	    0,     0, 32800,    26, 32770,		/*   0 -   4 */
 | |
| 	   32,    32,  8192,     0,     0,		/*   5 -   9 */
 | |
| 	   32,   512,     0,   256,   770,		/*  10 -  14 */
 | |
| 	  770,   288,   512,     0,   160,		/*  15 -  19 */
 | |
| 	32802,     0,     0,     0,   128,		/*  20 -  24 */
 | |
| 	    0,     0,     0,    32,  8192,		/*  25 -  29 */
 | |
| 	  512,   512,     0,   512,     0,		/*  30 -  34 */
 | |
| 	  512,   256,     0, 32768,  8224,		/*  35 -  39 */
 | |
| 	    0,    18,    26,    26,     2,		/*  40 -  44 */
 | |
| 	    0,  8320, 18464, 32768,     0,		/*  45 -  49 */
 | |
| 	16384, 16416, 16416, 26656, 24608,		/*  50 -  54 */
 | |
| 	49240, 24608, 16384, 49184, 16416,		/*  55 -  59 */
 | |
| 	16416, 16416, 16384, 16544, 16442,		/*  60 -  64 */
 | |
| 	16416, 18464, 26656, 16416, 16416,		/*  65 -  69 */
 | |
| 	49184, 49154, 18464, 18464, 16416,		/*  70 -  74 */
 | |
| 	16416,     0,     0,     0,     0,		/*  75 -  79 */
 | |
| 	    0,     0,     0,     0,     0,		/*  80 -  84 */
 | |
| 	    0,     0,  8704,     0,     0,		/*  85 -  89 */
 | |
| 	    0,     0,     0,     0, 32768,		/*  90 -  94 */
 | |
| 	    0,   128,     0,     0,     0,		/*  95 -  99 */
 | |
| 	    0,   160,  8224,     0,     0,		/* 100 - 104 */
 | |
| 	    0,  8352,  8352, 32870,     0,		/* 105 - 109 */
 | |
| 	16674,   258, 32858,   288,    32,		/* 110 - 114 */
 | |
| 	  256,     0,     0, 32866, 16416,		/* 115 - 119 */
 | |
| 	16416,     0,     0				/* 120 - 123 */
 | |
|     },							/* obj_state[MAXOBJ] */
 | |
|     {							/* points[MAXOBJ] */
 | |
| 	   0,        0,        0,        0,        0,	/*   0 -   4 */
 | |
| 	   0,        0,        0,        0,        0,	/*   5 -   9 */
 | |
| 	   0,        0,        0,        0,        0,	/*  10 -  14 */
 | |
| 	   0,  1000108,        0,        0,        0,	/*  15 -  19 */
 | |
| 	   0,        0,        0,        0,        0,	/*  20 -  24 */
 | |
| 	   0,        0,        0,        0,        0,	/*  25 -  29 */
 | |
| 	   0,        0,        0,        0,        0,	/*  30 -  34 */
 | |
| 	   0,        0,        0,        0,        0,	/*  35 -  39 */
 | |
| 	   0,        0,        0,        0,        0,	/*  40 -  44 */
 | |
| 	   0,        0, -3000112,        0,        0,	/*  45 -  49 */
 | |
|     -2000055, -2000112, -2000112, -1000112, -5000112,	/*  50 -  54 */
 | |
|      5000003, -3000112, -2000055,  2000003, -3000112,	/*  55 -  59 */
 | |
|     -4000112, -4000112,  3000003, -1000112, -4000112,	/*  60 -  64 */
 | |
|     -4000112, -2000112, -3000112, -1000112, -1000112,	/*  65 -  69 */
 | |
|     -2000112, -3012055, -4000112, -1000112, -5000112,	/*  70 -  74 */
 | |
|     -5000112,        0,        0,        0,        0,	/*  75 -  79 */
 | |
| 	   0,        0,        0,        0,        0,	/*  80 -  84 */
 | |
| 	   0,        0,        0,        0,        0,	/*  85 -  89 */
 | |
| 	   0,        0,        0,        0,        0,	/*  90 -  94 */
 | |
| 	   0,        0,        0,        0,        0,	/*  95 -  99 */
 | |
| 	   0,        0,        0,        0,        0,	/* 100 - 104 */
 | |
| 	   0,        0,        0,        0,        0,	/* 105 - 109 */
 | |
|     -2000112,        0,        0,        0,        0,	/* 110 - 114 */
 | |
| 	   0,        0,        0,        0, -4000118,	/* 115 - 119 */
 | |
|     -2000112,        0					/* 120 - 122 */
 | |
|     },							/* points[MAXOBJ] */
 | |
|     {0 },						/* hinted[HNTMAX+1] */
 | |
|     {							/* hints[HNTMAX+1][5] */
 | |
| 	{    0,    0,   0,   0,   0 },			/*  0 */
 | |
| 	{    0, 9999,   4,   0,   0 },			/*  1 */
 | |
|         {    0, 9999,  10,   0,   0 },			/*  2 */
 | |
|         {    0, 9999,   5,   0,   0 },			/*  3 */
 | |
| 	{    0,    0,   0,   0,   0 },			/*  4 */
 | |
| 	{    0,    0,   0,   0,   0 },			/*  5 */
 | |
| 	{    0,    0,   0,   0,   0 },			/*  6 */
 | |
|         {    0,   15,   4, 176, 177 },			/*  7 */
 | |
|         {    0,    8,   5, 178, 179 },			/*  8 */
 | |
|         {    0,   13,   3, 180, 181 },			/*  9 */
 | |
|         {    0,    6,  10, 211, 212 },			/* 10 */
 | |
|         {    0,    6,   5, 213, 214 },			/* 11 */
 | |
| 	{    0,    4,   2,  62,  63 },			/* 12 */
 | |
| 	{    0,    5,   2,  18,  19 },			/* 13 */
 | |
| 	{    0,    4,   2,  62, 233 },			/* 14 */
 | |
| 	{    0,    6,   5, 274, 275 },			/* 15 */
 | |
| 	{    0,   10,   5, 289, 290 },			/* 16 */
 | |
| 	{    0,    8,   2,  20,  21 },			/* 17 */
 | |
| 	{    0,    5,   2, 404, 405 }			/* 18 */
 | |
|     },							/* hints[HNTMAX+1][5] */
 | |
|     {0 },						/* hintlc[HNTMAX+1] */
 | |
|     0,							/* tally */
 | |
|     0,							/* tally2 */
 | |
|     0,							/* limit */
 | |
|     0,							/* lmwarn */
 | |
|     0,							/* wzdark */
 | |
|     0,							/* closing */
 | |
|     0,							/* closed */
 | |
|     0,							/* holding */
 | |
|     0,							/* detail */
 | |
|     0,							/* knfloc */
 | |
|     30,							/* clock */
 | |
|     50,							/* clock2 */
 | |
|     0,							/* panic */
 | |
|     { 0, 19, 27, 33, 44, 64, 114 },			/* dloc[DWARFMAX+1] */
 | |
|     0,							/* dflag */
 | |
|     { 0, 0, 0, 0, 0, 0, 0 },				/* dseen[DWARFMAX+1] */
 | |
|     { 0, 0, 0, 0, 0, 0, 0 },				/* odloc[DWARFMAX+1] */
 | |
|     18,							/* daltloc */
 | |
|     0,							/* dkill */
 | |
|     114,						/* chloc */
 | |
|     140,						/* chloc2 */
 | |
|     0,							/* bonus */
 | |
|     0,							/* numdie */
 | |
|     0,							/* foobar */
 | |
|     0,							/* combo */
 | |
|     0,							/* terse */
 | |
|     5,							/* abbnum */
 | |
|     100,						/* health */
 | |
|     0,							/* chase */
 | |
|     FALSE,						/* flg239 */
 | |
|     0							/* lastglob */
 | |
| };
 | |
| 
 | |
| /*
 | |
|   Initialization of adventure play variables
 | |
| */
 | |
| void initialize()
 | |
| {
 | |
|     int i;
 | |
| 
 | |
|     for (i = MAXOBJ; i > 0; i--) {
 | |
| 	g.fixed[i] = fixd[i];
 | |
| 	if (fixd[i] > 0) {
 | |
| 	    drop(i + MAXOBJ, fixd[i]);
 | |
| 	    drop(i, plac[i]);
 | |
| 	}
 | |
| 	if ((plac[i] != 0) && (fixd[i] <= 0))
 | |
| 	    drop(i, plac[i]);
 | |
|     }
 | |
| 
 | |
|     for (i = 1; i <= MAXOBJ; i++) {
 | |
| 	if (treasr(i)) {
 | |
| 	    g.prop[i] = -1;
 | |
| 	    g.tally++;
 | |
| 	}
 | |
|     }
 | |
| 
 | |
|     newtravel = TRUE;
 | |
|     g.place[BOOK] = -1;
 | |
|     insert(BOOK, SAFE);
 | |
|     g.place[WATER] = -1;
 | |
|     insert(WATER, BOTTLE);
 | |
|     g.prop[BOTTLE] = 8;
 | |
|     return;
 | |
| }
 | 
