00001
00002
00003
00004 #include <string.h>
00005 #include <stdio.h>
00006 #include "advent.h"
00007 #define EXTERN
00008 #include "advdec.h"
00009
00010 int plac[MAXOBJ] = {
00011 0, 0, 3, 8, 10, 11, 0, 14, 0, 148,
00012 96, 19, 17, 101, 103, 0, 106, 0, 0, 238,
00013 238, 117, 190, 109, 25, 23, 111, 35, 0, 97,
00014 0, 119, 0, 117, 0, 130, 0, 126, 140, 0,
00015 96, 94, 158, 160, 188, 0, 155, 174, 166, 228,
00016 18, 204, 27, 29, 30, 0, 92, 168, 97, 100,
00017 101, 0, 119, 127, 130, 141, 144, 205, 28, 182,
00018 225, 230, 0, 147, 241, 248, 0, 0, 0, 0,
00019 0, 0, 0, 0, 0, 0, 0, 193, 102, 0,
00020 159, 141, 172, 188, 189, 0, 0, 193, 227, 174,
00021 0, 13, 238, 217, 171, 0, 146, 159, 3, 0,
00022 0, 0, 0, 3, 180, 39, 5, 0, 110, 169,
00023 200
00024 };
00025
00026 int fixd[MAXOBJ] = {
00027 0, 0, 0, 9, 0, 0, 0, 15, 0, 0,
00028 0, -1, 27, -1, 0, 0, 0, -1, 0, 0,
00029 0, 122, 235, -1, -1, 67, -1, 110, 0, -1,
00030 -1, 121, 0, 122, 0, -1, -1, -1, -1, 0,
00031 -1, -1, 166, 167, 189, 0, 0, -1, 0, 229,
00032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00033 0, 0, 121, 0, -1, 0, 0, 0, 0, 0,
00034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
00035 0, 0, 0, 0, 0, 0, 0, -1, 194, -1,
00036 0, -1, 174, -1, -1, 0, 0, -1, -1, -1,
00037 0, 0, 0, -1, -1, -1, 0, 0, 0, 0,
00038 0, 0, -1, 0, 0, -1, -1, 0, 0, 0,
00039 0
00040 };
00041
00042 struct playinfo g = {
00043 0,
00044 1,
00045 1,
00046 1,
00047 1,
00048 {
00049 0, 73, 65, 73, 73,
00050 65, 65, 73, 1601, 33,
00051 32, 32, 32, 1824, 32,
00052 0, 2, 0, 0, 2816,
00053 2, 2, 2, 0, 10,
00054 0, 2, 0, 0, 0,
00055 0, 2, 2, 8, 0,
00056 0, 0, 0, 8, 0,
00057 2, 0, 256, 256, 256,
00058 256, 272, 272, 272, 256,
00059 256, 0, 256, 256, 272,
00060 256, 272, 0, 16, 2,
00061 0, 0, 0, 0, 0,
00062 0, 0, 0, 0, 0,
00063 0, 0, 0, 0, 0,
00064 0, 0, 0, 0, 2,
00065 256, 256, 272, 0, 0,
00066 16, 272, 0, 0, 2,
00067 2, 0, 0, 0, 0,
00068 8, 0, 0, 1280, 513,
00069 513, 512, 0, 0, 0,
00070 0, 0, 0, 768, 0,
00071 0, 0, 0, 8, 0,
00072 1, 1, 0, 0, 0,
00073 0, 0, 16, 16, 16,
00074 16, 17, 16, 16, 16,
00075 16, 0, 0, 0, 0,
00076 0, 0, 0, 0, 0,
00077 0, 1040, 16, 0, 0,
00078 2, 65, 65, 65, 65,
00079 65, 65, 65, 65, 65,
00080 65, 3, 2625, 2113, 65,
00081 65, 3, 3, 3, 3,
00082 3, 41, 41, 9, 9,
00083 0, 0, 0, 0, 0,
00084 0, 0, 0, 2, 0,
00085 0, 2, 0, 0, 0,
00086 0, 0, 0, 0, 16,
00087 0, 0, 9, 0, 0,
00088 0, 0, 0, 9, 2,
00089 1, 1, 2304, 0, 0,
00090 0, 8, 8, 8, 0,
00091 0, 0, 1, 0, 9,
00092 0, 0, 12, 0, 0,
00093 0, 0, 0, 0, 0,
00094 0, 2, 2625, 73, 73,
00095 0, 2, 2, 2, 2,
00096 0, 0, 2, 65, 3137,
00097 65, 65, 65, 65, 65,
00098 65, 65, 65, 65
00099 },
00100 {0 },
00101 {0 },
00102 {
00103 0, 0, 1, 0, 1, 2, 2, 0, 0, 2,
00104 1, 0, 0, 0, 7, 7, 1, 0, 0, 2,
00105 1, 0, 0, 0, 0, 0, 0, 0, 3, 0,
00106 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
00107 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
00108 6, 1, 2, 2, 3, 5, 4, 3, 2, 3,
00109 4, 1, 3, 1, 3, 2, 1, 1, 2, 2,
00110 2, 3, 1, 1, 3, 1, 0, 0, 0, 0,
00111 0, 2, 2, 2, 2, 2, 2, 0, 0, 0,
00112 1, 0, 0, 0, 0, 3, 2, 0, 0, 0,
00113 0, 2, 1, 0, 0, 0, 1, 1, 2, 0,
00114 3, 3, 0, 1, 1, 0, 0, 0, 3, 1,
00115 2, 0, 0
00116 },
00117 {0 },
00118 {0 },
00119 {0 },
00120 {0 },
00121 {0 },
00122 {0 },
00123 {
00124 0, 0, 32800, 26, 32770,
00125 32, 32, 8192, 0, 0,
00126 32, 512, 0, 256, 770,
00127 770, 288, 512, 0, 160,
00128 32802, 0, 0, 0, 128,
00129 0, 0, 0, 32, 8192,
00130 512, 512, 0, 512, 0,
00131 512, 256, 0, 32768, 8224,
00132 0, 18, 26, 26, 2,
00133 0, 8320, 18464, 32768, 0,
00134 16384, 16416, 16416, 26656, 24608,
00135 49240, 24608, 16384, 49184, 16416,
00136 16416, 16416, 16384, 16544, 16442,
00137 16416, 18464, 26656, 16416, 16416,
00138 49184, 49154, 18464, 18464, 16416,
00139 16416, 0, 0, 0, 0,
00140 0, 0, 0, 0, 0,
00141 0, 0, 8704, 0, 0,
00142 0, 0, 0, 0, 32768,
00143 0, 128, 0, 0, 0,
00144 0, 160, 8224, 0, 0,
00145 0, 8352, 8352, 32870, 0,
00146 16674, 258, 32858, 288, 32,
00147 256, 0, 0, 32866, 16416,
00148 16416, 0, 0
00149 },
00150 {
00151 0, 0, 0, 0, 0,
00152 0, 0, 0, 0, 0,
00153 0, 0, 0, 0, 0,
00154 0, 1000108, 0, 0, 0,
00155 0, 0, 0, 0, 0,
00156 0, 0, 0, 0, 0,
00157 0, 0, 0, 0, 0,
00158 0, 0, 0, 0, 0,
00159 0, 0, 0, 0, 0,
00160 0, 0, -3000112, 0, 0,
00161 -2000055, -2000112, -2000112, -1000112, -5000112,
00162 5000003, -3000112, -2000055, 2000003, -3000112,
00163 -4000112, -4000112, 3000003, -1000112, -4000112,
00164 -4000112, -2000112, -3000112, -1000112, -1000112,
00165 -2000112, -3012055, -4000112, -1000112, -5000112,
00166 -5000112, 0, 0, 0, 0,
00167 0, 0, 0, 0, 0,
00168 0, 0, 0, 0, 0,
00169 0, 0, 0, 0, 0,
00170 0, 0, 0, 0, 0,
00171 0, 0, 0, 0, 0,
00172 0, 0, 0, 0, 0,
00173 -2000112, 0, 0, 0, 0,
00174 0, 0, 0, 0, -4000118,
00175 -2000112, 0
00176 },
00177 {0 },
00178 {
00179 { 0, 0, 0, 0, 0 },
00180 { 0, 9999, 4, 0, 0 },
00181 { 0, 9999, 10, 0, 0 },
00182 { 0, 9999, 5, 0, 0 },
00183 { 0, 0, 0, 0, 0 },
00184 { 0, 0, 0, 0, 0 },
00185 { 0, 0, 0, 0, 0 },
00186 { 0, 15, 4, 176, 177 },
00187 { 0, 8, 5, 178, 179 },
00188 { 0, 13, 3, 180, 181 },
00189 { 0, 6, 10, 211, 212 },
00190 { 0, 6, 5, 213, 214 },
00191 { 0, 4, 2, 62, 63 },
00192 { 0, 5, 2, 18, 19 },
00193 { 0, 4, 2, 62, 233 },
00194 { 0, 6, 5, 274, 275 },
00195 { 0, 10, 5, 289, 290 },
00196 { 0, 8, 2, 20, 21 },
00197 { 0, 5, 2, 404, 405 }
00198 },
00199 {0 },
00200 0,
00201 0,
00202 0,
00203 0,
00204 0,
00205 0,
00206 0,
00207 0,
00208 0,
00209 0,
00210 30,
00211 50,
00212 0,
00213 { 0, 19, 27, 33, 44, 64, 114 },
00214 0,
00215 { 0, 0, 0, 0, 0, 0, 0 },
00216 { 0, 0, 0, 0, 0, 0, 0 },
00217 18,
00218 0,
00219 114,
00220 140,
00221 0,
00222 0,
00223 0,
00224 0,
00225 0,
00226 5,
00227 100,
00228 0,
00229 FALSE,
00230 0
00231 };
00232
00233
00234
00235
00236 void initialize()
00237 {
00238 int i;
00239
00240 for (i = MAXOBJ; i > 0; i--) {
00241 g.fixed[i] = fixd[i];
00242 if (fixd[i] > 0) {
00243 drop(i + MAXOBJ, fixd[i]);
00244 drop(i, plac[i]);
00245 }
00246 if ((plac[i] != 0) && (fixd[i] <= 0))
00247 drop(i, plac[i]);
00248 }
00249
00250 for (i = 1; i <= MAXOBJ; i++) {
00251 if (treasr(i)) {
00252 g.prop[i] = -1;
00253 g.tally++;
00254 }
00255 }
00256
00257 newtravel = TRUE;
00258 g.place[BOOK] = -1;
00259 insert(BOOK, SAFE);
00260 g.place[WATER] = -1;
00261 insert(WATER, BOTTLE);
00262 g.prop[BOTTLE] = 8;
00263 return;
00264 }